lumada-design / hv-uikit-react Goto Github PK
View Code? Open in Web Editor NEWUI library for the Next Design System.
Home Page: https://lumada-design.github.io/uikit/master
License: Apache License 2.0
UI library for the Next Design System.
Home Page: https://lumada-design.github.io/uikit/master
License: Apache License 2.0
When the number of rows per page is changed, the amount of rows shown is updated and the value displayed on the dropdown is updated to the selected value.
When the number of rows per page is changed, the amount of rows shown is updated but the value displayed on the dropdown is kept on the default number (10) rows per page.
Tech | Version |
---|---|
UI-Kit | |
React | |
Browser | Microsoft Edge 42.17134.1.0 / Google Chrome Version 73.0.3683.86 / Firefox 66.0.1 |
Banner:
Breadcrumb:
Button
Checkbox/RadioButton
Dropdown
Input:
KPI
Login
Snackbar
Table
Text area
Card
Promote Promote Navigation Anchors pattern present in the Lab to the Core.
Request specs to the design system.
When opening the dropdown, all options should be shown, independently if they're selected or not.
Only the results of a previous filter are shown
Tech | Version |
---|---|
UI-Kit | |
React | |
Browser | Microsoft Edge 42.17134.1.0 / Google Chrome Version 73.0.3683.86 / Firefox 66.0.1 |
Make sure the core components work in the several examples we are exposing:
Describe the bug
Components have several spaces around it making it difficult to use them in generic places where that needs to be configured by the application
Need to review and improve the CONTRIBUTING file in order to better communicate how people should contribute.
Need to review and standardize README files across all packages.
Describe the bug
The selectors component are using SVG which is causing some problems in other environments with the retrieving the resource
The current default behavior for single selection dropdown is that if no element is explicitly selected, the first element of the list will be selected.
This enhancement will allow the user to disable the default selection, supporting use cases where by default no element is selected.
Include the recently added icons in the Design System repository and make them available in two forms, one using React Components, following the Material UI approach.
Also, in the same package, include the raw svg icons.
We want to include this in the build process so in the future we can have DS adding the icons to our code and they would be automatically made available via the build/publish process.
The objective of this story is to implement the Tooltip Pattern according to: https://xd.adobe.com/view/9f6ffe41-08e8-47cb-71a9-4525c6663acd-e95e/?fullscreen
There is already a version of this pattern in the visualizations, being used by the Bar and Line charts. We want to promote this to a component in the core section and explain how to use it, like we do with all other components.
Accessibility is a point we should take in consideration. So we should use the correct aria attributes.
Material ui offers a tooltip component and the idea is to propagate the charts tooltip styles in the tooltip component, and offer a tooltip component.
Estimation: 5
Acceptance Criteria:
Promote Promote Slider pattern present in the Lab to the Core.
The pattern must follow the latest version of the design system (at this moment version 0.0.6).
Identified changes:
Provide examples with a couple of different use cases of including the UI-KIT using:
Add documentation in the readme about the provided example
Implemented by @jofigueiredo
We need to add #ui-kit slack channel of hitachi-design workspace to the Contributing section.
This is an alternative slack channel for people outside of hitachivantara-eng workspace.
Is your feature request related to a problem? Please describe.
Implement the Design System pattern for the assets inventory.
Describe your requirements and objective
Implement the Design System pattern for the assets inventory.
Describe the solution you'd like
Have a UI-KIT component to implement the pattern
Describe alternatives you've considered
None
Additional context
None
The desired supported browsers for UI-KIT version 1 is the last version of the following browsers:
Chrome
Firefox
Safari
Edge
IE 11
Make a smoke test of the ui kit V1 (core) components in the above described and log bugs to the breaking changes identified. Minimal cosmetic things will not be considered blockers for V1
As per the XD file, when tried to handle the row click of Table getTrProps is not working where the click event can be handled.
Please refer the following link of React-table TanStack/table#467
Promote Promote Form Composer pattern present in the Lab to the Core.
The pattern must follow the latest version of the design system (at this moment version 0.0.6).
Identified changes:
Is your enhancement request related to a problem? Please describe.
Context:
Current behavior:
Describe the solution you'd like
Desired behavior:
Describe alternatives you've considered
None. The current behavior is a limitation for my use case.
Additional context
Justification for the request:
With the current behavior, this component imposes a mandatory selected value, which might not have been consciously chosen by the end user.
It is not possible to have fields/promps of this type with optional filling.
In the lab section, we have an external contribution with an initial Search Box component. This component is currently duplicated in the context of the dropdown and we want to make sure we use this component instead along with updating it to the core section.
This component should allow:
These are the specs of the component: https://xd.adobe.com/view/41d6785d-fafc-470e-7a75-c15a5217cc7a-37e7/?fullscreen
The result list specs are in https://xd.adobe.com/view/6a83d2f2-8437-4593-63e0-9fbb94bd4660-1cb2/?fullscreen
The search results in right of the component are not in the scope of this story.
Estimation: 8
Acceptance Criteria:
In order to ease the contribution of new components, we should have a generator script to scaffold the initial structure required.
We should have a set of templates for the component (component, index, styles), story and sample files.
The generator should be able to copy these files (renamed with the component name provided) to the required locations:
Component -> packages/lab/src/
Story -> packages/doc/stories/03-lab/.js
Sample -> packages/doc/sample/lab/.js
Is your feature request related to a problem? Please describe.
Implement the Design System pattern for the assets inventory list item.
Describe your requirements and objective
Implement the Design System pattern for the assets inventory list item.
Describe the solution you'd like
Have a UI-KIT component to implement the pattern
Describe alternatives you've considered
None
Additional context
None
Add Lint checks at the code level and commit messge to make sure we can generate changelogs properly
== Header ==
IE - horizontal scrolling are visible (image bellow)
IE+Edge+Firefox - menu options "slightly move" when select/active option is changed (edited)
== Input ==
IE+Edge - Placeholder not styled as described on #24 (comment)
All Browsers - Number validation error keeps visible after input box gets cleaned. First add some wrong content, click outside input box, click inside and press the X button on the right side of the input (image bellow) (edited)
All Browsers - (not sure if it's a bug or desirable behaviour) On the Input event demostration deleting content using backspace has some weird behaviour: (1) if the cursor is at the end of the content, it simply does not delete anything, (2) if the cursor is somewhere at the middle of the content, it deletes the character before and adds a dot to the end of the content. Besides this, adding new content to the middle of the existing one, also adds dots to the end of the content
All Browers - input box with an email validation accepts spaces on the email
== Login ==
All Browsers - Both inputs are labeled "password" instead of the username/password 🤦
== Snackbar ==
IE+Edge+Firefox - Snackbar without icon height is slightly lower than others (with the default minimal of 52px) (edited)
IE - The text is truncated before it was supposed to
== Table ==
IE - Items per page are showing multiple buttons
All Browsers - Items per page option of 5 rows per page is not working (shows 10) on some of the examples. Only 10 or more items per page work properly. (edited)
All Browsers - The Extendable Icon on the left column slightly changes position when changing the column currently sorted (when changing from the first column to any other column)
IE - Selection checkbox not showing the box right margin
All Browsers - On a table with fixed column, when sorting the first non-fixed column, the left border of that column (together with the right column border of the last fixed column) are represented on a double border, and the fixed column border is not continuously draw
Description:
The Date picker is a component already in the uikit, although in the Lab Section.
Since it is one of the components used in the example views we will implement in the future, we want to promote it to core and view its specs: https://xd.adobe.com/view/4b22baff-2c9f-4a83-5cb8-8dc62b75200d-3d13/?fullscreen
Acceptance Criteria:
Promote Empty States pattern present in the Lab to the Core.
The pattern must follow the latest version of the design system (at this moment version 0.0.61.2.1).
Identified changes:
node
messagesReplace the Typography component from material-ui for a custom made, that receives the variant and links it directly to the theme.
Actions:
Description
The objective of this story is to implement the Asset Inventory Pattern in the ui kit, according to:
https://xd.adobe.com/view/be1aa775-55b2-4e5a-6451-d6ffe388dc14-c82b/?fullscreen
This component should allow the switch between two different views, list and card (or any others defined customizing it), its content to be sorted and custom actions can be applied to a set of selected items (if they are selectable).
This pattern already exists in lab, but we may need to keep it there and mark it as deprecated, informing people to move to the one in core. Same applies to the list view, which we should be able to use. At the same time, we need to promote it to core. The Card view with the responsiveness guidelines can be obtained from the MI code.
This component should use the multi button, dropdown and search components.
This component has two render modes by default as we described above:
The component will be complex, due to its nature, and we should do an implementation following the same strategy https://github.com/tannerlinsley/react-table (the component we use for our table) uses. This will imply:
The component column (or data element) metadata will need to have:
id: string, headerText: string, accessor : union, format : func, cellType : string, style : instanceOf, fixed : string, searchable: bool, sortable : bool
(in the future we may add types)
Questions:
Acceptance Criteria:
Notes:
Accessibility:
When using the navigation controls, the current page is changed accordingly
When using the navigation controls, the behaviour is not correct.
For example, clicking on the next page icon, it changes the current page until a certain number, but not until the total number of pages.
Tech | Version |
---|---|
UI-Kit | |
React | |
Browser | Microsoft Edge 42.17134.1.0 / Google Chrome Version 73.0.3683.86 / Firefox 66.0.1 |
UI kit dropdown component is triggering onChange event during component render by itself.
Usually, onChange should be triggered only when the dropdown option is changed.
But in case of UI Kit drop-down component, onChange event is triggered while creating the UI itself.
This will cause null object reference as nothing will be selected during component creation and as a result, an undefined exception will be thrown as Type Error.
Added sample for Assert Inventory
Promote Promote Footer pattern present in the Lab to the Core.
Request specs to the design system.
Describe the bug
The API for the 'values' property does not support to associate an id to each label. This fact causes problems when having values with equal labels. It is not possible to differentiate which concrete value has been selected.
To Reproduce
Steps to reproduce the behavior:
Array(4)
0: {label: "Label C1", selected: false}
1: {label: "Label C1", selected: true}
2: {label: "Label C2", selected: false}
3: {label: "Label C3", selected: false}
Expected behavior
The list of values receives both 'id' and 'label' for each value.
The onChange event handler receives the 'Id' of the selected value instead of the 'label'.
The component presents the selected option according to the unique internal 'Id'.
Provides the support needed to have both the concept of internal values (the unique Ids) with an unequivocal meaning to the application, and the concept of a label with a more friendly description of the value to the end user (which can be repeated if the domain in cause requires it)
Enviroment (please complete the following information):
When sorting a table column, the number of rows/lines persists
When sorting a table column, the number of rows/lines returns to the default number, 10.
Tech | Version |
---|---|
UI-Kit | |
React | |
Browser | Microsoft Edge 42.17134.1.0 / Google Chrome Version 73.0.3683.86 / Firefox 66.0.1 |
Conditions:
Page alignment is improper.
When API returns has no data, then table should display empty rows as per the rowsPerPage table setting. But, as per the current UI-KIT behavior no rows are displayed, just the “NO DATA“ text is displayed.
Rename list item to list view, following the naming of the pattern. Add to the storybook and examples.
Numeric validation on Input box should only allow numbers
Spaces are considered as valid content.
On the "Limited numeric input" or "Required limited numeric input" examples, insert spaces or spaces followed by numbers.
Tech | Version |
---|---|
UI-Kit | |
React | |
Browser | Microsoft Edge 42.17134.1.0 / Google Chrome Version 73.0.3683.86 / Firefox 66.0.1 |
Description
The objective of this story is to have a Form component in uikit. This component already has an initial version of it, called Form Composer present in the Lab.
The pattern must follow the latest version of the design system.
Once this component is there, we should add examples of it to mimic the existing forms in the login, the Login and recovery forms. Login component should also be rebuild using this new form component after this story is completed.
Key points:
Questions
Acceptance Criteria:
Define and review the component APIs having a consistency across all the components we ship in V1.
Things like value/onChange for components with parameters, make sure they are controlled components, etc.
Check the css styles and the APIs exposed by it via the withStyles.
If a component requires more work to make this possible please avoid doing it here. The objective here is do the minimal API review and not refactor the components.
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.