orfium / orfium-ictinus Goto Github PK
View Code? Open in Web Editor NEWThis repo will include the building blocks to create the Orfium Parthenons to come ...
Home Page: https://designlab.orfium.com
This repo will include the building blocks to create the Orfium Parthenons to come ...
Home Page: https://designlab.orfium.com
When each PR is being merged in master branch a check for all tests must again run to ensure that the master branch is always safe to use.
Introduce new icons to the icon components based on our icon bucket.
Check the designs for reference
The new data type should have one of the following structures:
data=[{
label: "Breadcrumb level 1",
options: {
1: { label: 'Level 1 Item 1', data: {} },
2: { label: 'Level 1 Item 2', data: {} }
}
},
{
label: "Breadcrumb level 2",
options: {
1: { label: 'Level 2 - Item 1', data: {} },
2: { label: 'Level 2 - Item 2, data: {} }
}
}]
or
data=[{
label: "Breadcrumb level 1",
options: [
{ label: 'Level 1 Item 1', data: {}, id: 1 },
{ label: 'Level 1 Item 2', data: {}, id: 2 }
]
},
{
label: "Breadcrumb level 2",
options: [
{ label: 'Level 2 - Item 1', data: {}, id: 1 },
{ label: 'Level 2 - Item 2, data: {}, id: 2 }
]
}]
The select options container should have a high z-index so that it does not get hidden under elements that exist below and have even a z-index: 1
This is NOT for now but it is discussed to be introduced in the future.
We need to define a drawer inside the page maybe to pass content to it and show/hide it on demand.
Issue description underneath edited by @kouloumos
All the categories must have a transparent background underneath their icon that will be rounded. Only selected category will fill this circle with the branded1 color.
The icon when the branded1 color exists must be the color from the swatches based on that color
The subcategories will not have that rounded bg. Only Icons.
Subcategory when selected will have a bacgkround color (lighter gray).
The design can be found here
Create a new component for showing a line chart in our design system. This component will provide both single line and multiple line chart.
The VH project design that will implement these components
Need to use the recharts library to implement the line chart as show above in the screenshots. recharts github
We will introduce the new size of the TextField Component. This new size will update the logic of padding that we currently have.
Based on #55
You can find the designs here
Specifically the new size is at the lower end of that screen
You will update the current component
size
which will take two options md | sm
Error Handling ( Issue: #73 )
New Decorators ( Issue: #77 )
Multiline Support
States
filled - outlined - elevated
Design can be found here
simple - left icon - right - indicator - icon and indicator
TextField component
Design can be found here
TextField error handling
Design can be found here
TextField decorators
Design can be found here
TextField Multiline
Design can be found here
When the design team decides on the palette gray colors we need to revisit the palette creation and maybe change some components to match the new palette.
This will change the menu component and add additional functionalities for custom icons (left/right) and introduce a new sizing prop to define the size of the component
Component will be based on the select design and can be found here
We need to update the current implementation based on the select designs but there will be no label option
StoryShots plugin is not able to generate a snapshot file for DatePicker.
The reason is that it cannot map the imported CSS module (import 'react-day-picker/lib/style.css'
) as a valid module.
Based on the jest's documentation, the solution is simple and can be found here.
Although, following the above solution, jest will throw an exception regarding the emotion's css
keyword.
Jest Exception: TypeError: Cannot convert a Symbol value to a string.
Steps to reproduce issue:
jest.config.js
file '\\.(css|less)$': '<rootDir>/__mocks__/styleMock.js',
yarn test:run
to execute tests.Outcome: Resolve the described issue above and generate a storyshot for the DatePicker component.
Describe the bug
When the latest version of @emotion/styled is used, the theme is not passed in the children components
To Reproduce
Steps to reproduce the behavior:
@emotion/styled: "^11.0.0"
and @orfium/ictinus": "^1.5.0"
<IctinusThemeProvider > ... </IctinusThemeProvider>
fill: ${props => props.theme.utils.getColor("mint", 400)};
Expected behavior
We should be able to use the Ictinus theme in a styled component since we pass it through the ictinus theme provider.
Desktop (please complete the following information):
Additional context
It works properly with "@emotion/styled": "^10.0.27"
because the theme is visible in the styled components.
We need the support of the time picker on all the datepickers of ictinus
Design can be found here
We need to pass a new prop in ClickAwayListener component for accessibility reasons.
The issue:
Wrapping a list item with the current hoc:
<ClickAwayListener onClick={handler}><li>Item</li></ClickAwayListener>
will cause an unexpected DOM structure in the browser:
<ul>
<div>
<li>Item</li>
</div>
</ul>
Outcome:
Introduce a solution that will give us the ability to have the expected DOM structure in the browser.
There is a need for a new Card in the system that will be a placeholder for anything to wrap in. Basically this will be a styled wrapper for children.
The card should have one prop - elevated that should take 01,02,03,04
as options.
The options will be based on the below which you can find also here
Elevation must be calculated base on a function that will be globally accessable from others as this will be applied to other components if needed
Unit test on function to return the correct elvation
Snapshot Testing for the component
The file src/globals.d.ts
is not included in the build files.
yarn add @orfium/ictinus
in a project with TS (right now this will install 0.5.3)node_modules/@orfium/ictinus/dist/components/ThemeProvider/ThemeProvider.d.ts
DeepPartial
is red, meaning it's not defined. (Alt clicking will take you to the `src/globals.d.ts and will seem like it works, but this is not the correct behaviour)This needs to be resolved before #64 gets merged, because after that PR only the dist
directory is included in the distributed package
This ticket will apply the elevation to buttons and textfields. You can find the util after the #116 is done
Elevation will be applied only on cards, buttons and textfields so this is the last step that we will take to implement it in the project
Buttons design of elevation
Textfield design of elevation
There will be a new prop on each component to define the elevation of each from 01-04.
The type must be defined in the util that is already done in the #116
The elevation comes with no outlines aka borders so you must make sure that it will not show them in this case as you can see in the designs as well
There is currently an issue where when you install ictinus
to a project, it will enforce its own version of jest
on the project.
As a result tests are failing completely.
Table must expand to available space and scroll all the content that is inside it without affecting anything else.
Introduce expand / collapse functionality like the sidebar that we have in every project.
This can be a component or a helper.
Issue Description:
Extending a component's props with HTMLInputElement will result on listing all the HTMLInputElement props in the docs file of the storybook.
example:
Component's props
The consumer should be agnostic of the HTMLInputElement prop types. We would like to ignore these props from displaying them in the docs section of the storybook.
Introduce an initial Readme file to explain how you can do basic stuff.
Basic processes to cover:
WIP
This ticket will introduce a mechanism that will detect when to change the text color based on the background passed
The design can be found here
Create a new util function that will folow the design pattern
So basically whether to show white or dark text color for components that are taking freely a color from our palette
Test various colors that are returning the correct color
like the way material allows full customisation over all of the components they have.
If we are to leave it like this and not have some kind of manipulating/changing some values we should ask for the hierarchy of the components according to the importance they have and style them accordingly. So at least, when they are on the same level, they will display properly with no overlaps.
(This is not something to be implemented on this specific PR. Maybe discuss this further on an issue?)
Originally posted by @Christos-Zacharopoulos in #34
Notifications will handle two actions if found in props
Will support close functionality
Will not handle when it will show - this will be handled by the user, component will remain dummy
Designs can be found here for all notifications
Implement Date Picker and Date Range Picker for our library.
This library will consist also by some options to preselect some ranges
Design can be found here
This will be a brand new component that will be used in inner DS component but outside DS as well
The design can be found here
This will be a new simple component.
bordered
when filled - border rulefill color: 100-400
border color: fill color darken by 50%
fill color 500-700
border color: fill color lighten by 50%
This will implement the new state of the radio buttons which will be the outlined.
Design can be found here
Based on the already build component we will implement a new property called filled
. The default value will be true.
Introduce a component to handle pagination of any list or table data.
This will be based on the zeplin design of any screen
An example can be found here
Tests must start guard our library now that the design is in place.
That's why we must make snapshot tests and unit/integration tests on the components that we will not update in v1.
Components for tests
Error Handling
New Size
Multilevel
Introduce keyboard support to DatePicker component for all of his states (day pick, range pick and time)
Keyboard support must also apply to time picker (future feature) and date options on the left of the overlay.
All components should be navigateable via keyboard
Unfortunately the autofix option has been intentionally removed since v2.4 of the plugin (see facebook/react#18235 (comment) )
This means dependency arrays will have to be reviewed and fixed manually
We need to enhance the DatePicker component with the following styles:
We also need to modify the styling of all mentioned styles above for focus state
Designs on Abstract: here
Note: The designs provided are for TextField, but DatePicker should be updated like this as well.
Depends on #126 #127 to finish
Create a new component for top bar that will hold basic functionality for all the projects
Cases of the navbar are demonstrated in this design
The navbar component will have several implementations. The weird and difficult part here is that the components that its using are almost the component in the system but not quite. So we will not use the internal components here. We will build something new that will be used only by navbar. These components will be
For more reference check Video Hunter project.
Need to implement
What I mean is that when ictinus is used in another project, whenever a new dependency is installed, ictinus reruns it's postinstall script which is huge.
On Contribution documents we should explain better how we use conventional commits and what is going to happen with each commit type.
Right now there is a specific format on the input of the datepicker. We must allow the user to define this format e.g dd/mm/yyyy
We must remove useTheme for internal css functions since each css function returns the theme
property.
Check that all functions are calculated through css
prop and not style
like an example in Button.tsx
This will implement the new state of the checkbox which will be the outlined.
Design can be found here
Based on the already build component we will implement a new property called filled
. The default value will be true.
For more info check button component
Comparing Abstract Icons Index and the Icons Gallery on Design System some Icons have A) the same name and different .svg file or B) the same .svg file and different name:
A) alert, hourglass
B) {named in Abstract} - same as {named in Design System}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.