@dxc-technology/halstack-react 0.0.0-89339f9 → 0.0.0-8b133ff
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 +10 -0
- package/HalstackContext.js +243 -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 +168 -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 +290 -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 +59 -0
- package/badge/types.d.ts +4 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/{dist/box → box}/Box.js +15 -53
- 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/button/Button.d.ts +4 -0
- package/button/Button.js +172 -0
- package/button/Button.stories.tsx +274 -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 +163 -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 +72 -109
- 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 +1372 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +369 -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 +590 -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 +184 -0
- package/file-input/types.d.ts +112 -0
- package/file-input/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +183 -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 +300 -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 +84 -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 +10 -0
- package/layout/ApplicationLayout.js +218 -0
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/Icons.js +55 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -0
- package/link/Link.js +149 -0
- package/link/Link.stories.tsx +151 -0
- package/link/Link.test.js +91 -0
- package/link/types.d.ts +70 -0
- package/link/types.js +5 -0
- package/list/List.d.ts +4 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +47 -0
- package/{dist/main.js → main.js} +148 -72
- 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 +39 -28
- package/paginator/Icons.js +66 -0
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +192 -0
- package/paginator/Paginator.stories.tsx +63 -0
- package/paginator/Paginator.test.js +266 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +163 -0
- package/password-input/PasswordInput.stories.tsx +131 -0
- package/password-input/PasswordInput.test.js +181 -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 +64 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio/Radio.d.ts +4 -0
- package/{dist/radio → radio}/Radio.js +23 -59
- package/radio/Radio.stories.tsx +192 -0
- package/radio/Radio.test.js +71 -0
- package/radio/types.d.ts +54 -0
- package/radio/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 +280 -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 -164
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/row/Row.d.ts +3 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +237 -0
- package/row/types.d.ts +28 -0
- package/row/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 +148 -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 +655 -0
- package/select/Select.stories.tsx +582 -0
- package/select/Select.test.js +2057 -0
- package/select/types.d.ts +213 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +9 -0
- package/sidenav/Sidenav.js +136 -0
- package/sidenav/Sidenav.stories.tsx +182 -0
- package/sidenav/Sidenav.test.js +56 -0
- package/sidenav/types.d.ts +50 -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/stack/Stack.d.ts +3 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +164 -0
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +192 -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/table/Table.js +118 -0
- package/table/Table.stories.jsx +277 -0
- package/table/Table.test.js +26 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +211 -0
- package/tabs/Tabs.stories.tsx +118 -0
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +82 -0
- package/tabs/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/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +796 -0
- package/text-input/TextInput.stories.tsx +474 -0
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +166 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +286 -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/useTheme.d.ts +2 -0
- package/{dist/useTheme.js → useTheme.js} +2 -2
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +290 -0
- package/wizard/Wizard.stories.tsx +214 -0
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +64 -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 -340
- 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 -61
- package/dist/button/Button.js +0 -228
- package/dist/button/Button.stories.js +0 -224
- package/dist/button/readme.md +0 -93
- package/dist/card/Card.js +0 -256
- package/dist/checkbox/Checkbox.stories.js +0 -144
- package/dist/checkbox/readme.md +0 -116
- package/dist/chip/Chip.js +0 -263
- package/dist/common/variables.js +0 -1154
- package/dist/date/Date.js +0 -391
- package/dist/date/Date.stories.js +0 -205
- package/dist/date/calendar.svg +0 -1
- package/dist/date/calendar_dark.svg +0 -1
- package/dist/date/readme.md +0 -73
- package/dist/dialog/Dialog.js +0 -236
- package/dist/dialog/Dialog.stories.js +0 -217
- package/dist/dialog/readme.md +0 -32
- package/dist/dropdown/Dropdown.js +0 -492
- 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.png +0 -0
- package/dist/header/dxc_logo_blk_rgb.svg +0 -6
- package/dist/header/dxc_logo_white.png +0 -0
- package/dist/header/hamb_menu_black.svg +0 -1
- package/dist/header/hamb_menu_white.svg +0 -1
- package/dist/header/readme.md +0 -33
- package/dist/input-text/InputText.js +0 -669
- 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 -240
- 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.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 -545
- 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/table/Table.js +0 -122
- package/dist/tabs/Tabs.js +0 -347
- 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 -383
- package/dist/wizard/invalid_icon.svg +0 -6
- package/dist/wizard/valid_icon.svg +0 -6
- package/dist/wizard/validation-wrong.svg +0 -6
- package/test/Accordion.test.js +0 -33
- package/test/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
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Title from "../../.storybook/components/Title";
|
|
3
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
4
|
+
import DxcCard from "./Card";
|
|
5
|
+
import imagePath from "./ice-cream.jpg";
|
|
6
|
+
import { userEvent, within } from "@storybook/testing-library";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "Card",
|
|
10
|
+
component: DxcCard,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const Card = () => (
|
|
14
|
+
<>
|
|
15
|
+
<Title title="Default" theme="light" level={4} />
|
|
16
|
+
<ExampleContainer>
|
|
17
|
+
<DxcCard>Default</DxcCard>
|
|
18
|
+
</ExampleContainer>
|
|
19
|
+
<Title title="Not outlined" theme="light" level={4} />
|
|
20
|
+
<ExampleContainer>
|
|
21
|
+
<DxcCard outlined={false}>Not outlined</DxcCard>
|
|
22
|
+
</ExampleContainer>
|
|
23
|
+
<Title title="Default with link" theme="light" level={4} />
|
|
24
|
+
<ExampleContainer>
|
|
25
|
+
<DxcCard linkHref="https://www.dxc.com">Default with link</DxcCard>
|
|
26
|
+
</ExampleContainer>
|
|
27
|
+
<Title title="Focused default with link" theme="light" level={4} />
|
|
28
|
+
<ExampleContainer>
|
|
29
|
+
<DxcCard linkHref="https://www.dxc.com">Focused default with link</DxcCard>
|
|
30
|
+
</ExampleContainer>
|
|
31
|
+
<Title title="Hovered default with link" theme="light" level={4} />
|
|
32
|
+
<ExampleContainer>
|
|
33
|
+
<DxcCard linkHref="https://www.dxc.com">Hovered default with link</DxcCard>
|
|
34
|
+
</ExampleContainer>
|
|
35
|
+
<Title title="Default with action" theme="light" level={4} />
|
|
36
|
+
<ExampleContainer>
|
|
37
|
+
<DxcCard onClick={() => {}}>Default with action</DxcCard>
|
|
38
|
+
</ExampleContainer>
|
|
39
|
+
<Title title="Default with image" theme="light" level={4} />
|
|
40
|
+
<ExampleContainer>
|
|
41
|
+
<DxcCard imageSrc={imagePath}>Default</DxcCard>
|
|
42
|
+
</ExampleContainer>
|
|
43
|
+
<Title title="Default image with background color" theme="light" level={4} />
|
|
44
|
+
<ExampleContainer>
|
|
45
|
+
<DxcCard imageSrc={imagePath} imageBgColor="yellow">
|
|
46
|
+
Background color
|
|
47
|
+
</DxcCard>
|
|
48
|
+
</ExampleContainer>
|
|
49
|
+
<Title title="Default image with position after" theme="light" level={4} />
|
|
50
|
+
<ExampleContainer>
|
|
51
|
+
<DxcCard imageSrc={imagePath} imagePosition="after">
|
|
52
|
+
Position after
|
|
53
|
+
</DxcCard>
|
|
54
|
+
</ExampleContainer>
|
|
55
|
+
<Title title="Image cover" theme="light" level={4} />
|
|
56
|
+
<ExampleContainer>
|
|
57
|
+
<DxcCard imageSrc={imagePath} imageCover>
|
|
58
|
+
Image cover
|
|
59
|
+
</DxcCard>
|
|
60
|
+
</ExampleContainer>
|
|
61
|
+
<Title title="Image cover with position after" theme="light" level={4} />
|
|
62
|
+
<ExampleContainer>
|
|
63
|
+
<DxcCard imageSrc={imagePath} imageCover imagePosition="after">
|
|
64
|
+
Image cover with position after
|
|
65
|
+
</DxcCard>
|
|
66
|
+
</ExampleContainer>
|
|
67
|
+
<Title title="Image padding" theme="light" level={2} />
|
|
68
|
+
<ExampleContainer>
|
|
69
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
70
|
+
<DxcCard imageSrc={imagePath} imagePadding="xxsmall" imageCover>
|
|
71
|
+
Xxsmall
|
|
72
|
+
</DxcCard>
|
|
73
|
+
</ExampleContainer>
|
|
74
|
+
<ExampleContainer>
|
|
75
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
76
|
+
<DxcCard imageSrc={imagePath} imagePadding="xsmall" imageCover>
|
|
77
|
+
Xsmall
|
|
78
|
+
</DxcCard>
|
|
79
|
+
</ExampleContainer>
|
|
80
|
+
<ExampleContainer>
|
|
81
|
+
<Title title="Small" theme="light" level={4} />
|
|
82
|
+
<DxcCard imageSrc={imagePath} imagePadding="small" imageCover>
|
|
83
|
+
Small
|
|
84
|
+
</DxcCard>
|
|
85
|
+
</ExampleContainer>
|
|
86
|
+
<ExampleContainer>
|
|
87
|
+
<Title title="Medium" theme="light" level={4} />
|
|
88
|
+
<DxcCard imageSrc={imagePath} imagePadding="medium" imageCover>
|
|
89
|
+
Medium
|
|
90
|
+
</DxcCard>
|
|
91
|
+
</ExampleContainer>
|
|
92
|
+
<ExampleContainer>
|
|
93
|
+
<Title title="Large" theme="light" level={4} />
|
|
94
|
+
<DxcCard imageSrc={imagePath} imagePadding="large" imageCover>
|
|
95
|
+
Large
|
|
96
|
+
</DxcCard>
|
|
97
|
+
</ExampleContainer>
|
|
98
|
+
<ExampleContainer>
|
|
99
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
100
|
+
<DxcCard imageSrc={imagePath} imagePadding="xlarge" imageCover>
|
|
101
|
+
Xlarge
|
|
102
|
+
</DxcCard>
|
|
103
|
+
</ExampleContainer>
|
|
104
|
+
<ExampleContainer>
|
|
105
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
106
|
+
<DxcCard imageSrc={imagePath} imagePadding="xxlarge" imageCover>
|
|
107
|
+
Xxlarge
|
|
108
|
+
</DxcCard>
|
|
109
|
+
</ExampleContainer>
|
|
110
|
+
<Title title="Content padding" theme="light" level={2} />
|
|
111
|
+
<ExampleContainer>
|
|
112
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
113
|
+
<DxcCard contentPadding="xxsmall">Xxsmall</DxcCard>
|
|
114
|
+
</ExampleContainer>
|
|
115
|
+
<ExampleContainer>
|
|
116
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
117
|
+
<DxcCard contentPadding="xsmall">Xsmall</DxcCard>
|
|
118
|
+
</ExampleContainer>
|
|
119
|
+
<ExampleContainer>
|
|
120
|
+
<Title title="Small" theme="light" level={4} />
|
|
121
|
+
<DxcCard contentPadding="small">Small</DxcCard>
|
|
122
|
+
</ExampleContainer>
|
|
123
|
+
<ExampleContainer>
|
|
124
|
+
<Title title="Medium" theme="light" level={4} />
|
|
125
|
+
<DxcCard contentPadding="medium">Medium</DxcCard>
|
|
126
|
+
</ExampleContainer>
|
|
127
|
+
<ExampleContainer>
|
|
128
|
+
<Title title="Large" theme="light" level={4} />
|
|
129
|
+
<DxcCard contentPadding="large">Large</DxcCard>
|
|
130
|
+
</ExampleContainer>
|
|
131
|
+
<ExampleContainer>
|
|
132
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
133
|
+
<DxcCard contentPadding="xlarge">Xlarge</DxcCard>
|
|
134
|
+
</ExampleContainer>
|
|
135
|
+
<ExampleContainer>
|
|
136
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
137
|
+
<DxcCard contentPadding="xxlarge">Xxlarge</DxcCard>
|
|
138
|
+
</ExampleContainer>
|
|
139
|
+
<Title title="Margin" theme="light" level={2} />
|
|
140
|
+
<ExampleContainer>
|
|
141
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
142
|
+
<DxcCard margin="xxsmall">Xxsmall</DxcCard>
|
|
143
|
+
</ExampleContainer>
|
|
144
|
+
<ExampleContainer>
|
|
145
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
146
|
+
<DxcCard margin="xsmall">Xsmall</DxcCard>
|
|
147
|
+
</ExampleContainer>
|
|
148
|
+
<ExampleContainer>
|
|
149
|
+
<Title title="Small" theme="light" level={4} />
|
|
150
|
+
<DxcCard margin="small">Small</DxcCard>
|
|
151
|
+
</ExampleContainer>
|
|
152
|
+
<ExampleContainer>
|
|
153
|
+
<Title title="Medium" theme="light" level={4} />
|
|
154
|
+
<DxcCard margin="medium">Medium</DxcCard>
|
|
155
|
+
</ExampleContainer>
|
|
156
|
+
<ExampleContainer>
|
|
157
|
+
<Title title="Large" theme="light" level={4} />
|
|
158
|
+
<DxcCard margin="large">Large</DxcCard>
|
|
159
|
+
</ExampleContainer>
|
|
160
|
+
<ExampleContainer>
|
|
161
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
162
|
+
<DxcCard margin="xlarge">Xlarge</DxcCard>
|
|
163
|
+
</ExampleContainer>
|
|
164
|
+
<ExampleContainer>
|
|
165
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
166
|
+
<DxcCard margin="xxlarge">Xxlarge</DxcCard>
|
|
167
|
+
</ExampleContainer>
|
|
168
|
+
</>
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
const actionCard = () => (
|
|
172
|
+
<>
|
|
173
|
+
<ExampleContainer>
|
|
174
|
+
<Title title="Focused default with action" theme="light" level={4} />
|
|
175
|
+
<DxcCard onClick={() => {}}>Focused default with action</DxcCard>
|
|
176
|
+
</ExampleContainer>
|
|
177
|
+
<ExampleContainer expanded>
|
|
178
|
+
<Title title="Hovered default with action" theme="light" level={4} />
|
|
179
|
+
<DxcCard onClick={() => {}}>Hovered default with action</DxcCard>
|
|
180
|
+
</ExampleContainer>
|
|
181
|
+
</>
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
const linkStates = async (focusCard, hoverCard) => {
|
|
185
|
+
await focusCard.focus();
|
|
186
|
+
await userEvent.hover(hoverCard);
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
export const ActionCardStates = actionCard.bind({});
|
|
190
|
+
ActionCardStates.play = async ({ canvasElement }) => {
|
|
191
|
+
const canvas = within(canvasElement);
|
|
192
|
+
await userEvent.tab();
|
|
193
|
+
await userEvent.hover(canvas.getAllByText("Hovered default with action")[1]);
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
export const Chromatic = Card.bind({});
|
|
197
|
+
Chromatic.play = async ({ canvasElement }) => {
|
|
198
|
+
const canvas = within(canvasElement);
|
|
199
|
+
const linkCards = canvas.getAllByRole("link");
|
|
200
|
+
await linkStates(linkCards[1], linkCards[2]);
|
|
201
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
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 _Card = _interopRequireDefault(require("./Card"));
|
|
10
|
+
|
|
11
|
+
describe("Card component tests", function () {
|
|
12
|
+
test("Card renders with correct content", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
|
|
14
|
+
getByText = _render.getByText;
|
|
15
|
+
|
|
16
|
+
expect(getByText("test-card")).toBeTruthy();
|
|
17
|
+
});
|
|
18
|
+
test("Card renders with correct href", function () {
|
|
19
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
20
|
+
linkHref: "/testPage"
|
|
21
|
+
}, "test-card")),
|
|
22
|
+
getByRole = _render2.getByRole;
|
|
23
|
+
|
|
24
|
+
var card = getByRole("link");
|
|
25
|
+
expect(card.getAttribute("href")).toEqual("/testPage");
|
|
26
|
+
});
|
|
27
|
+
test("Card renders with correct image", function () {
|
|
28
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
29
|
+
imageSrc: "/testImage"
|
|
30
|
+
}, "test-card")),
|
|
31
|
+
getByRole = _render3.getByRole;
|
|
32
|
+
|
|
33
|
+
var card = getByRole("img");
|
|
34
|
+
expect(card.getAttribute("src")).toEqual("/testImage");
|
|
35
|
+
});
|
|
36
|
+
test("OnClick function is called", function () {
|
|
37
|
+
var onClick = jest.fn();
|
|
38
|
+
|
|
39
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
40
|
+
onClick: onClick
|
|
41
|
+
}, "test-card")),
|
|
42
|
+
getByText = _render4.getByText;
|
|
43
|
+
|
|
44
|
+
var card = getByText("test-card");
|
|
45
|
+
|
|
46
|
+
_react2.fireEvent.click(card);
|
|
47
|
+
|
|
48
|
+
expect(onClick).toHaveBeenCalled();
|
|
49
|
+
});
|
|
50
|
+
});
|
|
Binary file
|
package/card/types.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Size = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
declare type Props = {
|
|
10
|
+
/**
|
|
11
|
+
* URL of the image that will be placed in the card component.
|
|
12
|
+
* In case of omission, the image container will not appear and
|
|
13
|
+
* the content will occupy its space.
|
|
14
|
+
*/
|
|
15
|
+
imageSrc?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Color of the image background.
|
|
18
|
+
*/
|
|
19
|
+
imageBgColor?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Size of the padding to be applied to the image section of the
|
|
22
|
+
* component. You can pass an object with 'top', 'bottom', 'left'
|
|
23
|
+
* and 'right' properties in order to specify different padding sizes.
|
|
24
|
+
*/
|
|
25
|
+
imagePadding?: Space | Size;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the image should appear in relation to the content.
|
|
28
|
+
*/
|
|
29
|
+
imagePosition?: "before" | "after";
|
|
30
|
+
/**
|
|
31
|
+
* If defined, the tag will be displayed as an anchor, using this prop
|
|
32
|
+
* as "href". Component will show some visual feedback on hover.
|
|
33
|
+
*/
|
|
34
|
+
linkHref?: string;
|
|
35
|
+
/**
|
|
36
|
+
* This function will be called when the user clicks the card. Component
|
|
37
|
+
* will show some visual feedback on hover.
|
|
38
|
+
*/
|
|
39
|
+
onClick?: () => void;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the image must cover the whole image area of the card.
|
|
42
|
+
*/
|
|
43
|
+
imageCover?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
46
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
47
|
+
*/
|
|
48
|
+
margin?: Space | Size;
|
|
49
|
+
/**
|
|
50
|
+
* Size of the padding to be applied to the content area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
51
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
|
|
52
|
+
*/
|
|
53
|
+
contentPadding?: Space | Size;
|
|
54
|
+
/**
|
|
55
|
+
* Value of the tabindex given when there is an href.
|
|
56
|
+
*/
|
|
57
|
+
tabIndex?: number;
|
|
58
|
+
/**
|
|
59
|
+
* Whether the card must be outlined.
|
|
60
|
+
*/
|
|
61
|
+
outlined?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Custom content that will be placed in the card component.
|
|
64
|
+
*/
|
|
65
|
+
children?: React.ReactNode;
|
|
66
|
+
};
|
|
67
|
+
export default Props;
|
package/card/types.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import CheckboxPropsType from "./types";
|
|
3
|
+
declare const DxcCheckbox: ({ checked, defaultChecked, value, label, labelPosition, name, disabled, optional, onChange, margin, size, tabIndex, }: CheckboxPropsType) => JSX.Element;
|
|
4
|
+
export default DxcCheckbox;
|
|
@@ -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,26 @@ 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
|
|
35
|
-
|
|
36
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
|
|
37
|
-
|
|
38
|
-
function _templateObject3() {
|
|
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"]);
|
|
40
|
-
|
|
41
|
-
_templateObject3 = function _templateObject3() {
|
|
42
|
-
return data;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return data;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function _templateObject2() {
|
|
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 &.Mui-disabled{\n color: ", ";\n }\n &.Mui-checked {\n color:", ";\n &:hover {\n background-color: transparent;\n color:", ";\n }\n }\n }\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n color: ", ";\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 color:", ";\n\n } }\n .MuiSvgIcon-root {\n width: 26.6px;\n height: 26.6px;\n }\n"]);
|
|
28
|
+
var _uuid = require("uuid");
|
|
50
29
|
|
|
51
|
-
|
|
52
|
-
return data;
|
|
53
|
-
};
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
54
31
|
|
|
55
|
-
|
|
56
|
-
}
|
|
32
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
57
33
|
|
|
58
|
-
|
|
59
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"]);
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
60
35
|
|
|
61
|
-
|
|
62
|
-
return data;
|
|
63
|
-
};
|
|
36
|
+
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); }
|
|
64
37
|
|
|
65
|
-
|
|
66
|
-
}
|
|
38
|
+
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
39
|
|
|
68
40
|
var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
69
41
|
var checked = _ref.checked,
|
|
42
|
+
_ref$defaultChecked = _ref.defaultChecked,
|
|
43
|
+
defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
|
|
70
44
|
value = _ref.value,
|
|
71
45
|
_ref$label = _ref.label,
|
|
72
46
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
@@ -76,22 +50,33 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
76
50
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
77
51
|
_ref$disabled = _ref.disabled,
|
|
78
52
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
53
|
+
_ref$optional = _ref.optional,
|
|
54
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
79
55
|
onChange = _ref.onChange,
|
|
80
|
-
_ref$required = _ref.required,
|
|
81
|
-
required = _ref$required === void 0 ? false : _ref$required,
|
|
82
56
|
margin = _ref.margin,
|
|
83
57
|
_ref$size = _ref.size,
|
|
84
58
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
85
59
|
_ref$tabIndex = _ref.tabIndex,
|
|
86
60
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
87
61
|
|
|
88
|
-
var _useState = (0, _react.useState)(
|
|
89
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState,
|
|
90
|
-
|
|
91
|
-
|
|
62
|
+
var _useState = (0, _react.useState)("checkbox-".concat((0, _uuid.v4)())),
|
|
63
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
64
|
+
switchId = _useState2[0];
|
|
65
|
+
|
|
66
|
+
var labelId = "label-".concat(switchId);
|
|
67
|
+
|
|
68
|
+
var _useState3 = (0, _react.useState)(defaultChecked),
|
|
69
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
70
|
+
innerChecked = _useState4[0],
|
|
71
|
+
setInnerChecked = _useState4[1];
|
|
72
|
+
|
|
73
|
+
var _useState5 = (0, _react.useState)(false),
|
|
74
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
75
|
+
isLabelHovered = _useState6[0],
|
|
76
|
+
setIsLabelHovered = _useState6[1];
|
|
92
77
|
|
|
93
78
|
var colorsTheme = (0, _useTheme["default"])();
|
|
94
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"])
|
|
79
|
+
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
95
80
|
|
|
96
81
|
var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
|
|
97
82
|
if (checked === undefined) {
|
|
@@ -108,20 +93,40 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
108
93
|
}
|
|
109
94
|
};
|
|
110
95
|
|
|
111
|
-
|
|
96
|
+
var handleLabelHover = function handleLabelHover() {
|
|
97
|
+
setIsLabelHovered(!isLabelHovered);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
101
|
+
id: labelId,
|
|
102
|
+
labelPosition: labelPosition,
|
|
103
|
+
onClick: disabled === true ? function () {} : handlerCheckboxChange,
|
|
104
|
+
disabled: disabled,
|
|
105
|
+
className: "labelContainer",
|
|
106
|
+
backgroundType: backgroundType,
|
|
107
|
+
onMouseOver: handleLabelHover,
|
|
108
|
+
onMouseOut: handleLabelHover
|
|
109
|
+
}, labelPosition === "before" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, label, " ", optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)")) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)"), " ", label));
|
|
110
|
+
|
|
111
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
112
112
|
theme: colorsTheme.checkbox
|
|
113
|
-
}, _react["default"].createElement(CheckboxContainer, {
|
|
113
|
+
}, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
|
|
114
114
|
id: name,
|
|
115
115
|
brightness: _variables.componentTokens,
|
|
116
|
+
label: label,
|
|
116
117
|
labelPosition: labelPosition,
|
|
117
118
|
disabled: disabled,
|
|
118
119
|
margin: margin,
|
|
119
120
|
size: size,
|
|
120
|
-
backgroundType: backgroundType
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
backgroundType: backgroundType,
|
|
122
|
+
isLabelHovered: isLabelHovered
|
|
123
|
+
}, label && labelPosition === "before" && labelComponent, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
124
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
125
|
+
inputProps: {
|
|
126
|
+
name: name,
|
|
127
|
+
"aria-labelledby": labelId,
|
|
128
|
+
role: "checkbox",
|
|
129
|
+
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
|
|
125
130
|
},
|
|
126
131
|
onChange: handlerCheckboxChange,
|
|
127
132
|
value: value,
|
|
@@ -129,18 +134,12 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
129
134
|
disableRipple: true,
|
|
130
135
|
className: "test",
|
|
131
136
|
tabIndex: tabIndex
|
|
132
|
-
}), _react["default"].createElement(CheckboxBlackBack, {
|
|
133
|
-
labelPosition: labelPosition,
|
|
134
|
-
disabled: disabled,
|
|
135
|
-
checked: checked != undefined ? checked : innerChecked,
|
|
136
|
-
backgroundType: backgroundType
|
|
137
|
-
}), required && _react["default"].createElement(_RequiredComponent["default"], null), label && _react["default"].createElement(LabelContainer, {
|
|
137
|
+
}), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
|
|
138
138
|
labelPosition: labelPosition,
|
|
139
|
-
onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
|
|
140
139
|
disabled: disabled,
|
|
141
|
-
|
|
140
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
142
141
|
backgroundType: backgroundType
|
|
143
|
-
}, label))
|
|
142
|
+
}), label && labelPosition === "after" && labelComponent));
|
|
144
143
|
};
|
|
145
144
|
|
|
146
145
|
var sizes = {
|
|
@@ -163,19 +162,15 @@ var getDisabledColor = function getDisabledColor(props, element) {
|
|
|
163
162
|
switch (element) {
|
|
164
163
|
case "check":
|
|
165
164
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
|
|
166
|
-
break;
|
|
167
165
|
|
|
168
166
|
case "background":
|
|
169
167
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
|
|
170
|
-
break;
|
|
171
168
|
|
|
172
169
|
case "border":
|
|
173
170
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
|
|
174
|
-
break;
|
|
175
171
|
|
|
176
172
|
case "label":
|
|
177
173
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
|
|
178
|
-
break;
|
|
179
174
|
}
|
|
180
175
|
};
|
|
181
176
|
|
|
@@ -183,35 +178,31 @@ var getNotDisabledColor = function getNotDisabledColor(props, element) {
|
|
|
183
178
|
switch (element) {
|
|
184
179
|
case "check":
|
|
185
180
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
|
|
186
|
-
break;
|
|
187
181
|
|
|
188
182
|
case "background":
|
|
189
183
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
|
|
190
|
-
break;
|
|
191
184
|
|
|
192
185
|
case "border":
|
|
193
186
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
|
|
194
|
-
break;
|
|
195
187
|
|
|
196
188
|
case "label":
|
|
197
189
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
198
|
-
break;
|
|
199
190
|
}
|
|
200
191
|
};
|
|
201
192
|
|
|
202
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
|
|
193
|
+
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) {
|
|
203
194
|
return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
|
|
204
|
-
}, function (props) {
|
|
205
|
-
return props.disabled ? "not-allowed" : "pointer";
|
|
206
195
|
}, function (props) {
|
|
207
196
|
return props.theme.fontFamily;
|
|
208
197
|
}, function (props) {
|
|
209
198
|
return props.theme.fontSize;
|
|
210
199
|
}, function (props) {
|
|
211
200
|
return props.theme.fontWeight;
|
|
201
|
+
}, function (props) {
|
|
202
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
212
203
|
});
|
|
213
204
|
|
|
214
|
-
var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
|
|
205
|
+
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) {
|
|
215
206
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
216
207
|
}, function (props) {
|
|
217
208
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -226,34 +217,28 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
|
|
|
226
217
|
}, function (props) {
|
|
227
218
|
return props.disabled ? "not-allowed" : "pointer";
|
|
228
219
|
}, function (props) {
|
|
229
|
-
return props.
|
|
220
|
+
return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
|
|
230
221
|
}, function (props) {
|
|
231
|
-
return
|
|
222
|
+
return getDisabledColor(props, "border");
|
|
232
223
|
}, function (props) {
|
|
233
224
|
return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
|
|
234
225
|
}, function (props) {
|
|
235
|
-
return props.backgroundType
|
|
226
|
+
return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
|
|
236
227
|
}, function (props) {
|
|
237
|
-
return props.backgroundType
|
|
228
|
+
return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
|
|
238
229
|
}, function (props) {
|
|
239
|
-
return props.theme.focusColor;
|
|
230
|
+
return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
240
231
|
}, function (props) {
|
|
241
|
-
return props.labelPosition === "
|
|
232
|
+
return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
|
|
242
233
|
}, function (props) {
|
|
243
|
-
return props.theme.checkLabelSpacing;
|
|
234
|
+
return props.labelPosition === "after" && props.label ? props.theme.checkLabelSpacing : "0";
|
|
244
235
|
}, function (props) {
|
|
245
|
-
return props.labelPosition === "
|
|
236
|
+
return props.labelPosition === "before" ? "unset" : "1px";
|
|
246
237
|
}, function (props) {
|
|
247
|
-
return props.labelPosition === "before" ? "
|
|
248
|
-
}, function (props) {
|
|
249
|
-
return props.labelPosition === "after" ? "0px" : "";
|
|
250
|
-
}, function (props) {
|
|
251
|
-
return props.labelPosition === "before" ? "0px" : "";
|
|
252
|
-
}, function (props) {
|
|
253
|
-
return props.disabled ? getDisabledColor(props, "border") : getNotDisabledColor(props, "border");
|
|
238
|
+
return props.labelPosition === "before" ? "1px" : "unset";
|
|
254
239
|
});
|
|
255
240
|
|
|
256
|
-
var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), function (props) {
|
|
241
|
+
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) {
|
|
257
242
|
return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
|
|
258
243
|
}, function (props) {
|
|
259
244
|
return props.labelPosition === "before" ? "unset" : "5px";
|
|
@@ -263,29 +248,7 @@ var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), fu
|
|
|
263
248
|
return props.labelPosition === "after" ? "0px" : "";
|
|
264
249
|
}, function (props) {
|
|
265
250
|
return props.labelPosition === "before" ? "0px" : "";
|
|
266
|
-
}, function (props) {
|
|
267
|
-
return props.labelPosition === "after" ? "0px" : "";
|
|
268
|
-
}, function (props) {
|
|
269
|
-
return props.labelPosition === "before" ? "0px" : "";
|
|
270
251
|
});
|
|
271
252
|
|
|
272
|
-
DxcCheckbox.propTypes = {
|
|
273
|
-
checked: _propTypes["default"].bool,
|
|
274
|
-
value: _propTypes["default"].any,
|
|
275
|
-
label: _propTypes["default"].string,
|
|
276
|
-
labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
277
|
-
name: _propTypes["default"].string,
|
|
278
|
-
disabled: _propTypes["default"].bool,
|
|
279
|
-
onChange: _propTypes["default"].func,
|
|
280
|
-
required: _propTypes["default"].bool,
|
|
281
|
-
size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
|
|
282
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
283
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
284
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
285
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
286
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
287
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
288
|
-
tabIndex: _propTypes["default"].number
|
|
289
|
-
};
|
|
290
253
|
var _default = DxcCheckbox;
|
|
291
254
|
exports["default"] = _default;
|