@automattic/vip-design-system 1.2.1 → 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 +7 -16
- 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
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { Tooltip, Button, Heading, Text, Link } from '..';
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: 'Tooltip',
|
|
8
|
+
component: Tooltip,
|
|
9
|
+
parameters: {
|
|
10
|
+
docs: {
|
|
11
|
+
description: {
|
|
12
|
+
component: `
|
|
13
|
+
A tooltip is a short descriptive message that appears when a user hovers or focuses on an
|
|
14
|
+
element. Our tooltip aims to be 100% CSS-only. It uses a global css approach to inject the
|
|
15
|
+
tooltip styles.
|
|
16
|
+
|
|
17
|
+
## Kwown issues
|
|
18
|
+
|
|
19
|
+
- Storybook uses iframes to render the components. This means that the tooltip box will overlap in the demos, but you can click on each demo page to see the correct render.
|
|
20
|
+
- The current implementation of this component is <strong>NOT</strong> protected from viewport
|
|
21
|
+
clipping (collision). For now, you can pick another <code>vip-tooltip-position</code> if
|
|
22
|
+
possible.
|
|
23
|
+
|
|
24
|
+
## Guidance
|
|
25
|
+
|
|
26
|
+
### When to use the tooltip component
|
|
27
|
+
|
|
28
|
+
- <strong>Helpful, non-critical information.</strong> Use tooltips to strengthen an existing
|
|
29
|
+
message.
|
|
30
|
+
- <strong>Enhance confidence.</strong> Use tooltips to increase certainty about an
|
|
31
|
+
interaction.
|
|
32
|
+
- <strong>Brief descriptions.</strong> Tooltips perform best with succinct helper text.
|
|
33
|
+
- <strong>Lack of space.</strong> Tooltips are useful as a last resort for space-constrained
|
|
34
|
+
UI. Explore other options for keeping content visible without a tooltip.
|
|
35
|
+
|
|
36
|
+
### When to consider something else
|
|
37
|
+
|
|
38
|
+
- <strong>Critical information.</strong> Don't hide information necessary for completing
|
|
39
|
+
a task behind an tooltip interaction.
|
|
40
|
+
- <strong>Lengthy descriptions.</strong> Tooltips are microcopy, and should be brief.
|
|
41
|
+
Don't use a tooltip if you need a lot of text.
|
|
42
|
+
- <strong>Redundant content.</strong> Don't use a tooltip when its content is repetitive
|
|
43
|
+
or if usability is obvious.
|
|
44
|
+
- <strong>Sufficient space.</strong> If content can fit outside a tooltip, don't use a
|
|
45
|
+
tooltip.
|
|
46
|
+
|
|
47
|
+
### Usability guidance
|
|
48
|
+
|
|
49
|
+
- <strong>Use affordances.</strong> A hidden tooltip is unusable. Use tooltips only on
|
|
50
|
+
elements that appear interactive, like buttons or links.
|
|
51
|
+
- <strong>Avoid collisions.</strong> Be careful not introduce conflicting hover or focus
|
|
52
|
+
events.
|
|
53
|
+
- <strong>Use consistently.</strong> If using tooltips in one context, use in all similar
|
|
54
|
+
contexts.
|
|
55
|
+
- <strong>Don't block content.</strong> Use the <code>data-position</code> attribute to
|
|
56
|
+
prevent the tooltip from covering other page elements.
|
|
57
|
+
|
|
58
|
+
-------
|
|
59
|
+
|
|
60
|
+
This documentation is heavily inspired by the [U.S Web Design System (USWDS)](https://designsystem.digital.gov/components/tooltip/#package). We use USWDS as trusted source of truth for accessibility and usability best practices.
|
|
61
|
+
|
|
62
|
+
## Component Properties
|
|
63
|
+
`,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export const Basic = () => (
|
|
70
|
+
<>
|
|
71
|
+
<Heading variant="h2">Basic Usage</Heading>
|
|
72
|
+
<Text>
|
|
73
|
+
Pass a trigger and title, the trigger component will be cloned and injected with a{ ' ' }
|
|
74
|
+
<code>[vip-tooltip]</code> HTML attribute.
|
|
75
|
+
</Text>
|
|
76
|
+
|
|
77
|
+
<Tooltip
|
|
78
|
+
trigger={ <Button sx={ { mr: 3 } }>Button with top tooltip</Button> }
|
|
79
|
+
title="On the top"
|
|
80
|
+
position="top"
|
|
81
|
+
/>
|
|
82
|
+
|
|
83
|
+
<Tooltip
|
|
84
|
+
trigger={ <Button sx={ { mr: 3 } }>Button with bottom tooltip</Button> }
|
|
85
|
+
title="On the Bottom"
|
|
86
|
+
position="bottom"
|
|
87
|
+
/>
|
|
88
|
+
|
|
89
|
+
<Tooltip
|
|
90
|
+
trigger={ <Button sx={ { mr: 3 } }>Button with left tooltip</Button> }
|
|
91
|
+
title="On the Left"
|
|
92
|
+
position="left"
|
|
93
|
+
/>
|
|
94
|
+
|
|
95
|
+
<Tooltip
|
|
96
|
+
trigger={ <Button>Button with right tooltip</Button> }
|
|
97
|
+
title="On the Right"
|
|
98
|
+
position="right"
|
|
99
|
+
/>
|
|
100
|
+
</>
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
export const Container = () => (
|
|
104
|
+
<div>
|
|
105
|
+
<Heading variant="h2">Container Usage</Heading>
|
|
106
|
+
|
|
107
|
+
<Text>
|
|
108
|
+
You can also wrap a component with the <code>Tooltip</code> component. To use tooltips you can
|
|
109
|
+
simply pass <code>data-vip-tooltip</code> as an HTML attribute to your component.
|
|
110
|
+
</Text>
|
|
111
|
+
|
|
112
|
+
<div sx={ { backgroundColor: 'red' } }>
|
|
113
|
+
<Tooltip>
|
|
114
|
+
<Button data-vip-tooltip-position="top" data-vip-tooltip="Test test" sx={ { ml: 3 } }>
|
|
115
|
+
This is another way
|
|
116
|
+
</Button>
|
|
117
|
+
|
|
118
|
+
<br />
|
|
119
|
+
<br />
|
|
120
|
+
<br />
|
|
121
|
+
|
|
122
|
+
<Link
|
|
123
|
+
href="http://google.com"
|
|
124
|
+
data-vip-tooltip-position="right"
|
|
125
|
+
data-vip-tooltip="is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500"
|
|
126
|
+
sx={ { ml: 3 } }
|
|
127
|
+
>
|
|
128
|
+
Use with links too
|
|
129
|
+
</Link>
|
|
130
|
+
</Tooltip>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { PropsWithChildren, ReactElement, cloneElement } from 'react';
|
|
5
|
+
import css from './Tooltip.css';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export interface TooltipProps {
|
|
12
|
+
title?: string;
|
|
13
|
+
trigger?: ReactElement;
|
|
14
|
+
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const Tooltip = ( {
|
|
18
|
+
title,
|
|
19
|
+
trigger,
|
|
20
|
+
children,
|
|
21
|
+
position = 'top',
|
|
22
|
+
}: PropsWithChildren< TooltipProps > ) => {
|
|
23
|
+
const triggerCloned = trigger
|
|
24
|
+
? cloneElement( trigger, {
|
|
25
|
+
'data-vip-tooltip': title,
|
|
26
|
+
'aria-label': title,
|
|
27
|
+
'data-vip-tooltip-position': position,
|
|
28
|
+
} )
|
|
29
|
+
: null;
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<>
|
|
33
|
+
{ triggerCloned }
|
|
34
|
+
{ children }
|
|
35
|
+
</>
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { Tooltip, css };
|
package/src/system/index.js
CHANGED
|
@@ -43,7 +43,7 @@ import { Notice } from './Notice';
|
|
|
43
43
|
import { Progress } from './Progress';
|
|
44
44
|
import { Spinner } from './Spinner';
|
|
45
45
|
import { Tooltip } from './Tooltip';
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
import { OptionRow } from './OptionRow';
|
|
48
48
|
import { Table, TableRow, TableCell } from './Table';
|
|
49
49
|
import { Text } from './Text';
|
|
@@ -85,7 +85,6 @@ export {
|
|
|
85
85
|
TableRow,
|
|
86
86
|
TableCell,
|
|
87
87
|
Tooltip,
|
|
88
|
-
Notification,
|
|
89
88
|
Link,
|
|
90
89
|
Radio,
|
|
91
90
|
RadioBoxGroup,
|
|
@@ -54,7 +54,27 @@ const getComponentColors = ( theme, gColor, gVariants ) => ( {
|
|
|
54
54
|
|
|
55
55
|
// Notice
|
|
56
56
|
notice: {
|
|
57
|
-
|
|
57
|
+
// extending the notice theme to support the alert variant
|
|
58
|
+
background: {
|
|
59
|
+
alert: theme.support.background.error,
|
|
60
|
+
...theme.support.background,
|
|
61
|
+
},
|
|
62
|
+
link: {
|
|
63
|
+
alert: theme.support.link.error,
|
|
64
|
+
...theme.support.link,
|
|
65
|
+
},
|
|
66
|
+
accent: {
|
|
67
|
+
alert: theme.support.accent.error,
|
|
68
|
+
...theme.support.accent,
|
|
69
|
+
},
|
|
70
|
+
icon: {
|
|
71
|
+
alert: theme.support.icon.error,
|
|
72
|
+
...theme.support.icon,
|
|
73
|
+
},
|
|
74
|
+
text: {
|
|
75
|
+
alert: theme.support.text.error,
|
|
76
|
+
...theme.support.text,
|
|
77
|
+
},
|
|
58
78
|
},
|
|
59
79
|
|
|
60
80
|
// layer
|
package/test/fileMock.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
// Produce .d.ts declaration files. Must be enabled via command-line flags
|
|
5
|
+
// since noEmit=true in this file. See `npm run build:types` script.
|
|
6
|
+
"declaration": true,
|
|
7
|
+
|
|
8
|
+
// Output directory for declaration files.
|
|
9
|
+
"outDir": "build/system"
|
|
10
|
+
},
|
|
11
|
+
"include": [ "src" ]
|
|
12
|
+
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { makeDecorator } from '@storybook/addons';
|
|
3
|
-
import { Box, Heading } from '../../src/system';
|
|
4
|
-
|
|
5
|
-
export default makeDecorator( {
|
|
6
|
-
name: 'withBoundingBox',
|
|
7
|
-
parameterName: 'colorMode2',
|
|
8
|
-
wrapper: ( storyFn, context ) => {
|
|
9
|
-
return (
|
|
10
|
-
<Box sx={ { p: 3, height: '100vh' } }>
|
|
11
|
-
<Box sx={ { backgroundColor: 'backgroundMuted', p: 3, borderRadius: 2 } }>
|
|
12
|
-
<Heading variant="h1" sx={ { mb: 1 } }>
|
|
13
|
-
{ context.title }
|
|
14
|
-
</Heading>
|
|
15
|
-
<Heading variant="h2">{ context.name }</Heading>
|
|
16
|
-
</Box>
|
|
17
|
-
|
|
18
|
-
<Box sx={ { py: 3 } }>{ storyFn() }</Box>
|
|
19
|
-
</Box>
|
|
20
|
-
);
|
|
21
|
-
},
|
|
22
|
-
} );
|
package/build/system/Box/Box.tsx
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import React, { Ref } from 'react';
|
|
5
|
-
import classNames, { Argument } from 'classnames';
|
|
6
|
-
import { Box as ThemeBox, BoxProps as ThemeBoxProps } from 'theme-ui';
|
|
7
|
-
|
|
8
|
-
export interface BoxProps extends Omit< ThemeBoxProps, 'className' > {
|
|
9
|
-
className?: Argument;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export const Box = React.forwardRef< HTMLDivElement, BoxProps >(
|
|
13
|
-
( props: BoxProps, ref: Ref< HTMLDivElement > ) => (
|
|
14
|
-
<ThemeBox
|
|
15
|
-
{ ...props }
|
|
16
|
-
className={ classNames( 'vip-box-component', props.className ) }
|
|
17
|
-
ref={ ref }
|
|
18
|
-
/>
|
|
19
|
-
)
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
Box.displayName = 'Box';
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = exports.Default = void 0;
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
var _ = require("..");
|
|
7
|
-
var _variants = _interopRequireDefault(require("./variants"));
|
|
8
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
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
|
-
* External dependencies
|
|
12
|
-
*/ /**
|
|
13
|
-
* Internal dependencies
|
|
14
|
-
*/
|
|
15
|
-
var _default = {
|
|
16
|
-
title: 'ButtonSubmit',
|
|
17
|
-
component: _.ButtonSubmit,
|
|
18
|
-
argTypes: {
|
|
19
|
-
loading: {
|
|
20
|
-
control: {
|
|
21
|
-
type: 'boolean',
|
|
22
|
-
defaultValue: true
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
disabled: {
|
|
26
|
-
control: {
|
|
27
|
-
type: 'boolean'
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
show: {
|
|
31
|
-
control: {
|
|
32
|
-
type: 'boolean',
|
|
33
|
-
"default": true
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
variant: {
|
|
37
|
-
type: 'select',
|
|
38
|
-
options: _variants["default"]
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
exports["default"] = _default;
|
|
43
|
-
var Template = function Template(args) {
|
|
44
|
-
return (0, _jsxRuntime.jsx)(_react["default"].Fragment, {
|
|
45
|
-
children: _variants["default"].map(function (v) {
|
|
46
|
-
return (0, _jsxRuntime.jsx)(_.ButtonSubmit, _extends({
|
|
47
|
-
sx: {
|
|
48
|
-
m: 3
|
|
49
|
-
},
|
|
50
|
-
variant: v
|
|
51
|
-
}, args, {
|
|
52
|
-
label: "Loading\u2026"
|
|
53
|
-
}), v);
|
|
54
|
-
})
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
var Default = Template.bind({});
|
|
58
|
-
exports.Default = Default;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = exports.Default = void 0;
|
|
5
|
-
var _ = require("..");
|
|
6
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
|
-
var _default = {
|
|
11
|
-
title: 'Deprecated/ConfirmationDialog',
|
|
12
|
-
component: _.ConfirmationDialog
|
|
13
|
-
};
|
|
14
|
-
exports["default"] = _default;
|
|
15
|
-
var ConfirmationTrigger = (0, _jsxRuntime.jsx)(_.Button, {
|
|
16
|
-
sx: {
|
|
17
|
-
mr: 3
|
|
18
|
-
},
|
|
19
|
-
children: "Dangerous Action"
|
|
20
|
-
});
|
|
21
|
-
var ConfirmationContent = (0, _jsxRuntime.jsxs)(_.Box, {
|
|
22
|
-
p: 5,
|
|
23
|
-
children: [(0, _jsxRuntime.jsx)(_.Heading, {
|
|
24
|
-
children: "This is a Modal"
|
|
25
|
-
}), (0, _jsxRuntime.jsx)(_.Text, {
|
|
26
|
-
sx: {
|
|
27
|
-
fontSize: 3
|
|
28
|
-
},
|
|
29
|
-
children: "A modal is used to perform more detailed actions that don\u2018t necessarily need the context behind."
|
|
30
|
-
})]
|
|
31
|
-
});
|
|
32
|
-
var Default = function Default() {
|
|
33
|
-
return (0, _jsxRuntime.jsx)(_.Flex, {
|
|
34
|
-
children: (0, _jsxRuntime.jsx)(_.Box, {
|
|
35
|
-
children: (0, _jsxRuntime.jsx)(_.ConfirmationDialog, {
|
|
36
|
-
trigger: ConfirmationTrigger,
|
|
37
|
-
content: ConfirmationContent
|
|
38
|
-
})
|
|
39
|
-
})
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
exports.Default = Default;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = exports.Default = void 0;
|
|
5
|
-
var _ = require("..");
|
|
6
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
|
-
var _default = {
|
|
11
|
-
title: 'Deprecated/Dialog',
|
|
12
|
-
component: _.Dialog
|
|
13
|
-
};
|
|
14
|
-
exports["default"] = _default;
|
|
15
|
-
var DropdownTrigger = (0, _jsxRuntime.jsx)(_.Button, {
|
|
16
|
-
children: "Trigger Dropdown"
|
|
17
|
-
});
|
|
18
|
-
var ModalTrigger = (0, _jsxRuntime.jsx)(_.Button, {
|
|
19
|
-
sx: {
|
|
20
|
-
mr: 3
|
|
21
|
-
},
|
|
22
|
-
children: "Trigger Modal"
|
|
23
|
-
});
|
|
24
|
-
var DropdownContent = (0, _jsxRuntime.jsxs)("div", {
|
|
25
|
-
children: [(0, _jsxRuntime.jsxs)(_.DialogMenu, {
|
|
26
|
-
children: [(0, _jsxRuntime.jsx)(_.DialogMenuItem, {
|
|
27
|
-
children: "Profile"
|
|
28
|
-
}), (0, _jsxRuntime.jsx)(_.DialogMenuItem, {
|
|
29
|
-
children: "Account"
|
|
30
|
-
}), (0, _jsxRuntime.jsx)(_.DialogMenuItem, {
|
|
31
|
-
children: "Dark Mode"
|
|
32
|
-
})]
|
|
33
|
-
}), (0, _jsxRuntime.jsx)(_.DialogDivider, {}), (0, _jsxRuntime.jsx)(_.DialogMenu, {
|
|
34
|
-
children: (0, _jsxRuntime.jsx)(_.DialogMenuItem, {
|
|
35
|
-
children: "Logout"
|
|
36
|
-
})
|
|
37
|
-
})]
|
|
38
|
-
});
|
|
39
|
-
var ModalContent = (0, _jsxRuntime.jsxs)(_.Box, {
|
|
40
|
-
p: 5,
|
|
41
|
-
children: [(0, _jsxRuntime.jsx)(_.Heading, {
|
|
42
|
-
children: "This is a Modal"
|
|
43
|
-
}), (0, _jsxRuntime.jsx)(_.Text, {
|
|
44
|
-
sx: {
|
|
45
|
-
fontSize: 3
|
|
46
|
-
},
|
|
47
|
-
children: "A modal is used to perform more detailed actions that don\u2018t necessarily need the context behind."
|
|
48
|
-
})]
|
|
49
|
-
});
|
|
50
|
-
var Default = function Default() {
|
|
51
|
-
return (0, _jsxRuntime.jsxs)(_.Flex, {
|
|
52
|
-
children: [(0, _jsxRuntime.jsx)(_.Box, {
|
|
53
|
-
children: (0, _jsxRuntime.jsx)(_.Dialog, {
|
|
54
|
-
trigger: ModalTrigger,
|
|
55
|
-
content: ModalContent,
|
|
56
|
-
sx: {
|
|
57
|
-
width: 480
|
|
58
|
-
},
|
|
59
|
-
variant: "modal"
|
|
60
|
-
})
|
|
61
|
-
}), (0, _jsxRuntime.jsx)(_.Dialog, {
|
|
62
|
-
trigger: DropdownTrigger,
|
|
63
|
-
content: DropdownContent,
|
|
64
|
-
sx: {
|
|
65
|
-
width: 200
|
|
66
|
-
}
|
|
67
|
-
})]
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
exports.Default = Default;
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = exports.WithDialog = exports.Default = exports.ComplexOptions = void 0;
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
var _reactIcons = require("@radix-ui/react-icons");
|
|
7
|
-
var Dropdown = _interopRequireWildcard(require("."));
|
|
8
|
-
var _Button = require("../Button");
|
|
9
|
-
var NewDialog = _interopRequireWildcard(require("../NewDialog"));
|
|
10
|
-
var _Link = require("../Link");
|
|
11
|
-
var _Text = require("../Text");
|
|
12
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
13
|
-
var _excluded = ["onConfirm"];
|
|
14
|
-
/**
|
|
15
|
-
* External dependencies
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
/**
|
|
19
|
-
* Internal dependencies
|
|
20
|
-
*/
|
|
21
|
-
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); }
|
|
22
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
24
|
-
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); }
|
|
25
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
26
|
-
var _default = {
|
|
27
|
-
title: 'Dropdown',
|
|
28
|
-
component: Dropdown.Root
|
|
29
|
-
};
|
|
30
|
-
exports["default"] = _default;
|
|
31
|
-
var Default = function Default() {
|
|
32
|
-
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
33
|
-
children: [(0, _jsxRuntime.jsxs)(Dropdown.Root, {
|
|
34
|
-
trigger: (0, _jsxRuntime.jsx)(_Button.Button, {
|
|
35
|
-
children: "Open"
|
|
36
|
-
}),
|
|
37
|
-
children: [(0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
38
|
-
children: "All"
|
|
39
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
40
|
-
children: "Completed"
|
|
41
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
42
|
-
children: "Running"
|
|
43
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
44
|
-
children: "Cancelled"
|
|
45
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Separator, {}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
46
|
-
children: "Errored"
|
|
47
|
-
})]
|
|
48
|
-
}), (0, _jsxRuntime.jsxs)(_Text.Text, {
|
|
49
|
-
children: ["This component is based on the Radix Dropdown. You can find all available options, props and features in the", ' ', (0, _jsxRuntime.jsx)(_Link.Link, {
|
|
50
|
-
href: "https://www.radix-ui.com/docs/primitives/components/dropdown-menu",
|
|
51
|
-
target: "_blank",
|
|
52
|
-
rel: "noopener noreferrer",
|
|
53
|
-
children: "Dropdown Documentation page."
|
|
54
|
-
})]
|
|
55
|
-
})]
|
|
56
|
-
});
|
|
57
|
-
};
|
|
58
|
-
exports.Default = Default;
|
|
59
|
-
var ComplexOptions = function ComplexOptions() {
|
|
60
|
-
var _React$useState = _react["default"].useState(true),
|
|
61
|
-
bookmarksChecked = _React$useState[0],
|
|
62
|
-
setBookmarksChecked = _React$useState[1];
|
|
63
|
-
var _React$useState2 = _react["default"].useState(false),
|
|
64
|
-
urlsChecked = _React$useState2[0],
|
|
65
|
-
setUrlsChecked = _React$useState2[1];
|
|
66
|
-
var _React$useState3 = _react["default"].useState('pedro'),
|
|
67
|
-
person = _React$useState3[0],
|
|
68
|
-
setPerson = _React$useState3[1];
|
|
69
|
-
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
70
|
-
children: [(0, _jsxRuntime.jsxs)(Dropdown.Root, {
|
|
71
|
-
trigger: (0, _jsxRuntime.jsx)(_Button.Button, {
|
|
72
|
-
children: "See options"
|
|
73
|
-
}),
|
|
74
|
-
children: [(0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
75
|
-
children: "New Tab"
|
|
76
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
77
|
-
children: "New Window"
|
|
78
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
79
|
-
disabled: true,
|
|
80
|
-
children: "New Private Window"
|
|
81
|
-
}), (0, _jsxRuntime.jsxs)(Dropdown.Sub, {
|
|
82
|
-
children: [(0, _jsxRuntime.jsxs)(Dropdown.SubTrigger, {
|
|
83
|
-
children: ["More Tools", (0, _jsxRuntime.jsx)(_reactIcons.ChevronRightIcon, {})]
|
|
84
|
-
}), (0, _jsxRuntime.jsxs)(Dropdown.SubContent, {
|
|
85
|
-
sideOffset: 2,
|
|
86
|
-
alignOffset: -5,
|
|
87
|
-
children: [(0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
88
|
-
children: "Save Page As\u2026"
|
|
89
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
90
|
-
children: "Create Shortcut\u2026"
|
|
91
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
92
|
-
children: "Name Window\u2026"
|
|
93
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Separator, {}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
94
|
-
children: "Developer Tools"
|
|
95
|
-
})]
|
|
96
|
-
})]
|
|
97
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Separator, {}), (0, _jsxRuntime.jsxs)(Dropdown.CheckboxItem, {
|
|
98
|
-
checked: bookmarksChecked,
|
|
99
|
-
onCheckedChange: setBookmarksChecked,
|
|
100
|
-
children: [(0, _jsxRuntime.jsx)(Dropdown.ItemIndicator, {
|
|
101
|
-
children: (0, _jsxRuntime.jsx)(_reactIcons.CheckIcon, {})
|
|
102
|
-
}), "Show Bookmarks"]
|
|
103
|
-
}), (0, _jsxRuntime.jsxs)(Dropdown.CheckboxItem, {
|
|
104
|
-
checked: urlsChecked,
|
|
105
|
-
onCheckedChange: setUrlsChecked,
|
|
106
|
-
children: [(0, _jsxRuntime.jsx)(Dropdown.ItemIndicator, {
|
|
107
|
-
children: (0, _jsxRuntime.jsx)(_reactIcons.CheckIcon, {})
|
|
108
|
-
}), "Show Full URLs"]
|
|
109
|
-
}), (0, _jsxRuntime.jsx)(Dropdown.Separator, {}), (0, _jsxRuntime.jsx)(Dropdown.Label, {
|
|
110
|
-
children: "People"
|
|
111
|
-
}), (0, _jsxRuntime.jsxs)(Dropdown.RadioGroup, {
|
|
112
|
-
value: person,
|
|
113
|
-
onValueChange: setPerson,
|
|
114
|
-
children: [(0, _jsxRuntime.jsxs)(Dropdown.RadioItem, {
|
|
115
|
-
value: "pedro",
|
|
116
|
-
children: [(0, _jsxRuntime.jsx)(Dropdown.ItemIndicator, {
|
|
117
|
-
children: (0, _jsxRuntime.jsx)(_reactIcons.DotFilledIcon, {})
|
|
118
|
-
}), "Pedro Duarte"]
|
|
119
|
-
}), (0, _jsxRuntime.jsxs)(Dropdown.RadioItem, {
|
|
120
|
-
value: "colm",
|
|
121
|
-
children: [(0, _jsxRuntime.jsx)(Dropdown.ItemIndicator, {
|
|
122
|
-
children: (0, _jsxRuntime.jsx)(_reactIcons.DotFilledIcon, {})
|
|
123
|
-
}), "Colm Tuite"]
|
|
124
|
-
})]
|
|
125
|
-
})]
|
|
126
|
-
}), (0, _jsxRuntime.jsxs)(_Text.Text, {
|
|
127
|
-
children: ["This component is based on the Radix Dropdown. You can find all available options, props and features in the", ' ', (0, _jsxRuntime.jsx)(_Link.Link, {
|
|
128
|
-
href: "https://www.radix-ui.com/docs/primitives/components/dropdown-menu",
|
|
129
|
-
target: "_blank",
|
|
130
|
-
rel: "noopener noreferrer",
|
|
131
|
-
children: "Dropdown Documentation page."
|
|
132
|
-
})]
|
|
133
|
-
})]
|
|
134
|
-
});
|
|
135
|
-
};
|
|
136
|
-
exports.ComplexOptions = ComplexOptions;
|
|
137
|
-
var WithDialog = function WithDialog() {
|
|
138
|
-
var _React$useState4 = _react["default"].useState(false),
|
|
139
|
-
alertOpen = _React$useState4[0],
|
|
140
|
-
setAlertOpen = _React$useState4[1];
|
|
141
|
-
var _React$useState5 = _react["default"].useState(false),
|
|
142
|
-
menuOpen = _React$useState5[0],
|
|
143
|
-
setMenuOpen = _React$useState5[1];
|
|
144
|
-
|
|
145
|
-
// eslint-disable-next-line react/prop-types
|
|
146
|
-
var AreYouSureDialog = function AreYouSureDialog(_ref) {
|
|
147
|
-
var onConfirm = _ref.onConfirm,
|
|
148
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
149
|
-
return (0, _jsxRuntime.jsx)(NewDialog.Root, _extends({}, props, {
|
|
150
|
-
content: (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
151
|
-
children: [(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
152
|
-
variant: "secondary",
|
|
153
|
-
onClick: function onClick() {
|
|
154
|
-
return onConfirm();
|
|
155
|
-
},
|
|
156
|
-
children: "Custom Close."
|
|
157
|
-
}), (0, _jsxRuntime.jsx)("p", {
|
|
158
|
-
children: "Teste abc."
|
|
159
|
-
})]
|
|
160
|
-
})
|
|
161
|
-
}));
|
|
162
|
-
};
|
|
163
|
-
return (0, _jsxRuntime.jsxs)("div", {
|
|
164
|
-
children: [(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
165
|
-
children: "This is an important example when combining the Dropdown component with the NewDialog component. In order to have the correct accessibility, there are some events you need to use. Use this example if you want to copy and paste the code."
|
|
166
|
-
}), (0, _jsxRuntime.jsxs)(Dropdown.Root, {
|
|
167
|
-
modal: !alertOpen,
|
|
168
|
-
open: menuOpen,
|
|
169
|
-
onOpenChange: setMenuOpen,
|
|
170
|
-
contentProps: {
|
|
171
|
-
sideOffset: 5
|
|
172
|
-
},
|
|
173
|
-
trigger: (0, _jsxRuntime.jsx)(_Button.Button, {
|
|
174
|
-
children: "Open"
|
|
175
|
-
}),
|
|
176
|
-
children: [(0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
177
|
-
children: "I don't do anything"
|
|
178
|
-
}), (0, _jsxRuntime.jsx)(AreYouSureDialog, {
|
|
179
|
-
title: "Are you in the jungle?",
|
|
180
|
-
description: "sha-n-n-n-n-n-n-n-n knees, knees",
|
|
181
|
-
open: alertOpen,
|
|
182
|
-
onOpenChange: setAlertOpen,
|
|
183
|
-
onConfirm: function onConfirm() {
|
|
184
|
-
setAlertOpen(false);
|
|
185
|
-
setMenuOpen(false);
|
|
186
|
-
},
|
|
187
|
-
trigger: (0, _jsxRuntime.jsx)(Dropdown.Item, {
|
|
188
|
-
onSelect: function onSelect(event) {
|
|
189
|
-
return event.preventDefault();
|
|
190
|
-
},
|
|
191
|
-
children: "Open Dialog"
|
|
192
|
-
})
|
|
193
|
-
})]
|
|
194
|
-
})]
|
|
195
|
-
});
|
|
196
|
-
};
|
|
197
|
-
exports.WithDialog = WithDialog;
|