@dxc-technology/halstack-react 0.0.0-0b14645 → 0.0.0-0b2a880
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 +1 -0
- package/BackgroundColorContext.js +6 -26
- package/HalstackContext.d.ts +1248 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +106 -224
- package/accordion/Accordion.stories.tsx +251 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +57 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +7 -0
- package/accordion-group/AccordionGroup.js +52 -135
- package/accordion-group/AccordionGroup.stories.tsx +252 -0
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +67 -0
- package/accordion-group/types.js +5 -0
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/action-icon/types.js +5 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +36 -145
- package/alert/Alert.stories.tsx +198 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +142 -40
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +54 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +32 -109
- package/box/Box.stories.tsx +119 -0
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +32 -0
- package/box/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +92 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +65 -126
- package/button/Button.stories.tsx +313 -294
- package/button/Button.test.js +38 -0
- package/button/types.d.ts +18 -18
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +4 -0
- package/card/Card.js +59 -139
- package/card/Card.stories.tsx +171 -0
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +62 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +145 -183
- package/checkbox/Checkbox.stories.tsx +222 -0
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +20 -9
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +49 -146
- package/chip/Chip.stories.tsx +195 -0
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1394 -0
- package/common/variables.js +1035 -1338
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/container/types.js +5 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +219 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +52 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +174 -348
- package/date-input/DateInput.stories.tsx +285 -0
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +121 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +164 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +57 -149
- package/dialog/Dialog.stories.tsx +365 -0
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +36 -0
- package/dialog/types.js +5 -0
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +233 -364
- package/dropdown/Dropdown.stories.tsx +427 -0
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +70 -0
- package/dropdown/types.d.ts +96 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +274 -363
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +382 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +61 -133
- package/file-input/types.d.ts +129 -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 +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +75 -232
- package/footer/Footer.stories.tsx +196 -0
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +3 -0
- package/footer/Icons.js +67 -8
- package/footer/types.d.ts +64 -0
- package/footer/types.js +5 -0
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.d.ts +8 -0
- package/header/Header.js +104 -221
- package/header/Header.stories.tsx +251 -0
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +5 -35
- package/header/types.d.ts +33 -0
- package/header/types.js +5 -0
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +16 -55
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -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 +86 -184
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +7 -0
- package/layout/Icons.js +41 -48
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +65 -131
- package/link/Link.stories.tsx +253 -0
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/main.d.ts +19 -14
- package/main.js +92 -98
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/nav-tabs/NavTabs.js +93 -0
- package/nav-tabs/NavTabs.stories.tsx +279 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +48 -90
- package/number-input/NumberInput.stories.tsx +131 -0
- package/number-input/NumberInput.test.js +989 -0
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +3 -11
- package/number-input/types.d.ts +136 -0
- package/number-input/types.js +5 -0
- package/package.json +52 -51
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +39 -103
- package/paginator/Paginator.stories.tsx +87 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +59 -162
- package/password-input/PasswordInput.stories.tsx +99 -0
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +111 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +67 -111
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -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 +124 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +170 -0
- package/resultset-table/ResultsetTable.stories.tsx +401 -0
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/resultset-table/types.d.ts +100 -0
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +145 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +88 -0
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +248 -515
- package/select/Select.stories.tsx +907 -0
- package/select/Select.test.js +2276 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +137 -81
- package/sidenav/Sidenav.stories.tsx +277 -0
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/SidenavContext.d.ts +5 -0
- package/sidenav/SidenavContext.js +13 -0
- package/sidenav/types.d.ts +76 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +165 -220
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +86 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +38 -99
- package/spinner/Spinner.stories.tsx +129 -0
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.accessibility.test.js +89 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +150 -144
- package/switch/Switch.stories.tsx +137 -0
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +66 -0
- package/switch/types.js +5 -0
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +8 -0
- package/table/Table.js +80 -37
- package/table/Table.stories.tsx +651 -0
- package/table/Table.test.js +113 -0
- package/table/types.d.ts +49 -0
- package/table/types.js +5 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +117 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +308 -194
- package/tabs/Tabs.stories.tsx +224 -0
- package/tabs/Tabs.test.js +276 -0
- package/tabs/types.d.ts +92 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +55 -112
- package/tag/Tag.stories.tsx +152 -0
- package/tag/Tag.test.js +41 -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 +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +86 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +335 -593
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1756 -0
- package/text-input/types.d.ts +205 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +98 -181
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +101 -142
- package/toggle-group/ToggleGroup.stories.tsx +218 -0
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +114 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -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 +1147 -0
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +130 -154
- package/wizard/Wizard.stories.tsx +272 -0
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/ThemeContext.js +0 -246
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/accordion/index.d.ts +0 -28
- package/accordion-group/index.d.ts +0 -16
- package/alert/index.d.ts +0 -51
- package/box/index.d.ts +0 -25
- package/card/index.d.ts +0 -22
- package/chip/index.d.ts +0 -22
- package/common/OpenSans.css +0 -81
- package/common/RequiredComponent.js +0 -32
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/date-input/index.d.ts +0 -95
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/link/index.d.ts +0 -23
- package/number-input/index.d.ts +0 -113
- package/paginator/Icons.js +0 -66
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/radio/Radio.js +0 -195
- package/radio/index.d.ts +0 -23
- package/resultsetTable/ResultsetTable.js +0 -274
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/switch/index.d.ts +0 -24
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _Footer = _interopRequireDefault(require("./Footer.tsx"));
|
|
7
|
+
var social = [{
|
|
8
|
+
href: "https://www.test.com/social",
|
|
9
|
+
logo: "https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png",
|
|
10
|
+
title: "test"
|
|
11
|
+
}];
|
|
12
|
+
var bottom = [{
|
|
13
|
+
href: "https://www.test.com/bottom",
|
|
14
|
+
text: "bottom-link-text"
|
|
15
|
+
}];
|
|
16
|
+
describe("Footer component tests", function () {
|
|
17
|
+
test("Footer renders with default logo", function () {
|
|
18
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null)),
|
|
19
|
+
getByTitle = _render.getByTitle;
|
|
20
|
+
expect(getByTitle("DXC Logo")).toBeTruthy();
|
|
21
|
+
});
|
|
22
|
+
test("Footer renders with social links", function () {
|
|
23
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
24
|
+
socialLinks: social
|
|
25
|
+
})),
|
|
26
|
+
getByRole = _render2.getByRole;
|
|
27
|
+
var socialIcon = getByRole("link");
|
|
28
|
+
expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
|
|
29
|
+
});
|
|
30
|
+
test("Footer renders with bottom links", function () {
|
|
31
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
32
|
+
bottomLinks: bottom
|
|
33
|
+
})),
|
|
34
|
+
getByText = _render3.getByText;
|
|
35
|
+
var link = getByText("bottom-link-text");
|
|
36
|
+
expect(link.getAttribute("href")).toBe("https://www.test.com/bottom");
|
|
37
|
+
});
|
|
38
|
+
test("Footer renders with copyright text", function () {
|
|
39
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
40
|
+
copyright: "test-copyright"
|
|
41
|
+
})),
|
|
42
|
+
getByText = _render4.getByText;
|
|
43
|
+
expect(getByText("test-copyright")).toBeTruthy();
|
|
44
|
+
});
|
|
45
|
+
test("Footer renders with correct children", function () {
|
|
46
|
+
// We need to force the offsetWidth value
|
|
47
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
48
|
+
configurable: true,
|
|
49
|
+
value: 1024
|
|
50
|
+
});
|
|
51
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
52
|
+
getByText = _render5.getByText;
|
|
53
|
+
expect(getByText("footer-child-text")).toBeTruthy();
|
|
54
|
+
});
|
|
55
|
+
test("Footer renders with children in mobile", function () {
|
|
56
|
+
// 425 is mobile width
|
|
57
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
58
|
+
configurable: true,
|
|
59
|
+
value: 425
|
|
60
|
+
});
|
|
61
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
62
|
+
queryByText = _render6.queryByText;
|
|
63
|
+
expect(queryByText("footer-child-text")).toBeTruthy();
|
|
64
|
+
});
|
|
65
|
+
test("Footer is fully rendered", function () {
|
|
66
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
67
|
+
configurable: true,
|
|
68
|
+
value: 1024
|
|
69
|
+
});
|
|
70
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
71
|
+
socialLinks: social,
|
|
72
|
+
bottomLinks: bottom,
|
|
73
|
+
copyright: "test-copyright"
|
|
74
|
+
}, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
75
|
+
getAllByRole = _render7.getAllByRole,
|
|
76
|
+
getByText = _render7.getByText;
|
|
77
|
+
var socialIcon = getAllByRole("link")[0];
|
|
78
|
+
expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
|
|
79
|
+
expect(socialIcon.getAttribute("aria-label")).toBe("test");
|
|
80
|
+
var bottomLink = getByText("bottom-link-text");
|
|
81
|
+
expect(bottomLink.getAttribute("href")).toBe("https://www.test.com/bottom");
|
|
82
|
+
expect(getByText("test-copyright")).toBeTruthy();
|
|
83
|
+
expect(getByText("footer-child-text")).toBeTruthy();
|
|
84
|
+
});
|
|
85
|
+
});
|
package/footer/Icons.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
9
|
-
|
|
7
|
+
exports.dxcSmallLogo = exports.dxcLogo = void 0;
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var _default = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
9
|
+
var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
13
10
|
id: "g10",
|
|
14
11
|
xmlns: "http://www.w3.org/2000/svg",
|
|
15
|
-
width: "
|
|
12
|
+
width: "100%",
|
|
16
13
|
height: "32",
|
|
17
14
|
viewBox: "0 0 280.781 32"
|
|
18
15
|
}, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
|
|
@@ -73,5 +70,67 @@ var _default = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
73
70
|
transform: "translate(-21.08 69.298)",
|
|
74
71
|
fill: "#fff"
|
|
75
72
|
})));
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
var dxcSmallLogo = exports.dxcSmallLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
74
|
+
id: "g10",
|
|
75
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
76
|
+
width: "100%",
|
|
77
|
+
height: "16",
|
|
78
|
+
viewBox: "0 0 280.781 32"
|
|
79
|
+
}, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
|
|
80
|
+
id: "g12"
|
|
81
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
82
|
+
id: "path14",
|
|
83
|
+
d: "M171.5-54.124v12.539h-3.6V-54.124h-4.973v-3.191h13.54v3.191H171.5",
|
|
84
|
+
transform: "translate(-68.528 65.45)",
|
|
85
|
+
fill: "#fff"
|
|
86
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
87
|
+
id: "path16",
|
|
88
|
+
d: "M189.96-41.585V-57.315h12.326v3.079h-8.753v3.191h7.7v3.078h-7.7v3.3h8.87v3.078H189.96",
|
|
89
|
+
transform: "translate(-77.56 65.45)",
|
|
90
|
+
fill: "#fff"
|
|
91
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
92
|
+
id: "path18",
|
|
93
|
+
d: "M223.558-41.438a8.1,8.1,0,0,1-8.382-8.1v-.045a8.161,8.161,0,0,1,8.522-8.146,8.6,8.6,0,0,1,6.444,2.431l-2.289,2.543a6.133,6.133,0,0,0-4.178-1.778,4.743,4.743,0,0,0-4.738,4.905v.045a4.752,4.752,0,0,0,4.738,4.95,6,6,0,0,0,4.295-1.845l2.288,2.228a8.491,8.491,0,0,1-6.7,2.813",
|
|
94
|
+
transform: "translate(-86.019 65.583)",
|
|
95
|
+
fill: "#fff"
|
|
96
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
97
|
+
id: "path20",
|
|
98
|
+
d: "M254.988-41.585V-47.9h-6.63v6.315h-3.6V-57.315h3.6v6.225h6.63v-6.225h3.594v15.731h-3.594",
|
|
99
|
+
transform: "translate(-95.903 65.45)",
|
|
100
|
+
fill: "#fff"
|
|
101
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
102
|
+
id: "path22",
|
|
103
|
+
d: "M285.991-41.585l-7.914-10v10h-3.549V-57.315h3.316l7.657,9.685v-9.685h3.549v15.731h-3.058",
|
|
104
|
+
transform: "translate(-105.869 65.45)",
|
|
105
|
+
fill: "#fff"
|
|
106
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
107
|
+
id: "path24",
|
|
108
|
+
d: "M317.2-49.583a4.869,4.869,0,0,0-4.949-4.95,4.793,4.793,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.793,4.793,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.661-3.623-8.661-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.66,3.623,8.66,8.1v.045c0,4.477-3.664,8.145-8.708,8.145",
|
|
109
|
+
transform: "translate(-115.631 65.583)",
|
|
110
|
+
fill: "#fff"
|
|
111
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
112
|
+
id: "path26",
|
|
113
|
+
d: "M336.786-41.585V-57.315h3.6v12.584h8.148v3.146H336.786",
|
|
114
|
+
transform: "translate(-126.654 65.45)",
|
|
115
|
+
fill: "#fff"
|
|
116
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
117
|
+
id: "path28",
|
|
118
|
+
d: "M372.78-49.583a4.87,4.87,0,0,0-4.949-4.95,4.794,4.794,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.794,4.794,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.662-3.623-8.662-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.661,3.623,8.661,8.1v.045c0,4.477-3.666,8.145-8.708,8.145",
|
|
119
|
+
transform: "translate(-135.016 65.583)",
|
|
120
|
+
fill: "#fff"
|
|
121
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
122
|
+
id: "path30",
|
|
123
|
+
d: "M399.735-41.438c-5.09,0-8.592-3.443-8.592-8.1v-.045a8.243,8.243,0,0,1,8.568-8.146,9.18,9.18,0,0,1,6.42,2.16l-2.265,2.634a6.141,6.141,0,0,0-4.272-1.6,4.807,4.807,0,0,0-4.692,4.905v.045a4.8,4.8,0,0,0,4.949,4.995,5.89,5.89,0,0,0,3.384-.945v-2.25h-3.618v-2.992h7.1v6.841a10.837,10.837,0,0,1-6.98,2.5",
|
|
124
|
+
transform: "translate(-145.284 65.583)",
|
|
125
|
+
fill: "#fff"
|
|
126
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
127
|
+
id: "path32",
|
|
128
|
+
d: "M428.664-47.855v6.27h-3.6v-6.2l-6.28-9.528h4.2L426.89-51l3.968-6.315h4.085l-6.28,9.46",
|
|
129
|
+
transform: "translate(-154.162 65.45)",
|
|
130
|
+
fill: "#fff"
|
|
131
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
132
|
+
id: "path34",
|
|
133
|
+
d: "M84.218-55.737a10.063,10.063,0,0,1,2.589-4.4,9.792,9.792,0,0,1,6.985-2.77h11.328V-69.3H93.792a17.041,17.041,0,0,0-11.8,4.759,16.344,16.344,0,0,0-3.547,5.115,13.247,13.247,0,0,0-1.122,3.688Zm0,4.877a10.065,10.065,0,0,0,2.589,4.4,9.793,9.793,0,0,0,6.985,2.77h11.328V-37.3H93.792a17.042,17.042,0,0,1-11.8-4.759,16.339,16.339,0,0,1-3.547-5.114,13.251,13.251,0,0,1-1.122-3.688ZM63.1-47.98,54.45-37.3H45.873l12.957-16-12.957-16H54.45L63.1-58.619l8.65-10.68h8.578l-12.957,16,12.957,16H71.749ZM48.875-55.737a13.212,13.212,0,0,0-1.122-3.688,16.359,16.359,0,0,0-3.546-5.115,17.043,17.043,0,0,0-11.8-4.759H21.08v6.393H32.408a9.79,9.79,0,0,1,6.985,2.77,10.072,10.072,0,0,1,2.59,4.4Zm0,4.877a13.215,13.215,0,0,1-1.122,3.688,16.353,16.353,0,0,1-3.546,5.114,17.044,17.044,0,0,1-11.8,4.759H21.08v-6.393H32.408a9.791,9.791,0,0,0,6.985-2.77,10.074,10.074,0,0,0,2.59-4.4h6.892",
|
|
134
|
+
transform: "translate(-21.08 69.298)",
|
|
135
|
+
fill: "#fff"
|
|
136
|
+
})));
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
4
|
+
type SocialLink = {
|
|
5
|
+
/**
|
|
6
|
+
* URL of the page the link goes to.
|
|
7
|
+
*/
|
|
8
|
+
href: string;
|
|
9
|
+
/**
|
|
10
|
+
* Material Symbol name or SVG element as the icon used for the link.
|
|
11
|
+
*/
|
|
12
|
+
logo: string | SVG;
|
|
13
|
+
/**
|
|
14
|
+
* Value for the HTML properties title and aria-label.
|
|
15
|
+
*/
|
|
16
|
+
title: string;
|
|
17
|
+
};
|
|
18
|
+
type BottomLink = {
|
|
19
|
+
/**
|
|
20
|
+
* URL of the page the link goes to.
|
|
21
|
+
*/
|
|
22
|
+
href: string;
|
|
23
|
+
/**
|
|
24
|
+
* Text for the link.
|
|
25
|
+
*/
|
|
26
|
+
text: string;
|
|
27
|
+
};
|
|
28
|
+
type FooterPropsType = {
|
|
29
|
+
/**
|
|
30
|
+
* An array of objects representing the links that will be rendered as
|
|
31
|
+
* icons at the top-right side of the footer.
|
|
32
|
+
*/
|
|
33
|
+
socialLinks?: SocialLink[];
|
|
34
|
+
/**
|
|
35
|
+
* An array of objects representing the links that will be rendered at
|
|
36
|
+
* the bottom part of the footer.
|
|
37
|
+
*/
|
|
38
|
+
bottomLinks?: BottomLink[];
|
|
39
|
+
/**
|
|
40
|
+
* The text that will be displayed as copyright disclaimer.
|
|
41
|
+
*/
|
|
42
|
+
copyright?: string;
|
|
43
|
+
/**
|
|
44
|
+
* The center section of the footer. Can be used to render custom
|
|
45
|
+
* content in this area.
|
|
46
|
+
*/
|
|
47
|
+
children?: React.ReactNode;
|
|
48
|
+
/**
|
|
49
|
+
* Size of the top margin to be applied to the footer.
|
|
50
|
+
*/
|
|
51
|
+
margin?: Space;
|
|
52
|
+
/**
|
|
53
|
+
* Value of the tabindex for all interactive elements, except those
|
|
54
|
+
* inside the custom area.
|
|
55
|
+
*/
|
|
56
|
+
tabIndex?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Determines the visual style and layout
|
|
59
|
+
* - "default": The default mode with full content and styling.
|
|
60
|
+
* - "reduced": A reduced mode with minimal content and styling.
|
|
61
|
+
*/
|
|
62
|
+
mode?: "default" | "reduced";
|
|
63
|
+
};
|
|
64
|
+
export default FooterPropsType;
|
package/footer/types.js
ADDED
package/grid/Grid.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import GridPropsType, { GridItemProps } from "./types";
|
|
3
|
+
declare const DxcGrid: {
|
|
4
|
+
(props: GridPropsType): JSX.Element;
|
|
5
|
+
Item: import("styled-components").StyledComponent<"div", any, GridItemProps, never>;
|
|
6
|
+
};
|
|
7
|
+
export default DxcGrid;
|
package/grid/Grid.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
var _templateObject, _templateObject2;
|
|
12
|
+
var DxcGrid = function DxcGrid(props) {
|
|
13
|
+
return /*#__PURE__*/_react["default"].createElement(Grid, props);
|
|
14
|
+
};
|
|
15
|
+
var Grid = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n ", "\n ", "\n ", "\n ", "\n"])), function (_ref) {
|
|
16
|
+
var templateColumns = _ref.templateColumns;
|
|
17
|
+
return templateColumns && "grid-template-columns: ".concat(templateColumns.join(" "), ";");
|
|
18
|
+
}, function (_ref2) {
|
|
19
|
+
var templateRows = _ref2.templateRows;
|
|
20
|
+
return templateRows && "grid-template-rows: ".concat(templateRows.join(" "), ";");
|
|
21
|
+
}, function (_ref3) {
|
|
22
|
+
var templateAreas = _ref3.templateAreas;
|
|
23
|
+
return templateAreas && "grid-template-areas: ".concat(templateAreas.map(function (row) {
|
|
24
|
+
return "\"".concat(row, "\"");
|
|
25
|
+
}).join(" "), ";");
|
|
26
|
+
}, function (_ref4) {
|
|
27
|
+
var autoColumns = _ref4.autoColumns;
|
|
28
|
+
return autoColumns && "grid-auto-columns: ".concat(autoColumns, ";");
|
|
29
|
+
}, function (_ref5) {
|
|
30
|
+
var autoRows = _ref5.autoRows;
|
|
31
|
+
return autoRows && "grid-auto-rows: ".concat(autoRows, ";");
|
|
32
|
+
}, function (_ref6) {
|
|
33
|
+
var autoFlow = _ref6.autoFlow;
|
|
34
|
+
return autoFlow && "grid-auto-flow: ".concat(autoFlow, ";");
|
|
35
|
+
}, function (_ref7) {
|
|
36
|
+
var _gap$rowGap, _gap$columnGap;
|
|
37
|
+
var gap = _ref7.gap;
|
|
38
|
+
return gap != null && (typeof gap === "string" ? "gap: ".concat(gap, ";") : "row-gap: ".concat((_gap$rowGap = gap.rowGap) !== null && _gap$rowGap !== void 0 ? _gap$rowGap : "", "; column-gap: ").concat((_gap$columnGap = gap.columnGap) !== null && _gap$columnGap !== void 0 ? _gap$columnGap : "", ";"));
|
|
39
|
+
}, function (_ref8) {
|
|
40
|
+
var _placeItems$alignItem, _placeItems$justifyIt;
|
|
41
|
+
var placeItems = _ref8.placeItems;
|
|
42
|
+
return placeItems && (typeof placeItems === "string" ? "place-items: ".concat(placeItems) : "align-items: ".concat((_placeItems$alignItem = placeItems.alignItems) !== null && _placeItems$alignItem !== void 0 ? _placeItems$alignItem : "", "; justify-items: ").concat((_placeItems$justifyIt = placeItems.justifyItems) !== null && _placeItems$justifyIt !== void 0 ? _placeItems$justifyIt : "", ";"));
|
|
43
|
+
}, function (_ref9) {
|
|
44
|
+
var _placeContent$alignCo, _placeContent$justify;
|
|
45
|
+
var placeContent = _ref9.placeContent;
|
|
46
|
+
return placeContent && (typeof placeContent === "string" ? "place-content: ".concat(placeContent) : "align-content: ".concat((_placeContent$alignCo = placeContent.alignContent) !== null && _placeContent$alignCo !== void 0 ? _placeContent$alignCo : "", "; justify-content: ").concat((_placeContent$justify = placeContent.justifyContent) !== null && _placeContent$justify !== void 0 ? _placeContent$justify : "", ";"));
|
|
47
|
+
}, function (_ref10) {
|
|
48
|
+
var areaName = _ref10.areaName;
|
|
49
|
+
return areaName && "grid-area: ".concat(areaName, ";");
|
|
50
|
+
}, function (_ref11) {
|
|
51
|
+
var column = _ref11.column;
|
|
52
|
+
return column && "grid-column: ".concat(typeof column === "string" || typeof column === "number" ? column : "".concat(column.start, " / ").concat(column.end, ";"), ";");
|
|
53
|
+
}, function (_ref12) {
|
|
54
|
+
var row = _ref12.row;
|
|
55
|
+
return row && "grid-row: ".concat(typeof row === "string" || typeof row === "number" ? row : "".concat(row.start, " / ").concat(row.end, ";"), ";");
|
|
56
|
+
}, function (_ref13) {
|
|
57
|
+
var _placeSelf$alignSelf, _placeSelf$justifySel;
|
|
58
|
+
var placeSelf = _ref13.placeSelf;
|
|
59
|
+
return placeSelf && (typeof placeSelf === "string" ? "place-self: ".concat(placeSelf) : "align-self: ".concat((_placeSelf$alignSelf = placeSelf.alignSelf) !== null && _placeSelf$alignSelf !== void 0 ? _placeSelf$alignSelf : "", "; justify-self: ").concat((_placeSelf$justifySel = placeSelf.justifySelf) !== null && _placeSelf$justifySel !== void 0 ? _placeSelf$justifySel : "", ";"));
|
|
60
|
+
});
|
|
61
|
+
var GridItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n ", "\n ", "\n ", "\n"])), function (_ref14) {
|
|
62
|
+
var areaName = _ref14.areaName;
|
|
63
|
+
return areaName && "grid-area: ".concat(areaName, ";");
|
|
64
|
+
}, function (_ref15) {
|
|
65
|
+
var column = _ref15.column;
|
|
66
|
+
return column && "grid-column: ".concat(typeof column === "string" || typeof column === "number" ? column : "".concat(column.start, " / ").concat(column.end, ";"), ";");
|
|
67
|
+
}, function (_ref16) {
|
|
68
|
+
var row = _ref16.row;
|
|
69
|
+
return row && "grid-row: ".concat(typeof row === "string" || typeof row === "number" ? row : "".concat(row.start, " / ").concat(row.end, ";"), ";");
|
|
70
|
+
}, function (_ref17) {
|
|
71
|
+
var _placeSelf$alignSelf2, _placeSelf$justifySel2;
|
|
72
|
+
var placeSelf = _ref17.placeSelf;
|
|
73
|
+
return placeSelf && (typeof placeSelf === "string" ? "place-self: ".concat(placeSelf) : "align-self: ".concat((_placeSelf$alignSelf2 = placeSelf.alignSelf) !== null && _placeSelf$alignSelf2 !== void 0 ? _placeSelf$alignSelf2 : "", "; justify-self: ").concat((_placeSelf$justifySel2 = placeSelf.justifySelf) !== null && _placeSelf$justifySel2 !== void 0 ? _placeSelf$justifySel2 : "", ";"));
|
|
74
|
+
});
|
|
75
|
+
DxcGrid.Item = GridItem;
|
|
76
|
+
var _default = exports["default"] = DxcGrid;
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Title from "../../.storybook/components/Title";
|
|
3
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
4
|
+
import styled from "styled-components";
|
|
5
|
+
import DxcGrid from "./Grid";
|
|
6
|
+
import DxcInset from "../inset/Inset";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "Grid",
|
|
10
|
+
component: DxcGrid,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const Chromatic = () => (
|
|
14
|
+
<>
|
|
15
|
+
<Title title="Default" level={4} />
|
|
16
|
+
<ExampleContainer>
|
|
17
|
+
<DxcGrid>
|
|
18
|
+
<ColoredContainer />
|
|
19
|
+
<ColoredContainer />
|
|
20
|
+
<ColoredContainer />
|
|
21
|
+
</DxcGrid>
|
|
22
|
+
</ExampleContainer>
|
|
23
|
+
<Title title="Place items" level={4} />
|
|
24
|
+
<ExampleContainer>
|
|
25
|
+
<DxcGrid templateRows={["200px"]} placeItems="center">
|
|
26
|
+
<ColoredContainer height="50px" width="50px" />
|
|
27
|
+
</DxcGrid>
|
|
28
|
+
<DxcGrid placeItems={{ justifyItems: "end" }}>
|
|
29
|
+
<ColoredContainer />
|
|
30
|
+
<ColoredContainer />
|
|
31
|
+
<ColoredContainer />
|
|
32
|
+
</DxcGrid>
|
|
33
|
+
<DxcGrid templateRows={["repeat(3, 100px)"]} placeItems={{ alignItems: "end", justifyItems: "center" }}>
|
|
34
|
+
<ColoredContainer height="50px" width="50px" />
|
|
35
|
+
<ColoredContainer height="50px" width="50px" />
|
|
36
|
+
<ColoredContainer height="50px" width="50px" />
|
|
37
|
+
</DxcGrid>
|
|
38
|
+
</ExampleContainer>
|
|
39
|
+
<Title title="Place content" level={4} />
|
|
40
|
+
<Container height="200px">
|
|
41
|
+
<DxcGrid placeContent="center">
|
|
42
|
+
<ColoredContainer height="50px" width="50px" />
|
|
43
|
+
<ColoredContainer height="50px" width="50px" />
|
|
44
|
+
</DxcGrid>
|
|
45
|
+
</Container>
|
|
46
|
+
<Container height="200px">
|
|
47
|
+
<DxcGrid placeContent={{ alignContent: "center" }}>
|
|
48
|
+
<ColoredContainer height="50px" width="50px" />
|
|
49
|
+
</DxcGrid>
|
|
50
|
+
</Container>
|
|
51
|
+
<Container height="200px">
|
|
52
|
+
<DxcGrid placeContent={{ alignContent: "center", justifyContent: "end" }}>
|
|
53
|
+
<ColoredContainer height="50px" width="50px" />
|
|
54
|
+
</DxcGrid>
|
|
55
|
+
</Container>
|
|
56
|
+
<Title title="Place self" level={4} />
|
|
57
|
+
<ExampleContainer>
|
|
58
|
+
<DxcGrid templateRows={["repeat(3, 100px)"]}>
|
|
59
|
+
<DxcGrid.Item placeSelf="center">
|
|
60
|
+
<ColoredContainer height="50px" width="50px" />
|
|
61
|
+
</DxcGrid.Item>
|
|
62
|
+
<DxcGrid.Item placeSelf={{ alignSelf: "end" }}>
|
|
63
|
+
<ColoredContainer height="40px" width="40px" />
|
|
64
|
+
<ColoredContainer height="30px" width="30px" />
|
|
65
|
+
</DxcGrid.Item>
|
|
66
|
+
<DxcGrid.Item placeSelf={{ alignSelf: "center", justifySelf: "end" }}>
|
|
67
|
+
<ColoredContainer height="50px" width="50px" />
|
|
68
|
+
</DxcGrid.Item>
|
|
69
|
+
</DxcGrid>
|
|
70
|
+
</ExampleContainer>
|
|
71
|
+
<Title title="Halstack layout using template areas" level={4} />
|
|
72
|
+
<ExampleContainer>
|
|
73
|
+
<DxcGrid
|
|
74
|
+
templateColumns={["repeat(4, 1fr)"]}
|
|
75
|
+
templateRows={["40px", "200px", "60px"]}
|
|
76
|
+
templateAreas={["header header header header", "sidenav main main main", "sidenav footer footer footer"]}
|
|
77
|
+
gap={{ rowGap: "0.5rem", columnGap: "1rem" }}
|
|
78
|
+
>
|
|
79
|
+
<DxcGrid.Item areaName="header" as="header">
|
|
80
|
+
<ColoredContainer height="100%" />
|
|
81
|
+
</DxcGrid.Item>
|
|
82
|
+
<DxcGrid.Item areaName="main" as="main">
|
|
83
|
+
<ColoredContainer height="100%" />
|
|
84
|
+
</DxcGrid.Item>
|
|
85
|
+
<DxcGrid.Item areaName="sidenav" as="nav">
|
|
86
|
+
<ColoredContainer height="100%" />
|
|
87
|
+
</DxcGrid.Item>
|
|
88
|
+
<DxcGrid.Item areaName="footer" as="footer">
|
|
89
|
+
<ColoredContainer height="100%" />
|
|
90
|
+
</DxcGrid.Item>
|
|
91
|
+
</DxcGrid>
|
|
92
|
+
</ExampleContainer>
|
|
93
|
+
<Title title="Template rows and columns with flexible sizes" level={4} />
|
|
94
|
+
<ExampleContainer>
|
|
95
|
+
<DxcGrid templateColumns={["1fr", "1fr", "1fr"]} templateRows={["1fr", "3fr", "1fr"]} gap="0.5rem">
|
|
96
|
+
<DxcGrid.Item column={{ start: 1, end: -1 }}>
|
|
97
|
+
<ColoredContainer color="yellow" height="100%">
|
|
98
|
+
Header
|
|
99
|
+
</ColoredContainer>
|
|
100
|
+
</DxcGrid.Item>
|
|
101
|
+
<DxcGrid.Item column={1}>
|
|
102
|
+
<ColoredContainer color="lightcyan" height="100%">
|
|
103
|
+
Sidenav
|
|
104
|
+
</ColoredContainer>
|
|
105
|
+
</DxcGrid.Item>
|
|
106
|
+
<DxcGrid
|
|
107
|
+
column={{ start: 2, end: -1 }}
|
|
108
|
+
templateRows={["repeat(4, 1fr)"]}
|
|
109
|
+
templateColumns={["repeat(2, 1fr)"]}
|
|
110
|
+
gap="1rem"
|
|
111
|
+
>
|
|
112
|
+
<ColoredContainer />
|
|
113
|
+
<ColoredContainer />
|
|
114
|
+
<ColoredContainer />
|
|
115
|
+
<ColoredContainer />
|
|
116
|
+
<ColoredContainer />
|
|
117
|
+
<ColoredContainer />
|
|
118
|
+
<ColoredContainer />
|
|
119
|
+
<ColoredContainer />
|
|
120
|
+
</DxcGrid>
|
|
121
|
+
<DxcGrid.Item column={{ start: 1, end: -1 }}>
|
|
122
|
+
<ColoredContainer color="black" height="100%">
|
|
123
|
+
Footer
|
|
124
|
+
</ColoredContainer>
|
|
125
|
+
</DxcGrid.Item>
|
|
126
|
+
</DxcGrid>
|
|
127
|
+
</ExampleContainer>
|
|
128
|
+
<Title title="Overlapping" level={4} />
|
|
129
|
+
<DxcInset bottom="2rem">
|
|
130
|
+
<ExampleContainer>
|
|
131
|
+
<DxcGrid templateRows={["50px", "50px"]}>
|
|
132
|
+
<ColoredContainer color="yellow" height="100px">
|
|
133
|
+
1
|
|
134
|
+
</ColoredContainer>
|
|
135
|
+
<ColoredContainer color="transparent" height="100px">
|
|
136
|
+
2
|
|
137
|
+
</ColoredContainer>
|
|
138
|
+
</DxcGrid>
|
|
139
|
+
</ExampleContainer>
|
|
140
|
+
</DxcInset>
|
|
141
|
+
<Title title="Implicit rows and columns" level={4} />
|
|
142
|
+
<ExampleContainer>
|
|
143
|
+
<DxcGrid templateColumns={["50px"]} templateRows={["50px", "50px"]} autoRows="50px" autoColumns="50px">
|
|
144
|
+
<DxcGrid.Item>
|
|
145
|
+
<ColoredContainer height="50px">1</ColoredContainer>
|
|
146
|
+
</DxcGrid.Item>
|
|
147
|
+
<DxcGrid.Item row={2}>
|
|
148
|
+
<ColoredContainer height="50px">3</ColoredContainer>
|
|
149
|
+
</DxcGrid.Item>
|
|
150
|
+
<DxcGrid.Item row={6} column={1}>
|
|
151
|
+
<ColoredContainer height="50px">5</ColoredContainer>
|
|
152
|
+
</DxcGrid.Item>
|
|
153
|
+
<DxcGrid.Item row={3}>
|
|
154
|
+
<ColoredContainer height="50px">4</ColoredContainer>
|
|
155
|
+
</DxcGrid.Item>
|
|
156
|
+
<DxcGrid.Item row={{ start: 1, end: 2 }} column={{ start: 5, end: "span 2" }}>
|
|
157
|
+
<ColoredContainer height="50px">2</ColoredContainer>
|
|
158
|
+
</DxcGrid.Item>
|
|
159
|
+
</DxcGrid>
|
|
160
|
+
</ExampleContainer>
|
|
161
|
+
<Title title="Autoflow 'row' (default)" level={4} />
|
|
162
|
+
<ExampleContainer>
|
|
163
|
+
<DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="row" autoColumns="1fr">
|
|
164
|
+
<DxcGrid.Item row={{ start: 1, end: "span 2" }} column={1}>
|
|
165
|
+
<ColoredContainer height="100%">1</ColoredContainer>
|
|
166
|
+
</DxcGrid.Item>
|
|
167
|
+
<ColoredContainer color="lightyellow">2</ColoredContainer>
|
|
168
|
+
<ColoredContainer color="lightcyan">3</ColoredContainer>
|
|
169
|
+
<ColoredContainer color="lightgreen">4</ColoredContainer>
|
|
170
|
+
<DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
|
|
171
|
+
<ColoredContainer color="lightpink" height="100%">
|
|
172
|
+
5
|
|
173
|
+
</ColoredContainer>
|
|
174
|
+
</DxcGrid.Item>
|
|
175
|
+
</DxcGrid>
|
|
176
|
+
</ExampleContainer>
|
|
177
|
+
<Title title="Autoflow 'column'" level={4} />
|
|
178
|
+
<ExampleContainer>
|
|
179
|
+
<DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="column" autoColumns="1fr">
|
|
180
|
+
<DxcGrid.Item row={{ start: 1, end: -1 }} column={1}>
|
|
181
|
+
<ColoredContainer height="100%">1</ColoredContainer>
|
|
182
|
+
</DxcGrid.Item>
|
|
183
|
+
<ColoredContainer color="lightyellow">2</ColoredContainer>
|
|
184
|
+
<ColoredContainer color="lightcyan">3</ColoredContainer>
|
|
185
|
+
<ColoredContainer color="lightgreen">4</ColoredContainer>
|
|
186
|
+
<DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
|
|
187
|
+
<ColoredContainer color="lightpink" height="100%">
|
|
188
|
+
5
|
|
189
|
+
</ColoredContainer>
|
|
190
|
+
</DxcGrid.Item>
|
|
191
|
+
</DxcGrid>
|
|
192
|
+
</ExampleContainer>
|
|
193
|
+
</>
|
|
194
|
+
);
|
|
195
|
+
|
|
196
|
+
const Container = styled.div<{ height?: string }>`
|
|
197
|
+
display: grid;
|
|
198
|
+
overflow: auto;
|
|
199
|
+
margin: 2.5rem;
|
|
200
|
+
${({ height }) => height && `height: ${height}`};
|
|
201
|
+
`;
|
|
202
|
+
|
|
203
|
+
const ColoredContainer = styled.div<{ color?: string; width?: string; height?: string }>`
|
|
204
|
+
box-sizing: border-box;
|
|
205
|
+
display: flex;
|
|
206
|
+
justify-content: center;
|
|
207
|
+
align-items: center;
|
|
208
|
+
background-color: ${({ color }) => color ?? "#e5d5f6"};
|
|
209
|
+
padding: 1rem;
|
|
210
|
+
border: 1px solid #a46ede;
|
|
211
|
+
border-radius: 0.5rem;
|
|
212
|
+
font-family: Open Sans, sans-serif;
|
|
213
|
+
font-size: 1.5rem;
|
|
214
|
+
font-weight: bold;
|
|
215
|
+
color: #a46ede;
|
|
216
|
+
|
|
217
|
+
${({ width }) => width && `width: ${width}`};
|
|
218
|
+
${({ height }) => height && `height: ${height}`};
|
|
219
|
+
`;
|