@dxc-technology/halstack-react 0.0.0-fed0950 → 0.0.0-feed711
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/BackgroundColorContext.d.ts +10 -0
- package/BackgroundColorContext.js +47 -0
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +226 -0
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +68 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +7 -0
- package/accordion-group/AccordionGroup.js +169 -0
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +72 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +293 -0
- package/alert/Alert.stories.tsx +170 -0
- package/alert/Alert.test.js +92 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +61 -0
- package/badge/types.d.ts +5 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +116 -0
- package/box/Box.stories.tsx +132 -0
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +43 -0
- package/box/types.js +5 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.js +156 -0
- package/button/Button.stories.tsx +283 -0
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +53 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/card/Card.js +161 -0
- package/card/Card.stories.tsx +201 -0
- package/card/Card.test.js +50 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +67 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/checkbox/Checkbox.js +257 -0
- package/checkbox/Checkbox.stories.tsx +188 -0
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +64 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +161 -0
- package/chip/Chip.stories.tsx +119 -0
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/{dist/common → common}/OpenSans.css +0 -0
- package/common/RequiredComponent.js +32 -0
- package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/{dist/common → common}/utils.js +0 -0
- package/common/variables.js +1504 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +372 -0
- package/date-input/DateInput.stories.tsx +138 -0
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +107 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +162 -0
- package/dialog/Dialog.stories.tsx +211 -0
- package/dialog/Dialog.test.js +70 -0
- package/dialog/types.d.ts +43 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +387 -0
- package/dropdown/Dropdown.stories.tsx +312 -0
- package/dropdown/Dropdown.test.js +591 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +100 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +593 -0
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +186 -0
- package/file-input/types.d.ts +112 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +21 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +185 -0
- package/footer/Footer.stories.tsx +130 -0
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +77 -0
- package/footer/types.d.ts +65 -0
- package/footer/types.js +5 -0
- package/header/Header.d.ts +7 -0
- package/header/Header.js +305 -0
- package/header/Header.stories.tsx +172 -0
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +34 -0
- package/header/types.d.ts +47 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +159 -0
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +186 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +171 -0
- package/layout/ApplicationLayout.stories.tsx +161 -0
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +66 -0
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +42 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +136 -0
- package/link/Link.stories.tsx +193 -0
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/main.d.ts +44 -0
- package/main.js +369 -0
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +76 -0
- package/number-input/NumberInput.stories.tsx +115 -0
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +6 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +124 -0
- package/number-input/types.js +5 -0
- package/package.json +50 -28
- package/paginator/Icons.js +66 -0
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +171 -0
- package/paginator/Paginator.stories.tsx +63 -0
- package/paginator/Paginator.test.js +308 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +166 -0
- package/password-input/PasswordInput.stories.tsx +131 -0
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +110 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +176 -0
- package/progress-bar/ProgressBar.stories.jsx +60 -0
- package/progress-bar/ProgressBar.test.js +110 -0
- package/progress-bar/types.d.ts +36 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +118 -0
- package/quick-nav/QuickNav.stories.tsx +264 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +281 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +254 -0
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +348 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +199 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +643 -0
- package/select/Select.stories.tsx +627 -0
- package/select/Select.test.js +2175 -0
- package/select/types.d.ts +210 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +268 -0
- package/sidenav/Sidenav.stories.tsx +180 -0
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +73 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +318 -0
- package/slider/Slider.stories.tsx +177 -0
- package/slider/Slider.test.js +187 -0
- package/slider/types.d.ts +82 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +250 -0
- package/spinner/Spinner.stories.jsx +103 -0
- package/spinner/Spinner.test.js +64 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +251 -0
- package/switch/Switch.stories.tsx +138 -0
- package/switch/Switch.test.js +212 -0
- package/switch/types.d.ts +61 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +118 -0
- package/table/Table.stories.jsx +277 -0
- package/table/Table.test.js +26 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +211 -0
- package/tabs/Tabs.stories.tsx +112 -0
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +82 -0
- package/tabs/types.js +5 -0
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +183 -0
- package/tag/Tag.stories.tsx +142 -0
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +761 -0
- package/text-input/TextInput.stories.tsx +473 -0
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +178 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +277 -0
- package/textarea/Textarea.stories.jsx +157 -0
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +215 -0
- package/toggle-group/ToggleGroup.stories.tsx +173 -0
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +105 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +2 -0
- package/useTheme.js +22 -0
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +285 -0
- package/wizard/Wizard.stories.tsx +233 -0
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +65 -0
- package/wizard/types.js +5 -0
- package/babel.config.js +0 -4
- package/dist/accordion/Accordion.js +0 -264
- package/dist/accordion/Accordion.stories.js +0 -207
- package/dist/accordion/readme.md +0 -96
- package/dist/alert/Alert.js +0 -302
- package/dist/alert/Alert.stories.js +0 -158
- package/dist/alert/close.svg +0 -4
- package/dist/alert/error.svg +0 -4
- package/dist/alert/info.svg +0 -4
- package/dist/alert/readme.md +0 -43
- package/dist/alert/success.svg +0 -4
- package/dist/alert/warning.svg +0 -4
- package/dist/box/Box.js +0 -136
- package/dist/button/Button.js +0 -187
- package/dist/button/Button.stories.js +0 -224
- package/dist/button/readme.md +0 -93
- package/dist/card/Card.js +0 -246
- package/dist/checkbox/Checkbox.js +0 -221
- package/dist/checkbox/Checkbox.stories.js +0 -144
- package/dist/checkbox/readme.md +0 -116
- package/dist/chip/Chip.js +0 -170
- package/dist/common/RequiredComponent.js +0 -50
- package/dist/common/services/example-service.js +0 -10
- package/dist/common/services/example-service.test.js +0 -12
- package/dist/common/variables.js +0 -77
- package/dist/date/Date.js +0 -342
- package/dist/date/Date.stories.js +0 -205
- package/dist/date/calendar.svg +0 -1
- package/dist/date/calendar_dark.svg +0 -1
- package/dist/date/readme.md +0 -73
- package/dist/dialog/Dialog.js +0 -164
- package/dist/dialog/Dialog.stories.js +0 -217
- package/dist/dialog/readme.md +0 -32
- package/dist/dropdown/Dropdown.js +0 -412
- package/dist/dropdown/Dropdown.stories.js +0 -249
- package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
- package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
- package/dist/dropdown/readme.md +0 -69
- package/dist/footer/Footer.js +0 -341
- package/dist/footer/Footer.stories.js +0 -94
- package/dist/footer/dxc_logo_wht.png +0 -0
- package/dist/footer/readme.md +0 -41
- package/dist/header/Header.js +0 -343
- package/dist/header/Header.stories.js +0 -176
- package/dist/header/close_icon.svg +0 -1
- package/dist/header/dxc_logo_black.png +0 -0
- package/dist/header/dxc_logo_white.png +0 -0
- package/dist/header/hamb_menu_black.svg +0 -1
- package/dist/header/hamb_menu_white.svg +0 -1
- package/dist/header/readme.md +0 -33
- package/dist/heading/Heading.js +0 -159
- package/dist/input-text/InputText.js +0 -510
- package/dist/input-text/InputText.stories.js +0 -209
- package/dist/input-text/error.svg +0 -1
- package/dist/input-text/readme.md +0 -91
- package/dist/link/Link.js +0 -129
- package/dist/link/readme.md +0 -51
- package/dist/main.js +0 -263
- package/dist/paginator/Paginator.js +0 -178
- package/dist/paginator/images/next.svg +0 -3
- package/dist/paginator/images/nextPage.svg +0 -3
- package/dist/paginator/images/previous.svg +0 -3
- package/dist/paginator/images/previousPage.svg +0 -3
- package/dist/paginator/readme.md +0 -50
- package/dist/progress-bar/ProgressBar.js +0 -189
- package/dist/progress-bar/ProgressBar.stories.js +0 -280
- package/dist/progress-bar/readme.md +0 -63
- package/dist/radio/Radio.js +0 -204
- package/dist/radio/Radio.stories.js +0 -166
- package/dist/radio/readme.md +0 -70
- package/dist/resultsetTable/ResultsetTable.js +0 -334
- package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
- package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
- package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
- package/dist/select/Select.js +0 -425
- package/dist/select/Select.stories.js +0 -235
- package/dist/select/readme.md +0 -72
- package/dist/sidenav/Sidenav.js +0 -217
- package/dist/sidenav/arrow_icon.svg +0 -3
- package/dist/slider/Slider.js +0 -268
- package/dist/slider/Slider.stories.js +0 -241
- package/dist/slider/readme.md +0 -64
- package/dist/spinner/Spinner.js +0 -196
- package/dist/spinner/Spinner.stories.js +0 -183
- package/dist/spinner/readme.md +0 -65
- package/dist/switch/Switch.js +0 -219
- package/dist/switch/Switch.stories.js +0 -134
- package/dist/switch/readme.md +0 -133
- package/dist/table/Table.js +0 -84
- package/dist/tabs/Tabs.js +0 -183
- package/dist/tabs/Tabs.stories.js +0 -130
- package/dist/tabs/readme.md +0 -78
- package/dist/tabs-for-sections/TabsForSections.js +0 -107
- package/dist/tabs-for-sections/readme.md +0 -78
- package/dist/tag/Tag.js +0 -217
- package/dist/textarea/Textarea.js +0 -226
- package/dist/toggle/Toggle.js +0 -223
- package/dist/toggle/Toggle.stories.js +0 -297
- package/dist/toggle/readme.md +0 -80
- package/dist/upload/Upload.js +0 -200
- package/dist/upload/Upload.stories.js +0 -72
- package/dist/upload/buttons-upload/ButtonsUpload.js +0 -125
- package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
- package/dist/upload/buttons-upload/upload-button.svg +0 -1
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -282
- package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
- package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
- package/dist/upload/file-upload/FileToUpload.js +0 -158
- package/dist/upload/file-upload/audio-icon.svg +0 -4
- package/dist/upload/file-upload/close.svg +0 -4
- package/dist/upload/file-upload/file-icon.svg +0 -4
- package/dist/upload/file-upload/video-icon.svg +0 -4
- package/dist/upload/files-upload/FilesToUpload.js +0 -123
- package/dist/upload/readme.md +0 -37
- package/dist/upload/transaction/Transaction.js +0 -155
- package/dist/upload/transaction/audio-icon-err.svg +0 -4
- package/dist/upload/transaction/audio-icon.svg +0 -4
- package/dist/upload/transaction/error-icon.svg +0 -4
- package/dist/upload/transaction/file-icon-err.svg +0 -4
- package/dist/upload/transaction/file-icon.svg +0 -4
- package/dist/upload/transaction/image-icon-err.svg +0 -4
- package/dist/upload/transaction/image-icon.svg +0 -4
- package/dist/upload/transaction/success-icon.svg +0 -4
- package/dist/upload/transaction/video-icon-err.svg +0 -4
- package/dist/upload/transaction/video-icon.svg +0 -4
- package/dist/upload/transactions/Transactions.js +0 -120
- package/dist/wizard/Wizard.js +0 -310
- package/dist/wizard/invalid_icon.svg +0 -6
- package/dist/wizard/valid_icon.svg +0 -6
- package/dist/wizard/validation-wrong.svg +0 -6
- package/test/Accordion.test.js +0 -33
- package/test/Alert.test.js +0 -53
- package/test/Box.test.js +0 -10
- package/test/Button.test.js +0 -18
- package/test/Card.test.js +0 -30
- package/test/Checkbox.test.js +0 -45
- package/test/Chip.test.js +0 -25
- package/test/Date.test.js +0 -393
- package/test/Dialog.test.js +0 -23
- package/test/Dropdown.test.js +0 -130
- package/test/Footer.test.js +0 -99
- package/test/Header.test.js +0 -39
- package/test/Heading.test.js +0 -35
- package/test/InputText.test.js +0 -236
- package/test/Link.test.js +0 -25
- package/test/Paginator.test.js +0 -165
- package/test/ProgressBar.test.js +0 -35
- package/test/Radio.test.js +0 -37
- package/test/ResultsetTable.test.js +0 -282
- package/test/Select.test.js +0 -191
- package/test/Sidenav.test.js +0 -87
- package/test/Slider.test.js +0 -65
- package/test/Spinner.test.js +0 -27
- package/test/Switch.test.js +0 -45
- package/test/Table.test.js +0 -36
- package/test/Tabs.test.js +0 -88
- package/test/TabsForSections.test.js +0 -34
- package/test/Tag.test.js +0 -32
- package/test/TextArea.test.js +0 -52
- package/test/Toggle.test.js +0 -43
- package/test/Upload.test.js +0 -60
- package/test/Wizard.test.js +0 -130
- package/test/mocks/pngMock.js +0 -1
- package/test/mocks/svgMock.js +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcProgressBar from "./ProgressBar";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: "ProgressBar",
|
|
8
|
+
component: DxcProgressBar,
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const Chromatic = () => (
|
|
12
|
+
<>
|
|
13
|
+
<ExampleContainer>
|
|
14
|
+
<Title title="Without labels" theme="light" level={4} />
|
|
15
|
+
<DxcProgressBar value={50} showValue />
|
|
16
|
+
<Title title="With helperText" theme="light" level={4} />
|
|
17
|
+
<DxcProgressBar helperText="Helper text" value={24} showValue />
|
|
18
|
+
<Title title="Without default value" theme="light" level={4} />
|
|
19
|
+
<DxcProgressBar label="Loading..." showValue />
|
|
20
|
+
<Title title="With full value" theme="light" level={4} />
|
|
21
|
+
<DxcProgressBar label="Loading..." value={100} showValue />
|
|
22
|
+
</ExampleContainer>
|
|
23
|
+
<Title title="Margins" theme="light" level={2} />
|
|
24
|
+
<ExampleContainer>
|
|
25
|
+
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
26
|
+
<DxcProgressBar label="Margin xxsmall" margin="xxsmall" value={50} showValue />
|
|
27
|
+
</ExampleContainer>
|
|
28
|
+
<ExampleContainer>
|
|
29
|
+
<Title title="Xsmall margin" theme="light" level={4} />
|
|
30
|
+
<DxcProgressBar label="Margin xsmall" margin="xsmall" value={50} showValue />
|
|
31
|
+
</ExampleContainer>
|
|
32
|
+
<ExampleContainer>
|
|
33
|
+
<Title title="Small margin" theme="light" level={4} />
|
|
34
|
+
<DxcProgressBar label="Margin small" margin="small" value={50} showValue />
|
|
35
|
+
</ExampleContainer>
|
|
36
|
+
<ExampleContainer>
|
|
37
|
+
<Title title="Medium margin" theme="light" level={4} />
|
|
38
|
+
<DxcProgressBar label="Margin medium" margin="medium" value={50} showValue />
|
|
39
|
+
</ExampleContainer>
|
|
40
|
+
<ExampleContainer>
|
|
41
|
+
<Title title="Large margin" theme="light" level={4} />
|
|
42
|
+
<DxcProgressBar label="Margin large" margin="large" value={50} showValue />
|
|
43
|
+
</ExampleContainer>
|
|
44
|
+
<ExampleContainer>
|
|
45
|
+
<Title title="Xlarge margin" theme="light" level={4} />
|
|
46
|
+
<DxcProgressBar label="Margin xlarge" margin="xlarge" value={50} showValue />
|
|
47
|
+
</ExampleContainer>
|
|
48
|
+
<ExampleContainer>
|
|
49
|
+
<Title title="XxLarge margin" theme="light" level={4} />
|
|
50
|
+
<DxcProgressBar label="Margin xxlarge" margin="xxlarge" value={50} showValue />
|
|
51
|
+
</ExampleContainer>
|
|
52
|
+
</>
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
export const ProgressBarOverlay = () => (
|
|
56
|
+
<ExampleContainer>
|
|
57
|
+
<Title title="Overlay" theme="dark" level={4} />
|
|
58
|
+
<DxcProgressBar label="Overlay" helperText="Helper text" overlay={true} showValue value={50} />
|
|
59
|
+
</ExampleContainer>
|
|
60
|
+
);
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _ProgressBar = _interopRequireDefault(require("./ProgressBar"));
|
|
10
|
+
|
|
11
|
+
describe("ProgressBar component tests", function () {
|
|
12
|
+
test("ProgressBar renders with label and helperText", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
14
|
+
label: "test-label",
|
|
15
|
+
helperText: "helper-text"
|
|
16
|
+
})),
|
|
17
|
+
getByText = _render.getByText;
|
|
18
|
+
|
|
19
|
+
expect(getByText("test-label")).toBeTruthy();
|
|
20
|
+
expect(getByText("helper-text")).toBeTruthy();
|
|
21
|
+
});
|
|
22
|
+
test("ProgressBar renders with default value", function () {
|
|
23
|
+
var value = 0;
|
|
24
|
+
|
|
25
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
26
|
+
showValue: true
|
|
27
|
+
})),
|
|
28
|
+
getByText = _render2.getByText,
|
|
29
|
+
getByRole = _render2.getByRole;
|
|
30
|
+
|
|
31
|
+
var progressBar = getByRole("progressbar");
|
|
32
|
+
expect(getByText("0 %")).toBeTruthy();
|
|
33
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
34
|
+
});
|
|
35
|
+
test("ProgressBar renders with value", function () {
|
|
36
|
+
var value = 25;
|
|
37
|
+
|
|
38
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
39
|
+
showValue: true,
|
|
40
|
+
value: value
|
|
41
|
+
})),
|
|
42
|
+
getByText = _render3.getByText,
|
|
43
|
+
getByRole = _render3.getByRole;
|
|
44
|
+
|
|
45
|
+
var progressBar = getByRole("progressbar");
|
|
46
|
+
expect(getByText("25 %")).toBeTruthy();
|
|
47
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
48
|
+
});
|
|
49
|
+
test("ProgressBar renders with negative value", function () {
|
|
50
|
+
var value = 0;
|
|
51
|
+
|
|
52
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
53
|
+
showValue: true,
|
|
54
|
+
value: -20
|
|
55
|
+
})),
|
|
56
|
+
getByText = _render4.getByText,
|
|
57
|
+
getByRole = _render4.getByRole;
|
|
58
|
+
|
|
59
|
+
var progressBar = getByRole("progressbar");
|
|
60
|
+
expect(getByText("0 %")).toBeTruthy();
|
|
61
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
62
|
+
});
|
|
63
|
+
test("ProgressBar renders as indeterminate", function () {
|
|
64
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], null)),
|
|
65
|
+
getByRole = _render5.getByRole;
|
|
66
|
+
|
|
67
|
+
var progressBar = getByRole("progressbar");
|
|
68
|
+
expect(progressBar.getAttribute("aria-valuenow")).toBe(null);
|
|
69
|
+
});
|
|
70
|
+
test("Overlay progressBar renders with label and helperText", function () {
|
|
71
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
72
|
+
label: "test-label",
|
|
73
|
+
helperText: "helper-text",
|
|
74
|
+
overlay: true
|
|
75
|
+
})),
|
|
76
|
+
getByText = _render6.getByText;
|
|
77
|
+
|
|
78
|
+
expect(getByText("test-label")).toBeTruthy();
|
|
79
|
+
expect(getByText("helper-text")).toBeTruthy();
|
|
80
|
+
});
|
|
81
|
+
test("Overlay progressBar renders with default value", function () {
|
|
82
|
+
var value = 0;
|
|
83
|
+
|
|
84
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
85
|
+
showValue: true,
|
|
86
|
+
overlay: true
|
|
87
|
+
})),
|
|
88
|
+
getByText = _render7.getByText,
|
|
89
|
+
getByRole = _render7.getByRole;
|
|
90
|
+
|
|
91
|
+
var progressBar = getByRole("progressbar");
|
|
92
|
+
expect(getByText("0 %")).toBeTruthy();
|
|
93
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
94
|
+
});
|
|
95
|
+
test("Overlay progressBar renders with value", function () {
|
|
96
|
+
var value = 25;
|
|
97
|
+
|
|
98
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
99
|
+
showValue: true,
|
|
100
|
+
value: value,
|
|
101
|
+
overlay: true
|
|
102
|
+
})),
|
|
103
|
+
getByText = _render8.getByText,
|
|
104
|
+
getByRole = _render8.getByRole;
|
|
105
|
+
|
|
106
|
+
var progressBar = getByRole("progressbar");
|
|
107
|
+
expect(getByText("25 %")).toBeTruthy();
|
|
108
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
109
|
+
});
|
|
110
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
export declare type Size = {
|
|
3
|
+
top?: Space;
|
|
4
|
+
bottom?: Space;
|
|
5
|
+
left?: Space;
|
|
6
|
+
right?: Space;
|
|
7
|
+
};
|
|
8
|
+
export declare type Props = {
|
|
9
|
+
/**
|
|
10
|
+
* Text to be placed above the progress bar.
|
|
11
|
+
*/
|
|
12
|
+
label?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Helper text to be placed under the progress bar.
|
|
15
|
+
*/
|
|
16
|
+
helperText?: string;
|
|
17
|
+
/**
|
|
18
|
+
* If true, the progress bar will be displayed as a modal.
|
|
19
|
+
*/
|
|
20
|
+
overlay?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The value of the progress indicator. If it's received the component is
|
|
23
|
+
* determinate otherwise is indeterminate.
|
|
24
|
+
*/
|
|
25
|
+
value?: number;
|
|
26
|
+
/**
|
|
27
|
+
* If true, the value is displayed above the progress bar.
|
|
28
|
+
*/
|
|
29
|
+
showValue?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Size of the margin to be applied to the component. You can pass
|
|
32
|
+
* an object with 'top', 'bottom', 'left' and 'right' properties
|
|
33
|
+
* in order to specify different margin sizes.
|
|
34
|
+
*/
|
|
35
|
+
margin?: Space | Size;
|
|
36
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
|
+
|
|
18
|
+
var _slugify = _interopRequireDefault(require("slugify"));
|
|
19
|
+
|
|
20
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
21
|
+
|
|
22
|
+
var _Heading = _interopRequireDefault(require("../heading/Heading"));
|
|
23
|
+
|
|
24
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
25
|
+
|
|
26
|
+
var _Inset = _interopRequireDefault(require("../inset/Inset"));
|
|
27
|
+
|
|
28
|
+
var _Typography = _interopRequireDefault(require("../typography/Typography"));
|
|
29
|
+
|
|
30
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
|
+
|
|
32
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
33
|
+
|
|
34
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
35
|
+
|
|
36
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
+
|
|
38
|
+
var DxcQuickNav = function DxcQuickNav(_ref) {
|
|
39
|
+
var title = _ref.title,
|
|
40
|
+
links = _ref.links;
|
|
41
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
42
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
43
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
44
|
+
theme: colorsTheme.quickNav
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
46
|
+
direction: "column",
|
|
47
|
+
gap: "0.5rem"
|
|
48
|
+
}, /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
|
|
49
|
+
level: 4,
|
|
50
|
+
text: title || translatedLabels.quickNav.contentTitle
|
|
51
|
+
}), /*#__PURE__*/_react["default"].createElement(ListColumn, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
52
|
+
direction: "column",
|
|
53
|
+
gap: "0.5rem"
|
|
54
|
+
}, links.map(function (link) {
|
|
55
|
+
var _link$links;
|
|
56
|
+
|
|
57
|
+
return /*#__PURE__*/_react["default"].createElement(ListRow, {
|
|
58
|
+
key: link.label
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
|
|
60
|
+
space: "0.25rem"
|
|
61
|
+
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
|
|
62
|
+
href: "#".concat((0, _slugify["default"])(link === null || link === void 0 ? void 0 : link.label, {
|
|
63
|
+
lower: true
|
|
64
|
+
}))
|
|
65
|
+
}, link === null || link === void 0 ? void 0 : link.label), (_link$links = link.links) === null || _link$links === void 0 ? void 0 : _link$links.map(function (sublink) {
|
|
66
|
+
return /*#__PURE__*/_react["default"].createElement(ListRow, {
|
|
67
|
+
key: sublink.label
|
|
68
|
+
}, /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
|
|
69
|
+
horizontal: "0.5rem"
|
|
70
|
+
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
|
|
71
|
+
href: "#".concat((0, _slugify["default"])(sublink === null || sublink === void 0 ? void 0 : sublink.label, {
|
|
72
|
+
lower: true
|
|
73
|
+
}))
|
|
74
|
+
}, sublink === null || sublink === void 0 ? void 0 : sublink.label))));
|
|
75
|
+
}))));
|
|
76
|
+
}))))));
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
var QuickNavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n border-left: 2px solid ", ";\n"])), function (props) {
|
|
80
|
+
return props.theme.paddingTop;
|
|
81
|
+
}, function (props) {
|
|
82
|
+
return props.theme.paddingBottom;
|
|
83
|
+
}, function (props) {
|
|
84
|
+
return props.theme.paddingLeft;
|
|
85
|
+
}, function (props) {
|
|
86
|
+
return props.theme.paddingRight;
|
|
87
|
+
}, function (props) {
|
|
88
|
+
return props.theme.dividerBorderColor;
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
var ListColumn = _styledComponents["default"].ul(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n list-style-type: none;\n margin: 0;\n padding: 0;\n width: 100%;\n"])));
|
|
92
|
+
|
|
93
|
+
var ListRow = _styledComponents["default"].li(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n"])));
|
|
94
|
+
|
|
95
|
+
var Link = _styledComponents["default"].a(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n display: block;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n width: fit-content;\n max-width: 100%;\n\n &:hover {\n color: ", ";\n }\n &:focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n border-radius: ", ";\n }\n"])), function (props) {
|
|
96
|
+
return props.theme.fontSize;
|
|
97
|
+
}, function (props) {
|
|
98
|
+
return props.theme.fontFamily;
|
|
99
|
+
}, function (props) {
|
|
100
|
+
return props.theme.fontStyle;
|
|
101
|
+
}, function (props) {
|
|
102
|
+
return props.theme.fontWeight;
|
|
103
|
+
}, function (props) {
|
|
104
|
+
return props.theme.fontColor;
|
|
105
|
+
}, function (props) {
|
|
106
|
+
return props.theme.hoverFontColor;
|
|
107
|
+
}, function (props) {
|
|
108
|
+
return props.theme.focusBorderColor;
|
|
109
|
+
}, function (props) {
|
|
110
|
+
return props.theme.focusBorderStyle;
|
|
111
|
+
}, function (props) {
|
|
112
|
+
return props.theme.focusBorderThickness;
|
|
113
|
+
}, function (props) {
|
|
114
|
+
return props.theme.focusBorderRadius;
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
var _default = DxcQuickNav;
|
|
118
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import styled from "styled-components";
|
|
3
|
+
import DxcQuickNav from "./QuickNav";
|
|
4
|
+
import DxcHeading from "../heading/Heading";
|
|
5
|
+
import DxcParagraph from "../paragraph/Paragraph";
|
|
6
|
+
import Title from "../../.storybook/components/Title";
|
|
7
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
8
|
+
|
|
9
|
+
export default {
|
|
10
|
+
title: "QuickNav",
|
|
11
|
+
component: DxcQuickNav,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const links = [
|
|
15
|
+
{
|
|
16
|
+
label: "Overview",
|
|
17
|
+
id: "overview",
|
|
18
|
+
links: [
|
|
19
|
+
{
|
|
20
|
+
label: "Introduction",
|
|
21
|
+
id: "introduction",
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
label: "Principles very very very very very very very very long",
|
|
27
|
+
id: "principles",
|
|
28
|
+
links: [
|
|
29
|
+
{ label: "Color very very very very very very very very long", id: "color" },
|
|
30
|
+
{ label: "Spacingveryveryveryveryveryveryveryverylong", id: "spacing" },
|
|
31
|
+
{ label: "Typography", id: "typography" },
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
label: "Componentsveryveryveryveryveryveryveryverylong",
|
|
36
|
+
id: "components",
|
|
37
|
+
links: [
|
|
38
|
+
{
|
|
39
|
+
label: "Accordion",
|
|
40
|
+
id: "accordion",
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const Chromatic = () => (
|
|
47
|
+
<>
|
|
48
|
+
<ExampleContainer>
|
|
49
|
+
<Title title="Default" level={4} />
|
|
50
|
+
<QuickNavContainer>
|
|
51
|
+
<DxcQuickNav links={links}></DxcQuickNav>
|
|
52
|
+
</QuickNavContainer>
|
|
53
|
+
</ExampleContainer>
|
|
54
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
55
|
+
<Title title="Link hovered" level={4} />
|
|
56
|
+
<QuickNavContainer>
|
|
57
|
+
<DxcQuickNav links={links}></DxcQuickNav>
|
|
58
|
+
</QuickNavContainer>
|
|
59
|
+
</ExampleContainer>
|
|
60
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
61
|
+
<Title title="Link focus" level={4} />
|
|
62
|
+
<QuickNavContainer>
|
|
63
|
+
<DxcQuickNav links={links}></DxcQuickNav>
|
|
64
|
+
</QuickNavContainer>
|
|
65
|
+
</ExampleContainer>
|
|
66
|
+
<ExampleContainer>
|
|
67
|
+
<Title title="QuickNav with content" level={4} />
|
|
68
|
+
<Container>
|
|
69
|
+
<ContentContainer>
|
|
70
|
+
<Content id="overview">
|
|
71
|
+
<DxcHeading level={1} text="Overview" margin={{ bottom: "small" }} />
|
|
72
|
+
<DxcParagraph>
|
|
73
|
+
Halstack is the DXC Technology's open source design system for insurance products and digital experiences.
|
|
74
|
+
Our system provides all the tools and resources needed to create superior, beautiful but above all,
|
|
75
|
+
functional user experiences. Halstack is the DXC Technology's open source design system for insurance
|
|
76
|
+
products and digital experiences. Our system provides all the tools and resources needed to create
|
|
77
|
+
superior, beautiful but above all, functional user experiences.Halstack is the DXC Technology's open
|
|
78
|
+
source design system for insurance products and digital experiences. Our system provides all the tools and
|
|
79
|
+
resources needed to create superior, beautiful but above all, functional user experiences.Halstack is the
|
|
80
|
+
DXC Technology's open source design system for insurance products and digital experiences. Our system
|
|
81
|
+
provides all the tools and resources needed to create superior, beautiful but above all, functional user
|
|
82
|
+
experiences.Halstack is the DXC Technology's open source design system for insurance products and digital
|
|
83
|
+
experiences. Our system provides all the tools and resources needed to create superior, beautiful but
|
|
84
|
+
above all, functional user experiences.Halstack is the DXC Technology's open source design system for
|
|
85
|
+
insurance products and digital experiences. Our system provides all the tools and resources needed to
|
|
86
|
+
create superior, beautiful but above all, functional user experiences.Halstack is the DXC Technology's
|
|
87
|
+
open source design system for insurance products and digital experiences. Our system provides all the
|
|
88
|
+
tools and resources needed to create superior, beautiful but above all, functional user experiences.
|
|
89
|
+
</DxcParagraph>
|
|
90
|
+
<Content id="introduction">
|
|
91
|
+
<DxcHeading level={2} text="Introduction" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
92
|
+
<DxcParagraph>
|
|
93
|
+
Design principles Halstack design principles are the fundamental part of DXC Technology's approach to
|
|
94
|
+
provide guidance for development teams in order to deliver delightful and consistent user experiences to
|
|
95
|
+
our customers: Balance Consistency Visual hierarchy All our components, design tokens, accessibility
|
|
96
|
+
guidelines, responsive design techniques, and layout proposals have been carefully curated by DXC design
|
|
97
|
+
and engineering teams with the objective of creating a unique visual language and ecosystem for our
|
|
98
|
+
applications. This is the DXC way of creating User Experiences. Open Source Halstack is an open source
|
|
99
|
+
design system, this means that we work towards DXC Technology bussines needs, but it is open for anyone
|
|
100
|
+
to use and contribute back to. We are charmed to receive external contributions to help us find bugs,
|
|
101
|
+
design new features, or help us improve the project documentation. If you're interested, definitely
|
|
102
|
+
check out our contribution guidelines.Design principles Halstack design principles are the fundamental
|
|
103
|
+
part of DXC Technology's approach to provide guidance for development teams in order to deliver
|
|
104
|
+
delightful and consistent user experiences to our customers: Balance Consistency Visual hierarchy All
|
|
105
|
+
our components, design tokens, accessibility guidelines, responsive design techniques, and layout
|
|
106
|
+
proposals have been carefully curated by DXC design and engineering teams with the objective of creating
|
|
107
|
+
a unique visual language and ecosystem for our applications. This is the DXC way of creating User
|
|
108
|
+
Experiences. Open Source Halstack is an open source design system, this means that we work towards DXC
|
|
109
|
+
Technology bussines needs, but it is open for anyone to use and contribute back to. We are charmed to
|
|
110
|
+
receive external contributions to help us find bugs, design new features, or help us improve the project
|
|
111
|
+
documentation. If you're interested, definitely check out our contribution guidelines.Design principles
|
|
112
|
+
Halstack design principles are the fundamental part of DXC Technology's approach to provide guidance for
|
|
113
|
+
development teams in order to deliver delightful and consistent user experiences to our customers:
|
|
114
|
+
Balance Consistency Visual hierarchy All our components, design tokens, accessibility guidelines,
|
|
115
|
+
responsive design techniques, and layout proposals have been carefully curated by DXC design and
|
|
116
|
+
engineering teams with the objective of creating a unique visual language and ecosystem for our
|
|
117
|
+
applications. This is the DXC way of creating User Experiences. Open Source Halstack is an open source
|
|
118
|
+
design system, this means that we work towards DXC Technology bussines needs, but it is open for anyone
|
|
119
|
+
to use and contribute back to. We are charmed to receive external contributions to help us find bugs,
|
|
120
|
+
design new features, or help us improve the project documentation. If you're interested, definitely
|
|
121
|
+
check out our contribution guidelines.
|
|
122
|
+
</DxcParagraph>
|
|
123
|
+
</Content>
|
|
124
|
+
</Content>
|
|
125
|
+
<Content id="principles">
|
|
126
|
+
<DxcHeading level={1} text="Principles" margin={{ top: "small", bottom: "xsmall" }} />
|
|
127
|
+
<Content id="color">
|
|
128
|
+
<DxcHeading level={2} text="Color" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
129
|
+
<DxcParagraph>
|
|
130
|
+
The color palette is an essential asset as a communication resource of our design system. Halstack color
|
|
131
|
+
palette brings a unified consistency and helps in guiding the user's perception order. Our color palette
|
|
132
|
+
is based in the HSL model . All our color families are calculated using the lightness value of the
|
|
133
|
+
standard DXC palette colors. Color Tokens Halstack uses tokens to manage color. Appart from a
|
|
134
|
+
multi-purpose greyscale family, purple and blue are the core color families used in our set of
|
|
135
|
+
components. Additional families as red, green and yellow help as feedback role-based color palettes and
|
|
136
|
+
must not be used outside this context.The color palette is an essential asset as a communication
|
|
137
|
+
resource of our design system. Halstack color palette brings a unified consistency and helps in guiding
|
|
138
|
+
the user's perception order. Our color palette is based in the HSL model . All our color families are
|
|
139
|
+
calculated using the lightness value of the standard DXC palette colors. Color Tokens Halstack uses
|
|
140
|
+
tokens to manage color. Appart from a multi-purpose greyscale family, purple and blue are the core color
|
|
141
|
+
families used in our set of components. Additional families as red, green and yellow help as feedback
|
|
142
|
+
role-based color palettes and must not be used outside this context.The color palette is an essential
|
|
143
|
+
asset as a communication resource of our design system. Halstack color palette brings a unified
|
|
144
|
+
consistency and helps in guiding the user's perception order. Our color palette is based in the HSL
|
|
145
|
+
model . All our color families are calculated using the lightness value of the standard DXC palette
|
|
146
|
+
colors. Color Tokens Halstack uses tokens to manage color. Appart from a multi-purpose greyscale family,
|
|
147
|
+
purple and blue are the core color families used in our set of components. Additional families as red,
|
|
148
|
+
green and yellow help as feedback role-based color palettes and must not be used outside this
|
|
149
|
+
context.The color palette is an essential asset as a communication resource of our design system.
|
|
150
|
+
Halstack color palette brings a unified consistency and helps in guiding the user's perception order.
|
|
151
|
+
Our color palette is based in the HSL model . All our color families are calculated using the lightness
|
|
152
|
+
value of the standard DXC palette colors. Color Tokens Halstack uses tokens to manage color. Appart from
|
|
153
|
+
a multi-purpose greyscale family, purple and blue are the core color families used in our set of
|
|
154
|
+
components. Additional families as red, green and yellow help as feedback role-based color palettes and
|
|
155
|
+
must not be used outside this context.The color palette is an essential asset as a communication
|
|
156
|
+
resource of our design system. Halstack color palette brings a unified consistency and helps in guiding
|
|
157
|
+
the user's perception order. Our color palette is based in the HSL model . All our color families are
|
|
158
|
+
calculated using the lightness value of the standard DXC palette colors. Color Tokens Halstack uses
|
|
159
|
+
tokens to manage color. Appart from a multi-purpose greyscale family, purple and blue are the core color
|
|
160
|
+
families used in our set of components. Additional families as red, green and yellow help as feedback
|
|
161
|
+
role-based color palettes and must not be used outside this context.
|
|
162
|
+
</DxcParagraph>
|
|
163
|
+
</Content>
|
|
164
|
+
<Content id="spacing">
|
|
165
|
+
<DxcHeading level={2} text="Spacing" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
166
|
+
<DxcParagraph>
|
|
167
|
+
In the search of consistent alignment between the elements we provide a spacing scale based on a root
|
|
168
|
+
values of 8px and 4px. The numbers 4 and 8 are easily multiplied, they provide flexible and consistent,
|
|
169
|
+
yet distinct enough, steps between them.In the search of consistent alignment between the elements we
|
|
170
|
+
provide a spacing scale based on a root values of 8px and 4px. The numbers 4 and 8 are easily
|
|
171
|
+
multiplied, they provide flexible and consistent, yet distinct enough, steps between them.In the search
|
|
172
|
+
of consistent alignment between the elements we provide a spacing scale based on a root values of 8px
|
|
173
|
+
and 4px. The numbers 4 and 8 are easily multiplied, they provide flexible and consistent, yet distinct
|
|
174
|
+
enough, steps between them.In the search of consistent alignment between the elements we provide a
|
|
175
|
+
spacing scale based on a root values of 8px and 4px. The numbers 4 and 8 are easily multiplied, they
|
|
176
|
+
provide flexible and consistent, yet distinct enough, steps between them.In the search of consistent
|
|
177
|
+
alignment between the elements we provide a spacing scale based on a root values of 8px and 4px. The
|
|
178
|
+
numbers 4 and 8 are easily multiplied, they provide flexible and consistent, yet distinct enough, steps
|
|
179
|
+
between them.In the search of consistent alignment between the elements we provide a spacing scale based
|
|
180
|
+
on a root values of 8px and 4px. The numbers 4 and 8 are easily multiplied, they provide flexible and
|
|
181
|
+
consistent, yet distinct enough, steps between them.In the search of consistent alignment between the
|
|
182
|
+
elements we provide a spacing scale based on a root values of 8px and 4px. The numbers 4 and 8 are
|
|
183
|
+
easily multiplied, they provide flexible and consistent, yet distinct enough, steps between them.
|
|
184
|
+
</DxcParagraph>
|
|
185
|
+
</Content>
|
|
186
|
+
<Content id="typography">
|
|
187
|
+
<DxcHeading level={2} text="Typography" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
188
|
+
<DxcParagraph>
|
|
189
|
+
Our selected typography helps in structuring our user's experience based on the visual impact that it
|
|
190
|
+
has on the user interface content. It defines what is the first noticeable piece of information or data
|
|
191
|
+
based on the font shape, size, color, or type and it highlights some pieces of text over the rest. Some
|
|
192
|
+
typographic elements used in Halstack Design System include headers, body, taglines, captions, and
|
|
193
|
+
labels. Make sure you include all the different typographic variants in order to enhance the
|
|
194
|
+
application's content structure, including the Heading component which defines different levels of page
|
|
195
|
+
and section titles.Our selected typography helps in structuring our user's experience based on the
|
|
196
|
+
visual impact that it has on the user interface content. It defines what is the first noticeable piece
|
|
197
|
+
of information or data based on the font shape, size, color, or type and it highlights some pieces of
|
|
198
|
+
text over the rest. Some typographic elements used in Halstack Design System include headers, body,
|
|
199
|
+
taglines, captions, and labels. Make sure you include all the different typographic variants in order to
|
|
200
|
+
enhance the application's content structure, including the Heading component which defines different
|
|
201
|
+
levels of page and section titles.Our selected typography helps in structuring our user's experience
|
|
202
|
+
based on the visual impact that it has on the user interface content. It defines what is the first
|
|
203
|
+
noticeable piece of information or data based on the font shape, size, color, or type and it highlights
|
|
204
|
+
some pieces of text over the rest. Some typographic elements used in Halstack Design System include
|
|
205
|
+
headers, body, taglines, captions, and labels. Make sure you include all the different typographic
|
|
206
|
+
variants in order to enhance the application's content structure, including the Heading component which
|
|
207
|
+
defines different levels of page and section titles.Our selected typography helps in structuring our
|
|
208
|
+
user's experience based on the visual impact that it has on the user interface content. It defines what
|
|
209
|
+
is the first noticeable piece of information or data based on the font shape, size, color, or type and
|
|
210
|
+
it highlights some pieces of text over the rest. Some typographic elements used in Halstack Design
|
|
211
|
+
System include headers, body, taglines, captions, and labels. Make sure you include all the different
|
|
212
|
+
typographic variants in order to enhance the application's content structure, including the Heading
|
|
213
|
+
component which defines different levels of page and section titles.Our selected typography helps in
|
|
214
|
+
structuring our user's experience based on the visual impact that it has on the user interface content.
|
|
215
|
+
It defines what is the first noticeable piece of information or data based on the font shape, size,
|
|
216
|
+
color, or type and it highlights some pieces of text over the rest. Some typographic elements used in
|
|
217
|
+
Halstack Design System include headers, body, taglines, captions, and labels. Make sure you include all
|
|
218
|
+
the different typographic variants in order to enhance the application's content structure, including
|
|
219
|
+
the Heading component which defines different levels of page and section titles.
|
|
220
|
+
</DxcParagraph>
|
|
221
|
+
</Content>
|
|
222
|
+
</Content>
|
|
223
|
+
<Content id="components">
|
|
224
|
+
<DxcHeading level={1} text="Components" margin={{ top: "small", bottom: "xsmall" }} />
|
|
225
|
+
<Content id="accordion">
|
|
226
|
+
<DxcHeading level={2} text="Accordion" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
227
|
+
<DxcParagraph>
|
|
228
|
+
Accordions are used to group similar content and hide or show it depending on user needs or preferences.
|
|
229
|
+
Accordions give users more granular control over the interface and help digest content in stages, rather
|
|
230
|
+
than all at once.
|
|
231
|
+
</DxcParagraph>
|
|
232
|
+
</Content>
|
|
233
|
+
</Content>
|
|
234
|
+
</ContentContainer>
|
|
235
|
+
<QuickNavContainer>
|
|
236
|
+
<DxcQuickNav title="Sections" links={links}></DxcQuickNav>
|
|
237
|
+
</QuickNavContainer>
|
|
238
|
+
</Container>
|
|
239
|
+
</ExampleContainer>
|
|
240
|
+
</>
|
|
241
|
+
);
|
|
242
|
+
|
|
243
|
+
const Container = styled.div`
|
|
244
|
+
display: flex;
|
|
245
|
+
flex-direction: row;
|
|
246
|
+
width: 100%;
|
|
247
|
+
`;
|
|
248
|
+
|
|
249
|
+
const ContentContainer = styled.div`
|
|
250
|
+
display: flex;
|
|
251
|
+
flex-direction: column;
|
|
252
|
+
padding: 60px;
|
|
253
|
+
margin: 0 auto;
|
|
254
|
+
width: 800px;
|
|
255
|
+
`;
|
|
256
|
+
|
|
257
|
+
const Content = styled.div``;
|
|
258
|
+
|
|
259
|
+
const QuickNavContainer = styled.div`
|
|
260
|
+
max-height: calc(100vh - 100px);
|
|
261
|
+
position: sticky;
|
|
262
|
+
top: 100px;
|
|
263
|
+
width: 300px;
|
|
264
|
+
`;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare type Props = {
|
|
2
|
+
/**
|
|
3
|
+
* Title of the quick nav component.
|
|
4
|
+
*/
|
|
5
|
+
title?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Links to be shown inside the quick nav component.
|
|
8
|
+
*/
|
|
9
|
+
links: LinkType[];
|
|
10
|
+
};
|
|
11
|
+
declare type LinkType = {
|
|
12
|
+
/**
|
|
13
|
+
* Label to be shown in the link.
|
|
14
|
+
*/
|
|
15
|
+
label: string;
|
|
16
|
+
/**
|
|
17
|
+
* Sublinks of the link.
|
|
18
|
+
*/
|
|
19
|
+
links?: LinkType[];
|
|
20
|
+
};
|
|
21
|
+
export default Props;
|