@innovaccer/design-system 2.7.0 → 2.9.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/chromatic.yml +3 -1
- package/.github/workflows/docs_pull_request.yml +20 -0
- package/.github/workflows/main.yml +1 -1
- package/.github/workflows/manual.yml +1 -1
- package/.github/workflows/pull_request.yml +1 -1
- package/.github/workflows/test.yml +1 -1
- package/CHANGELOG.md +68 -0
- package/README.md +6 -0
- package/core/components/atoms/_chip/__tests__/__snapshots__/_chip.test.tsx.snap +8 -8
- package/core/components/atoms/_chip/index.tsx +1 -1
- package/core/components/atoms/avatar/__tests__/__snapshots__/Avatar.test.tsx.snap +20 -0
- package/core/components/atoms/avatarGroup/AvatarCount.tsx +29 -0
- package/core/components/atoms/avatarGroup/AvatarGroup.tsx +16 -62
- package/core/components/atoms/avatarGroup/AvatarPopperBody.tsx +37 -0
- package/core/components/atoms/avatarGroup/Avatars.tsx +23 -0
- package/core/components/atoms/avatarGroup/__stories__/index.story.tsx +41 -0
- package/core/components/atoms/avatarGroup/__tests__/AvatarGroup.test.tsx +1 -1
- package/core/components/atoms/avatarGroup/__tests__/__snapshots__/AvatarGroup.test.tsx.snap +8 -4
- package/core/components/atoms/button/Button.tsx +1 -2
- package/core/components/atoms/checkbox/__stories__/Group.story.tsx +1 -1
- package/core/components/atoms/checkbox/__stories__/Nested.story.tsx +2 -0
- package/core/components/atoms/chip/__tests__/__snapshots__/Chip.test.tsx.snap +11 -11
- package/core/components/atoms/chipGroup/__tests__/__snapshots__/chipGroup.test.tsx.snap +4 -4
- package/core/components/atoms/dropdown/DropdownButton.tsx +1 -1
- package/core/components/atoms/dropdown/DropdownList.tsx +56 -29
- package/core/components/atoms/dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +29 -2
- package/core/components/atoms/popperWrapper/PopperWrapper.tsx +104 -12
- package/core/components/atoms/toast/__stories__/WithDescription.story.tsx +3 -1
- package/core/components/css-utilities/designTokens/Data.tsx +18 -0
- package/core/components/css-utilities/designTokens/Transitions.story.tsx +37 -0
- package/core/components/molecules/chipInput/__tests__/__snapshots__/ChipInput.test.tsx.snap +4 -4
- package/core/components/molecules/dialog/__tests__/__snapshots__/Dialog.test.tsx.snap +260 -195
- package/core/components/molecules/editableChipInput/__tests__/__snapshots__/EditableChipInput.test.tsx.snap +4 -4
- package/core/components/molecules/editableDropdown/__tests__/__snapshots__/EditableDropdown.test.tsx.snap +1 -0
- package/core/components/molecules/fullscreenModal/FullscreenModal.tsx +13 -12
- package/core/components/molecules/fullscreenModal/__tests__/Fullscreen.test.tsx +2 -5
- package/core/components/molecules/fullscreenModal/__tests__/__snapshots__/Fullscreen.test.tsx.snap +126 -96
- package/core/components/molecules/modal/Modal.tsx +11 -9
- package/core/components/molecules/modal/__tests__/__snapshots__/Modal.test.tsx.snap +240 -180
- package/core/components/molecules/popover/Popover.tsx +9 -0
- package/core/components/molecules/popover/__tests__/__snapshots__/Popover.test.tsx.snap +16 -8
- package/core/components/molecules/sidesheet/Sidesheet.tsx +23 -22
- package/core/components/molecules/sidesheet/__tests__/__snapshots__/Sidesheet.test.tsx.snap +40 -30
- package/core/components/molecules/tooltip/Tooltip.tsx +20 -1
- package/core/components/molecules/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +8 -0
- package/core/components/organisms/calendar/__tests__/__snapshots__/Calendar.test.tsx.snap +8 -8
- package/core/components/organisms/datePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +14 -13
- package/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap +42 -30
- package/core/components/organisms/grid/GridBody.tsx +1 -2
- package/core/components/organisms/table/Table.tsx +0 -1
- package/core/components/organisms/table/__stories__/NestedTableWithNestedCard.story.tsx +2 -2
- package/core/components/organisms/table/__tests__/__snapshots__/Table.test.tsx.snap +1544 -0
- package/core/components/organisms/verticalNav/MenuItem.tsx +6 -2
- package/core/components/organisms/verticalNav/VerticalNav.tsx +8 -2
- package/core/components/organisms/verticalNav/__stories__/CustomItemsRenderer.story.tsx +238 -0
- package/core/utils/__tests__/__snapshots__/TS.test.tsx.snap +168 -3
- package/css/dist/index.css +300 -62
- package/css/dist/index.css.map +1 -1
- package/css/src/components/ProgressBar.css +1 -1
- package/css/src/components/avatarGroup.css +0 -9
- package/css/src/components/button.css +4 -4
- package/css/src/components/chip.css +4 -0
- package/css/src/components/dropdown.css +5 -9
- package/css/src/components/dropdownButton.css +2 -0
- package/css/src/components/fullscreenModal.css +0 -5
- package/css/src/components/grid.css +0 -11
- package/css/src/components/overlay.css +0 -11
- package/css/src/components/popover.css +12 -0
- package/css/src/components/slider.css +1 -0
- package/css/src/components/tabs.css +1 -1
- package/css/src/components/textarea.css +0 -11
- package/css/src/components/tooltip.css +115 -0
- package/css/src/components/verticalNav.css +2 -0
- package/css/src/core/animation.css +8 -0
- package/css/src/core/utilities.css +11 -0
- package/css/src/utils/utility.css +4 -0
- package/css/src/variables/index.css +19 -0
- package/dist/core/components/atoms/avatarGroup/AvatarCount.d.ts +2 -0
- package/dist/core/components/atoms/avatarGroup/AvatarGroup.d.ts +2 -2
- package/dist/core/components/atoms/avatarGroup/AvatarPopperBody.d.ts +2 -0
- package/dist/core/components/atoms/avatarGroup/Avatars.d.ts +2 -0
- package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +61 -54
- package/dist/core/components/css-utilities/designTokens/Data.d.ts +8 -0
- package/dist/core/components/css-utilities/designTokens/Transitions.story.d.ts +12 -0
- package/dist/core/components/molecules/popover/Popover.d.ts +4 -0
- package/dist/core/components/molecules/sidesheet/Sidesheet.d.ts +1 -0
- package/dist/core/components/organisms/verticalNav/MenuItem.d.ts +1 -0
- package/dist/core/components/organisms/verticalNav/VerticalNav.d.ts +2 -0
- package/dist/index.esm.js +278 -142
- package/dist/index.js +282 -149
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.br +0 -0
- package/dist/index.umd.js.gz +0 -0
- package/docs/.eslintrc.json +1 -0
- package/docs/.unotes/templates/title_date.hbs +4 -0
- package/docs/.unotes/unotes_meta.json +302 -0
- package/docs/LICENSE +21 -0
- package/docs/README.md +31 -0
- package/docs/gatsby-browser.js +6 -0
- package/docs/gatsby-config.js +171 -0
- package/docs/gatsby-node.js +75 -0
- package/docs/index.js +1 -0
- package/docs/package.json +54 -0
- package/docs/src/components/Colors/Colors.css +19 -0
- package/docs/src/components/Colors/Colors.js +82 -0
- package/docs/src/components/Container/ComponentsContainer.js +75 -0
- package/docs/src/components/Container/Container.js +114 -0
- package/docs/src/components/Container/index.js +3 -0
- package/docs/src/components/Footer/Footer.css +7 -0
- package/docs/src/components/Footer/Footer.js +40 -0
- package/docs/src/components/Header/Header.css +32 -0
- package/docs/src/components/Header/Header.js +60 -0
- package/docs/src/components/Header/index.js +3 -0
- package/docs/src/components/LastModifiedDate/LastModifiedDate.js +24 -0
- package/docs/src/components/LastModifiedDate/index.js +3 -0
- package/docs/src/components/Layout.js +291 -0
- package/docs/src/components/LeftNav/LeftNav.js +101 -0
- package/docs/src/components/LeftNav/index.js +3 -0
- package/docs/src/components/Logos/Logos.css +29 -0
- package/docs/src/components/Logos/Logos.js +64 -0
- package/docs/src/components/Meta.js +101 -0
- package/docs/src/components/PropsTable/ArgJsDoc.tsx +102 -0
- package/docs/src/components/PropsTable/ArgRow.tsx +142 -0
- package/docs/src/components/PropsTable/ArgValue.tsx +182 -0
- package/docs/src/components/PropsTable/EmptyBlock.tsx +22 -0
- package/docs/src/components/PropsTable/SectionRow.tsx +126 -0
- package/docs/src/components/PropsTable/Shared.tsx +53 -0
- package/docs/src/components/PropsTable/Table.tsx +463 -0
- package/docs/src/components/PropsTable/card.css +7 -0
- package/docs/src/components/PropsTable/generateImports.tsx +20 -0
- package/docs/src/components/PropsTable/index.js +248 -0
- package/docs/src/components/PropsTable/prism.css +146 -0
- package/docs/src/components/PropsTable/sandbox.tsx +81 -0
- package/docs/src/components/PropsTable/theme.js +53 -0
- package/docs/src/components/PropsTable/types.tsx +44 -0
- package/docs/src/components/Rules/DONTs.js +13 -0
- package/docs/src/components/Rules/DOs.js +13 -0
- package/docs/src/components/Rules/IconWrapper.js +18 -0
- package/docs/src/components/Rules/InlineMessage.js +11 -0
- package/docs/src/components/Rules/Rules.css +17 -0
- package/docs/src/components/Rules/Rules.js +39 -0
- package/docs/src/components/TableOfContent/TableOfContent.css +37 -0
- package/docs/src/components/TableOfContent/TableOfContent.js +126 -0
- package/docs/src/components/css/global.css +15 -0
- package/docs/src/components/css/prism.css +38 -0
- package/docs/src/components/css/style.css +97 -0
- package/docs/src/components/templates/Default.js +24 -0
- package/docs/src/components/templates/Homepage.js +13 -0
- package/docs/src/data/components/images/Avatars.png +0 -0
- package/docs/src/data/components/images/Datepicker.png +0 -0
- package/docs/src/data/components/images/EditableChipInput.png +0 -0
- package/docs/src/data/components/images/Modal.png +0 -0
- package/docs/src/data/components/images/Sidesheet.png +0 -0
- package/docs/src/data/components/images/Table.png +0 -0
- package/docs/src/data/components/index.js +285 -0
- package/docs/src/data/footer-items.yaml +16 -0
- package/docs/src/data/header-items.yaml +20 -0
- package/docs/src/data/home-menu.yaml +23 -0
- package/docs/src/data/home-resources.yaml +14 -0
- package/docs/src/data/nav/components.yaml +45 -0
- package/docs/src/data/nav/content.yaml +25 -0
- package/docs/src/data/nav/default.yaml +11 -0
- package/docs/src/data/nav/foundations.yaml +22 -0
- package/docs/src/data/nav/guide-items.yaml +6 -0
- package/docs/src/data/nav/introduction.yaml +11 -0
- package/docs/src/data/storybook.json +345189 -0
- package/docs/src/pages/404.js +31 -0
- package/docs/src/pages/components/avatar/code.mdx +14 -0
- package/docs/src/pages/components/avatar/images/avatar-1.png +0 -0
- package/docs/src/pages/components/avatar/images/avatar-2.png +0 -0
- package/docs/src/pages/components/avatar/images/avatar-3.png +0 -0
- package/docs/src/pages/components/avatar/images/avatar-4.png +0 -0
- package/docs/src/pages/components/avatar/images/avatar-5.png +0 -0
- package/docs/src/pages/components/avatar/usage.mdx +53 -0
- package/docs/src/pages/components/badges/code.mdx +15 -0
- package/docs/src/pages/components/badges/images/badges-1.png +0 -0
- package/docs/src/pages/components/badges/images/badges-2.png +0 -0
- package/docs/src/pages/components/badges/usage.mdx +43 -0
- package/docs/src/pages/components/breadcrumbs/code.mdx +15 -0
- package/docs/src/pages/components/breadcrumbs/usage.mdx +30 -0
- package/docs/src/pages/components/button/code.mdx +18 -0
- package/docs/src/pages/components/button/content.mdx +652 -0
- package/docs/src/pages/components/button/images/buttons-1.png +0 -0
- package/docs/src/pages/components/button/images/buttons-2.png +0 -0
- package/docs/src/pages/components/button/usage.mdx +100 -0
- package/docs/src/pages/components/calendar/code.mdx +15 -0
- package/docs/src/pages/components/calendar/usage.mdx +9 -0
- package/docs/src/pages/components/card/code.mdx +15 -0
- package/docs/src/pages/components/card/usage.mdx +54 -0
- package/docs/src/pages/components/checkbox/code.mdx +16 -0
- package/docs/src/pages/components/checkbox/usage.mdx +49 -0
- package/docs/src/pages/components/chips/code.mdx +15 -0
- package/docs/src/pages/components/chips/usage.mdx +34 -0
- package/docs/src/pages/components/datePicker/code.mdx +7 -0
- package/docs/src/pages/components/datePicker/images/datePicker-1.png +0 -0
- package/docs/src/pages/components/datePicker/images/datePicker-2.png +0 -0
- package/docs/src/pages/components/datePicker/images/datePicker-3.png +0 -0
- package/docs/src/pages/components/datePicker/images/datePicker-4.png +0 -0
- package/docs/src/pages/components/datePicker/images/datePicker-5.png +0 -0
- package/docs/src/pages/components/datePicker/usage.mdx +58 -0
- package/docs/src/pages/components/index.mdx +7 -0
- package/docs/src/pages/components/message/code.mdx +16 -0
- package/docs/src/pages/components/message/usage.mdx +26 -0
- package/docs/src/pages/components/overview/index.mdx +6 -0
- package/docs/src/pages/components/overview/tabs/Overview.js +72 -0
- package/docs/src/pages/components/overview/tabs/all-components.mdx +10 -0
- package/docs/src/pages/components/overview/tabs/overview.css +30 -0
- package/docs/src/pages/components/overview/tabs/status.mdx +22 -0
- package/docs/src/pages/components/radio/code.mdx +17 -0
- package/docs/src/pages/components/radio/usage.mdx +126 -0
- package/docs/src/pages/components/sidesheet/code.mdx +8 -0
- package/docs/src/pages/components/sidesheet/interactions.mdx +8 -0
- package/docs/src/pages/components/sidesheet/usage.mdx +25 -0
- package/docs/src/pages/components/slider/code.mdx +15 -0
- package/docs/src/pages/components/slider/usage.mdx +49 -0
- package/docs/src/pages/components/statushint/code.mdx +15 -0
- package/docs/src/pages/components/statushint/usage.mdx +19 -0
- package/docs/src/pages/components/steppers/code.mdx +16 -0
- package/docs/src/pages/components/steppers/images/stepper-1.gif +0 -0
- package/docs/src/pages/components/steppers/images/stepper-2.png +0 -0
- package/docs/src/pages/components/steppers/images/stepper-3.png +0 -0
- package/docs/src/pages/components/steppers/images/stepper-4.png +0 -0
- package/docs/src/pages/components/steppers/images/stepper-5.png +0 -0
- package/docs/src/pages/components/steppers/images/stepper-6.png +0 -0
- package/docs/src/pages/components/steppers/interactions.mdx +28 -0
- package/docs/src/pages/components/steppers/usage.mdx +201 -0
- package/docs/src/pages/components/switch/code.mdx +16 -0
- package/docs/src/pages/components/switch/images/switch-1.gif +0 -0
- package/docs/src/pages/components/switch/images/switch-2.gif +0 -0
- package/docs/src/pages/components/switch/images/switch-3.png +0 -0
- package/docs/src/pages/components/switch/interactions.mdx +392 -0
- package/docs/src/pages/components/switch/usage.mdx +114 -0
- package/docs/src/pages/components/table/code.mdx +14 -0
- package/docs/src/pages/components/table/images/table-1.png +0 -0
- package/docs/src/pages/components/table/images/table-10.png +0 -0
- package/docs/src/pages/components/table/images/table-11.gif +0 -0
- package/docs/src/pages/components/table/images/table-12.png +0 -0
- package/docs/src/pages/components/table/images/table-13.png +0 -0
- package/docs/src/pages/components/table/images/table-14.png +0 -0
- package/docs/src/pages/components/table/images/table-15.png +0 -0
- package/docs/src/pages/components/table/images/table-16.png +0 -0
- package/docs/src/pages/components/table/images/table-17.png +0 -0
- package/docs/src/pages/components/table/images/table-18.png +0 -0
- package/docs/src/pages/components/table/images/table-19.png +0 -0
- package/docs/src/pages/components/table/images/table-2.png +0 -0
- package/docs/src/pages/components/table/images/table-20.png +0 -0
- package/docs/src/pages/components/table/images/table-21.png +0 -0
- package/docs/src/pages/components/table/images/table-22.png +0 -0
- package/docs/src/pages/components/table/images/table-23.png +0 -0
- package/docs/src/pages/components/table/images/table-24.png +0 -0
- package/docs/src/pages/components/table/images/table-25.png +0 -0
- package/docs/src/pages/components/table/images/table-26.png +0 -0
- package/docs/src/pages/components/table/images/table-27.png +0 -0
- package/docs/src/pages/components/table/images/table-28.png +0 -0
- package/docs/src/pages/components/table/images/table-29.png +0 -0
- package/docs/src/pages/components/table/images/table-3.png +0 -0
- package/docs/src/pages/components/table/images/table-30.png +0 -0
- package/docs/src/pages/components/table/images/table-4.png +0 -0
- package/docs/src/pages/components/table/images/table-5.png +0 -0
- package/docs/src/pages/components/table/images/table-6.png +0 -0
- package/docs/src/pages/components/table/images/table-7.png +0 -0
- package/docs/src/pages/components/table/images/table-8.png +0 -0
- package/docs/src/pages/components/table/images/table-9.png +0 -0
- package/docs/src/pages/components/table/interactions.mdx +97 -0
- package/docs/src/pages/components/table/usage.mdx +364 -0
- package/docs/src/pages/components/tabs/code.mdx +15 -0
- package/docs/src/pages/components/tabs/images/tabs-1.png +0 -0
- package/docs/src/pages/components/tabs/images/tabs-2.png +0 -0
- package/docs/src/pages/components/tabs/images/tabs-3.png +0 -0
- package/docs/src/pages/components/tabs/images/tabs-4.png +0 -0
- package/docs/src/pages/components/tabs/images/tabs-5.png +0 -0
- package/docs/src/pages/components/tabs/images/tabs-6.png +0 -0
- package/docs/src/pages/components/tabs/images/tabs-7.png +0 -0
- package/docs/src/pages/components/tabs/interactions.mdx +487 -0
- package/docs/src/pages/components/tabs/usage.mdx +164 -0
- package/docs/src/pages/components/toast/code.mdx +15 -0
- package/docs/src/pages/components/toast/images/toast-1.png +0 -0
- package/docs/src/pages/components/toast/images/toast-2.gif +0 -0
- package/docs/src/pages/components/toast/images/toast-3.gif +0 -0
- package/docs/src/pages/components/toast/images/toast-4.png +0 -0
- package/docs/src/pages/components/toast/images/toast-5.gif +0 -0
- package/docs/src/pages/components/toast/images/toast-6.gif +0 -0
- package/docs/src/pages/components/toast/interactions.mdx +218 -0
- package/docs/src/pages/components/toast/usage.mdx +156 -0
- package/docs/src/pages/components/tooltip/code.mdx +16 -0
- package/docs/src/pages/components/tooltip/images/Tooltip-1.png +0 -0
- package/docs/src/pages/components/tooltip/images/tooltip-2.gif +0 -0
- package/docs/src/pages/components/tooltip/images/tooltip-3.gif +0 -0
- package/docs/src/pages/components/tooltip/interactions.mdx +219 -0
- package/docs/src/pages/components/tooltip/usage.mdx +80 -0
- package/docs/src/pages/content/button-guidelines/index.mdx +7 -0
- package/docs/src/pages/content/button-guidelines/tabs/button-glossary.mdx +144 -0
- package/docs/src/pages/content/button-guidelines/tabs/confusing-buttons.mdx +184 -0
- package/docs/src/pages/content/email-guidelines.mdx +107 -0
- package/docs/src/pages/content/empty-states.mdx +8 -0
- package/docs/src/pages/content/error-messages.mdx +165 -0
- package/docs/src/pages/content/house-rules/tabs/basics.mdx +236 -0
- package/docs/src/pages/content/house-rules/tabs/date,-time-&-numbers.mdx +462 -0
- package/docs/src/pages/content/house-rules/tabs/grammer.mdx +744 -0
- package/docs/src/pages/content/house-rules/tabs/punctuations.mdx +666 -0
- package/docs/src/pages/content/placeholder-text.mdx +58 -0
- package/docs/src/pages/content/rules.mdx +136 -0
- package/docs/src/pages/content/voice-and-tone-guidelines/index.mdx +7 -0
- package/docs/src/pages/content/voice-and-tone-guidelines/tabs/usage.mdx +309 -0
- package/docs/src/pages/content/voice-and-tone-guidelines/tabs/voice-and-tone.mdx +38 -0
- package/docs/src/pages/contributions.mdx +16 -0
- package/docs/src/pages/foundations/colors.mdx +149 -0
- package/docs/src/pages/foundations/interactions.mdx +192 -0
- package/docs/src/pages/foundations/layout/images/baseline-grid.png +0 -0
- package/docs/src/pages/foundations/layout/images/grid-column.jpeg +0 -0
- package/docs/src/pages/foundations/layout/images/grid-layout.jpeg +0 -0
- package/docs/src/pages/foundations/layout/images/grid-margin.jpeg +0 -0
- package/docs/src/pages/foundations/layout/images/spacing.png +0 -0
- package/docs/src/pages/foundations/layout/images/typography.png +0 -0
- package/docs/src/pages/foundations/layout/index.mdx +151 -0
- package/docs/src/pages/foundations/logos.mdx +88 -0
- package/docs/src/pages/foundations/principles.mdx +60 -0
- package/docs/src/pages/foundations/response-time.mdx +124 -0
- package/docs/src/pages/foundations/typography.mdx +8 -0
- package/docs/src/pages/getting-started/index.mdx +9 -0
- package/docs/src/pages/guides/MDX.mdx +17 -0
- package/docs/src/pages/home/HomeBanner.png +0 -0
- package/docs/src/pages/home/homepage.css +23 -0
- package/docs/src/pages/index.js +241 -0
- package/docs/src/pages/introduction/get-started/designers.mdx +89 -0
- package/docs/src/pages/introduction/get-started/developers.mdx +128 -0
- package/docs/src/pages/introduction/what's-new.mdx +801 -0
- package/docs/src/pages/mobile/components/avatar/code.mdx +12 -0
- package/docs/src/pages/mobile/components/avatar/usage.mdx +20 -0
- package/docs/src/pages/mobile/components/badges/code.mdx +16 -0
- package/docs/src/pages/mobile/components/badges/usage.mdx +23 -0
- package/docs/src/pages/mobile/components/breadcrumbs/code.mdx +16 -0
- package/docs/src/pages/mobile/components/breadcrumbs/usage.mdx +34 -0
- package/docs/src/pages/mobile/components/button/code.mdx +12 -0
- package/docs/src/pages/mobile/components/button/content.mdx +1 -0
- package/docs/src/pages/mobile/components/button/usage.mdx +55 -0
- package/docs/src/pages/mobile/components/card/code.mdx +16 -0
- package/docs/src/pages/mobile/components/card/usage.mdx +23 -0
- package/docs/src/pages/mobile/components/checkbox/code.mdx +16 -0
- package/docs/src/pages/mobile/components/checkbox/usage.mdx +49 -0
- package/docs/src/pages/mobile/components/index.mdx +7 -0
- package/docs/src/pages/mobile/components/message/code.mdx +16 -0
- package/docs/src/pages/mobile/components/message/usage.mdx +26 -0
- package/docs/src/pages/mobile/components/overview/index.mdx +8 -0
- package/docs/src/pages/mobile/components/overview/tabs/all-components.mdx +8 -0
- package/docs/src/pages/mobile/components/overview/tabs/status.mdx +115 -0
- package/docs/src/pages/mobile/foundations/colors.mdx +149 -0
- package/docs/src/pages/mobile/foundations/interactions.mdx +192 -0
- package/docs/src/pages/mobile/foundations/layout/images/baseline-grid.png +0 -0
- package/docs/src/pages/mobile/foundations/layout/images/grid-column.jpeg +0 -0
- package/docs/src/pages/mobile/foundations/layout/images/grid-layout.jpeg +0 -0
- package/docs/src/pages/mobile/foundations/layout/images/grid-margin.jpeg +0 -0
- package/docs/src/pages/mobile/foundations/layout/images/spacing.png +0 -0
- package/docs/src/pages/mobile/foundations/layout/images/typography.png +0 -0
- package/docs/src/pages/mobile/foundations/layout/index.mdx +151 -0
- package/docs/src/pages/mobile/foundations/logos.mdx +88 -0
- package/docs/src/pages/mobile/foundations/principles.mdx +47 -0
- package/docs/src/pages/mobile/foundations/response-time.mdx +124 -0
- package/docs/src/pages/mobile/foundations/typography.mdx +8 -0
- package/docs/src/pages/patterns/index.mdx +7 -0
- package/docs/src/pages/resources/index.mdx +7 -0
- package/docs/src/util/FooterItems.js +21 -0
- package/docs/src/util/Frontmatter.js +35 -0
- package/docs/src/util/HeaderItems.js +21 -0
- package/docs/src/util/Helpers.js +7 -0
- package/docs/src/util/HomeMenu.js +24 -0
- package/docs/src/util/HomeResources.js +23 -0
- package/docs/src/util/InPageNavItems.js +36 -0
- package/docs/src/util/Logos.js +19 -0
- package/docs/src/util/MdsChangelog.js +55 -0
- package/docs/src/util/MediumBlogs.js +27 -0
- package/docs/src/util/NavItems.js +82 -0
- package/docs/src/util/StorybookData.js +24 -0
- package/docs/src/util/constants.js +7 -0
- package/docs/src/util/context/NavContext.js +54 -0
- package/docs/src/util/hooks/index.js +1 -0
- package/docs/src/util/hooks/useMetadata.js +21 -0
- package/docs/src/util/index.js +4 -0
- package/docs/static/icons/4691539_codesandbox_icon.svg +1 -0
- package/docs/static/icons/card-image.png +0 -0
- package/docs/static/icons/favicon_io/android-chrome-192x192.png +0 -0
- package/docs/static/icons/favicon_io/android-chrome-512x512.png +0 -0
- package/docs/static/icons/favicon_io/apple-touch-icon.png +0 -0
- package/docs/static/icons/favicon_io/favicon-16x16.png +0 -0
- package/docs/static/icons/favicon_io/favicon-32x32.png +0 -0
- package/docs/static/icons/favicon_io/favicon.ico +0 -0
- package/docs/static/images/P360.png +0 -0
- package/docs/static/images/dap.png +0 -0
- package/docs/static/images/default.png +0 -0
- package/docs/static/images/designtoken.png +0 -0
- package/docs/static/images/figma.png +0 -0
- package/docs/static/images/headerLogo.png +0 -0
- package/docs/static/images/inacademy.png +0 -0
- package/docs/static/images/inapi.png +0 -0
- package/docs/static/images/incare.png +0 -0
- package/docs/static/images/inconnect.png +0 -0
- package/docs/static/images/indata.png +0 -0
- package/docs/static/images/ingraph.png +0 -0
- package/docs/static/images/innote.png +0 -0
- package/docs/static/images/inoffice.png +0 -0
- package/docs/static/images/inreport.png +0 -0
- package/docs/static/images/storybook.png +0 -0
- package/docs/static/images/withoutType.png +0 -0
- package/docs/tools/build.sh +6 -0
- package/docs/tools/changelog.sh +1 -0
- package/docs/tools/changeloghead.md +14 -0
- package/docs/tools/develop.sh +5 -0
- package/docs/tools/extract.js +52 -0
- package/docs/tools/update-mds.sh +3 -0
- package/package.json +1 -1
- package/tsconfig.json +1 -1
- package/tsconfig.type.json +2 -1
- package/docs/AppTutorial.md +0 -474
- package/docs/images/BasicLayout.png +0 -0
- package/docs/images/Breadcrumb.png +0 -0
- package/docs/images/Covid-App.png +0 -0
- package/docs/images/DrilledLayout.png +0 -0
- package/docs/images/DrilledPage.png +0 -0
- package/docs/images/Footer.png +0 -0
- package/docs/images/Graph1.png +0 -0
- package/docs/images/Graph2.png +0 -0
- package/docs/images/Header.png +0 -0
- package/docs/images/Map.png +0 -0
- package/docs/images/StaticComponent.png +0 -0
- package/docs/images/Summary.png +0 -0
- package/docs/images/Table.png +0 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Interactions
|
|
3
|
+
description: Motion can bring the screen to life, guide users through complex experiences, and help move them forward—from here to there, now to next, start to finish—and make progress.
|
|
4
|
+
date: 15 June 2021
|
|
5
|
+
showMobile: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Motion helps in conveying action and hierarchy. It can bring the screen to life, guide users through complex experiences, and help move them forward—from now to next and start to finish. These guidelines are based on the Carbon Design System
|
|
9
|
+
|
|
10
|
+
<br />
|
|
11
|
+
<br />
|
|
12
|
+
|
|
13
|
+
#### Style
|
|
14
|
+
|
|
15
|
+
Productivity and expression are both essential to an interface. Reserve expressive motion for occasional, important moments, to better capture the user’s attention and offer a rhythmic break to the productive experience.
|
|
16
|
+
Hence there are two styles of motion - Productive motion and Expressive motion.
|
|
17
|
+
|
|
18
|
+
<br />
|
|
19
|
+
|
|
20
|
+
##### Productive motion
|
|
21
|
+
|
|
22
|
+
Productive motion is appropriate for moments when the user needs to focus on completing tasks. Micro-interactions such as button states, dropdowns, revealing additional information, or rendering data tables and visualisations can be designed with productive motion.
|
|
23
|
+
|
|
24
|
+
<br />
|
|
25
|
+
|
|
26
|
+
##### Expressive motion
|
|
27
|
+
|
|
28
|
+
Expressive motion is appropriate for moments such as opening a new page, clicking the primary action button, or when the movement itself conveys a meaning. System alerts and the appearance of notification boxes are great cases for expressive motion.
|
|
29
|
+
|
|
30
|
+
<br />
|
|
31
|
+
<br />
|
|
32
|
+
|
|
33
|
+
#### Easing
|
|
34
|
+
|
|
35
|
+
Elements on the screen should speed up quickly and slow down smoothly, obeying the physics of a light-weight material. “Easing curves” describe the precise amount of accelerations in motion. There are three types of easing curves -
|
|
36
|
+
|
|
37
|
+
<br />
|
|
38
|
+
|
|
39
|
+
##### Standard easing
|
|
40
|
+
|
|
41
|
+
Use <Rectangle name={'standard-easing'} /> when an element is visible from the beginning to the end of a motion. Expanding card and the sorting of table rows are good examples.
|
|
42
|
+
|
|
43
|
+
<br />
|
|
44
|
+
|
|
45
|
+
##### Entrance easing
|
|
46
|
+
|
|
47
|
+
With this style, an element quickly appears and slows down to a stop. Use <Rectangle name={'entrance-ease'} /> when adding elements to the view, such as a modal or toast appearing. Elements moving in response to the user’s input, such as a dropdown opening or toggle switching should also use this style.
|
|
48
|
+
|
|
49
|
+
<br />
|
|
50
|
+
|
|
51
|
+
##### Exit easing
|
|
52
|
+
|
|
53
|
+
Use <Rectangle name={'exit-easing'} /> when removing elements from view, such as closing a modal or toaster. The element speeds up as it exits from view, implying that its departure from the screen is permanent.
|
|
54
|
+
|
|
55
|
+
An exception to exits: if an element leaves the view but stays nearby, ready to reappear upon user action, use standard easing instead. A good example of this is a reveal. The reveal leaves the view, but slows down as it exits, implying that it would come to rest just outside the view, and ready to be recalled.
|
|
56
|
+
|
|
57
|
+
<Card shadow='none'>
|
|
58
|
+
<Table
|
|
59
|
+
showMenu={false}
|
|
60
|
+
separator={true}
|
|
61
|
+
data={[
|
|
62
|
+
{
|
|
63
|
+
curve: 'Standard easing',
|
|
64
|
+
productive: 'cubic-bezier(0.2, 0, 0.38, 0.9)',
|
|
65
|
+
expressive: 'cubic-bezier(0.4, 0.14, 0.3, 1)s',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
curve: 'Entrance easing',
|
|
69
|
+
productive: 'cubic-bezier(0, 0, 0.38, 0.9)',
|
|
70
|
+
expressive: 'cubic-bezier(0, 0, 0.3, 1)',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
curve: 'Exit easing',
|
|
74
|
+
productive: 'cubic-bezier(0.2, 0, 1, 0.9)',
|
|
75
|
+
expressive: 'cubic-bezier(0.4, 0.14, 1, 1)',
|
|
76
|
+
},
|
|
77
|
+
]}
|
|
78
|
+
schema={[
|
|
79
|
+
{
|
|
80
|
+
name: 'curve',
|
|
81
|
+
displayName: 'Curve',
|
|
82
|
+
width: '20%',
|
|
83
|
+
sorting: false,
|
|
84
|
+
separator: true,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'productive',
|
|
88
|
+
displayName: 'Productive',
|
|
89
|
+
width: '40%',
|
|
90
|
+
sorting: false,
|
|
91
|
+
separator: true,
|
|
92
|
+
cellRenderer: ({ data }) => {
|
|
93
|
+
return <Rectangle name={data.productive} />;
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'expressive',
|
|
98
|
+
displayName: 'Expressive',
|
|
99
|
+
width: '40%',
|
|
100
|
+
sorting: false,
|
|
101
|
+
separator: true,
|
|
102
|
+
cellRenderer: ({ data }) => {
|
|
103
|
+
return <Rectangle name={data.expressive} />;
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
]}
|
|
107
|
+
withHeader={false}
|
|
108
|
+
/>
|
|
109
|
+
</Card>
|
|
110
|
+
|
|
111
|
+
<br />
|
|
112
|
+
<br />
|
|
113
|
+
<br />
|
|
114
|
+
|
|
115
|
+
#### Duration
|
|
116
|
+
|
|
117
|
+
Duration is calculated based on the style and size of the motion. Among the two motion styles, productive motion is significantly faster than expressive motion. Motion’s duration should be dynamic based on the size of the animation; the larger the change in distance (traveled) or size (scaling) of the element, the longer the animation takes.
|
|
118
|
+
|
|
119
|
+
<br />
|
|
120
|
+
|
|
121
|
+
##### Duration values
|
|
122
|
+
|
|
123
|
+
<br />
|
|
124
|
+
|
|
125
|
+
<Card shadow='none'>
|
|
126
|
+
<Table
|
|
127
|
+
showMenu={false}
|
|
128
|
+
separator={true}
|
|
129
|
+
data={[
|
|
130
|
+
{
|
|
131
|
+
tokens: 'duration--fast-01',
|
|
132
|
+
usage:
|
|
133
|
+
'Micro-interactions such as button and toggle',
|
|
134
|
+
value: '80ms',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
tokens: 'duration--fast-02',
|
|
138
|
+
usage: 'Micro-interactions such as fade',
|
|
139
|
+
value: '120ms',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
tokens: 'duration--moderate-01',
|
|
143
|
+
usage:
|
|
144
|
+
'Micro-interactions, small expansion, short distance movements',
|
|
145
|
+
value: '160ms',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
tokens: 'duration--moderate-02',
|
|
149
|
+
usage: 'Expansion, system communication, toast',
|
|
150
|
+
value: '240ms',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
tokens: 'duration--slow-01',
|
|
154
|
+
usage:
|
|
155
|
+
'Large expansion, important system notifications',
|
|
156
|
+
value: '4000ms',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
tokens: 'duration--slow-02',
|
|
160
|
+
usage: 'Background dimming',
|
|
161
|
+
value: '720ms',
|
|
162
|
+
},
|
|
163
|
+
]}
|
|
164
|
+
schema={[
|
|
165
|
+
{
|
|
166
|
+
name: 'tokens',
|
|
167
|
+
displayName: 'Tokens',
|
|
168
|
+
width: '25%',
|
|
169
|
+
sorting: false,
|
|
170
|
+
separator: true,
|
|
171
|
+
cellRenderer: ({ data }) => {
|
|
172
|
+
return <Rectangle name={data.tokens} />;
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: 'usage',
|
|
177
|
+
displayName: 'Usage',
|
|
178
|
+
width: '45%',
|
|
179
|
+
sorting: false,
|
|
180
|
+
separator: true,
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
name: 'value',
|
|
184
|
+
displayName: 'Value',
|
|
185
|
+
width: '30%',
|
|
186
|
+
sorting: false,
|
|
187
|
+
separator: true,
|
|
188
|
+
},
|
|
189
|
+
]}
|
|
190
|
+
withHeader={false}
|
|
191
|
+
/>
|
|
192
|
+
</Card>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Layout
|
|
3
|
+
description: Instructions for using Innovaccer Design System layout. We use 8px as the base unit for our spacial system.
|
|
4
|
+
date: 15 June 2021
|
|
5
|
+
showMobile: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
#### Spacing
|
|
9
|
+
|
|
10
|
+
We use 8px as the base unit for our spacial system. The spacing system has been roughly generated by multiplying eight with even numbers.
|
|
11
|
+
|
|
12
|
+
<Message
|
|
13
|
+
appearance='info'
|
|
14
|
+
description='12px is an outlier to the rule. This special padding amount allows for better alignment of stacked items while giving elements enough room to breathe.'
|
|
15
|
+
/>
|
|
16
|
+
|
|
17
|
+
<br />
|
|
18
|
+
|
|
19
|
+

|
|
20
|
+
|
|
21
|
+
<br />
|
|
22
|
+
<br />
|
|
23
|
+
<br />
|
|
24
|
+
|
|
25
|
+
#### Grid
|
|
26
|
+
|
|
27
|
+
Using a baseline grid creates a consistent rhythm between the components and typography. We use a 12-columns grid.
|
|
28
|
+
|
|
29
|
+
<br />
|
|
30
|
+
|
|
31
|
+
##### Types
|
|
32
|
+
|
|
33
|
+
###### Regular Grid
|
|
34
|
+
|
|
35
|
+
<Card shadow='none'>
|
|
36
|
+
<Table
|
|
37
|
+
showMenu={false}
|
|
38
|
+
data={[
|
|
39
|
+
{
|
|
40
|
+
property: 'Left Padding',
|
|
41
|
+
value: '8px',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
property: 'Right Padding',
|
|
45
|
+
value: '8px',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
property: 'Gutter',
|
|
49
|
+
value: '16px',
|
|
50
|
+
},
|
|
51
|
+
]}
|
|
52
|
+
schema={[
|
|
53
|
+
{
|
|
54
|
+
name: 'property',
|
|
55
|
+
displayName: 'Property',
|
|
56
|
+
width: '40%',
|
|
57
|
+
sorting: false,
|
|
58
|
+
separator: true,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'value',
|
|
62
|
+
displayName: 'Value',
|
|
63
|
+
width: '30%',
|
|
64
|
+
sorting: false,
|
|
65
|
+
separator: true,
|
|
66
|
+
},
|
|
67
|
+
]}
|
|
68
|
+
withHeader={false}
|
|
69
|
+
/>
|
|
70
|
+
</Card>
|
|
71
|
+
|
|
72
|
+
<br />
|
|
73
|
+
|
|
74
|
+

|
|
75
|
+
|
|
76
|
+
<br />
|
|
77
|
+
|
|
78
|
+
###### Grid with margin
|
|
79
|
+
|
|
80
|
+
For the outermost grid, this component is used. This can
|
|
81
|
+
also be nested subsequently if a 16px padding is required
|
|
82
|
+
on both sides.
|
|
83
|
+
|
|
84
|
+
<Card shadow='none'>
|
|
85
|
+
<Table
|
|
86
|
+
showMenu={false}
|
|
87
|
+
data={[
|
|
88
|
+
{
|
|
89
|
+
property: 'Left Padding',
|
|
90
|
+
value: '8 + 8px',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
property: 'Right Padding',
|
|
94
|
+
value: '8 + 8px',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
property: 'Gutter',
|
|
98
|
+
value: '16px',
|
|
99
|
+
},
|
|
100
|
+
]}
|
|
101
|
+
schema={[
|
|
102
|
+
{
|
|
103
|
+
name: 'property',
|
|
104
|
+
displayName: 'Property',
|
|
105
|
+
width: '40%',
|
|
106
|
+
sorting: false,
|
|
107
|
+
separator: true,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: 'value',
|
|
111
|
+
displayName: 'Value',
|
|
112
|
+
width: '30%',
|
|
113
|
+
sorting: false,
|
|
114
|
+
separator: true,
|
|
115
|
+
},
|
|
116
|
+
]}
|
|
117
|
+
withHeader={false}
|
|
118
|
+
/>
|
|
119
|
+
</Card>
|
|
120
|
+
|
|
121
|
+
<br />
|
|
122
|
+
|
|
123
|
+

|
|
124
|
+
|
|
125
|
+
<br />
|
|
126
|
+
<br />
|
|
127
|
+
|
|
128
|
+
##### Columns
|
|
129
|
+
|
|
130
|
+
The column includes the padding at the inside, 8 px each side. This way the gutter becomes 16px for adjacent columns.
|
|
131
|
+
|
|
132
|
+

|
|
133
|
+
|
|
134
|
+
<br />
|
|
135
|
+
<br />
|
|
136
|
+
|
|
137
|
+
##### Components
|
|
138
|
+
|
|
139
|
+
We use a 8px baseline grid. All UI components including paddings and margins are created in multiples of eight so that everything aligns to the pixel grid.
|
|
140
|
+
When text is used within a UI element, set the line-height to be consistent with the baseline grid.
|
|
141
|
+
|
|
142
|
+

|
|
143
|
+
|
|
144
|
+
<br />
|
|
145
|
+
<br />
|
|
146
|
+
|
|
147
|
+
##### Typography
|
|
148
|
+
|
|
149
|
+
All typography aligns to a 4px baseline grid. This allows for readable line heights at all sizes.
|
|
150
|
+
|
|
151
|
+

|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Logos
|
|
3
|
+
description: Logos are visual symbols used to represent ideas, objects, or actions. They communicate messages at a glance, afford interactivity, and draw attention to important information.
|
|
4
|
+
date: 15 June 2021
|
|
5
|
+
showMobile: true
|
|
6
|
+
logos:
|
|
7
|
+
[
|
|
8
|
+
'dap',
|
|
9
|
+
'default',
|
|
10
|
+
'inacademy',
|
|
11
|
+
'inapi',
|
|
12
|
+
'incare',
|
|
13
|
+
'inconnect',
|
|
14
|
+
'indata',
|
|
15
|
+
'ingraph',
|
|
16
|
+
'innote',
|
|
17
|
+
'inoffice',
|
|
18
|
+
'inreport',
|
|
19
|
+
'P360',
|
|
20
|
+
'withoutType',
|
|
21
|
+
]
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
export const ORGANIZATION_LOGOS = [
|
|
25
|
+
{
|
|
26
|
+
imgName: 'default',
|
|
27
|
+
name: 'Default',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
imgName: 'withoutType',
|
|
31
|
+
name: 'Without Type',
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
export const PRODUCTS_LOGOS = [
|
|
36
|
+
{
|
|
37
|
+
imgName: 'incare',
|
|
38
|
+
name: 'InCare',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
imgName: 'innote',
|
|
42
|
+
name: 'InNote',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
imgName: 'ingraph',
|
|
46
|
+
name: 'InGraph',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
imgName: 'inconnect',
|
|
50
|
+
name: 'InConnect',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
imgName: 'indata',
|
|
54
|
+
name: 'InData',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
imgName: 'inapi',
|
|
58
|
+
name: 'InApi',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
imgName: 'inreport',
|
|
62
|
+
name: 'InReport',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
imgName: 'dap',
|
|
66
|
+
name: 'Data Activation Platform',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
imgName: 'inacademy',
|
|
70
|
+
name: 'InAcademy',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
imgName: 'P360',
|
|
74
|
+
name: 'Patient 360',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
#### Organization
|
|
79
|
+
|
|
80
|
+
<Row className='mb-10'>
|
|
81
|
+
<Logos logoData={ORGANIZATION_LOGOS} />
|
|
82
|
+
</Row>
|
|
83
|
+
|
|
84
|
+
#### Products
|
|
85
|
+
|
|
86
|
+
<Row>
|
|
87
|
+
<Logos logoData={PRODUCTS_LOGOS} />
|
|
88
|
+
</Row>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Principles
|
|
3
|
+
description: Design principles we use in aur Design System.
|
|
4
|
+
showMobile: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
#### Our values
|
|
8
|
+
|
|
9
|
+
Values are like fingerprints, sticking to them will help us make better design decisions.
|
|
10
|
+
|
|
11
|
+
<Heading size='s'> Purposeful</Heading>
|
|
12
|
+
|
|
13
|
+
Biased for less. Every button, icon, or copy should have a purpose. Each step in a workflow.
|
|
14
|
+
|
|
15
|
+
<Heading size='s'> Data-Driven </Heading>
|
|
16
|
+
|
|
17
|
+
Personalized for users. Pre-fill options. Design for practices you want to promote.
|
|
18
|
+
|
|
19
|
+
<Heading size='s'>Friendly</Heading>
|
|
20
|
+
|
|
21
|
+
Approachable and friendly communication.
|
|
22
|
+
|
|
23
|
+
<Heading size='s'>Convention over Configuration</Heading>
|
|
24
|
+
|
|
25
|
+
Design for choices that are well thought out and based on best practices. Avoid unnecessary configuration. Avoid configuration to support fragile workflows.
|
|
26
|
+
|
|
27
|
+
<br />
|
|
28
|
+
|
|
29
|
+
#### Design principles
|
|
30
|
+
|
|
31
|
+
Our design principles constantly help us remain authentic, relevant, and original.
|
|
32
|
+
|
|
33
|
+
<br />
|
|
34
|
+
|
|
35
|
+
<Heading size='s'>
|
|
36
|
+
Design for Repeatability and Reuse
|
|
37
|
+
</Heading>
|
|
38
|
+
|
|
39
|
+
We try to create our design elements as modules. This makes it easy for us to reuse them in combination with other elements.
|
|
40
|
+
|
|
41
|
+
<Heading size='s'>Create WOW Moments </Heading>
|
|
42
|
+
|
|
43
|
+
People love surprises. If you can make them smile, they are hooked.
|
|
44
|
+
|
|
45
|
+
<Heading size='s'>Keep it Attractive</Heading>
|
|
46
|
+
|
|
47
|
+
We believe people perceive attractive products as more usable (<Text appearance="link">The Aesthetic-Usability Effect</Text> ). So, we make sure our products look sharp.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Response times
|
|
3
|
+
description: Instructions for Response Time. 0.1s to 1s is about the limit to keep it snappy.
|
|
4
|
+
date: 15 June 2021
|
|
5
|
+
showMobile: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
0.1s to 1s is about the limit to keep it snappy.
|
|
9
|
+
|
|
10
|
+
<br />
|
|
11
|
+
|
|
12
|
+
#### Free navigation
|
|
13
|
+
|
|
14
|
+
**1.0 second** is the limit for having the user feel that the system is **reacting instantaneously**, meaning that no special feedback is necessary except to display the result.
|
|
15
|
+
|
|
16
|
+
For example, this is the limit from the time the user selects a row in a table until that row should highlight or otherwise give feedback that it's selected.
|
|
17
|
+
|
|
18
|
+
<Card shadow='none'>
|
|
19
|
+
<Table
|
|
20
|
+
showMenu={false}
|
|
21
|
+
separator={true}
|
|
22
|
+
data={[
|
|
23
|
+
{
|
|
24
|
+
good: '[0, 100ms]',
|
|
25
|
+
needs_improvement: '(100ms, 300ms]',
|
|
26
|
+
poor: 'over 300ms',
|
|
27
|
+
},
|
|
28
|
+
]}
|
|
29
|
+
schema={[
|
|
30
|
+
{
|
|
31
|
+
name: 'good',
|
|
32
|
+
displayName: 'Good',
|
|
33
|
+
width: '33%',
|
|
34
|
+
sorting: false,
|
|
35
|
+
separator: true,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'needs_improvement',
|
|
39
|
+
displayName: 'Needs Improvement',
|
|
40
|
+
width: '33%',
|
|
41
|
+
sorting: false,
|
|
42
|
+
cellType: 'WITH_META_LIST',
|
|
43
|
+
separator: true,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'poor',
|
|
47
|
+
displayName: 'Poor',
|
|
48
|
+
width: '33%',
|
|
49
|
+
sorting: false,
|
|
50
|
+
separator: true,
|
|
51
|
+
},
|
|
52
|
+
]}
|
|
53
|
+
withHeader={false}
|
|
54
|
+
/>
|
|
55
|
+
</Card>
|
|
56
|
+
|
|
57
|
+
<br />
|
|
58
|
+
<br />
|
|
59
|
+
|
|
60
|
+
#### Data manipulation
|
|
61
|
+
|
|
62
|
+
**1.0 second** is about the limit for the **user's flow of thought
|
|
63
|
+
to stay** uninterrupted, even though the user will notice the delay.
|
|
64
|
+
Normally, no special feedback is necessary during delays of more
|
|
65
|
+
than 0.1 but less than 1.0 second, but the user does lose the
|
|
66
|
+
feeling of operating directly on the data.
|
|
67
|
+
|
|
68
|
+
For example, if sorting a table according to the selected column can't be done in 0.1 seconds, it certainly has to be done in 1 second, or users will feel that the UI is sluggish and will lose the sense of "flow" in performing their task. For delays of more than 1 second, indicate to the user that the computer is working on the problem, for example by changing the shape of the cursor.
|
|
69
|
+
|
|
70
|
+
<Card shadow='none'>
|
|
71
|
+
<Table
|
|
72
|
+
showMenu={false}
|
|
73
|
+
separator={true}
|
|
74
|
+
data={[
|
|
75
|
+
{
|
|
76
|
+
good: '[0, 100ms]',
|
|
77
|
+
needs_improvement: '(100ms, 300ms]',
|
|
78
|
+
poor: 'over 300ms',
|
|
79
|
+
},
|
|
80
|
+
]}
|
|
81
|
+
schema={[
|
|
82
|
+
{
|
|
83
|
+
name: 'good',
|
|
84
|
+
displayName: 'Good',
|
|
85
|
+
width: '33%',
|
|
86
|
+
sorting: false,
|
|
87
|
+
separator: true,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: 'needs_improvement',
|
|
91
|
+
displayName: 'Needs Improvement',
|
|
92
|
+
width: '33%',
|
|
93
|
+
sorting: false,
|
|
94
|
+
separator: true,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'poor',
|
|
98
|
+
displayName: 'Poor',
|
|
99
|
+
width: '33%',
|
|
100
|
+
sorting: false,
|
|
101
|
+
separator: true,
|
|
102
|
+
},
|
|
103
|
+
]}
|
|
104
|
+
withHeader={false}
|
|
105
|
+
/>
|
|
106
|
+
</Card>
|
|
107
|
+
|
|
108
|
+
<br />
|
|
109
|
+
<br />
|
|
110
|
+
|
|
111
|
+
#### Exports and processes
|
|
112
|
+
|
|
113
|
+
**10 seconds** is the limit for **keeping the user's attention focused** on the dialogue. Anything slower than 10 seconds needs a percent-done indicator as well as a clearly signposted way for the user to interrupt the operation. Assume that users will need to reorient themselves when they return to the UI after a delay of more than 10 seconds.
|
|
114
|
+
|
|
115
|
+
For example, exporting a report as PDF should happen under 10 seconds. A percent-done indicator should preferably be shown while the export is being created.
|
|
116
|
+
|
|
117
|
+
<br />
|
|
118
|
+
<br />
|
|
119
|
+
|
|
120
|
+
#### Long activities (or background tasks)
|
|
121
|
+
|
|
122
|
+
For longer delays, users should be able to perform other tasks while waiting for the process to finish, so they should be given feedback indicating when it's expected to be done. Feedback during the delay is especially important if the response time is likely to be highly variable, since users will then not know what to expect.
|
|
123
|
+
|
|
124
|
+
Delays longer than 10 seconds are only acceptable during natural breaks in the user's work, for example when switching tasks.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Typography
|
|
3
|
+
description: Typography can help create clear hierarchies, organize information, and guide users through a product or experience.
|
|
4
|
+
date: 15 June 2021
|
|
5
|
+
showMobile: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
The design system has many built in tokens to easily solve most common use cases surrounding text and its formatting.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useStaticQuery, graphql } from 'gatsby';
|
|
2
|
+
|
|
3
|
+
export function useFooterItems() {
|
|
4
|
+
const {
|
|
5
|
+
allFooterItemsYaml: { edges },
|
|
6
|
+
} = useStaticQuery(graphql`
|
|
7
|
+
query FOOTER_QUERY {
|
|
8
|
+
allFooterItemsYaml {
|
|
9
|
+
edges {
|
|
10
|
+
node {
|
|
11
|
+
label
|
|
12
|
+
link
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
`);
|
|
18
|
+
|
|
19
|
+
const items = edges.map(({ node }) => node);
|
|
20
|
+
return items;
|
|
21
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useStaticQuery, graphql } from 'gatsby';
|
|
2
|
+
|
|
3
|
+
export function useFrontmatter(relativePagePath) {
|
|
4
|
+
const {
|
|
5
|
+
allMdx: { edges },
|
|
6
|
+
} = useStaticQuery(graphql`
|
|
7
|
+
query FRONTMATTER_QUERY {
|
|
8
|
+
allMdx {
|
|
9
|
+
edges {
|
|
10
|
+
node {
|
|
11
|
+
slug
|
|
12
|
+
frontmatter {
|
|
13
|
+
component
|
|
14
|
+
date
|
|
15
|
+
description
|
|
16
|
+
logos
|
|
17
|
+
showMobile
|
|
18
|
+
tabs
|
|
19
|
+
title
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
`);
|
|
26
|
+
|
|
27
|
+
const componentName = relativePagePath.slice(1, relativePagePath.lastIndexOf('/'));
|
|
28
|
+
|
|
29
|
+
const data = edges.filter(item => {
|
|
30
|
+
const { slug, frontmatter } = item.node;
|
|
31
|
+
return slug.includes(componentName) && frontmatter.title != frontmatter.description
|
|
32
|
+
});
|
|
33
|
+
const frontmatter = data[0]?.node.frontmatter;
|
|
34
|
+
return frontmatter;
|
|
35
|
+
}
|