@automattic/vip-design-system 1.2.0 → 1.2.2
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/.storybook/decorators/withBoundingBox.tsx +11 -0
- package/.storybook/decorators/{withThemeProvider.jsx → withThemeProvider.tsx} +1 -5
- package/.storybook/{preview.js → preview.tsx} +12 -3
- package/build/declaration.d.js +1 -0
- package/build/system/Accordion/Accordion.d.ts +41 -0
- package/build/system/Accordion/Accordion.js +10 -35
- package/build/system/Accordion/Accordion.stories.d.ts +13 -0
- package/build/system/Accordion/Accordion.stories.js +4 -7
- package/build/system/Accordion/Accordion.test.d.ts +2 -0
- package/build/system/Accordion/Accordion.test.js +5 -7
- package/build/system/Accordion/index.d.ts +5 -0
- package/build/system/Avatar/Avatar.d.ts +13 -0
- package/build/system/Avatar/Avatar.js +7 -20
- package/build/system/Avatar/Avatar.stories.d.ts +16 -0
- package/build/system/Avatar/Avatar.stories.js +5 -7
- package/build/system/Avatar/Avatar.test.d.ts +1 -0
- package/build/system/Avatar/Avatar.test.js +5 -7
- package/build/system/Avatar/index.d.ts +4 -0
- package/build/system/Avatar/index.js +1 -0
- package/build/system/Badge/Badge.d.ts +6 -0
- package/build/system/Badge/Badge.js +6 -15
- package/build/system/Badge/Badge.stories.d.ts +18 -0
- package/build/system/Badge/Badge.stories.js +70 -71
- package/build/system/Badge/Badge.test.d.ts +1 -0
- package/build/system/Badge/Badge.test.js +6 -8
- package/build/system/Badge/index.d.ts +4 -0
- package/build/system/Badge/index.js +1 -0
- package/build/system/Box/Box.d.ts +3 -0
- package/build/system/{Form/Label.stories.js → Box/Box.js} +15 -31
- package/build/system/Box/Box.stories.d.ts +16 -0
- package/build/system/Box/Box.stories.js +21 -0
- package/build/system/Box/index.d.ts +2 -0
- package/build/system/Box/index.js +5 -4
- package/build/system/Button/Button.d.ts +12 -0
- package/build/system/Button/Button.js +10 -18
- package/build/system/Button/Button.stories.d.ts +30 -0
- package/build/system/Button/Button.stories.js +10 -20
- package/build/system/Button/Button.test.d.ts +1 -0
- package/build/system/Button/Button.test.js +45 -74
- package/build/system/Button/ButtonSubmit.d.ts +2 -0
- package/build/system/Button/ButtonSubmit.js +60 -70
- package/build/system/Button/ButtonSubmit.stories.d.ts +38 -0
- package/build/system/Button/ButtonSubmit.stories.jsx +40 -0
- package/build/system/Button/ButtonSubmit.test.d.ts +1 -0
- package/build/system/Button/ButtonSubmit.test.js +32 -60
- package/build/system/Button/index.d.ts +3 -0
- package/build/system/Button/index.js +7 -6
- package/build/system/Button/variants.d.ts +2 -0
- package/build/system/Button/variants.js +1 -6
- package/build/system/Card/Card.d.ts +9 -0
- package/build/system/Card/Card.js +2 -10
- package/build/system/Card/Card.stories.d.ts +7 -0
- package/build/system/Card/Card.stories.js +4 -6
- package/build/system/Card/Card.test.d.ts +1 -0
- package/build/system/Card/Card.test.js +5 -7
- package/build/system/Card/index.d.ts +4 -0
- package/build/system/Card/index.js +1 -0
- package/build/system/Code/Code.d.ts +15 -0
- package/build/system/Code/Code.js +14 -21
- package/build/system/Code/Code.stories.d.ts +18 -0
- package/build/system/Code/Code.stories.js +31 -23
- package/build/system/Code/Code.test.d.ts +1 -0
- package/build/system/Code/Code.test.js +10 -11
- package/build/system/Code/index.d.ts +4 -0
- package/build/system/Code/index.js +1 -0
- package/build/system/ConfirmationDialog/ConfirmationDialog.d.ts +35 -0
- package/build/system/ConfirmationDialog/ConfirmationDialog.js +68 -94
- package/build/system/ConfirmationDialog/ConfirmationDialog.stories.d.ts +7 -0
- package/build/system/ConfirmationDialog/ConfirmationDialog.stories.jsx +29 -0
- package/build/system/ConfirmationDialog/index.d.ts +3 -0
- package/build/system/ConfirmationDialog/index.js +5 -5
- package/build/system/Dialog/Dialog.d.ts +18 -0
- package/build/system/Dialog/Dialog.js +81 -94
- package/build/system/Dialog/Dialog.stories.d.ts +7 -0
- package/build/system/Dialog/Dialog.stories.jsx +60 -0
- package/build/system/Dialog/DialogButton.d.ts +16 -0
- package/build/system/Dialog/DialogButton.js +51 -66
- package/build/system/Dialog/DialogContent.d.ts +18 -0
- package/build/system/Dialog/DialogContent.js +142 -137
- package/build/system/Dialog/DialogDivider.d.ts +5 -0
- package/build/system/Dialog/DialogDivider.js +5 -16
- package/build/system/Dialog/DialogMenu.d.ts +5 -0
- package/build/system/Dialog/DialogMenu.js +5 -18
- package/build/system/Dialog/DialogMenuItem.d.ts +13 -0
- package/build/system/Dialog/DialogMenuItem.js +64 -71
- package/build/system/Dialog/DialogTrigger.d.ts +1 -0
- package/build/system/Dialog/DialogTrigger.js +10 -16
- package/build/system/Dialog/index.d.ts +8 -0
- package/build/system/Dialog/index.js +19 -16
- package/build/system/Dropdown/Dropdown.d.ts +37 -0
- package/build/system/Dropdown/Dropdown.js +96 -93
- package/build/system/Dropdown/Dropdown.stories.d.ts +34 -0
- package/build/system/Dropdown/Dropdown.stories.jsx +170 -0
- package/build/system/Dropdown/Dropdown.test.d.ts +1 -0
- package/build/system/Dropdown/Dropdown.test.js +30 -52
- package/build/system/Dropdown/DropdownContent.d.ts +11 -0
- package/build/system/Dropdown/DropdownContent.js +40 -49
- package/build/system/Dropdown/DropdownItem.d.ts +32 -0
- package/build/system/Dropdown/DropdownItem.js +91 -95
- package/build/system/Dropdown/DropdownLabel.d.ts +8 -0
- package/build/system/Dropdown/DropdownLabel.js +24 -33
- package/build/system/Dropdown/DropdownSeparator.d.ts +7 -0
- package/build/system/Dropdown/DropdownSeparator.js +23 -32
- package/build/system/Dropdown/index.d.ts +40 -0
- package/build/system/Dropdown/index.js +49 -37
- package/build/system/Flex/Flex.d.ts +2 -0
- package/build/system/Flex/Flex.js +6 -8
- package/build/system/Flex/Flex.stories.d.ts +7 -0
- package/build/system/Flex/Flex.stories.js +3 -5
- package/build/system/Flex/index.d.ts +4 -0
- package/build/system/Flex/index.js +1 -0
- package/build/system/Form/Checkbox.d.ts +10 -0
- package/build/system/Form/Checkbox.js +61 -62
- package/build/system/Form/Checkbox.stories.d.ts +7 -0
- package/build/system/Form/Checkbox.stories.jsx +54 -0
- package/build/system/Form/Input.d.ts +2 -0
- package/build/system/Form/Input.js +70 -69
- package/build/system/Form/Input.stories.d.ts +5 -0
- package/build/system/Form/Input.stories.jsx +38 -0
- package/build/system/Form/Input.styles.d.ts +32 -0
- package/build/system/Form/Input.styles.js +29 -40
- package/build/system/Form/InputWithCopyButton.d.ts +2 -0
- package/build/system/Form/InputWithCopyButton.js +109 -105
- package/build/system/Form/InputWithCopyButton.stories.d.ts +5 -0
- package/build/system/Form/InputWithCopyButton.stories.jsx +30 -0
- package/build/system/Form/Label.d.ts +9 -0
- package/build/system/Form/Label.js +41 -47
- package/build/system/Form/Label.stories.d.ts +6 -0
- package/build/system/Form/Label.stories.jsx +36 -0
- package/build/system/Form/Radio.d.ts +2 -0
- package/build/system/Form/Radio.js +185 -169
- package/build/system/Form/Radio.stories.d.ts +7 -0
- package/build/system/Form/Radio.stories.jsx +100 -0
- package/build/system/Form/RadioBoxGroup.d.ts +2 -0
- package/build/system/Form/RadioBoxGroup.js +193 -187
- package/build/system/Form/RadioBoxGroup.stories.d.ts +8 -0
- package/build/system/Form/RadioBoxGroup.stories.jsx +60 -0
- package/build/system/Form/RequiredLabel.d.ts +5 -0
- package/build/system/Form/RequiredLabel.js +7 -17
- package/build/system/Form/Textarea.d.ts +2 -0
- package/build/system/Form/Textarea.js +18 -20
- package/build/system/Form/Textarea.stories.d.ts +34 -0
- package/build/system/Form/Textarea.stories.jsx +40 -0
- package/build/system/Form/Toggle.d.ts +2 -0
- package/build/system/Form/Toggle.js +67 -81
- package/build/system/Form/Toggle.stories.d.ts +19 -0
- package/build/system/Form/Toggle.stories.jsx +96 -0
- package/build/system/Form/Toggle.test.d.ts +1 -0
- package/build/system/Form/Toggle.test.js +21 -39
- package/build/system/Form/ToggleRow.d.ts +22 -0
- package/build/system/Form/ToggleRow.js +66 -95
- package/build/system/Form/Validation.d.ts +14 -0
- package/build/system/Form/Validation.js +33 -42
- package/build/system/Form/index.d.ts +11 -0
- package/build/system/Form/index.js +25 -22
- package/build/system/Grid/Grid.d.ts +6 -0
- package/build/system/Grid/Grid.js +4 -5
- package/build/system/Grid/Grid.stories.d.ts +7 -0
- package/build/system/Grid/Grid.stories.js +3 -5
- package/build/system/Grid/index.d.ts +4 -0
- package/build/system/Grid/index.js +1 -0
- package/build/system/Heading/Heading.d.ts +6 -0
- package/build/system/Heading/Heading.js +33 -0
- package/build/system/Heading/Heading.stories.d.ts +7 -0
- package/build/system/Heading/Heading.stories.js +33 -0
- package/build/system/Heading/index.d.ts +2 -0
- package/build/system/Heading/index.js +5 -4
- package/build/system/Link/Link.d.ts +6 -0
- package/build/system/Link/Link.js +5 -12
- package/build/system/Link/Link.stories.d.ts +16 -0
- package/build/system/Link/Link.stories.js +12 -13
- package/build/system/Link/index.d.ts +4 -0
- package/build/system/Link/index.js +1 -0
- package/build/system/NewConfirmationDialog/NewConfirmationDialog.d.ts +23 -0
- package/build/system/NewConfirmationDialog/NewConfirmationDialog.js +86 -99
- package/build/system/NewConfirmationDialog/NewConfirmationDialog.stories.d.ts +8 -0
- package/build/system/NewConfirmationDialog/NewConfirmationDialog.stories.jsx +34 -0
- package/build/system/NewConfirmationDialog/NewConfirmationDialog.test.d.ts +1 -0
- package/build/system/NewConfirmationDialog/NewConfirmationDialog.test.js +43 -66
- package/build/system/NewConfirmationDialog/index.d.ts +2 -0
- package/build/system/NewConfirmationDialog/index.js +5 -4
- package/build/system/NewDialog/DialogClose.d.ts +6 -0
- package/build/system/NewDialog/DialogClose.js +50 -69
- package/build/system/NewDialog/DialogClose.test.d.ts +1 -0
- package/build/system/NewDialog/DialogClose.test.js +29 -46
- package/build/system/NewDialog/DialogContent.d.ts +18 -0
- package/build/system/NewDialog/DialogContent.js +14 -21
- package/build/system/NewDialog/DialogDescription.d.ts +5 -0
- package/build/system/NewDialog/DialogDescription.js +31 -38
- package/build/system/NewDialog/DialogDescription.test.d.ts +1 -0
- package/build/system/NewDialog/DialogDescription.test.js +44 -67
- package/build/system/NewDialog/DialogOverlay.d.ts +2 -0
- package/build/system/NewDialog/DialogOverlay.js +28 -32
- package/build/system/NewDialog/DialogOverlay.test.d.ts +1 -0
- package/build/system/NewDialog/DialogOverlay.test.js +26 -42
- package/build/system/NewDialog/DialogTitle.d.ts +11 -0
- package/build/system/NewDialog/DialogTitle.js +19 -34
- package/build/system/NewDialog/DialogTitle.test.d.ts +1 -0
- package/build/system/NewDialog/DialogTitle.test.js +44 -67
- package/build/system/NewDialog/NewDialog.d.ts +29 -0
- package/build/system/NewDialog/NewDialog.js +74 -89
- package/build/system/NewDialog/NewDialog.stories.d.ts +38 -0
- package/build/system/NewDialog/NewDialog.stories.jsx +192 -0
- package/build/system/NewDialog/index.d.ts +31 -0
- package/build/system/NewDialog/index.js +9 -13
- package/build/system/NewForm/Fieldset.d.ts +2 -0
- package/build/system/NewForm/Fieldset.js +38 -43
- package/build/system/NewForm/Form.d.ts +2 -0
- package/build/system/NewForm/Form.js +21 -28
- package/build/system/NewForm/FormAutocomplete.d.ts +2 -0
- package/build/system/NewForm/FormAutocomplete.js +386 -381
- package/build/system/NewForm/FormAutocomplete.stories.d.ts +156 -0
- package/build/system/NewForm/FormAutocomplete.stories.jsx +159 -0
- package/build/system/NewForm/FormAutocomplete.test.d.ts +1 -0
- package/build/system/NewForm/FormAutocomplete.test.js +40 -73
- package/build/system/NewForm/FormAutocompleteMultiselect.d.ts +2 -0
- package/build/system/NewForm/FormAutocompleteMultiselect.js +456 -468
- package/build/system/NewForm/FormAutocompleteMultiselect.stories.d.ts +45 -0
- package/build/system/NewForm/FormAutocompleteMultiselect.stories.jsx +162 -0
- package/build/system/NewForm/FormAutocompleteMultiselect.test.d.ts +1 -0
- package/build/system/NewForm/FormAutocompleteMultiselect.test.js +37 -73
- package/build/system/NewForm/FormSelect.d.ts +2 -0
- package/build/system/NewForm/FormSelect.js +159 -140
- package/build/system/NewForm/FormSelect.stories.d.ts +137 -0
- package/build/system/NewForm/FormSelect.stories.jsx +138 -0
- package/build/system/NewForm/FormSelect.test.d.ts +1 -0
- package/build/system/NewForm/FormSelect.test.js +131 -227
- package/build/system/NewForm/FormSelectArrow.d.ts +2 -0
- package/build/system/NewForm/FormSelectArrow.js +35 -35
- package/build/system/NewForm/FormSelectContent.d.ts +2 -0
- package/build/system/NewForm/FormSelectContent.js +27 -34
- package/build/system/NewForm/FormSelectInline.d.ts +30 -0
- package/build/system/NewForm/FormSelectInline.js +41 -38
- package/build/system/NewForm/FormSelectLoading.d.ts +2 -0
- package/build/system/NewForm/FormSelectLoading.js +36 -45
- package/build/system/NewForm/FormSelectSearch.d.ts +2 -0
- package/build/system/NewForm/FormSelectSearch.js +23 -25
- package/build/system/NewForm/Legend.d.ts +2 -0
- package/build/system/NewForm/Legend.js +32 -37
- package/build/system/NewForm/index.d.ts +12 -0
- package/build/system/NewForm/index.js +30 -30
- package/build/system/Notice/Notice.d.ts +18 -0
- package/build/system/Notice/Notice.js +41 -55
- package/build/system/Notice/Notice.stories.d.ts +13 -0
- package/build/system/Notice/Notice.stories.js +3 -5
- package/build/system/Notice/index.d.ts +5 -0
- package/build/system/OptionRow/OptionRow.d.ts +2 -0
- package/build/system/OptionRow/OptionRow.js +146 -159
- package/build/system/OptionRow/OptionRow.stories.d.ts +8 -0
- package/build/system/OptionRow/OptionRow.stories.jsx +53 -0
- package/build/system/OptionRow/OptionRow.test.d.ts +1 -0
- package/build/system/OptionRow/OptionRow.test.js +38 -67
- package/build/system/OptionRow/index.d.ts +2 -0
- package/build/system/OptionRow/index.js +5 -4
- package/build/system/Progress/Progress.d.ts +2 -0
- package/build/system/Progress/Progress.js +69 -84
- package/build/system/Progress/Progress.stories.d.ts +8 -0
- package/build/system/Progress/Progress.stories.jsx +25 -0
- package/build/system/Progress/index.d.ts +2 -0
- package/build/system/Progress/index.js +5 -4
- package/build/system/ScreenReaderText/ScreenReader.test.d.ts +1 -0
- package/build/system/ScreenReaderText/ScreenReader.test.js +21 -25
- package/build/system/ScreenReaderText/ScreenReaderText.d.ts +14 -0
- package/build/system/ScreenReaderText/ScreenReaderText.js +13 -21
- package/build/system/ScreenReaderText/index.d.ts +3 -0
- package/build/system/ScreenReaderText/index.js +6 -8
- package/build/system/Spinner/Spinner.d.ts +9 -0
- package/build/system/Spinner/Spinner.js +12 -19
- package/build/system/Spinner/Spinner.stories.d.ts +7 -0
- package/build/system/Spinner/Spinner.stories.js +3 -5
- package/build/system/Spinner/Spinner.test.d.ts +1 -0
- package/build/system/Spinner/Spinner.test.js +59 -0
- package/build/system/Spinner/index.d.ts +1 -0
- package/build/system/Spinner/index.js +1 -0
- package/build/system/Table/Table.d.ts +14 -0
- package/build/system/Table/Table.js +7 -21
- package/build/system/Table/Table.stories.d.ts +9 -0
- package/build/system/Table/Table.stories.js +5 -12
- package/build/system/Table/TableCell.d.ts +15 -0
- package/build/system/Table/TableCell.js +13 -18
- package/build/system/Table/TableRow.d.ts +14 -0
- package/build/system/Table/TableRow.js +19 -24
- package/build/system/Table/index.d.ts +6 -0
- package/build/system/Table/index.js +1 -0
- package/build/system/Tabs/Tabs.d.ts +5 -0
- package/build/system/Tabs/Tabs.js +40 -38
- package/build/system/Tabs/Tabs.stories.d.ts +9 -0
- package/build/system/Tabs/Tabs.stories.jsx +69 -0
- package/build/system/Tabs/TabsContent.d.ts +16 -0
- package/build/system/Tabs/TabsContent.js +23 -30
- package/build/system/Tabs/TabsList.d.ts +15 -0
- package/build/system/Tabs/TabsList.js +24 -32
- package/build/system/Tabs/TabsTrigger.d.ts +2 -0
- package/build/system/Tabs/TabsTrigger.js +58 -66
- package/build/system/Tabs/index.d.ts +5 -0
- package/build/system/Tabs/index.js +8 -10
- package/build/system/Text/Text.d.ts +2 -0
- package/build/system/Text/Text.js +5 -13
- package/build/system/Text/Text.stories.d.ts +8 -0
- package/build/system/Text/Text.stories.js +4 -5
- package/build/system/Text/index.d.ts +4 -0
- package/build/system/Text/index.js +1 -0
- package/build/system/Tooltip/Tooltip.css +96 -0
- package/build/system/Tooltip/Tooltip.d.ts +15 -0
- package/build/system/Tooltip/Tooltip.js +23 -93
- package/build/system/Tooltip/Tooltip.stories.d.ts +15 -0
- package/build/system/Tooltip/Tooltip.stories.js +83 -21
- package/build/system/Tooltip/index.d.ts +5 -0
- package/build/system/Wizard/Wizard.d.ts +2 -0
- package/build/system/Wizard/Wizard.js +94 -103
- package/build/system/Wizard/Wizard.stories.d.ts +9 -0
- package/build/system/Wizard/Wizard.stories.jsx +145 -0
- package/build/system/Wizard/WizardStep.d.ts +2 -0
- package/build/system/Wizard/WizardStep.js +188 -198
- package/build/system/Wizard/WizardStepHorizontal.d.ts +2 -0
- package/build/system/Wizard/WizardStepHorizontal.js +43 -55
- package/build/system/Wizard/index.d.ts +4 -0
- package/build/system/Wizard/index.js +7 -8
- package/build/system/index.d.ts +51 -0
- package/build/system/index.js +104 -86
- package/build/system/theme/colors.d.ts +2 -0
- package/build/system/theme/colors.js +7 -12
- package/build/system/theme/getColor.d.ts +8 -0
- package/build/system/theme/getColor.js +47 -46
- package/build/system/theme/index.d.ts +322 -0
- package/build/system/theme/index.js +494 -396
- package/build/system/theme/textStyles.d.ts +71 -0
- package/build/system/theme/textStyles.js +45 -50
- package/build/system/utils/random.d.ts +1 -0
- package/build/system/utils/random.js +3 -7
- package/package.json +31 -37
- package/src/declaration.d.ts +1 -0
- package/src/system/Accordion/{Accordion.test.js → Accordion.test.tsx} +2 -2
- package/src/system/Accordion/{Accordion.js → Accordion.tsx} +87 -80
- package/src/system/Avatar/Avatar.stories.tsx +18 -0
- package/src/system/Avatar/{Avatar.test.js → Avatar.test.tsx} +2 -2
- package/src/system/Avatar/{Avatar.js → Avatar.tsx} +17 -19
- package/src/system/Avatar/index.ts +4 -0
- package/src/system/Badge/Badge.stories.tsx +57 -0
- package/src/system/Badge/{Badge.test.js → Badge.test.tsx} +3 -3
- package/src/system/Badge/{Badge.js → Badge.tsx} +10 -15
- package/src/system/Badge/index.ts +4 -0
- package/src/system/Box/Box.stories.tsx +13 -1
- package/src/system/Box/Box.tsx +4 -8
- package/src/system/Button/Button.stories.tsx +110 -0
- package/src/system/Button/Button.tsx +67 -0
- package/src/system/Card/{Card.stories.jsx → Card.stories.tsx} +1 -1
- package/src/system/Card/{Card.test.js → Card.test.tsx} +2 -2
- package/src/system/Card/Card.tsx +40 -0
- package/src/system/Card/index.ts +4 -0
- package/src/system/Code/Code.stories.tsx +44 -0
- package/src/system/Code/{Code.test.js → Code.test.tsx} +6 -4
- package/src/system/Code/{Code.js → Code.tsx} +27 -22
- package/src/system/Code/index.ts +4 -0
- package/src/system/Flex/Flex.tsx +11 -0
- package/src/system/Flex/index.ts +4 -0
- package/src/system/Grid/Grid.tsx +11 -0
- package/src/system/Grid/index.ts +4 -0
- package/src/system/Heading/Heading.tsx +8 -17
- package/src/system/Link/Link.stories.tsx +23 -0
- package/src/system/Link/Link.tsx +43 -0
- package/src/system/Link/index.ts +4 -0
- package/src/system/NewForm/FormAutocomplete.js +2 -2
- package/src/system/Notice/Notice.tsx +129 -0
- package/src/system/OptionRow/OptionRow.test.js +1 -1
- package/src/system/ScreenReaderText/ScreenReaderText.tsx +40 -0
- package/src/system/Spinner/Spinner.test.tsx +30 -0
- package/src/system/Spinner/Spinner.tsx +34 -0
- package/src/system/Spinner/index.ts +1 -0
- package/src/system/Table/{Table.stories.jsx → Table.stories.tsx} +6 -6
- package/src/system/Table/{Table.js → Table.tsx} +14 -18
- package/src/system/Table/{TableCell.js → TableCell.tsx} +14 -12
- package/src/system/Table/TableRow.tsx +63 -0
- package/src/system/Table/index.ts +6 -0
- package/src/system/Text/{Text.stories.jsx → Text.stories.tsx} +1 -0
- package/src/system/Text/Text.tsx +25 -0
- package/src/system/Text/index.ts +4 -0
- package/src/system/Tooltip/Tooltip.css +96 -0
- package/src/system/Tooltip/Tooltip.stories.tsx +133 -0
- package/src/system/Tooltip/Tooltip.tsx +39 -0
- package/src/system/index.js +1 -2
- package/src/system/theme/index.js +21 -1
- package/test/fileMock.ts +1 -0
- package/test/setupAfterEnv.ts +5 -0
- package/tsconfig.definition.json +12 -0
- package/.storybook/decorators/withBoundingBox.jsx +0 -22
- package/build/system/Box/Box.stories.tsx +0 -11
- package/build/system/Box/Box.tsx +0 -22
- package/build/system/Button/ButtonSubmit.stories.js +0 -58
- package/build/system/ConfirmationDialog/ConfirmationDialog.stories.js +0 -42
- package/build/system/Dialog/Dialog.stories.js +0 -70
- package/build/system/Dropdown/Dropdown.stories.js +0 -197
- package/build/system/Form/Checkbox.stories.js +0 -73
- package/build/system/Form/Input.stories.js +0 -51
- package/build/system/Form/InputWithCopyButton.stories.js +0 -39
- package/build/system/Form/Radio.stories.js +0 -115
- package/build/system/Form/RadioBoxGroup.stories.js +0 -62
- package/build/system/Form/Textarea.stories.js +0 -59
- package/build/system/Form/Toggle.stories.js +0 -104
- package/build/system/Heading/Heading.stories.tsx +0 -19
- package/build/system/Heading/Heading.tsx +0 -38
- package/build/system/NewConfirmationDialog/NewConfirmationDialog.stories.js +0 -46
- package/build/system/NewDialog/NewDialog.stories.js +0 -247
- package/build/system/NewForm/FormAutocomplete.stories.js +0 -220
- package/build/system/NewForm/FormAutocompleteMultiselect.stories.js +0 -231
- package/build/system/NewForm/FormSelect.stories.js +0 -171
- package/build/system/Notification/Notification.js +0 -97
- package/build/system/Notification/Notification.stories.js +0 -29
- package/build/system/Notification/index.js +0 -5
- package/build/system/OptionRow/OptionRow.stories.js +0 -64
- package/build/system/Progress/Progress.stories.js +0 -36
- package/build/system/Tabs/Tabs.stories.js +0 -113
- package/build/system/Wizard/Wizard.stories.js +0 -182
- package/src/system/Avatar/Avatar.stories.jsx +0 -11
- package/src/system/Avatar/index.js +0 -6
- package/src/system/Badge/Badge.stories.jsx +0 -43
- package/src/system/Badge/index.js +0 -6
- package/src/system/Button/Button.js +0 -63
- package/src/system/Button/Button.stories.jsx +0 -87
- package/src/system/Card/Card.js +0 -39
- package/src/system/Card/index.js +0 -6
- package/src/system/Code/Code.stories.jsx +0 -37
- package/src/system/Code/index.js +0 -6
- package/src/system/Flex/Flex.js +0 -15
- package/src/system/Flex/index.js +0 -6
- package/src/system/Grid/Grid.js +0 -16
- package/src/system/Grid/index.js +0 -6
- package/src/system/Link/Link.js +0 -42
- package/src/system/Link/Link.stories.jsx +0 -15
- package/src/system/Link/index.js +0 -6
- package/src/system/Notice/Notice.js +0 -136
- package/src/system/Notification/Notification.js +0 -66
- package/src/system/Notification/Notification.stories.jsx +0 -16
- package/src/system/Notification/index.js +0 -6
- package/src/system/ScreenReaderText/ScreenReaderText.js +0 -39
- package/src/system/Spinner/Spinner.js +0 -34
- package/src/system/Spinner/index.js +0 -6
- package/src/system/Table/TableRow.js +0 -50
- package/src/system/Table/index.js +0 -8
- package/src/system/Text/Text.js +0 -33
- package/src/system/Text/index.js +0 -6
- package/src/system/Tooltip/Tooltip.js +0 -79
- package/src/system/Tooltip/Tooltip.stories.jsx +0 -22
- package/test/fileMock.js +0 -1
- package/test/setupAfterEnv.js +0 -13
- package/test/setupTests.js +0 -4
- /package/.storybook/decorators/{withColorMode.jsx → withColorMode.tsx} +0 -0
- /package/src/system/Accordion/{Accordion.stories.jsx → Accordion.stories.tsx} +0 -0
- /package/src/system/Accordion/{index.js → index.ts} +0 -0
- /package/src/system/Flex/{Flex.stories.jsx → Flex.stories.tsx} +0 -0
- /package/src/system/Grid/{Grid.stories.jsx → Grid.stories.tsx} +0 -0
- /package/src/system/Notice/{Notice.stories.jsx → Notice.stories.tsx} +0 -0
- /package/src/system/Notice/{index.js → index.ts} +0 -0
- /package/src/system/Spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
- /package/src/system/Tooltip/{index.js → index.ts} +0 -0
|
@@ -1,98 +1,101 @@
|
|
|
1
|
-
|
|
1
|
+
/** @jsxImportSource theme-ui */
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
children: [children, (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.Arrow, {
|
|
72
|
-
sx: {
|
|
73
|
-
fill: 'background',
|
|
74
|
-
boxShadow: 'high'
|
|
75
|
-
}
|
|
76
|
-
})]
|
|
77
|
-
}))
|
|
78
|
-
}))]
|
|
79
|
-
});
|
|
3
|
+
/**
|
|
4
|
+
* External dependencies
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
8
|
+
import PropTypes from 'prop-types';
|
|
9
|
+
import classNames from 'classnames';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import { DropdownContent } from './DropdownContent';
|
|
15
|
+
|
|
16
|
+
const DropdownMenu = DropdownMenuPrimitive.Root;
|
|
17
|
+
const DropdownTrigger = DropdownMenuPrimitive.Trigger;
|
|
18
|
+
const DropdownRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
19
|
+
const DropdownItemIndicator = DropdownMenuPrimitive.DropdownMenuItemIndicator;
|
|
20
|
+
const DropdownLabel = DropdownMenuPrimitive.DropdownMenuLabel;
|
|
21
|
+
const DropdownSeparator = DropdownMenuPrimitive.DropdownMenuSeparator;
|
|
22
|
+
const DropdownSub = DropdownMenuPrimitive.DropdownMenuSub;
|
|
23
|
+
const DropdownSubTrigger = DropdownMenuPrimitive.DropdownMenuSubTrigger;
|
|
24
|
+
const DropdownSubContent = DropdownMenuPrimitive.DropdownMenuSubContent;
|
|
25
|
+
|
|
26
|
+
export const Dropdown = ( {
|
|
27
|
+
trigger,
|
|
28
|
+
children,
|
|
29
|
+
// Radix Specific Properties
|
|
30
|
+
open = undefined,
|
|
31
|
+
defaultOpen = false,
|
|
32
|
+
onOpenChange = undefined,
|
|
33
|
+
modal = true,
|
|
34
|
+
dir = 'ltr',
|
|
35
|
+
contentProps = {},
|
|
36
|
+
portalProps = {},
|
|
37
|
+
className,
|
|
38
|
+
} ) => {
|
|
39
|
+
const firstChild = React.useMemo(
|
|
40
|
+
() =>
|
|
41
|
+
React.isValidElement( children ) ? React.Children.only( children )?.type?.displayName : '',
|
|
42
|
+
[ children ]
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<DropdownMenu
|
|
47
|
+
className={ classNames( 'vip-dropdown-menu', className ) }
|
|
48
|
+
open={ open }
|
|
49
|
+
defaultOpen={ defaultOpen }
|
|
50
|
+
onOpenChange={ onOpenChange }
|
|
51
|
+
modal={ modal }
|
|
52
|
+
dir={ dir }
|
|
53
|
+
>
|
|
54
|
+
<DropdownTrigger className="vip-dropdown-trigger" asChild>
|
|
55
|
+
{ trigger }
|
|
56
|
+
</DropdownTrigger>
|
|
57
|
+
|
|
58
|
+
<DropdownMenuPrimitive.Portal { ...portalProps }>
|
|
59
|
+
{ /* User can customize the content */ }
|
|
60
|
+
{ firstChild === 'DropdownContent' ? (
|
|
61
|
+
children
|
|
62
|
+
) : (
|
|
63
|
+
<DropdownContent { ...contentProps }>
|
|
64
|
+
{ children }
|
|
65
|
+
<DropdownMenuPrimitive.Arrow sx={ { fill: 'background', boxShadow: 'high' } } />
|
|
66
|
+
</DropdownContent>
|
|
67
|
+
) }
|
|
68
|
+
</DropdownMenuPrimitive.Portal>
|
|
69
|
+
</DropdownMenu>
|
|
70
|
+
);
|
|
80
71
|
};
|
|
81
|
-
|
|
72
|
+
|
|
82
73
|
Dropdown.propTypes = {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
74
|
+
trigger: PropTypes.node.isRequired,
|
|
75
|
+
children: PropTypes.node.isRequired,
|
|
76
|
+
|
|
77
|
+
// Props in root: https://www.radix-ui.com/docs/primitives/components/dropdown-menu#root
|
|
78
|
+
open: PropTypes.bool,
|
|
79
|
+
defaultOpen: PropTypes.bool,
|
|
80
|
+
onOpenChange: PropTypes.func,
|
|
81
|
+
modal: PropTypes.bool,
|
|
82
|
+
dir: PropTypes.string,
|
|
83
|
+
|
|
84
|
+
// Content props in: https://www.radix-ui.com/docs/primitives/components/dropdown-menu#content
|
|
85
|
+
contentProps: PropTypes.any,
|
|
86
|
+
// Portal props in: https://www.radix-ui.com/docs/primitives/components/dropdown-menu#portal
|
|
87
|
+
portalProps: PropTypes.any,
|
|
88
|
+
className: PropTypes.string,
|
|
96
89
|
};
|
|
97
90
|
|
|
98
|
-
// Exports
|
|
91
|
+
// Exports
|
|
92
|
+
export {
|
|
93
|
+
DropdownTrigger,
|
|
94
|
+
DropdownRadioGroup,
|
|
95
|
+
DropdownItemIndicator,
|
|
96
|
+
DropdownLabel,
|
|
97
|
+
DropdownSeparator,
|
|
98
|
+
DropdownSub,
|
|
99
|
+
DropdownSubTrigger,
|
|
100
|
+
DropdownSubContent,
|
|
101
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
let title: string;
|
|
3
|
+
let component: {
|
|
4
|
+
({ trigger, children, open, defaultOpen, onOpenChange, modal, dir, contentProps, portalProps, className, }: {
|
|
5
|
+
trigger: any;
|
|
6
|
+
children: any;
|
|
7
|
+
open?: undefined;
|
|
8
|
+
defaultOpen?: boolean | undefined;
|
|
9
|
+
onOpenChange?: undefined;
|
|
10
|
+
modal?: boolean | undefined;
|
|
11
|
+
dir?: string | undefined;
|
|
12
|
+
contentProps?: {} | undefined;
|
|
13
|
+
portalProps?: {} | undefined;
|
|
14
|
+
className: any;
|
|
15
|
+
}): React.JSX.Element;
|
|
16
|
+
propTypes: {
|
|
17
|
+
trigger: import("prop-types").Validator<NonNullable<import("prop-types").ReactNodeLike>>;
|
|
18
|
+
children: import("prop-types").Validator<NonNullable<import("prop-types").ReactNodeLike>>;
|
|
19
|
+
open: import("prop-types").Requireable<boolean>;
|
|
20
|
+
defaultOpen: import("prop-types").Requireable<boolean>;
|
|
21
|
+
onOpenChange: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
22
|
+
modal: import("prop-types").Requireable<boolean>;
|
|
23
|
+
dir: import("prop-types").Requireable<string>;
|
|
24
|
+
contentProps: import("prop-types").Requireable<any>;
|
|
25
|
+
portalProps: import("prop-types").Requireable<any>;
|
|
26
|
+
className: import("prop-types").Requireable<string>;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export default _default;
|
|
31
|
+
export function Default(): React.JSX.Element;
|
|
32
|
+
export function ComplexOptions(): React.JSX.Element;
|
|
33
|
+
export function WithDialog(): React.JSX.Element;
|
|
34
|
+
import React from 'react';
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { DotFilledIcon, CheckIcon, ChevronRightIcon } from '@radix-ui/react-icons';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import * as Dropdown from '.';
|
|
13
|
+
import { Button } from '../Button';
|
|
14
|
+
import * as NewDialog from '../NewDialog';
|
|
15
|
+
import { Link } from '../Link';
|
|
16
|
+
import { Text } from '../Text';
|
|
17
|
+
|
|
18
|
+
export default {
|
|
19
|
+
title: 'Dropdown',
|
|
20
|
+
component: Dropdown.Root,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const Default = () => (
|
|
24
|
+
<>
|
|
25
|
+
<Dropdown.Root trigger={ <Button>Open</Button> }>
|
|
26
|
+
<Dropdown.Item>All</Dropdown.Item>
|
|
27
|
+
<Dropdown.Item>Completed</Dropdown.Item>
|
|
28
|
+
<Dropdown.Item>Running</Dropdown.Item>
|
|
29
|
+
<Dropdown.Item>Cancelled</Dropdown.Item>
|
|
30
|
+
<Dropdown.Separator />
|
|
31
|
+
<Dropdown.Item>Errored</Dropdown.Item>
|
|
32
|
+
</Dropdown.Root>
|
|
33
|
+
|
|
34
|
+
<Text>
|
|
35
|
+
This component is based on the Radix Dropdown. You can find all available options, props and
|
|
36
|
+
features in the{ ' ' }
|
|
37
|
+
<Link
|
|
38
|
+
href="https://www.radix-ui.com/docs/primitives/components/dropdown-menu"
|
|
39
|
+
target="_blank"
|
|
40
|
+
rel="noopener noreferrer"
|
|
41
|
+
>
|
|
42
|
+
Dropdown Documentation page.
|
|
43
|
+
</Link>
|
|
44
|
+
</Text>
|
|
45
|
+
</>
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
export const ComplexOptions = () => {
|
|
49
|
+
const [ bookmarksChecked, setBookmarksChecked ] = React.useState( true );
|
|
50
|
+
const [ urlsChecked, setUrlsChecked ] = React.useState( false );
|
|
51
|
+
const [ person, setPerson ] = React.useState( 'pedro' );
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<>
|
|
55
|
+
<Dropdown.Root trigger={ <Button>See options</Button> }>
|
|
56
|
+
<Dropdown.Item>New Tab</Dropdown.Item>
|
|
57
|
+
<Dropdown.Item>New Window</Dropdown.Item>
|
|
58
|
+
<Dropdown.Item disabled>New Private Window</Dropdown.Item>
|
|
59
|
+
<Dropdown.Sub>
|
|
60
|
+
<Dropdown.SubTrigger>
|
|
61
|
+
More Tools
|
|
62
|
+
<ChevronRightIcon />
|
|
63
|
+
</Dropdown.SubTrigger>
|
|
64
|
+
<Dropdown.SubContent sideOffset={ 2 } alignOffset={ -5 }>
|
|
65
|
+
<Dropdown.Item>Save Page As…</Dropdown.Item>
|
|
66
|
+
<Dropdown.Item>Create Shortcut…</Dropdown.Item>
|
|
67
|
+
<Dropdown.Item>Name Window…</Dropdown.Item>
|
|
68
|
+
<Dropdown.Separator />
|
|
69
|
+
<Dropdown.Item>Developer Tools</Dropdown.Item>
|
|
70
|
+
</Dropdown.SubContent>
|
|
71
|
+
</Dropdown.Sub>
|
|
72
|
+
<Dropdown.Separator />
|
|
73
|
+
<Dropdown.CheckboxItem checked={ bookmarksChecked } onCheckedChange={ setBookmarksChecked }>
|
|
74
|
+
<Dropdown.ItemIndicator>
|
|
75
|
+
<CheckIcon />
|
|
76
|
+
</Dropdown.ItemIndicator>
|
|
77
|
+
Show Bookmarks
|
|
78
|
+
</Dropdown.CheckboxItem>
|
|
79
|
+
<Dropdown.CheckboxItem checked={ urlsChecked } onCheckedChange={ setUrlsChecked }>
|
|
80
|
+
<Dropdown.ItemIndicator>
|
|
81
|
+
<CheckIcon />
|
|
82
|
+
</Dropdown.ItemIndicator>
|
|
83
|
+
Show Full URLs
|
|
84
|
+
</Dropdown.CheckboxItem>
|
|
85
|
+
<Dropdown.Separator />
|
|
86
|
+
<Dropdown.Label>People</Dropdown.Label>
|
|
87
|
+
<Dropdown.RadioGroup value={ person } onValueChange={ setPerson }>
|
|
88
|
+
<Dropdown.RadioItem value="pedro">
|
|
89
|
+
<Dropdown.ItemIndicator>
|
|
90
|
+
<DotFilledIcon />
|
|
91
|
+
</Dropdown.ItemIndicator>
|
|
92
|
+
Pedro Duarte
|
|
93
|
+
</Dropdown.RadioItem>
|
|
94
|
+
<Dropdown.RadioItem value="colm">
|
|
95
|
+
<Dropdown.ItemIndicator>
|
|
96
|
+
<DotFilledIcon />
|
|
97
|
+
</Dropdown.ItemIndicator>
|
|
98
|
+
Colm Tuite
|
|
99
|
+
</Dropdown.RadioItem>
|
|
100
|
+
</Dropdown.RadioGroup>
|
|
101
|
+
</Dropdown.Root>
|
|
102
|
+
|
|
103
|
+
<Text>
|
|
104
|
+
This component is based on the Radix Dropdown. You can find all available options, props and
|
|
105
|
+
features in the{ ' ' }
|
|
106
|
+
<Link
|
|
107
|
+
href="https://www.radix-ui.com/docs/primitives/components/dropdown-menu"
|
|
108
|
+
target="_blank"
|
|
109
|
+
rel="noopener noreferrer"
|
|
110
|
+
>
|
|
111
|
+
Dropdown Documentation page.
|
|
112
|
+
</Link>
|
|
113
|
+
</Text>
|
|
114
|
+
</>
|
|
115
|
+
);
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export const WithDialog = () => {
|
|
119
|
+
const [ alertOpen, setAlertOpen ] = React.useState( false );
|
|
120
|
+
const [ menuOpen, setMenuOpen ] = React.useState( false );
|
|
121
|
+
|
|
122
|
+
// eslint-disable-next-line react/prop-types
|
|
123
|
+
const AreYouSureDialog = ( { onConfirm, ...props } ) => (
|
|
124
|
+
<NewDialog.Root
|
|
125
|
+
{ ...props }
|
|
126
|
+
content={
|
|
127
|
+
<>
|
|
128
|
+
<Button variant="secondary" onClick={ () => onConfirm() }>
|
|
129
|
+
Custom Close.
|
|
130
|
+
</Button>
|
|
131
|
+
<p>Teste abc.</p>
|
|
132
|
+
</>
|
|
133
|
+
}
|
|
134
|
+
/>
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
return (
|
|
138
|
+
<div>
|
|
139
|
+
<Text>
|
|
140
|
+
This is an important example when combining the Dropdown component with the NewDialog
|
|
141
|
+
component. In order to have the correct accessibility, there are some events you need to
|
|
142
|
+
use. Use this example if you want to copy and paste the code.
|
|
143
|
+
</Text>
|
|
144
|
+
|
|
145
|
+
<Dropdown.Root
|
|
146
|
+
modal={ ! alertOpen }
|
|
147
|
+
open={ menuOpen }
|
|
148
|
+
onOpenChange={ setMenuOpen }
|
|
149
|
+
contentProps={ { sideOffset: 5 } }
|
|
150
|
+
trigger={ <Button>Open</Button> }
|
|
151
|
+
>
|
|
152
|
+
<Dropdown.Item>I don't do anything</Dropdown.Item>
|
|
153
|
+
|
|
154
|
+
<AreYouSureDialog
|
|
155
|
+
title="Are you in the jungle?"
|
|
156
|
+
description="sha-n-n-n-n-n-n-n-n knees, knees"
|
|
157
|
+
open={ alertOpen }
|
|
158
|
+
onOpenChange={ setAlertOpen }
|
|
159
|
+
onConfirm={ () => {
|
|
160
|
+
setAlertOpen( false );
|
|
161
|
+
setMenuOpen( false );
|
|
162
|
+
} }
|
|
163
|
+
trigger={
|
|
164
|
+
<Dropdown.Item onSelect={ event => event.preventDefault() }>Open Dialog</Dropdown.Item>
|
|
165
|
+
}
|
|
166
|
+
/>
|
|
167
|
+
</Dropdown.Root>
|
|
168
|
+
</div>
|
|
169
|
+
);
|
|
170
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,55 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { fireEvent, render, screen } from '@testing-library/react';
|
|
5
|
+
import { axe } from 'jest-axe';
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == typeof value && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
10
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
11
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
12
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } /**
|
|
13
|
-
* External dependencies
|
|
14
|
-
*/ /**
|
|
15
|
-
* Internal dependencies
|
|
16
|
-
*/
|
|
17
|
-
var defaultProps = {
|
|
18
|
-
trigger: (0, _jsxRuntime.jsx)("button", {
|
|
19
|
-
children: "Trigger"
|
|
20
|
-
})
|
|
21
|
-
};
|
|
22
|
-
var getButton = function getButton() {
|
|
23
|
-
return _react.screen.getByRole('button', {
|
|
24
|
-
name: 'Trigger'
|
|
25
|
-
});
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
import * as Dropdown from '.';
|
|
11
|
+
|
|
12
|
+
const defaultProps = {
|
|
13
|
+
trigger: <button>Trigger</button>,
|
|
26
14
|
};
|
|
27
|
-
describe('<Dropdown />', function () {
|
|
28
|
-
it('renders the Dropdown component', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
29
|
-
var _render, container;
|
|
30
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
31
|
-
while (1) switch (_context.prev = _context.next) {
|
|
32
|
-
case 0:
|
|
33
|
-
_render = (0, _react.render)((0, _jsxRuntime.jsx)(Dropdown.Root, _extends({}, defaultProps, {
|
|
34
|
-
children: (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
35
|
-
children: "My Item"
|
|
36
|
-
})
|
|
37
|
-
}))), container = _render.container;
|
|
38
|
-
expect(getButton()).toBeInTheDocument();
|
|
39
|
-
_react.fireEvent.click(getButton());
|
|
40
15
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
16
|
+
const getButton = () => screen.getByRole( 'button', { name: 'Trigger' } );
|
|
17
|
+
|
|
18
|
+
describe( '<Dropdown />', () => {
|
|
19
|
+
it( 'renders the Dropdown component', async () => {
|
|
20
|
+
const { container } = render(
|
|
21
|
+
<Dropdown.Root { ...defaultProps }>
|
|
22
|
+
<Dropdown.Item>My Item</Dropdown.Item>
|
|
23
|
+
</Dropdown.Root>
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
expect( getButton() ).toBeInTheDocument();
|
|
27
|
+
|
|
28
|
+
fireEvent.click( getButton() );
|
|
29
|
+
|
|
30
|
+
// Check for accessibility issues
|
|
31
|
+
await expect( await axe( container ) ).toHaveNoViolations();
|
|
32
|
+
} );
|
|
33
|
+
} );
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export namespace styles {
|
|
2
|
+
let minWidth: number;
|
|
3
|
+
let borderRadius: number;
|
|
4
|
+
let backgroundColor: string;
|
|
5
|
+
let boxShadow: string;
|
|
6
|
+
let px: number;
|
|
7
|
+
let py: number;
|
|
8
|
+
}
|
|
9
|
+
export const DropdownContent: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
|
|
10
|
+
export const DropdownSubContent: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
|
|
11
|
+
import React from 'react';
|
|
@@ -1,59 +1,50 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.styles = exports.DropdownSubContent = exports.DropdownContent = void 0;
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
var DropdownMenuPrimitive = _interopRequireWildcard(require("@radix-ui/react-dropdown-menu"));
|
|
7
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
10
|
-
var _excluded = ["className"],
|
|
11
|
-
_excluded2 = ["className"];
|
|
12
1
|
/** @jsxImportSource theme-ui */
|
|
2
|
+
|
|
13
3
|
/**
|
|
14
4
|
* External dependencies
|
|
15
5
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
8
|
+
import classNames from 'classnames';
|
|
9
|
+
import PropTypes from 'prop-types';
|
|
10
|
+
|
|
11
|
+
export const styles = {
|
|
12
|
+
minWidth: 220,
|
|
13
|
+
borderRadius: 6,
|
|
14
|
+
backgroundColor: 'background',
|
|
15
|
+
boxShadow: 'high',
|
|
16
|
+
px: 2,
|
|
17
|
+
py: 1,
|
|
28
18
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
exports.DropdownContent = DropdownContent;
|
|
19
|
+
|
|
20
|
+
export const DropdownContent = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
21
|
+
<DropdownMenuPrimitive.DropdownMenuContent
|
|
22
|
+
className={ classNames( 'vip-dropdown-menu-content', className ) }
|
|
23
|
+
ref={ forwardRef }
|
|
24
|
+
sx={ styles }
|
|
25
|
+
{ ...props }
|
|
26
|
+
/>
|
|
27
|
+
) );
|
|
28
|
+
|
|
40
29
|
DropdownContent.displayName = 'DropdownContent';
|
|
30
|
+
|
|
41
31
|
DropdownContent.propTypes = {
|
|
42
|
-
|
|
32
|
+
className: PropTypes.string,
|
|
43
33
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
34
|
+
|
|
35
|
+
export const DropdownSubContent = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
36
|
+
<DropdownMenuPrimitive.Portal>
|
|
37
|
+
<DropdownMenuPrimitive.DropdownMenuSubContent
|
|
38
|
+
className={ classNames( 'vip-dropdown-menu-sub-content', className ) }
|
|
39
|
+
ref={ forwardRef }
|
|
40
|
+
sx={ styles }
|
|
41
|
+
{ ...props }
|
|
42
|
+
/>
|
|
43
|
+
</DropdownMenuPrimitive.Portal>
|
|
44
|
+
) );
|
|
45
|
+
|
|
56
46
|
DropdownSubContent.displayName = 'DropdownSubContent';
|
|
47
|
+
|
|
57
48
|
DropdownSubContent.propTypes = {
|
|
58
|
-
|
|
59
|
-
};
|
|
49
|
+
className: PropTypes.string,
|
|
50
|
+
};
|