@dxc-technology/halstack-react 0.0.0-cfb6e92 → 0.0.0-d0735cc
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/{dist/checkbox → checkbox}/Checkbox.js +70 -107
- 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/{dist/common → common}/RequiredComponent.js +3 -11
- 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 +1497 -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 +138 -0
- package/dialog/Dialog.stories.tsx +212 -0
- package/dialog/Dialog.test.js +40 -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 +391 -0
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +80 -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 +303 -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/{dist/heading → heading}/Heading.js +31 -94
- 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/{dist/main.js → main.js} +148 -90
- 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/number-input/NumberInputContext.js +19 -0
- 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 +41 -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 +170 -0
- package/progress-bar/ProgressBar.stories.jsx +58 -0
- package/progress-bar/ProgressBar.test.js +65 -0
- package/progress-bar/types.d.ts +37 -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 +283 -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/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
- 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 +150 -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 +195 -0
- package/switch/Switch.stories.tsx +160 -0
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +62 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/{dist/table → table}/Table.js +14 -24
- 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 +132 -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 +770 -0
- package/text-input/TextInput.stories.tsx +474 -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/{dist/useTheme.js → useTheme.js} +2 -2
- 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/README.md +0 -66
- package/babel.config.js +0 -8
- package/dist/BackgroundColorContext.js +0 -46
- package/dist/ThemeContext.js +0 -216
- package/dist/accordion/Accordion.js +0 -346
- package/dist/accordion/Accordion.stories.js +0 -207
- package/dist/accordion/readme.md +0 -96
- package/dist/accordion-group/AccordionGroup.js +0 -188
- package/dist/accordion-group/AccordionGroup.stories.js +0 -207
- package/dist/accordion-group/readme.md +0 -70
- package/dist/alert/Alert.js +0 -388
- 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/badge/Badge.js +0 -63
- package/dist/box/Box.js +0 -164
- package/dist/button/Button.js +0 -232
- package/dist/button/Button.stories.js +0 -224
- package/dist/button/readme.md +0 -93
- package/dist/card/Card.js +0 -254
- package/dist/checkbox/Checkbox.stories.js +0 -144
- package/dist/checkbox/readme.md +0 -116
- package/dist/chip/Chip.js +0 -269
- package/dist/common/variables.js +0 -1159
- package/dist/date/Date.js +0 -381
- package/dist/date/Date.stories.js +0 -205
- package/dist/date/readme.md +0 -73
- package/dist/dialog/Dialog.js +0 -235
- package/dist/dialog/Dialog.stories.js +0 -217
- package/dist/dialog/readme.md +0 -32
- package/dist/dropdown/Dropdown.js +0 -493
- 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 -405
- 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 -431
- package/dist/header/Header.stories.js +0 -176
- package/dist/header/close_icon.svg +0 -1
- package/dist/header/dxc_logo_black.svg +0 -8
- 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/input-text/InputText.js +0 -672
- 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/layout/ApplicationLayout.js +0 -331
- package/dist/layout/facebook.svg +0 -45
- package/dist/layout/linkedin.svg +0 -50
- package/dist/layout/twitter.svg +0 -53
- package/dist/link/Link.js +0 -241
- package/dist/link/readme.md +0 -51
- package/dist/paginator/Paginator.js +0 -283
- 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 -206
- package/dist/progress-bar/ProgressBar.stories.js +0 -280
- package/dist/progress-bar/readme.md +0 -63
- package/dist/radio/Radio.js +0 -209
- package/dist/radio/Radio.stories.js +0 -166
- package/dist/radio/readme.md +0 -70
- 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 -563
- package/dist/select/Select.stories.js +0 -235
- package/dist/select/readme.md +0 -72
- package/dist/sidenav/Sidenav.js +0 -183
- package/dist/slider/Slider.js +0 -315
- package/dist/slider/Slider.stories.js +0 -241
- package/dist/slider/readme.md +0 -64
- package/dist/spinner/Spinner.js +0 -214
- package/dist/spinner/Spinner.stories.js +0 -183
- package/dist/spinner/readme.md +0 -65
- package/dist/switch/Switch.js +0 -222
- package/dist/switch/Switch.stories.js +0 -134
- package/dist/switch/readme.md +0 -133
- package/dist/tabs/Tabs.js +0 -343
- package/dist/tabs/Tabs.stories.js +0 -130
- package/dist/tabs/readme.md +0 -78
- package/dist/tabs-for-sections/TabsForSections.js +0 -92
- package/dist/tabs-for-sections/readme.md +0 -78
- package/dist/tag/Tag.js +0 -280
- package/dist/textarea/Textarea.js +0 -260
- package/dist/toggle/Toggle.js +0 -220
- package/dist/toggle/Toggle.stories.js +0 -297
- package/dist/toggle/readme.md +0 -80
- package/dist/toggle-group/ToggleGroup.js +0 -241
- package/dist/toggle-group/readme.md +0 -82
- package/dist/upload/Upload.js +0 -205
- package/dist/upload/Upload.stories.js +0 -72
- package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
- 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 -325
- 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 -184
- 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 -171
- 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 -138
- package/dist/wizard/Wizard.js +0 -411
- package/dist/wizard/invalid_icon.svg +0 -5
- package/dist/wizard/valid_icon.svg +0 -5
- package/dist/wizard/validation-wrong.svg +0 -6
- package/test/Accordion.test.js +0 -33
- package/test/AccordionGroup.test.js +0 -125
- 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 -240
- package/test/Link.test.js +0 -43
- package/test/Paginator.test.js +0 -177
- package/test/ProgressBar.test.js +0 -35
- package/test/Radio.test.js +0 -37
- package/test/ResultsetTable.test.js +0 -330
- package/test/Select.test.js +0 -192
- package/test/Sidenav.test.js +0 -45
- package/test/Slider.test.js +0 -82
- 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 -109
- package/test/TabsForSections.test.js +0 -34
- package/test/Tag.test.js +0 -32
- package/test/TextArea.test.js +0 -52
- package/test/ToggleGroup.test.js +0 -81
- 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
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
5
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
16
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
@@ -23,50 +21,28 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
23
21
|
|
|
24
22
|
var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
|
|
25
23
|
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
|
-
var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
|
|
29
|
-
|
|
30
24
|
var _variables = require("../common/variables.js");
|
|
31
25
|
|
|
32
26
|
var _utils = require("../common/utils.js");
|
|
33
27
|
|
|
34
|
-
var
|
|
28
|
+
var _uuid = require("uuid");
|
|
35
29
|
|
|
36
|
-
var
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
37
31
|
|
|
38
|
-
|
|
39
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 17px;\n height: 17px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n padding-left: ", ";\n padding-right: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
|
|
32
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
40
33
|
|
|
41
|
-
|
|
42
|
-
return data;
|
|
43
|
-
};
|
|
34
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
44
35
|
|
|
45
|
-
|
|
46
|
-
}
|
|
36
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
47
37
|
|
|
48
|
-
function
|
|
49
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n flex-direction: ", ";\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n &:hover {\n color: green;\n }\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 26.6px;\n height: 26.6px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n &.Mui-focusVisible {\n .MuiIconButton-label {\n outline: ", " auto 1px;\n }\n }\n z-index: 1;\n padding: 10px;\n ", ": ", ";\n padding-left: ", ";\n padding-right: ", ";\n margin: 2px;\n margin-left: ", ";\n margin-right: ", ";\n }\n"]);
|
|
38
|
+
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); }
|
|
50
39
|
|
|
51
|
-
|
|
52
|
-
return data;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
return data;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function _templateObject() {
|
|
59
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"]);
|
|
60
|
-
|
|
61
|
-
_templateObject = function _templateObject() {
|
|
62
|
-
return data;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
return data;
|
|
66
|
-
}
|
|
40
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
|
|
67
41
|
|
|
68
42
|
var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
69
43
|
var checked = _ref.checked,
|
|
44
|
+
_ref$defaultChecked = _ref.defaultChecked,
|
|
45
|
+
defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
|
|
70
46
|
value = _ref.value,
|
|
71
47
|
_ref$label = _ref.label,
|
|
72
48
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
@@ -76,22 +52,34 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
76
52
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
77
53
|
_ref$disabled = _ref.disabled,
|
|
78
54
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
55
|
+
_ref$optional = _ref.optional,
|
|
56
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
79
57
|
onChange = _ref.onChange,
|
|
80
|
-
_ref$required = _ref.required,
|
|
81
|
-
required = _ref$required === void 0 ? false : _ref$required,
|
|
82
58
|
margin = _ref.margin,
|
|
83
59
|
_ref$size = _ref.size,
|
|
84
60
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
85
61
|
_ref$tabIndex = _ref.tabIndex,
|
|
86
62
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
87
63
|
|
|
88
|
-
var _useState = (0, _react.useState)(
|
|
89
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState,
|
|
90
|
-
|
|
91
|
-
|
|
64
|
+
var _useState = (0, _react.useState)("checkbox-".concat((0, _uuid.v4)())),
|
|
65
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
66
|
+
switchId = _useState2[0];
|
|
67
|
+
|
|
68
|
+
var labelId = "label-".concat(switchId);
|
|
69
|
+
|
|
70
|
+
var _useState3 = (0, _react.useState)(defaultChecked),
|
|
71
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
72
|
+
innerChecked = _useState4[0],
|
|
73
|
+
setInnerChecked = _useState4[1];
|
|
74
|
+
|
|
75
|
+
var _useState5 = (0, _react.useState)(false),
|
|
76
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
77
|
+
isLabelHovered = _useState6[0],
|
|
78
|
+
setIsLabelHovered = _useState6[1];
|
|
92
79
|
|
|
93
80
|
var colorsTheme = (0, _useTheme["default"])();
|
|
94
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"])
|
|
81
|
+
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
82
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
95
83
|
|
|
96
84
|
var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
|
|
97
85
|
if (checked === undefined) {
|
|
@@ -108,23 +96,40 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
108
96
|
}
|
|
109
97
|
};
|
|
110
98
|
|
|
111
|
-
|
|
99
|
+
var handleLabelHover = function handleLabelHover() {
|
|
100
|
+
setIsLabelHovered(!isLabelHovered);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
104
|
+
id: labelId,
|
|
105
|
+
labelPosition: labelPosition,
|
|
106
|
+
onClick: disabled === true ? function () {} : handlerCheckboxChange,
|
|
107
|
+
disabled: disabled,
|
|
108
|
+
className: "labelContainer",
|
|
109
|
+
backgroundType: backgroundType,
|
|
110
|
+
onMouseOver: handleLabelHover,
|
|
111
|
+
onMouseOut: handleLabelHover
|
|
112
|
+
}, labelPosition === "before" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, label, " ", optional && /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.formFields.optionalLabel)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)"), " ", label));
|
|
113
|
+
|
|
114
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
112
115
|
theme: colorsTheme.checkbox
|
|
113
|
-
}, _react["default"].createElement(CheckboxContainer, {
|
|
116
|
+
}, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
|
|
114
117
|
id: name,
|
|
115
118
|
brightness: _variables.componentTokens,
|
|
119
|
+
label: label,
|
|
116
120
|
labelPosition: labelPosition,
|
|
117
121
|
disabled: disabled,
|
|
118
122
|
margin: margin,
|
|
119
123
|
size: size,
|
|
120
|
-
backgroundType: backgroundType
|
|
121
|
-
|
|
122
|
-
|
|
124
|
+
backgroundType: backgroundType,
|
|
125
|
+
isLabelHovered: isLabelHovered
|
|
126
|
+
}, label && labelPosition === "before" && labelComponent, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
127
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
123
128
|
inputProps: {
|
|
124
129
|
name: name,
|
|
125
|
-
"aria-
|
|
130
|
+
"aria-labelledby": labelId,
|
|
126
131
|
role: "checkbox",
|
|
127
|
-
"aria-checked": checked
|
|
132
|
+
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
|
|
128
133
|
},
|
|
129
134
|
onChange: handlerCheckboxChange,
|
|
130
135
|
value: value,
|
|
@@ -132,18 +137,12 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
132
137
|
disableRipple: true,
|
|
133
138
|
className: "test",
|
|
134
139
|
tabIndex: tabIndex
|
|
135
|
-
}), _react["default"].createElement(CheckboxBlackBack, {
|
|
136
|
-
labelPosition: labelPosition,
|
|
137
|
-
disabled: disabled,
|
|
138
|
-
checked: checked != undefined ? checked : innerChecked,
|
|
139
|
-
backgroundType: backgroundType
|
|
140
|
-
}), required && _react["default"].createElement(_RequiredComponent["default"], null), label && _react["default"].createElement(LabelContainer, {
|
|
140
|
+
}), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
|
|
141
141
|
labelPosition: labelPosition,
|
|
142
|
-
onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
|
|
143
142
|
disabled: disabled,
|
|
144
|
-
|
|
143
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
145
144
|
backgroundType: backgroundType
|
|
146
|
-
}, label))
|
|
145
|
+
}), label && labelPosition === "after" && labelComponent));
|
|
147
146
|
};
|
|
148
147
|
|
|
149
148
|
var sizes = {
|
|
@@ -166,19 +165,15 @@ var getDisabledColor = function getDisabledColor(props, element) {
|
|
|
166
165
|
switch (element) {
|
|
167
166
|
case "check":
|
|
168
167
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
|
|
169
|
-
break;
|
|
170
168
|
|
|
171
169
|
case "background":
|
|
172
170
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
|
|
173
|
-
break;
|
|
174
171
|
|
|
175
172
|
case "border":
|
|
176
173
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
|
|
177
|
-
break;
|
|
178
174
|
|
|
179
175
|
case "label":
|
|
180
176
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
|
|
181
|
-
break;
|
|
182
177
|
}
|
|
183
178
|
};
|
|
184
179
|
|
|
@@ -186,35 +181,31 @@ var getNotDisabledColor = function getNotDisabledColor(props, element) {
|
|
|
186
181
|
switch (element) {
|
|
187
182
|
case "check":
|
|
188
183
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
|
|
189
|
-
break;
|
|
190
184
|
|
|
191
185
|
case "background":
|
|
192
186
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
|
|
193
|
-
break;
|
|
194
187
|
|
|
195
188
|
case "border":
|
|
196
189
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
|
|
197
|
-
break;
|
|
198
190
|
|
|
199
191
|
case "label":
|
|
200
192
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
201
|
-
break;
|
|
202
193
|
}
|
|
203
194
|
};
|
|
204
195
|
|
|
205
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
|
|
196
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n cursor: ", ";\n"])), function (props) {
|
|
206
197
|
return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
|
|
207
|
-
}, function (props) {
|
|
208
|
-
return props.disabled ? "not-allowed" : "pointer";
|
|
209
198
|
}, function (props) {
|
|
210
199
|
return props.theme.fontFamily;
|
|
211
200
|
}, function (props) {
|
|
212
201
|
return props.theme.fontSize;
|
|
213
202
|
}, function (props) {
|
|
214
203
|
return props.theme.fontWeight;
|
|
204
|
+
}, function (props) {
|
|
205
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
215
206
|
});
|
|
216
207
|
|
|
217
|
-
var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
|
|
208
|
+
var CheckboxContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n opacity: 0.34;\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n\n &.Mui-focusVisible {\n .MuiIconButton-label {\n border-radius: 2px;\n outline: 2px solid\n ", ";\n outline-offset: -1px;\n }\n }\n z-index: 1;\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"])), function (props) {
|
|
218
209
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
219
210
|
}, function (props) {
|
|
220
211
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -229,34 +220,28 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
|
|
|
229
220
|
}, function (props) {
|
|
230
221
|
return props.disabled ? "not-allowed" : "pointer";
|
|
231
222
|
}, function (props) {
|
|
232
|
-
return props.
|
|
233
|
-
}, function (props) {
|
|
234
|
-
return getNotDisabledColor(props, "border");
|
|
223
|
+
return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
|
|
235
224
|
}, function (props) {
|
|
236
225
|
return getDisabledColor(props, "border");
|
|
237
226
|
}, function (props) {
|
|
238
227
|
return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
|
|
239
228
|
}, function (props) {
|
|
240
|
-
return props.backgroundType
|
|
229
|
+
return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
|
|
241
230
|
}, function (props) {
|
|
242
|
-
return props.backgroundType
|
|
231
|
+
return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
|
|
243
232
|
}, function (props) {
|
|
244
|
-
return props.theme.focusColor;
|
|
233
|
+
return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
245
234
|
}, function (props) {
|
|
246
|
-
return props.labelPosition === "
|
|
235
|
+
return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
|
|
247
236
|
}, function (props) {
|
|
248
|
-
return props.theme.checkLabelSpacing;
|
|
237
|
+
return props.labelPosition === "after" && props.label ? props.theme.checkLabelSpacing : "0";
|
|
249
238
|
}, function (props) {
|
|
250
|
-
return props.labelPosition === "
|
|
239
|
+
return props.labelPosition === "before" ? "unset" : "1px";
|
|
251
240
|
}, function (props) {
|
|
252
|
-
return props.labelPosition === "before" ? "
|
|
253
|
-
}, function (props) {
|
|
254
|
-
return props.labelPosition === "after" ? "0px" : "";
|
|
255
|
-
}, function (props) {
|
|
256
|
-
return props.labelPosition === "before" ? "0px" : "";
|
|
241
|
+
return props.labelPosition === "before" ? "1px" : "unset";
|
|
257
242
|
});
|
|
258
243
|
|
|
259
|
-
var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), function (props) {
|
|
244
|
+
var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 16px;\n height: 16px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
|
|
260
245
|
return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
|
|
261
246
|
}, function (props) {
|
|
262
247
|
return props.labelPosition === "before" ? "unset" : "5px";
|
|
@@ -266,29 +251,7 @@ var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), fu
|
|
|
266
251
|
return props.labelPosition === "after" ? "0px" : "";
|
|
267
252
|
}, function (props) {
|
|
268
253
|
return props.labelPosition === "before" ? "0px" : "";
|
|
269
|
-
}, function (props) {
|
|
270
|
-
return props.labelPosition === "after" ? "0px" : "";
|
|
271
|
-
}, function (props) {
|
|
272
|
-
return props.labelPosition === "before" ? "0px" : "";
|
|
273
254
|
});
|
|
274
255
|
|
|
275
|
-
DxcCheckbox.propTypes = {
|
|
276
|
-
checked: _propTypes["default"].bool,
|
|
277
|
-
value: _propTypes["default"].any,
|
|
278
|
-
label: _propTypes["default"].string,
|
|
279
|
-
labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
280
|
-
name: _propTypes["default"].string,
|
|
281
|
-
disabled: _propTypes["default"].bool,
|
|
282
|
-
onChange: _propTypes["default"].func,
|
|
283
|
-
required: _propTypes["default"].bool,
|
|
284
|
-
size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
|
|
285
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
286
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
287
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
288
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
289
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
290
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
291
|
-
tabIndex: _propTypes["default"].number
|
|
292
|
-
};
|
|
293
256
|
var _default = DxcCheckbox;
|
|
294
257
|
exports["default"] = _default;
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcCheckbox from "./Checkbox";
|
|
3
|
+
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
|
+
import { userEvent } from "@storybook/testing-library";
|
|
8
|
+
|
|
9
|
+
export default {
|
|
10
|
+
title: "Checkbox",
|
|
11
|
+
component: DxcCheckbox,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const Checkbox = () => (
|
|
15
|
+
<>
|
|
16
|
+
<ExampleContainer>
|
|
17
|
+
<Title title="Default" theme="light" level={4} />
|
|
18
|
+
<DxcCheckbox label="Checkbox" />
|
|
19
|
+
</ExampleContainer>
|
|
20
|
+
<ExampleContainer>
|
|
21
|
+
<Title title="Focused" theme="light" level={4} />
|
|
22
|
+
<DxcCheckbox label="Focused" />
|
|
23
|
+
</ExampleContainer>
|
|
24
|
+
<ExampleContainer>
|
|
25
|
+
<Title title="Checked" theme="light" level={4} />
|
|
26
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
27
|
+
</ExampleContainer>
|
|
28
|
+
<ExampleContainer>
|
|
29
|
+
<Title title="Optional" theme="light" level={4} />
|
|
30
|
+
<DxcCheckbox label="Checkbox" optional />
|
|
31
|
+
</ExampleContainer>
|
|
32
|
+
<ExampleContainer>
|
|
33
|
+
<Title title="Disabled and checked" theme="light" level={4} />
|
|
34
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked />
|
|
35
|
+
</ExampleContainer>
|
|
36
|
+
<ExampleContainer>
|
|
37
|
+
<Title title="Disabled and optional" theme="light" level={4} />
|
|
38
|
+
<DxcCheckbox label="Checkbox" disabled optional />
|
|
39
|
+
</ExampleContainer>
|
|
40
|
+
<ExampleContainer>
|
|
41
|
+
<Title title="Disabled, optional and checked" theme="light" level={4} />
|
|
42
|
+
<DxcCheckbox label="Checkbox" disabled optional defaultChecked />
|
|
43
|
+
</ExampleContainer>
|
|
44
|
+
<ExampleContainer>
|
|
45
|
+
<Title title="Label after" theme="light" level={4} />
|
|
46
|
+
<DxcCheckbox label="Checkbox" labelPosition="after" />
|
|
47
|
+
</ExampleContainer>
|
|
48
|
+
<ExampleContainer>
|
|
49
|
+
<Title title="Checked with label after" theme="light" level={4} />
|
|
50
|
+
<DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
|
|
51
|
+
</ExampleContainer>
|
|
52
|
+
<ExampleContainer>
|
|
53
|
+
<Title title="Optional with label after" theme="light" level={4} />
|
|
54
|
+
<DxcCheckbox label="Checkbox" optional labelPosition="after" />
|
|
55
|
+
</ExampleContainer>
|
|
56
|
+
<ExampleContainer>
|
|
57
|
+
<Title title="Disabled and checked with label after" theme="light" level={4} />
|
|
58
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
|
|
59
|
+
</ExampleContainer>
|
|
60
|
+
<ExampleContainer>
|
|
61
|
+
<Title title="Disabled and optional with label after" theme="light" level={4} />
|
|
62
|
+
<DxcCheckbox label="Checkbox" disabled optional labelPosition="after" />
|
|
63
|
+
</ExampleContainer>
|
|
64
|
+
<ExampleContainer>
|
|
65
|
+
<Title title="Disabled, optional and checked with label after" theme="light" level={4} />
|
|
66
|
+
<DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
|
|
67
|
+
</ExampleContainer>
|
|
68
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
69
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
70
|
+
<DxcCheckbox label="Hovered" />
|
|
71
|
+
</ExampleContainer>
|
|
72
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
73
|
+
<Title title="Hovered and checked" theme="light" level={4} />
|
|
74
|
+
<DxcCheckbox label="Hovered" defaultChecked />
|
|
75
|
+
</ExampleContainer>
|
|
76
|
+
<BackgroundColorProvider color="#333333">
|
|
77
|
+
<DarkContainer>
|
|
78
|
+
<ExampleContainer>
|
|
79
|
+
<Title title="Default" theme="dark" level={4} />
|
|
80
|
+
<DxcCheckbox label="Checkbox" />
|
|
81
|
+
</ExampleContainer>
|
|
82
|
+
<ExampleContainer>
|
|
83
|
+
<Title title="Checked" theme="dark" level={4} />
|
|
84
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
85
|
+
</ExampleContainer>
|
|
86
|
+
<ExampleContainer>
|
|
87
|
+
<Title title="Optional" theme="dark" level={4} />
|
|
88
|
+
<DxcCheckbox label="Checkbox" optional />
|
|
89
|
+
</ExampleContainer>
|
|
90
|
+
<ExampleContainer>
|
|
91
|
+
<Title title="Disabled and checked" theme="dark" level={4} />
|
|
92
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked />
|
|
93
|
+
</ExampleContainer>
|
|
94
|
+
<ExampleContainer>
|
|
95
|
+
<Title title="Disabled and optional" theme="dark" level={4} />
|
|
96
|
+
<DxcCheckbox label="Checkbox" disabled optional />
|
|
97
|
+
</ExampleContainer>
|
|
98
|
+
<ExampleContainer>
|
|
99
|
+
<Title title="Disabled, optional and checked" theme="dark" level={4} />
|
|
100
|
+
<DxcCheckbox label="Checkbox" disabled optional defaultChecked />
|
|
101
|
+
</ExampleContainer>
|
|
102
|
+
<ExampleContainer>
|
|
103
|
+
<Title title="Label after" theme="dark" level={4} />
|
|
104
|
+
<DxcCheckbox label="Checkbox" labelPosition="after" />
|
|
105
|
+
</ExampleContainer>
|
|
106
|
+
<ExampleContainer>
|
|
107
|
+
<Title title="Checked with label after" theme="dark" level={4} />
|
|
108
|
+
<DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
|
|
109
|
+
</ExampleContainer>
|
|
110
|
+
<ExampleContainer>
|
|
111
|
+
<Title title="Optional with label after" theme="dark" level={4} />
|
|
112
|
+
<DxcCheckbox label="Checkbox" optional labelPosition="after" />
|
|
113
|
+
</ExampleContainer>
|
|
114
|
+
<ExampleContainer>
|
|
115
|
+
<Title title="Disabled and checked with label after" theme="dark" level={4} />
|
|
116
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
|
|
117
|
+
</ExampleContainer>
|
|
118
|
+
<ExampleContainer>
|
|
119
|
+
<Title title="Disabled and optional with label after" theme="dark" level={4} />
|
|
120
|
+
<DxcCheckbox label="Checkbox" disabled optional labelPosition="after" />
|
|
121
|
+
</ExampleContainer>
|
|
122
|
+
<ExampleContainer>
|
|
123
|
+
<Title title="Disabled, optional and checked with label after" theme="dark" level={4} />
|
|
124
|
+
<DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
|
|
125
|
+
</ExampleContainer>
|
|
126
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
127
|
+
<Title title="Hovered" theme="dark" level={4} />
|
|
128
|
+
<DxcCheckbox label="Hovered" />
|
|
129
|
+
</ExampleContainer>
|
|
130
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
131
|
+
<Title title="Hovered and checked" theme="dark" level={4} />
|
|
132
|
+
<DxcCheckbox label="Hovered" defaultChecked />
|
|
133
|
+
</ExampleContainer>
|
|
134
|
+
</DarkContainer>
|
|
135
|
+
</BackgroundColorProvider>
|
|
136
|
+
<Title title="Sizes" theme="light" level={2} />
|
|
137
|
+
<ExampleContainer>
|
|
138
|
+
<DxcCheckbox label="Small" size="small" />
|
|
139
|
+
</ExampleContainer>
|
|
140
|
+
<ExampleContainer>
|
|
141
|
+
<DxcCheckbox label="Medium" size="medium" />
|
|
142
|
+
</ExampleContainer>
|
|
143
|
+
<ExampleContainer>
|
|
144
|
+
<DxcCheckbox label="Large" size="large" />
|
|
145
|
+
</ExampleContainer>
|
|
146
|
+
<ExampleContainer>
|
|
147
|
+
<DxcCheckbox label="FitContent" size="fitContent" />
|
|
148
|
+
</ExampleContainer>
|
|
149
|
+
<ExampleContainer>
|
|
150
|
+
<DxcCheckbox label="FillParent" size="fillParent" />
|
|
151
|
+
</ExampleContainer>
|
|
152
|
+
<Title title="Margins" theme="light" level={2} />
|
|
153
|
+
<ExampleContainer>
|
|
154
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
155
|
+
<DxcCheckbox label="Xxsmall" margin="xxsmall" />
|
|
156
|
+
</ExampleContainer>
|
|
157
|
+
<ExampleContainer>
|
|
158
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
159
|
+
<DxcCheckbox label="Xsmall" margin="xsmall" />
|
|
160
|
+
</ExampleContainer>
|
|
161
|
+
<ExampleContainer>
|
|
162
|
+
<Title title="Small" theme="light" level={4} />
|
|
163
|
+
<DxcCheckbox label="Small" margin="small" />
|
|
164
|
+
</ExampleContainer>
|
|
165
|
+
<ExampleContainer>
|
|
166
|
+
<Title title="Medium" theme="light" level={4} />
|
|
167
|
+
<DxcCheckbox label="Medium" margin="medium" />
|
|
168
|
+
</ExampleContainer>
|
|
169
|
+
<ExampleContainer>
|
|
170
|
+
<Title title="Large" theme="light" level={4} />
|
|
171
|
+
<DxcCheckbox label="Large" margin="large" />
|
|
172
|
+
</ExampleContainer>
|
|
173
|
+
<ExampleContainer>
|
|
174
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
175
|
+
<DxcCheckbox label="Xlarge" margin="xlarge" />
|
|
176
|
+
</ExampleContainer>
|
|
177
|
+
<ExampleContainer>
|
|
178
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
179
|
+
<DxcCheckbox label="Xxlarge" margin="xxlarge" />
|
|
180
|
+
</ExampleContainer>
|
|
181
|
+
</>
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
export const Chromatic = Checkbox.bind({});
|
|
185
|
+
Chromatic.play = async () => {
|
|
186
|
+
await userEvent.tab();
|
|
187
|
+
await userEvent.tab();
|
|
188
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
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 _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
10
|
+
|
|
11
|
+
describe("Checkbox component tests", function () {
|
|
12
|
+
test("Checkbox renders with correct text", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
14
|
+
label: "Checkbox"
|
|
15
|
+
})),
|
|
16
|
+
getByText = _render.getByText;
|
|
17
|
+
|
|
18
|
+
expect(getByText("Checkbox")).toBeTruthy();
|
|
19
|
+
});
|
|
20
|
+
test("Calls correct function on click", function () {
|
|
21
|
+
var onChange = jest.fn();
|
|
22
|
+
|
|
23
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
24
|
+
label: "Checkbox",
|
|
25
|
+
onChange: onChange
|
|
26
|
+
})),
|
|
27
|
+
getByText = _render2.getByText;
|
|
28
|
+
|
|
29
|
+
_react2.fireEvent.click(getByText("Checkbox"));
|
|
30
|
+
|
|
31
|
+
expect(onChange).toHaveBeenCalled();
|
|
32
|
+
});
|
|
33
|
+
test("Uncontrolled checkbox", function () {
|
|
34
|
+
var onChange = jest.fn();
|
|
35
|
+
var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
36
|
+
label: "Checkbox",
|
|
37
|
+
onChange: onChange
|
|
38
|
+
}));
|
|
39
|
+
var visibleCheckbox = component.getByText("Checkbox");
|
|
40
|
+
var input = component.getByRole("checkbox");
|
|
41
|
+
expect(input.checked).toBe(false);
|
|
42
|
+
|
|
43
|
+
_react2.fireEvent.click(visibleCheckbox);
|
|
44
|
+
|
|
45
|
+
expect(onChange).toHaveBeenCalled();
|
|
46
|
+
expect(onChange).toHaveBeenCalledWith(true);
|
|
47
|
+
expect(input.checked).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
test("Controlled checkbox", function () {
|
|
50
|
+
var onChange = jest.fn();
|
|
51
|
+
var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
52
|
+
label: "Checkbox",
|
|
53
|
+
checked: false,
|
|
54
|
+
onChange: onChange
|
|
55
|
+
}));
|
|
56
|
+
var input = component.getByRole("checkbox");
|
|
57
|
+
var visibleCheckbox = component.getByText("Checkbox");
|
|
58
|
+
|
|
59
|
+
_react2.fireEvent.click(visibleCheckbox);
|
|
60
|
+
|
|
61
|
+
expect(onChange).toHaveBeenCalled();
|
|
62
|
+
expect(onChange).toHaveBeenCalledWith(true);
|
|
63
|
+
expect(input.checked).toBe(false);
|
|
64
|
+
});
|
|
65
|
+
test("Renders with correct initial value and initial state when it is uncontrolled", function () {
|
|
66
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
67
|
+
label: "Default label",
|
|
68
|
+
defaultChecked: true,
|
|
69
|
+
value: "test-defaultChecked"
|
|
70
|
+
})),
|
|
71
|
+
getByRole = _render3.getByRole;
|
|
72
|
+
|
|
73
|
+
var input = getByRole("checkbox");
|
|
74
|
+
expect(input.checked).toBe(true);
|
|
75
|
+
expect(input.value).toBe("test-defaultChecked");
|
|
76
|
+
expect(input.getAttribute("aria-checked")).toBe("true");
|
|
77
|
+
});
|
|
78
|
+
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
declare type Margin = {
|
|
3
|
+
top?: Space;
|
|
4
|
+
bottom?: Space;
|
|
5
|
+
left?: Space;
|
|
6
|
+
right?: Space;
|
|
7
|
+
};
|
|
8
|
+
declare type Props = {
|
|
9
|
+
/**
|
|
10
|
+
* Initial state of the checkbox, only when it is uncontrolled.
|
|
11
|
+
*/
|
|
12
|
+
defaultChecked?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* If true, the component is checked. If undefined the component will be
|
|
15
|
+
* uncontrolled and the value will be managed internally by the component.
|
|
16
|
+
*/
|
|
17
|
+
checked?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Will be passed to the value attribute of the html input element.
|
|
20
|
+
* When inside a form, this value will be only submitted if the checkbox is checked.
|
|
21
|
+
*/
|
|
22
|
+
value?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Text to be placed next to the checkbox.
|
|
25
|
+
*/
|
|
26
|
+
label?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the label should appear after or before the checkbox.
|
|
29
|
+
*/
|
|
30
|
+
labelPosition?: "before" | "after";
|
|
31
|
+
/**
|
|
32
|
+
* Name attribute of the input element.
|
|
33
|
+
*/
|
|
34
|
+
name?: string;
|
|
35
|
+
/**
|
|
36
|
+
* If true, the component will be disabled.
|
|
37
|
+
*/
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* If true, the component will display '(Optional)' next to the label.
|
|
41
|
+
*/
|
|
42
|
+
optional?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* This function will be called when the user clicks the checkbox.
|
|
45
|
+
* The new value will be passed as a parameter.
|
|
46
|
+
*/
|
|
47
|
+
onChange?: (value: boolean) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Size of the margin to be applied to the component
|
|
50
|
+
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
51
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties
|
|
52
|
+
* in order to specify different margin sizes.
|
|
53
|
+
*/
|
|
54
|
+
margin?: Space | Margin;
|
|
55
|
+
/**
|
|
56
|
+
* Size of the component.
|
|
57
|
+
*/
|
|
58
|
+
size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
|
|
59
|
+
/**
|
|
60
|
+
* Value of the tabindex.
|
|
61
|
+
*/
|
|
62
|
+
tabIndex?: number;
|
|
63
|
+
};
|
|
64
|
+
export default Props;
|