@strapi/design-system 1.3.0-beta.1 → 1.3.0-beta.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/Accordion.development.js +775 -0
- package/Accordion.js +9 -0
- package/Accordion.production.js +1 -0
- package/Alert.development.js +562 -0
- package/Alert.js +9 -0
- package/Alert.production.js +1 -0
- package/Avatar.development.js +485 -0
- package/Avatar.js +9 -0
- package/Avatar.production.js +1 -0
- package/Badge.development.js +494 -0
- package/Badge.js +9 -0
- package/Badge.production.js +1 -0
- package/BaseButton.development.js +285 -0
- package/BaseButton.js +9 -0
- package/BaseButton.production.js +1 -0
- package/BaseCheckbox.development.js +434 -0
- package/BaseCheckbox.js +9 -0
- package/BaseCheckbox.production.js +1 -0
- package/BaseLink.development.js +273 -0
- package/BaseLink.js +9 -0
- package/BaseLink.production.js +1 -0
- package/BaseRadio.development.js +321 -0
- package/BaseRadio.js +9 -0
- package/BaseRadio.production.js +1 -0
- package/Box.development.js +341 -0
- package/Box.js +9 -0
- package/Box.production.js +1 -0
- package/Breadcrumbs.development.js +518 -0
- package/Breadcrumbs.js +9 -0
- package/Breadcrumbs.production.js +1 -0
- package/Button.development.js +573 -0
- package/Button.js +9 -0
- package/Button.production.js +1 -0
- package/Card.development.js +746 -0
- package/Card.js +9 -0
- package/Card.production.js +1 -0
- package/CarouselInput.development.js +898 -0
- package/CarouselInput.js +9 -0
- package/CarouselInput.production.js +1 -0
- package/Checkbox.development.js +722 -0
- package/Checkbox.js +9 -0
- package/Checkbox.production.js +1 -0
- package/Combobox.development.js +934 -0
- package/Combobox.js +9 -0
- package/Combobox.production.js +1 -0
- package/DatePicker.development.js +1323 -0
- package/DatePicker.js +9 -0
- package/DatePicker.production.js +1 -0
- package/DateTimePicker.development.js +1622 -0
- package/DateTimePicker.js +9 -0
- package/DateTimePicker.production.js +1 -0
- package/Dialog.development.js +741 -0
- package/Dialog.js +9 -0
- package/Dialog.production.js +1 -0
- package/DismissibleLayer.development.js +218 -0
- package/DismissibleLayer.js +9 -0
- package/DismissibleLayer.production.js +1 -0
- package/Divider.development.js +398 -0
- package/Divider.js +9 -0
- package/Divider.production.js +1 -0
- package/EmptyStateLayout.development.js +425 -0
- package/EmptyStateLayout.js +9 -0
- package/EmptyStateLayout.production.js +1 -0
- package/Field.development.js +614 -0
- package/Field.js +9 -0
- package/Field.production.js +1 -0
- package/Flex.development.js +377 -0
- package/Flex.js +9 -0
- package/Flex.production.js +1 -0
- package/FocusTrap.development.js +341 -0
- package/FocusTrap.js +9 -0
- package/FocusTrap.production.js +1 -0
- package/Grid.development.js +422 -0
- package/Grid.js +9 -0
- package/Grid.production.js +1 -0
- package/Icon.development.js +376 -0
- package/Icon.js +9 -0
- package/Icon.production.js +1 -0
- package/IconButton.development.js +684 -0
- package/IconButton.js +9 -0
- package/IconButton.production.js +1 -0
- package/KeyboardNavigable.development.js +454 -0
- package/KeyboardNavigable.js +9 -0
- package/KeyboardNavigable.production.js +1 -0
- package/Layout.development.js +626 -0
- package/Layout.js +9 -0
- package/Layout.production.js +1 -0
- package/Link.development.js +492 -0
- package/Link.js +9 -0
- package/Link.production.js +1 -0
- package/LinkButton.development.js +573 -0
- package/LinkButton.js +9 -0
- package/LinkButton.production.js +1 -0
- package/LiveRegions.development.js +147 -0
- package/LiveRegions.js +9 -0
- package/LiveRegions.production.js +1 -0
- package/Loader.development.js +309 -0
- package/Loader.js +9 -0
- package/Loader.production.js +1 -0
- package/Main.development.js +410 -0
- package/Main.js +9 -0
- package/Main.production.js +1 -0
- package/MainNav.development.js +957 -0
- package/MainNav.js +9 -0
- package/MainNav.production.js +1 -0
- package/ModalLayout.development.js +895 -0
- package/ModalLayout.js +9 -0
- package/ModalLayout.production.js +1 -0
- package/NumberInput.development.js +733 -0
- package/NumberInput.js +9 -0
- package/NumberInput.production.js +1 -0
- package/Pagination.development.js +587 -0
- package/Pagination.js +9 -0
- package/Pagination.production.js +1 -0
- package/Popover.development.js +481 -0
- package/Popover.js +9 -0
- package/Popover.production.js +1 -0
- package/Portal.development.js +212 -0
- package/Portal.js +9 -0
- package/Portal.production.js +1 -0
- package/ProgressBar.development.js +273 -0
- package/ProgressBar.js +9 -0
- package/ProgressBar.production.js +1 -0
- package/Radio.development.js +518 -0
- package/Radio.js +9 -0
- package/Radio.production.js +1 -0
- package/RawTable.development.js +549 -0
- package/RawTable.js +9 -0
- package/RawTable.production.js +1 -0
- package/Searchbar.development.js +696 -0
- package/Searchbar.js +9 -0
- package/Searchbar.production.js +1 -0
- package/Select.development.js +1063 -0
- package/Select.js +9 -0
- package/Select.production.js +1 -0
- package/SimpleMenu.development.js +821 -0
- package/SimpleMenu.js +9 -0
- package/SimpleMenu.production.js +1 -0
- package/Stack.development.js +434 -0
- package/Stack.js +9 -0
- package/Stack.production.js +1 -0
- package/Status.development.js +494 -0
- package/Status.js +9 -0
- package/Status.production.js +1 -0
- package/SubNav.development.js +1123 -0
- package/SubNav.js +9 -0
- package/SubNav.production.js +1 -0
- package/Switch.development.js +434 -0
- package/Switch.js +9 -0
- package/Switch.production.js +1 -0
- package/Table.development.js +741 -0
- package/Table.js +9 -0
- package/Table.production.js +1 -0
- package/Tabs.development.js +590 -0
- package/Tabs.js +9 -0
- package/Tabs.production.js +1 -0
- package/Tag.development.js +494 -0
- package/Tag.js +9 -0
- package/Tag.production.js +1 -0
- package/TextButton.development.js +517 -0
- package/TextButton.js +9 -0
- package/TextButton.production.js +1 -0
- package/TextInput.development.js +662 -0
- package/TextInput.js +9 -0
- package/TextInput.production.js +1 -0
- package/Textarea.development.js +674 -0
- package/Textarea.js +9 -0
- package/Textarea.production.js +1 -0
- package/ThemeProvider.development.js +300 -0
- package/ThemeProvider.js +9 -0
- package/ThemeProvider.production.js +1 -0
- package/TimePicker.development.js +1098 -0
- package/TimePicker.js +9 -0
- package/TimePicker.production.js +1 -0
- package/ToggleCheckbox.development.js +542 -0
- package/ToggleCheckbox.js +9 -0
- package/ToggleCheckbox.production.js +1 -0
- package/ToggleInput.development.js +745 -0
- package/ToggleInput.js +9 -0
- package/ToggleInput.production.js +1 -0
- package/Tooltip.development.js +588 -0
- package/Tooltip.js +9 -0
- package/Tooltip.production.js +1 -0
- package/Typography.development.js +276 -0
- package/Typography.js +9 -0
- package/Typography.production.js +1 -0
- package/VisuallyHidden.development.js +146 -0
- package/VisuallyHidden.js +9 -0
- package/VisuallyHidden.production.js +1 -0
- package/index.development.js +4338 -0
- package/index.js +9 -0
- package/index.production.js +1 -0
- package/package.json +2 -2
- package/themes.development.js +254 -0
- package/themes.js +9 -0
- package/themes.production.js +1 -0
- package/v2/Breadcrumbs.development.js +906 -0
- package/v2/Breadcrumbs.js +9 -0
- package/v2/Breadcrumbs.production.js +1 -0
- package/v2/Link.development.js +505 -0
- package/v2/Link.js +9 -0
- package/v2/Link.production.js +1 -0
- package/v2/LinkButton.development.js +586 -0
- package/v2/LinkButton.js +9 -0
- package/v2/LinkButton.production.js +1 -0
- package/v2/MainNav.development.js +970 -0
- package/v2/MainNav.js +9 -0
- package/v2/MainNav.production.js +1 -0
- package/v2/Pagination.development.js +600 -0
- package/v2/Pagination.js +9 -0
- package/v2/Pagination.production.js +1 -0
- package/v2/SimpleMenu.development.js +834 -0
- package/v2/SimpleMenu.js +9 -0
- package/v2/SimpleMenu.production.js +1 -0
- package/v2/SubNav.development.js +1136 -0
- package/v2/SubNav.js +9 -0
- package/v2/SubNav.production.js +1 -0
- package/v2/index.development.js +1740 -0
- package/v2/index.js +9 -0
- package/v2/index.production.js +1 -0
- package/v2/package.json +81 -0
- package/.eslintignore +0 -3
- package/.eslintrc.js +0 -38
- package/.prettierrc.js +0 -7
- package/.storybook/components/Theme.js +0 -28
- package/.storybook/main.js +0 -13
- package/.storybook/manager.js +0 -12
- package/.storybook/preview.js +0 -42
- package/.storybook/utils/createCustomTheme.js +0 -26
- package/LICENSE +0 -20
- package/__mocks__/fileMock.js +0 -1
- package/__mocks__/styleMock.js +0 -1
- package/babel.config.js +0 -5
- package/createIndexFiles.js +0 -34
- package/global-setup.js +0 -4
- package/jest.config.js +0 -17
- package/playwright.config.js +0 -39
- package/src/Accordion/Accordion.js +0 -148
- package/src/Accordion/Accordion.stories.mdx +0 -327
- package/src/Accordion/AccordionContent.js +0 -26
- package/src/Accordion/AccordionContext.js +0 -5
- package/src/Accordion/AccordionGroup.js +0 -114
- package/src/Accordion/AccordionToggle.js +0 -192
- package/src/Accordion/__tests__/Accordion.e2e.js +0 -32
- package/src/Accordion/__tests__/AccordionKeyboard.e2e.js +0 -73
- package/src/Accordion/index.js +0 -4
- package/src/Accordion/utils.js +0 -15
- package/src/Alert/Alert.js +0 -144
- package/src/Alert/Alert.stories.mdx +0 -135
- package/src/Alert/__tests__/Alert.e2e.js +0 -39
- package/src/Alert/index.js +0 -1
- package/src/Alert/utils.js +0 -35
- package/src/Avatar/Avatar.js +0 -110
- package/src/Avatar/Avatar.stories.mdx +0 -67
- package/src/Avatar/AvatarGroup.js +0 -9
- package/src/Avatar/__tests__/Avatar.e2e.js +0 -23
- package/src/Avatar/__tests__/Avatar.spec.js +0 -153
- package/src/Avatar/constants.js +0 -2
- package/src/Avatar/index.js +0 -2
- package/src/Badge/Badge.js +0 -41
- package/src/Badge/Badge.stories.mdx +0 -57
- package/src/Badge/__tests__/Badge.e2e.js +0 -23
- package/src/Badge/index.js +0 -1
- package/src/BaseButton/BaseButton.js +0 -46
- package/src/BaseButton/BaseButton.stories.mdx +0 -32
- package/src/BaseButton/__tests__/BaseButton.e2e.js +0 -23
- package/src/BaseButton/index.js +0 -1
- package/src/BaseCheckbox/BaseCheckbox.js +0 -133
- package/src/BaseCheckbox/BaseCheckbox.stories.mdx +0 -107
- package/src/BaseCheckbox/__tests__/BaseCheckbox.e2e.js +0 -94
- package/src/BaseCheckbox/assets/checkmark-black.svg +0 -6
- package/src/BaseCheckbox/assets/checkmark.svg +0 -6
- package/src/BaseCheckbox/index.js +0 -1
- package/src/BaseCheckbox/utils.js +0 -7
- package/src/BaseLink/BaseLink.js +0 -38
- package/src/BaseLink/BaseLink.stories.mdx +0 -34
- package/src/BaseLink/__tests__/BaseLink.e2e.js +0 -23
- package/src/BaseLink/__tests__/BaseLink.spec.js +0 -26
- package/src/BaseLink/index.js +0 -1
- package/src/BaseRadio/BaseRadio.js +0 -69
- package/src/BaseRadio/BaseRadio.stories.mdx +0 -110
- package/src/BaseRadio/RadioGroup.js +0 -36
- package/src/BaseRadio/__tests__/BaseRadio.e2e.js +0 -90
- package/src/BaseRadio/context.js +0 -3
- package/src/BaseRadio/index.js +0 -2
- package/src/BaseRadio/utils.js +0 -30
- package/src/Box/Box.js +0 -104
- package/src/Box/Box.stories.mdx +0 -57
- package/src/Box/BoxProps.js +0 -99
- package/src/Box/__tests__/Box.e2e.js +0 -23
- package/src/Box/__tests__/Box.spec.js +0 -36
- package/src/Box/index.js +0 -1
- package/src/Breadcrumbs/Breadcrumbs.js +0 -58
- package/src/Breadcrumbs/Breadcrumbs.stories.mdx +0 -47
- package/src/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -23
- package/src/Breadcrumbs/index.js +0 -1
- package/src/Button/Button.js +0 -138
- package/src/Button/Button.stories.mdx +0 -216
- package/src/Button/__tests__/Button.e2e.js +0 -89
- package/src/Button/__tests__/utils.spec.js +0 -19
- package/src/Button/constants.js +0 -12
- package/src/Button/index.js +0 -1
- package/src/Button/utils.js +0 -170
- package/src/Card/Card.js +0 -35
- package/src/Card/Card.stories.mdx +0 -202
- package/src/Card/CardAction.js +0 -13
- package/src/Card/CardAsset.js +0 -49
- package/src/Card/CardBadge.js +0 -18
- package/src/Card/CardBody.js +0 -11
- package/src/Card/CardCheckbox.js +0 -14
- package/src/Card/CardContent.js +0 -16
- package/src/Card/CardContext.js +0 -5
- package/src/Card/CardHeader.js +0 -12
- package/src/Card/CardTimer.js +0 -23
- package/src/Card/CardTitle.js +0 -12
- package/src/Card/__tests__/Card.e2e.js +0 -164
- package/src/Card/index.js +0 -10
- package/src/Card/story-assets/first.jpg +0 -0
- package/src/CarouselInput/Carousel.js +0 -138
- package/src/CarouselInput/Carousel.stories.mdx +0 -149
- package/src/CarouselInput/CarouselActions.js +0 -6
- package/src/CarouselInput/CarouselImage.js +0 -39
- package/src/CarouselInput/CarouselInput.js +0 -80
- package/src/CarouselInput/CarouselSlide.js +0 -32
- package/src/CarouselInput/__tests__/CarouselImage.e2e.js +0 -15
- package/src/CarouselInput/__tests__/CarouselInput.e2e.js +0 -48
- package/src/CarouselInput/index.js +0 -5
- package/src/CarouselInput/story-assets/first.jpg +0 -0
- package/src/Checkbox/Checkbox.js +0 -63
- package/src/Checkbox/Checkbox.stories.mdx +0 -190
- package/src/Checkbox/__tests__/Checkbox.e2e.js +0 -96
- package/src/Checkbox/index.js +0 -1
- package/src/Combobox/Combobox.js +0 -421
- package/src/Combobox/Combobox.stories.mdx +0 -191
- package/src/Combobox/ComboboxList.js +0 -22
- package/src/Combobox/ComboboxOption.js +0 -36
- package/src/Combobox/__tests__/Combobox.e2e.js +0 -133
- package/src/Combobox/__tests__/utils.spec.js +0 -94
- package/src/Combobox/components.js +0 -69
- package/src/Combobox/index.js +0 -2
- package/src/Combobox/utils.js +0 -97
- package/src/DatePicker/DatePicker.js +0 -132
- package/src/DatePicker/DatePicker.stories.mdx +0 -172
- package/src/DatePicker/DatePickerCalendar.js +0 -134
- package/src/DatePicker/DatePickerTd.js +0 -51
- package/src/DatePicker/DatePickerTh.js +0 -39
- package/src/DatePicker/__tests__/DatePicker.e2e.js +0 -94
- package/src/DatePicker/__tests__/DatePicker.spec.js +0 -40
- package/src/DatePicker/compareDates.js +0 -9
- package/src/DatePicker/components.js +0 -45
- package/src/DatePicker/index.js +0 -1
- package/src/DatePicker/utils/formatDate.js +0 -5
- package/src/DatePicker/utils/generateWeeks.js +0 -58
- package/src/DatePicker/utils/getDayOfWeek.js +0 -24
- package/src/DatePicker/utils/getMonths.js +0 -10
- package/src/DatePicker/utils/getYears.js +0 -19
- package/src/DatePicker/utils/index.js +0 -5
- package/src/DatePicker/utils/tests/generateWeeks.spec.js +0 -136
- package/src/DatePicker/utils/tests/getMonths.spec.js +0 -21
- package/src/DatePicker/utils/tests/getYears.spec.js +0 -21
- package/src/DateTimePicker/DateTimePicker.js +0 -151
- package/src/DateTimePicker/DateTimePicker.stories.mdx +0 -114
- package/src/DateTimePicker/DateTimePickerProps.js +0 -85
- package/src/DateTimePicker/__tests__/DateTimePicker.e2e.js +0 -103
- package/src/DateTimePicker/__tests__/DateTimePicker.spec.js +0 -89
- package/src/DateTimePicker/__tests__/__snapshots__/DateTimePicker.spec.js.snap +0 -448
- package/src/DateTimePicker/__tests__/parseDate.test.js +0 -10
- package/src/DateTimePicker/index.js +0 -1
- package/src/DateTimePicker/parseDate.js +0 -11
- package/src/Dialog/Dialog.js +0 -86
- package/src/Dialog/Dialog.stories.mdx +0 -78
- package/src/Dialog/DialogBody.js +0 -36
- package/src/Dialog/DialogFooter.js +0 -38
- package/src/Dialog/__tests__/Dialog.e2e.js +0 -20
- package/src/Dialog/__tests__/Dialog.spec.js +0 -28
- package/src/Dialog/index.js +0 -3
- package/src/DismissibleLayer/DismissibleLayer.js +0 -87
- package/src/DismissibleLayer/DismissibleLayer.stories.mdx +0 -50
- package/src/DismissibleLayer/__test__/DimissibleLayer.spec.js +0 -44
- package/src/DismissibleLayer/index.js +0 -1
- package/src/Divider/Divider.js +0 -26
- package/src/Divider/Divider.stories.mdx +0 -55
- package/src/Divider/__tests__/Divider.e2e.js +0 -23
- package/src/Divider/index.js +0 -1
- package/src/EmptyStateLayout/EmptyStateLayout.js +0 -48
- package/src/EmptyStateLayout/EmptyStateLayout.stories.mdx +0 -87
- package/src/EmptyStateLayout/__tests__/EmptyStateLayout.e2e.js +0 -31
- package/src/EmptyStateLayout/index.js +0 -1
- package/src/EmptyStateLayout/story-assets/Illo.js +0 -51
- package/src/Field/Field.js +0 -29
- package/src/Field/Field.stories.mdx +0 -237
- package/src/Field/FieldAction.js +0 -25
- package/src/Field/FieldContext.js +0 -4
- package/src/Field/FieldError.js +0 -17
- package/src/Field/FieldHint.js +0 -17
- package/src/Field/FieldInput.js +0 -129
- package/src/Field/FieldLabel.js +0 -50
- package/src/Field/__tests__/Field.e2e.js +0 -61
- package/src/Field/index.js +0 -7
- package/src/Flex/Flex.js +0 -26
- package/src/Flex/Flex.stories.mdx +0 -45
- package/src/Flex/FlexProps.js +0 -41
- package/src/Flex/__tests__/Flex.e2e.js +0 -23
- package/src/Flex/index.js +0 -1
- package/src/FocusTrap/ExampleComponent.js +0 -71
- package/src/FocusTrap/FocusTrap.js +0 -83
- package/src/FocusTrap/FocusTrap.stories.mdx +0 -32
- package/src/FocusTrap/__tests__/FocusTrap.e2e.js +0 -126
- package/src/FocusTrap/index.js +0 -1
- package/src/Grid/Grid.js +0 -30
- package/src/Grid/Grid.stories.mdx +0 -112
- package/src/Grid/GridContext.js +0 -5
- package/src/Grid/GridItem.js +0 -40
- package/src/Grid/__tests__/Grid.e2e.js +0 -23
- package/src/Grid/index.js +0 -2
- package/src/Icon/Icon.js +0 -27
- package/src/Icon/Icon.stories.mdx +0 -41
- package/src/Icon/__tests__/Icon.e2e.js +0 -21
- package/src/Icon/index.js +0 -1
- package/src/IconButton/IconButton.js +0 -175
- package/src/IconButton/IconButton.stories.mdx +0 -153
- package/src/IconButton/__tests__/IconButton.e2e.js +0 -57
- package/src/IconButton/index.js +0 -1
- package/src/KeyboardNavigable/KeyboardNavigable.js +0 -96
- package/src/KeyboardNavigable/index.js +0 -1
- package/src/Layout/ActionLayout.js +0 -40
- package/src/Layout/ContentLayout.js +0 -15
- package/src/Layout/GridLayout.js +0 -12
- package/src/Layout/GridLayout.stories.mdx +0 -36
- package/src/Layout/HeaderLayout.js +0 -170
- package/src/Layout/HeaderLayout.stories.mdx +0 -175
- package/src/Layout/Layout.js +0 -31
- package/src/Layout/Layout.stories.mdx +0 -240
- package/src/Layout/TwoColsLayout.js +0 -26
- package/src/Layout/TwoColsLayout.stories.mdx +0 -46
- package/src/Layout/__tests__/GridLayout.e2e.js +0 -23
- package/src/Layout/__tests__/HeaderLayout.e2e.js +0 -83
- package/src/Layout/__tests__/Layout.e2e.js +0 -23
- package/src/Layout/__tests__/TwoColsLayout.e2e.js +0 -23
- package/src/Layout/index.js +0 -6
- package/src/Link/Link.js +0 -105
- package/src/Link/Link.stories.mdx +0 -57
- package/src/Link/__tests__/Link.e2e.js +0 -23
- package/src/Link/index.js +0 -1
- package/src/LinkButton/LinkButton.js +0 -113
- package/src/LinkButton/LinkButton.stories.mdx +0 -153
- package/src/LinkButton/__tests__/LinkButton.e2e.js +0 -89
- package/src/LinkButton/index.js +0 -1
- package/src/LiveRegions/LiveRegions.js +0 -13
- package/src/LiveRegions/LiveRegions.stories.mdx +0 -76
- package/src/LiveRegions/StoryComponent.js +0 -26
- package/src/LiveRegions/__tests__/LiveRegions.spec.js +0 -200
- package/src/LiveRegions/constants.js +0 -5
- package/src/LiveRegions/index.js +0 -1
- package/src/LiveRegions/useNotifyAT.js +0 -39
- package/src/Loader/Loader.js +0 -40
- package/src/Loader/Loader.stories.mdx +0 -48
- package/src/Loader/__tests__/Loader.e2e.js +0 -23
- package/src/Loader/assets/loader.svg +0 -3
- package/src/Loader/index.js +0 -1
- package/src/Main/Main.js +0 -24
- package/src/Main/SkipToContent.js +0 -29
- package/src/Main/index.js +0 -2
- package/src/MainNav/MainNav.js +0 -31
- package/src/MainNav/MainNav.stories.mdx +0 -197
- package/src/MainNav/MainNavContext.js +0 -5
- package/src/MainNav/NavBrand.js +0 -76
- package/src/MainNav/NavCondense.js +0 -44
- package/src/MainNav/NavLink.js +0 -143
- package/src/MainNav/NavSection.js +0 -53
- package/src/MainNav/NavSections.js +0 -20
- package/src/MainNav/NavUser.js +0 -53
- package/src/MainNav/__tests__/MainNav.e2e.js +0 -23
- package/src/MainNav/index.js +0 -7
- package/src/MainNav/strapi-img.png +0 -0
- package/src/ModalLayout/ModalBody.js +0 -12
- package/src/ModalLayout/ModalContext.js +0 -4
- package/src/ModalLayout/ModalFooter.js +0 -37
- package/src/ModalLayout/ModalHeader.js +0 -35
- package/src/ModalLayout/ModalLayout.js +0 -58
- package/src/ModalLayout/ModalLayout.stories.mdx +0 -100
- package/src/ModalLayout/__tests__/ModalLayout.e2e.js +0 -19
- package/src/ModalLayout/__tests__/ModalLayout.spec.js +0 -596
- package/src/ModalLayout/index.js +0 -4
- package/src/NumberInput/NumberInput.js +0 -253
- package/src/NumberInput/NumberInput.stories.mdx +0 -319
- package/src/NumberInput/__tests__/NumberInput.e2e.js +0 -194
- package/src/NumberInput/index.js +0 -1
- package/src/Pagination/Pagination.js +0 -37
- package/src/Pagination/Pagination.stories.mdx +0 -97
- package/src/Pagination/PaginationContext.js +0 -4
- package/src/Pagination/__tests__/Pagination.e2e.js +0 -23
- package/src/Pagination/assets/next.svg +0 -3
- package/src/Pagination/assets/previous.svg +0 -3
- package/src/Pagination/components.js +0 -147
- package/src/Pagination/index.js +0 -2
- package/src/Popover/Popover.js +0 -167
- package/src/Popover/Popover.stories.mdx +0 -167
- package/src/Popover/__tests__/Popover.e2e.js +0 -48
- package/src/Popover/__tests__/Popover.spec.js +0 -153
- package/src/Popover/index.js +0 -1
- package/src/Portal/Portal.js +0 -25
- package/src/Portal/Portal.stories.mdx +0 -33
- package/src/Portal/__tests__/Portal.e2e.js +0 -23
- package/src/Portal/index.js +0 -1
- package/src/ProgressBar/ProgressBar.js +0 -57
- package/src/ProgressBar/ProgressBar.stories.mdx +0 -47
- package/src/ProgressBar/__tests__/ProgressBar.e2e.js +0 -41
- package/src/ProgressBar/index.js +0 -1
- package/src/Radio/Radio.js +0 -25
- package/src/Radio/Radio.stories.mdx +0 -66
- package/src/Radio/__tests__/Radio.e2e.js +0 -66
- package/src/Radio/__tests__/Radio.spec.js +0 -56
- package/src/Radio/index.js +0 -2
- package/src/RawTable/RawCell.js +0 -182
- package/src/RawTable/RawTable.js +0 -123
- package/src/RawTable/RawTable.stories.mdx +0 -258
- package/src/RawTable/RawTableContext.js +0 -10
- package/src/RawTable/RawTbody.js +0 -18
- package/src/RawTable/RawThead.js +0 -15
- package/src/RawTable/RawTr.js +0 -20
- package/src/RawTable/__tests__/RawTable.e2e.js +0 -344
- package/src/RawTable/focusFocusable.js +0 -7
- package/src/RawTable/index.js +0 -5
- package/src/Searchbar/SearchForm.js +0 -3
- package/src/Searchbar/Searchbar.js +0 -103
- package/src/Searchbar/Searchbar.stories.mdx +0 -115
- package/src/Searchbar/__tests__/Searchbar.e2e.js +0 -52
- package/src/Searchbar/index.js +0 -2
- package/src/Select/MultiSelectNested.js +0 -31
- package/src/Select/OptGroup.js +0 -27
- package/src/Select/Option.js +0 -123
- package/src/Select/Select.js +0 -318
- package/src/Select/Select.stories.mdx +0 -362
- package/src/Select/SelectButton.js +0 -77
- package/src/Select/SelectList.js +0 -113
- package/src/Select/SelectTags.js +0 -50
- package/src/Select/__tests__/Select.e2e.js +0 -238
- package/src/Select/__tests__/Select.spec.js +0 -1020
- package/src/Select/components.js +0 -51
- package/src/Select/constants.js +0 -6
- package/src/Select/hooks/useButtonRef.js +0 -31
- package/src/Select/hooks/useListRef.js +0 -35
- package/src/Select/index.js +0 -5
- package/src/Select/utils.js +0 -27
- package/src/SimpleMenu/SimpleMenu.js +0 -252
- package/src/SimpleMenu/SimpleMenu.stories.mdx +0 -220
- package/src/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -98
- package/src/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
- package/src/SimpleMenu/index.js +0 -1
- package/src/SimpleMenu/utils.js +0 -12
- package/src/Stack/Stack.js +0 -75
- package/src/Stack/Stack.stories.mdx +0 -66
- package/src/Stack/__tests__/Stack.e2e.js +0 -43
- package/src/Stack/index.js +0 -1
- package/src/Status/Status.js +0 -76
- package/src/Status/Status.stories.mdx +0 -80
- package/src/Status/__tests__/Status.e2e.js +0 -23
- package/src/Status/__tests__/Status.spec.js +0 -48
- package/src/Status/index.js +0 -1
- package/src/SubNav/SubNav.js +0 -25
- package/src/SubNav/SubNav.stories.mdx +0 -234
- package/src/SubNav/SubNavHeader.js +0 -122
- package/src/SubNav/SubNavLink.js +0 -92
- package/src/SubNav/SubNavLinkSection.js +0 -75
- package/src/SubNav/SubNavSection.js +0 -75
- package/src/SubNav/SubNavSectionLabel.js +0 -67
- package/src/SubNav/SubNavSections.js +0 -20
- package/src/SubNav/__tests__/SubNav.e2e.js +0 -23
- package/src/SubNav/index.js +0 -6
- package/src/Switch/Switch.js +0 -97
- package/src/Switch/Switch.stories.mdx +0 -76
- package/src/Switch/__tests__/Switch.e2e.js +0 -33
- package/src/Switch/index.js +0 -1
- package/src/Table/Cell.js +0 -49
- package/src/Table/TFooter.js +0 -58
- package/src/Table/Table.js +0 -96
- package/src/Table/Table.stories.mdx +0 -330
- package/src/Table/Tbody.js +0 -13
- package/src/Table/Thead.js +0 -11
- package/src/Table/Tr.js +0 -28
- package/src/Table/__tests__/Table.e2e.js +0 -41
- package/src/Table/index.js +0 -6
- package/src/Tabs/TabGroup.js +0 -46
- package/src/Tabs/TabPanels.js +0 -32
- package/src/Tabs/Tabs.js +0 -227
- package/src/Tabs/Tabs.stories.mdx +0 -211
- package/src/Tabs/TabsContext.js +0 -5
- package/src/Tabs/__tests__/Tabs.e2e.js +0 -253
- package/src/Tabs/components.js +0 -66
- package/src/Tabs/index.js +0 -3
- package/src/Tabs/useTabsFocus.js +0 -28
- package/src/Tag/Tag.js +0 -72
- package/src/Tag/Tag.stories.mdx +0 -47
- package/src/Tag/__tests__/Tag.e2e.js +0 -37
- package/src/Tag/index.js +0 -1
- package/src/TextButton/TextButton.js +0 -102
- package/src/TextButton/TextButton.stories.mdx +0 -71
- package/src/TextButton/__tests__/TextButton.e2e.js +0 -23
- package/src/TextButton/index.js +0 -1
- package/src/TextInput/TextInput.js +0 -67
- package/src/TextInput/TextInput.stories.mdx +0 -228
- package/src/TextInput/__tests__/TextInput.e2e.js +0 -73
- package/src/TextInput/index.js +0 -1
- package/src/Textarea/Textarea.js +0 -74
- package/src/Textarea/Textarea.stories.mdx +0 -105
- package/src/Textarea/TextareaInput.js +0 -77
- package/src/Textarea/__tests__/Textarea.e2e.js +0 -37
- package/src/Textarea/index.js +0 -1
- package/src/ThemeProvider/ThemeProvider.js +0 -193
- package/src/ThemeProvider/hooks.js +0 -5
- package/src/ThemeProvider/index.js +0 -2
- package/src/TimePicker/TimePicker.js +0 -128
- package/src/TimePicker/TimePicker.stories.mdx +0 -171
- package/src/TimePicker/__tests__/TimePicker.e2e.js +0 -37
- package/src/TimePicker/__tests__/TimePicker.spec.js +0 -2099
- package/src/TimePicker/index.js +0 -1
- package/src/ToggleCheckbox/ToggleCheckbox.js +0 -169
- package/src/ToggleCheckbox/ToggleCheckbox.stories.mdx +0 -96
- package/src/ToggleCheckbox/__tests__/ToggleCheckbox.e2e.js +0 -59
- package/src/ToggleCheckbox/index.js +0 -1
- package/src/ToggleInput/ToggleInput.js +0 -89
- package/src/ToggleInput/ToggleInput.stories.mdx +0 -171
- package/src/ToggleInput/__tests__/ToggleInput.e2e.js +0 -109
- package/src/ToggleInput/index.js +0 -1
- package/src/Tooltip/Tooltip.js +0 -72
- package/src/Tooltip/Tooltip.stories.mdx +0 -127
- package/src/Tooltip/__tests__/Tooltip.e2e.js +0 -33
- package/src/Tooltip/__tests__/Tooltip.spec.js +0 -306
- package/src/Tooltip/hooks/useTooltipHandlers.js +0 -39
- package/src/Tooltip/hooks/useTooltipLayout.js +0 -21
- package/src/Tooltip/index.js +0 -1
- package/src/Tooltip/utils/__tests__/positionTooltip.spec.js +0 -114
- package/src/Tooltip/utils/positionTooltip.js +0 -83
- package/src/Typography/Typography.js +0 -24
- package/src/Typography/Typography.stories.mdx +0 -86
- package/src/Typography/TypographyProps.js +0 -30
- package/src/Typography/__tests__/Typography.e2e.js +0 -25
- package/src/Typography/__tests__/Typography.spec.js +0 -32
- package/src/Typography/__tests__/__snapshots__/Typography.spec.js.snap +0 -103
- package/src/Typography/constants.js +0 -9
- package/src/Typography/index.js +0 -1
- package/src/Typography/utils.js +0 -69
- package/src/VisuallyHidden/VisuallyHidden.js +0 -12
- package/src/VisuallyHidden/index.js +0 -1
- package/src/helpers/__tests__/useId.spec.js +0 -39
- package/src/helpers/escapeSelector.js +0 -1
- package/src/helpers/genId.js +0 -2
- package/src/helpers/getDefaultLocale.js +0 -33
- package/src/helpers/getFocusableNodes.js +0 -35
- package/src/helpers/handleResponsiveValues.js +0 -34
- package/src/helpers/keyboardKeys.js +0 -17
- package/src/helpers/setOpacity.js +0 -4
- package/src/helpers/setTabIndexOnFirstItem.js +0 -7
- package/src/helpers/useElementOnScreen.js +0 -27
- package/src/helpers/useId.js +0 -8
- package/src/helpers/useIntersection.js +0 -31
- package/src/helpers/useLockScroll.js +0 -14
- package/src/helpers/usePrevious.js +0 -9
- package/src/helpers/useResizeObserver.js +0 -22
- package/src/index.js +0 -65
- package/src/themes/ColorButton.js +0 -24
- package/src/themes/Theme.stories.mdx +0 -227
- package/src/themes/__tests__/extendTheme.spec.js +0 -119
- package/src/themes/colors.js +0 -46
- package/src/themes/common-theme.js +0 -19
- package/src/themes/darkTheme/dark-colors.js +0 -49
- package/src/themes/darkTheme/dark-shadows.js +0 -10
- package/src/themes/darkTheme/index.js +0 -9
- package/src/themes/extendTheme.js +0 -60
- package/src/themes/index.js +0 -4
- package/src/themes/lightTheme/index.js +0 -9
- package/src/themes/lightTheme/light-colors.js +0 -49
- package/src/themes/lightTheme/light-shadows.js +0 -10
- package/src/themes/sizes.js +0 -10
- package/src/themes/utils.js +0 -50
- package/src/v2/Breadcrumbs/Breadcrumbs.js +0 -45
- package/src/v2/Breadcrumbs/Breadcrumbs.stories.mdx +0 -129
- package/src/v2/Breadcrumbs/Crumb.js +0 -30
- package/src/v2/Breadcrumbs/CrumbLink.js +0 -33
- package/src/v2/Breadcrumbs/CrumbSimpleMenu.js +0 -30
- package/src/v2/Breadcrumbs/Divider.js +0 -16
- package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -47
- package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.spec.js +0 -47
- package/src/v2/Breadcrumbs/index.js +0 -4
- package/src/v2/Link/Link.js +0 -79
- package/src/v2/Link/Link.stories.mdx +0 -113
- package/src/v2/Link/__tests__/Link.e2e.js +0 -23
- package/src/v2/Link/index.js +0 -1
- package/src/v2/LinkButton/LinkButton.js +0 -105
- package/src/v2/LinkButton/LinkButton.stories.mdx +0 -153
- package/src/v2/LinkButton/__tests__/LinkButton.e2e.js +0 -89
- package/src/v2/LinkButton/index.js +0 -1
- package/src/v2/MainNav/MainNav.js +0 -31
- package/src/v2/MainNav/MainNav.stories.mdx +0 -197
- package/src/v2/MainNav/MainNavContext.js +0 -5
- package/src/v2/MainNav/NavBrand.js +0 -79
- package/src/v2/MainNav/NavCondense.js +0 -44
- package/src/v2/MainNav/NavLink.js +0 -143
- package/src/v2/MainNav/NavSection.js +0 -53
- package/src/v2/MainNav/NavSections.js +0 -20
- package/src/v2/MainNav/NavUser.js +0 -53
- package/src/v2/MainNav/__tests__/MainNav.e2e.js +0 -23
- package/src/v2/MainNav/index.js +0 -7
- package/src/v2/MainNav/strapi-img.png +0 -0
- package/src/v2/Pagination/Pagination.js +0 -37
- package/src/v2/Pagination/Pagination.stories.mdx +0 -97
- package/src/v2/Pagination/PaginationContext.js +0 -4
- package/src/v2/Pagination/__tests__/Pagination.e2e.js +0 -23
- package/src/v2/Pagination/assets/next.svg +0 -3
- package/src/v2/Pagination/assets/previous.svg +0 -3
- package/src/v2/Pagination/components.js +0 -136
- package/src/v2/Pagination/index.js +0 -2
- package/src/v2/SimpleMenu/SimpleMenu.js +0 -252
- package/src/v2/SimpleMenu/SimpleMenu.stories.mdx +0 -220
- package/src/v2/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -100
- package/src/v2/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
- package/src/v2/SimpleMenu/index.js +0 -1
- package/src/v2/SimpleMenu/utils.js +0 -12
- package/src/v2/SubNav/SubNav.js +0 -25
- package/src/v2/SubNav/SubNav.stories.mdx +0 -234
- package/src/v2/SubNav/SubNavHeader.js +0 -122
- package/src/v2/SubNav/SubNavLink.js +0 -95
- package/src/v2/SubNav/SubNavLinkSection.js +0 -75
- package/src/v2/SubNav/SubNavSection.js +0 -75
- package/src/v2/SubNav/SubNavSectionLabel.js +0 -67
- package/src/v2/SubNav/SubNavSections.js +0 -20
- package/src/v2/SubNav/__tests__/SubNav.e2e.js +0 -23
- package/src/v2/SubNav/index.js +0 -6
- package/src/v2/index.js +0 -7
- package/test-bundler.js +0 -35
- package/tests/check-exports.spec.js +0 -36
- package/webpack.config.js +0 -84
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { injectAxe, getViolations } from 'axe-playwright';
|
|
2
|
-
|
|
3
|
-
import { test, expect } from '@playwright/test';
|
|
4
|
-
|
|
5
|
-
test.describe.parallel('Dialog', () => {
|
|
6
|
-
test.beforeEach(async ({ page }) => {
|
|
7
|
-
// This is the URL of the Storybook Iframe
|
|
8
|
-
await page.goto('/iframe.html?id=design-system-components-dialog--base&args=&viewMode=story');
|
|
9
|
-
await injectAxe(page);
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
test('triggers axe on the document', async ({ page }) => {
|
|
13
|
-
const violations = await getViolations(page);
|
|
14
|
-
|
|
15
|
-
// Axe throws an error about landmark for the role dialog
|
|
16
|
-
const realViolations = violations.filter((violation) => violation.id !== 'region');
|
|
17
|
-
|
|
18
|
-
expect(realViolations.length).toBe(0);
|
|
19
|
-
});
|
|
20
|
-
});
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { render } from '@testing-library/react';
|
|
3
|
-
import { ThemeProvider } from '../../ThemeProvider';
|
|
4
|
-
import { lightTheme } from '../../themes';
|
|
5
|
-
import { Dialog } from '../Dialog';
|
|
6
|
-
import { DialogBody } from '../DialogBody';
|
|
7
|
-
import { DialogFooter } from '../DialogFooter';
|
|
8
|
-
import { Button } from '../../Button/Button';
|
|
9
|
-
|
|
10
|
-
describe('Dialog', () => {
|
|
11
|
-
it('should render Dialog with props', () => {
|
|
12
|
-
const { getByText } = render(
|
|
13
|
-
<ThemeProvider theme={lightTheme}>
|
|
14
|
-
<Dialog isOpen={true} onClose={jest.fn()} title="Confirmation" labelledBy="confirmation">
|
|
15
|
-
<DialogBody>are you sure you want to delete this?</DialogBody>
|
|
16
|
-
<DialogFooter
|
|
17
|
-
startAction={<Button variant="tertiary">Cancel</Button>}
|
|
18
|
-
endAction={<Button variant="danger-light">Confirm</Button>}
|
|
19
|
-
/>
|
|
20
|
-
</Dialog>
|
|
21
|
-
</ThemeProvider>,
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
expect(getByText('are you sure you want to delete this?')).toBeInTheDocument();
|
|
25
|
-
expect(getByText('Cancel')).toBeInTheDocument();
|
|
26
|
-
expect(getByText('Confirm')).toBeInTheDocument();
|
|
27
|
-
});
|
|
28
|
-
});
|
package/src/Dialog/index.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useRef, useMemo } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
export const DismissibleLayer = ({ children, className, onEscapeKeyDown, onPointerDownOutside }) => {
|
|
5
|
-
const layerRef = useRef(null);
|
|
6
|
-
const onEscapeKeyDownHandler = useCallbackRef(onEscapeKeyDown);
|
|
7
|
-
const onPointerDownOutsideHandler = useCallbackRef(onPointerDownOutside);
|
|
8
|
-
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
/**
|
|
11
|
-
* @type {(event: KeyboardEvent) => void}
|
|
12
|
-
*/
|
|
13
|
-
const handleKeyDown = (event) => {
|
|
14
|
-
if (event.key === 'Escape') {
|
|
15
|
-
onEscapeKeyDownHandler(event);
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
document.addEventListener('keydown', handleKeyDown);
|
|
20
|
-
|
|
21
|
-
return () => document.removeEventListener('keydown', handleKeyDown);
|
|
22
|
-
}, [onEscapeKeyDownHandler]);
|
|
23
|
-
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
/**
|
|
26
|
-
* @type {(event: PointerEvent) => void}
|
|
27
|
-
*/
|
|
28
|
-
const handlePointerDownOutside = (event) => {
|
|
29
|
-
/**
|
|
30
|
-
* Because certain elements that live inside modals e.g. Selects
|
|
31
|
-
* render their dropdowns in portals the `layerRef.current.contains(event.target)` fails.
|
|
32
|
-
*
|
|
33
|
-
* Therefore we check the closest portal of the DimissibleLayer (which we're trying to close)
|
|
34
|
-
* and the event that _may_ prematurely close the layer and see if they are equal.
|
|
35
|
-
*/
|
|
36
|
-
const dismissibleLayersReactPortal = layerRef.current.closest('[data-react-portal]');
|
|
37
|
-
const eventsReactPortal = event.target.closest('[data-react-portal]');
|
|
38
|
-
|
|
39
|
-
if (
|
|
40
|
-
layerRef.current &&
|
|
41
|
-
!layerRef.current.contains(event.target) &&
|
|
42
|
-
dismissibleLayersReactPortal === eventsReactPortal
|
|
43
|
-
) {
|
|
44
|
-
onPointerDownOutsideHandler();
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
document.addEventListener('pointerdown', handlePointerDownOutside);
|
|
49
|
-
|
|
50
|
-
return () => document.removeEventListener('pointerdown', handlePointerDownOutside);
|
|
51
|
-
}, [onPointerDownOutsideHandler]);
|
|
52
|
-
|
|
53
|
-
return (
|
|
54
|
-
<div ref={layerRef} className={className}>
|
|
55
|
-
{children}
|
|
56
|
-
</div>
|
|
57
|
-
);
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
DismissibleLayer.propTypes = {
|
|
61
|
-
children: PropTypes.node.isRequired,
|
|
62
|
-
className: PropTypes.string,
|
|
63
|
-
onEscapeKeyDown: PropTypes.func.isRequired,
|
|
64
|
-
onPointerDownOutside: PropTypes.func.isRequired,
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
|
|
69
|
-
* prop or avoid re-executing effects when passed as a dependency
|
|
70
|
-
*
|
|
71
|
-
* Stolen from @radix-ui/react-use-callback-ref
|
|
72
|
-
*/
|
|
73
|
-
function useCallbackRef(callback) {
|
|
74
|
-
const callbackRef = useRef(callback);
|
|
75
|
-
|
|
76
|
-
useEffect(() => {
|
|
77
|
-
callbackRef.current = callback;
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
// https://github.com/facebook/react/issues/19240
|
|
81
|
-
return useMemo(
|
|
82
|
-
() =>
|
|
83
|
-
(...args) =>
|
|
84
|
-
callbackRef.current?.(...args),
|
|
85
|
-
[],
|
|
86
|
-
);
|
|
87
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
<!--- Dismissable.stories.mdx --->
|
|
2
|
-
|
|
3
|
-
import { useState, useEffect } from 'react';
|
|
4
|
-
import { Meta, Story, Canvas } from '@storybook/addon-docs';
|
|
5
|
-
import { ArgsTable } from '@storybook/addon-docs';
|
|
6
|
-
|
|
7
|
-
import { Typography } from '../Typography';
|
|
8
|
-
import { DismissibleLayer } from './DismissibleLayer';
|
|
9
|
-
|
|
10
|
-
<Meta title="Design System/Technical Components/DismissibleLayer" component={DismissibleLayer} />
|
|
11
|
-
|
|
12
|
-
# DismissibleLayer
|
|
13
|
-
|
|
14
|
-
`DismissibleLayer` is a internal utility component wrapping the logic for a layer that can dismissed. It's typically used within a `Modal` or a `Popover` & in conjunction with `FocusTrap`.
|
|
15
|
-
|
|
16
|
-
[View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/DismissibleLayer)
|
|
17
|
-
|
|
18
|
-
## Imports
|
|
19
|
-
|
|
20
|
-
```js
|
|
21
|
-
import { DismissibleLayer } from '@strapi/design-system/DismissibleLayer';
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Usage
|
|
25
|
-
|
|
26
|
-
<Canvas>
|
|
27
|
-
<Story name="base">
|
|
28
|
-
{() => {
|
|
29
|
-
const [isVisible, setIsVisible] = useState(false);
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
let timeout = null;
|
|
32
|
-
if (!isVisible) {
|
|
33
|
-
timeout = setTimeout(() => setIsVisible(true), 1000);
|
|
34
|
-
}
|
|
35
|
-
return () => clearTimeout(timeout);
|
|
36
|
-
}, [isVisible]);
|
|
37
|
-
return isVisible ? (
|
|
38
|
-
<DismissibleLayer onEscapeKeyDown={() => setIsVisible(false)} onPointerDownOutside={() => setIsVisible(false)}>
|
|
39
|
-
<Typography style={{ backgroundColor: '#ccc', padding: '20px', display: 'block' }}>
|
|
40
|
-
press escape or click outside to dismiss
|
|
41
|
-
</Typography>
|
|
42
|
-
</DismissibleLayer>
|
|
43
|
-
) : null;
|
|
44
|
-
}}
|
|
45
|
-
</Story>
|
|
46
|
-
</Canvas>
|
|
47
|
-
|
|
48
|
-
## Props
|
|
49
|
-
|
|
50
|
-
<ArgsTable of={DismissibleLayer} />
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { fireEvent, render, screen } from '@testing-library/react';
|
|
3
|
-
import { DismissibleLayer } from '../DismissibleLayer';
|
|
4
|
-
|
|
5
|
-
describe('DismissibleLayer', () => {
|
|
6
|
-
it('should fire onEscapeKeyDown when the ESCAPE key is pressed', () => {
|
|
7
|
-
const onEscapeKeyDownMock = jest.fn();
|
|
8
|
-
const onPointerDownOutsideMock = jest.fn();
|
|
9
|
-
render(
|
|
10
|
-
<DismissibleLayer onEscapeKeyDown={onEscapeKeyDownMock} onPointerDownOutside={onPointerDownOutsideMock}>
|
|
11
|
-
<h1>hello world</h1>
|
|
12
|
-
</DismissibleLayer>,
|
|
13
|
-
);
|
|
14
|
-
|
|
15
|
-
fireEvent.keyDown(document, { key: 'Escape' });
|
|
16
|
-
|
|
17
|
-
expect(onEscapeKeyDownMock).toHaveBeenCalled();
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('should fire onPointerDownOutside when the user clicks outside the DismissibleLayer', () => {
|
|
21
|
-
const onPointerDownOutsideMock = jest.fn();
|
|
22
|
-
const onEscapeKeyDownMock = jest.fn();
|
|
23
|
-
render(
|
|
24
|
-
<>
|
|
25
|
-
<DismissibleLayer onPointerDownOutside={onPointerDownOutsideMock} onEscapeKeyDown={onEscapeKeyDownMock}>
|
|
26
|
-
<h1>hello world</h1>
|
|
27
|
-
</DismissibleLayer>
|
|
28
|
-
<button>Click me</button>
|
|
29
|
-
</>,
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
const insideLayer = screen.getByText('hello world');
|
|
33
|
-
|
|
34
|
-
fireEvent.mouseDown(insideLayer);
|
|
35
|
-
|
|
36
|
-
expect(onPointerDownOutsideMock).not.toHaveBeenCalled();
|
|
37
|
-
|
|
38
|
-
const outsideLayer = screen.getByText('Click me');
|
|
39
|
-
|
|
40
|
-
fireEvent.pointerDown(outsideLayer);
|
|
41
|
-
|
|
42
|
-
expect(onPointerDownOutsideMock).toHaveBeenCalled();
|
|
43
|
-
});
|
|
44
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './DismissibleLayer';
|
package/src/Divider/Divider.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { Box } from '../Box';
|
|
4
|
-
import styled from 'styled-components';
|
|
5
|
-
|
|
6
|
-
const DividerWrapper = styled(Box)`
|
|
7
|
-
height: 1px;
|
|
8
|
-
border: none;
|
|
9
|
-
${({ unsetMargin }) => (unsetMargin ? 'margin: 0;' : '')}
|
|
10
|
-
`;
|
|
11
|
-
|
|
12
|
-
export const Divider = ({ unsetMargin, ...props }) => <DividerWrapper {...props} as="hr" unsetMargin={unsetMargin} />;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* The background props is implicitly passed to the Box component
|
|
16
|
-
* Make sure to KEEP this line
|
|
17
|
-
*/
|
|
18
|
-
Divider.defaultProps = {
|
|
19
|
-
background: 'neutral150',
|
|
20
|
-
unsetMargin: true,
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
Divider.propTypes = {
|
|
24
|
-
background: PropTypes.string,
|
|
25
|
-
unsetMargin: PropTypes.bool,
|
|
26
|
-
};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
<!--- Divider.stories.mdx --->
|
|
2
|
-
|
|
3
|
-
import { Meta, Story, Canvas } from '@storybook/addon-docs';
|
|
4
|
-
import { ArgsTable } from '@storybook/addon-docs';
|
|
5
|
-
import { Divider } from './Divider';
|
|
6
|
-
import { Box } from '../Box';
|
|
7
|
-
|
|
8
|
-
<Meta title="Design System/Components/Divider" component={Divider} />
|
|
9
|
-
|
|
10
|
-
# Divider
|
|
11
|
-
|
|
12
|
-
Dividers are used to separate two pieces of content. They have a generic style in the interface.
|
|
13
|
-
|
|
14
|
-
**Best practices**
|
|
15
|
-
|
|
16
|
-
- Depending on what is about to be made, a small spacing left and right can be added.
|
|
17
|
-
- Dividers should not be bolder.
|
|
18
|
-
|
|
19
|
-
[View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/Divider)
|
|
20
|
-
|
|
21
|
-
## Imports
|
|
22
|
-
|
|
23
|
-
```js
|
|
24
|
-
import { Divider } from '@strapi/design-system/Divider';
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Usage
|
|
28
|
-
|
|
29
|
-
Use a divider to separate content in forms, PopOvers, tables, ...
|
|
30
|
-
|
|
31
|
-
<Canvas>
|
|
32
|
-
<Story name="base">
|
|
33
|
-
<Box padding={8}>
|
|
34
|
-
<Divider />
|
|
35
|
-
</Box>
|
|
36
|
-
</Story>
|
|
37
|
-
</Canvas>
|
|
38
|
-
|
|
39
|
-
### With default margin
|
|
40
|
-
|
|
41
|
-
Use a divider to separate content in forms, PopOvers, tables, ...
|
|
42
|
-
|
|
43
|
-
<Canvas>
|
|
44
|
-
<Story name="with-default-margin">
|
|
45
|
-
<Box padding={8}>
|
|
46
|
-
<Divider unsetMargin={false} />
|
|
47
|
-
</Box>
|
|
48
|
-
</Story>
|
|
49
|
-
</Canvas>
|
|
50
|
-
|
|
51
|
-
## Props
|
|
52
|
-
|
|
53
|
-
The Divider component wraps all its children in the (Box)[https://design-system-git-main-strapijs.vercel.app/?path=/docs/design-system-technical-components-box--base] component, so you can pass all Box props to change its style.
|
|
54
|
-
|
|
55
|
-
<ArgsTable of={Divider} />
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { injectAxe, checkA11y } from 'axe-playwright';
|
|
2
|
-
|
|
3
|
-
import { test } from '@playwright/test';
|
|
4
|
-
|
|
5
|
-
test.describe.parallel('Divider', () => {
|
|
6
|
-
test.describe('light mode', () => {
|
|
7
|
-
test('triggers axe on the document', async ({ page }) => {
|
|
8
|
-
// This is the URL of the Storybook Iframe
|
|
9
|
-
await page.goto('/iframe.html?id=design-system-components-divider--base&viewMode=story');
|
|
10
|
-
await injectAxe(page);
|
|
11
|
-
await checkA11y(page);
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
test.describe('dark mode', () => {
|
|
16
|
-
test('triggers axe on the document', async ({ page }) => {
|
|
17
|
-
// This is the URL of the Storybook Iframe
|
|
18
|
-
await page.goto('/iframe.html?id=design-system-components-divider--base&viewMode=story&theme=dark');
|
|
19
|
-
await injectAxe(page);
|
|
20
|
-
await checkA11y(page);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
});
|
package/src/Divider/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Divider';
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import styled from 'styled-components';
|
|
4
|
-
import { Typography } from '../Typography';
|
|
5
|
-
import { Box } from '../Box';
|
|
6
|
-
|
|
7
|
-
const EmptyStateWrapper = styled(Box)`
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
|
-
align-items: center;
|
|
11
|
-
text-align: center;
|
|
12
|
-
`;
|
|
13
|
-
|
|
14
|
-
const EmptyStateImageWrapper = styled(Box)`
|
|
15
|
-
svg {
|
|
16
|
-
height: ${88 / 16}rem;
|
|
17
|
-
}
|
|
18
|
-
`;
|
|
19
|
-
|
|
20
|
-
export const EmptyStateLayout = ({ icon, content, action, hasRadius, shadow }) => {
|
|
21
|
-
return (
|
|
22
|
-
<EmptyStateWrapper padding={11} background="neutral0" hasRadius={hasRadius} shadow={shadow}>
|
|
23
|
-
<EmptyStateImageWrapper paddingBottom={6} aria-hidden>
|
|
24
|
-
{icon}
|
|
25
|
-
</EmptyStateImageWrapper>
|
|
26
|
-
<Box paddingBottom={4}>
|
|
27
|
-
<Typography variant="delta" as="p" textColor="neutral600">
|
|
28
|
-
{content}
|
|
29
|
-
</Typography>
|
|
30
|
-
</Box>
|
|
31
|
-
{action}
|
|
32
|
-
</EmptyStateWrapper>
|
|
33
|
-
);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
EmptyStateLayout.defaultProps = {
|
|
37
|
-
action: undefined,
|
|
38
|
-
hasRadius: true,
|
|
39
|
-
shadow: 'tableShadow',
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
EmptyStateLayout.propTypes = {
|
|
43
|
-
action: PropTypes.node,
|
|
44
|
-
content: PropTypes.string.isRequired,
|
|
45
|
-
hasRadius: PropTypes.bool,
|
|
46
|
-
icon: PropTypes.node.isRequired,
|
|
47
|
-
shadow: PropTypes.string,
|
|
48
|
-
};
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
<!--- EmptyStateLayout.stories.mdx --->
|
|
2
|
-
|
|
3
|
-
import { Meta, Story, Canvas } from '@storybook/addon-docs';
|
|
4
|
-
import { ArgsTable } from '@storybook/addon-docs';
|
|
5
|
-
import Plus from '@strapi/icons/Plus';
|
|
6
|
-
import { Illo } from './story-assets/Illo';
|
|
7
|
-
import { EmptyStateLayout } from './EmptyStateLayout';
|
|
8
|
-
import { Button } from '../Button';
|
|
9
|
-
import { Box } from '../Box';
|
|
10
|
-
|
|
11
|
-
<Meta title="Design System/Components/EmptyStateLayout" component={EmptyStateLayout} />
|
|
12
|
-
|
|
13
|
-
# EmptyStateLayout
|
|
14
|
-
|
|
15
|
-
EmptyStates are a pattern used to indicate a page or a table is empty.
|
|
16
|
-
|
|
17
|
-
**Best practices**
|
|
18
|
-
|
|
19
|
-
- Use everytime a page or a table is empty.
|
|
20
|
-
- Use the most appropriate illustration for the usecase. If related to permissions, choose the eye one.
|
|
21
|
-
- Use the button to help redirecting the user to a more relevant place.
|
|
22
|
-
|
|
23
|
-
[View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/EmptyStateLayout)
|
|
24
|
-
|
|
25
|
-
## Imports
|
|
26
|
-
|
|
27
|
-
```js
|
|
28
|
-
import { EmptyStateLayout } from '@strapi/design-system/EmptyStateLayout';
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Usage
|
|
32
|
-
|
|
33
|
-
A page or a table might be empty for different reasons: no entries have been created yet, a user doesn't have the permission to access something, something went wrong, ...
|
|
34
|
-
|
|
35
|
-
### EmptyStateLayout with action
|
|
36
|
-
|
|
37
|
-
EmptyStates can be coupled with a button to help redirecting the user to a more relevant place.
|
|
38
|
-
|
|
39
|
-
<Canvas>
|
|
40
|
-
<Story name="base">
|
|
41
|
-
<Box padding={8} background="neutral100">
|
|
42
|
-
<EmptyStateLayout
|
|
43
|
-
icon={<Illo />}
|
|
44
|
-
content="You don't have any content yet..."
|
|
45
|
-
action={
|
|
46
|
-
<Button variant="secondary" startIcon={<Plus />}>
|
|
47
|
-
Create your first content-type
|
|
48
|
-
</Button>
|
|
49
|
-
}
|
|
50
|
-
/>
|
|
51
|
-
</Box>
|
|
52
|
-
</Story>
|
|
53
|
-
</Canvas>
|
|
54
|
-
|
|
55
|
-
### EmptyStateLayout without action
|
|
56
|
-
|
|
57
|
-
If no need to redirect the user to a more relevant place or if the context does not suit for that type of action, an EmptyState without any particular action can be added.
|
|
58
|
-
|
|
59
|
-
<Canvas>
|
|
60
|
-
<Story name="without action">
|
|
61
|
-
<Box padding={8} background="neutral100">
|
|
62
|
-
<EmptyStateLayout icon={<Illo />} content="You don't have any content yet..." />
|
|
63
|
-
</Box>
|
|
64
|
-
</Story>
|
|
65
|
-
</Canvas>
|
|
66
|
-
|
|
67
|
-
### EmptyStateLayout with longer text
|
|
68
|
-
|
|
69
|
-
<Canvas>
|
|
70
|
-
<Story name="with large text">
|
|
71
|
-
<Box padding={8} background="neutral100">
|
|
72
|
-
<EmptyStateLayout
|
|
73
|
-
icon={<Illo />}
|
|
74
|
-
content="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
|
|
75
|
-
action={
|
|
76
|
-
<Button variant="secondary" startIcon={<Plus />}>
|
|
77
|
-
Create your first content-type
|
|
78
|
-
</Button>
|
|
79
|
-
}
|
|
80
|
-
/>
|
|
81
|
-
</Box>
|
|
82
|
-
</Story>
|
|
83
|
-
</Canvas>
|
|
84
|
-
|
|
85
|
-
## Props
|
|
86
|
-
|
|
87
|
-
<ArgsTable of={EmptyStateLayout} />
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { injectAxe, checkA11y } from 'axe-playwright';
|
|
2
|
-
|
|
3
|
-
import { test } from '@playwright/test';
|
|
4
|
-
|
|
5
|
-
test.describe.parallel('EmptyStateLayout', () => {
|
|
6
|
-
test.describe('light mode', () => {
|
|
7
|
-
test.describe('base', () => {
|
|
8
|
-
test('triggers axe on the document', async ({ page }) => {
|
|
9
|
-
await page.goto('/iframe.html?id=design-system-components-emptystatelayout--base&viewMode=story');
|
|
10
|
-
await injectAxe(page);
|
|
11
|
-
await checkA11y(page);
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
test.describe('without action', () => {
|
|
16
|
-
test('triggers axe on the document', async ({ page }) => {
|
|
17
|
-
await page.goto('/iframe.html?id=design-system-components-emptystatelayout--without-action&viewMode=story');
|
|
18
|
-
await injectAxe(page);
|
|
19
|
-
await checkA11y(page);
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
test.describe('dark mode', () => {
|
|
25
|
-
test('triggers axe on the document', async ({ page }) => {
|
|
26
|
-
await page.goto('/iframe.html?id=design-system-components-emptystatelayout--base&viewMode=story&theme=dark');
|
|
27
|
-
await injectAxe(page);
|
|
28
|
-
await checkA11y(page);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './EmptyStateLayout';
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
export const Illo = () => (
|
|
4
|
-
<svg width="159" height="88" viewBox="0 0 159 88" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5
|
-
<path
|
|
6
|
-
fillRule="evenodd"
|
|
7
|
-
clipRule="evenodd"
|
|
8
|
-
d="M134.933 17.417C137.768 17.417 140.067 19.7153 140.067 22.5503C140.067 25.3854 137.768 27.6837 134.933 27.6837H105.6C108.435 27.6837 110.733 29.9819 110.733 32.817C110.733 35.6521 108.435 37.9503 105.6 37.9503H121.733C124.568 37.9503 126.867 40.2486 126.867 43.0837C126.867 45.9187 124.568 48.217 121.733 48.217H114.272C110.698 48.217 107.8 50.5153 107.8 53.3503C107.8 55.2404 109.267 56.9515 112.2 58.4837C115.035 58.4837 117.333 60.7819 117.333 63.617C117.333 66.4521 115.035 68.7503 112.2 68.7503H51.3333C48.4982 68.7503 46.2 66.4521 46.2 63.617C46.2 60.7819 48.4982 58.4837 51.3333 58.4837H22.7333C19.8982 58.4837 17.6 56.1854 17.6 53.3503C17.6 50.5153 19.8982 48.217 22.7333 48.217H52.0666C54.9017 48.217 57.2 45.9187 57.2 43.0837C57.2 40.2486 54.9017 37.9503 52.0666 37.9503H33.7333C30.8982 37.9503 28.6 35.6521 28.6 32.817C28.6 29.9819 30.8982 27.6837 33.7333 27.6837H63.0666C60.2316 27.6837 57.9333 25.3854 57.9333 22.5503C57.9333 19.7153 60.2316 17.417 63.0666 17.417H134.933ZM134.933 37.9503C137.768 37.9503 140.067 40.2486 140.067 43.0837C140.067 45.9187 137.768 48.217 134.933 48.217C132.098 48.217 129.8 45.9187 129.8 43.0837C129.8 40.2486 132.098 37.9503 134.933 37.9503Z"
|
|
9
|
-
fill="#DBDBFA"
|
|
10
|
-
/>
|
|
11
|
-
<path
|
|
12
|
-
fillRule="evenodd"
|
|
13
|
-
clipRule="evenodd"
|
|
14
|
-
d="M95.826 16.6834L102.647 66.4348L103.26 71.4261C103.458 73.034 102.314 74.4976 100.706 74.695L57.7621 79.9679C56.1542 80.1653 54.6906 79.0219 54.4932 77.4139L47.8816 23.5671C47.7829 22.7631 48.3546 22.0313 49.1586 21.9326C49.1637 21.932 49.1688 21.9313 49.1739 21.9307L52.7367 21.5311L95.826 16.6834ZM55.6176 21.208L58.9814 20.8306Z"
|
|
15
|
-
fill="white"
|
|
16
|
-
/>
|
|
17
|
-
<path
|
|
18
|
-
d="M55.6176 21.208L58.9814 20.8306M95.826 16.6834L102.647 66.4348L103.26 71.4261C103.458 73.034 102.314 74.4976 100.706 74.695L57.7621 79.9679C56.1542 80.1653 54.6906 79.0219 54.4932 77.4139L47.8816 23.5671C47.7829 22.7631 48.3546 22.0313 49.1586 21.9326C49.1637 21.932 49.1688 21.9313 49.1739 21.9307L52.7367 21.5311L95.826 16.6834Z"
|
|
19
|
-
stroke="#7E7BF6"
|
|
20
|
-
strokeWidth="2.5"
|
|
21
|
-
/>
|
|
22
|
-
<path
|
|
23
|
-
fillRule="evenodd"
|
|
24
|
-
clipRule="evenodd"
|
|
25
|
-
d="M93.9695 19.8144L100.144 64.9025L100.699 69.4258C100.878 70.8831 99.8559 72.2077 98.416 72.3845L59.9585 77.1065C58.5185 77.2833 57.2062 76.2453 57.0272 74.7881L51.0506 26.112C50.9519 25.308 51.5236 24.5762 52.3276 24.4775L57.0851 23.8934"
|
|
26
|
-
fill="#F0F0FF"
|
|
27
|
-
/>
|
|
28
|
-
<path
|
|
29
|
-
fillRule="evenodd"
|
|
30
|
-
clipRule="evenodd"
|
|
31
|
-
d="M97.701 7.33301H64.2927C63.7358 7.33301 63.2316 7.55873 62.8667 7.92368C62.5017 8.28862 62.276 8.79279 62.276 9.34967V65.083C62.276 65.6399 62.5017 66.1441 62.8667 66.509C63.2316 66.874 63.7358 67.0997 64.2927 67.0997H107.559C108.116 67.0997 108.62 66.874 108.985 66.509C109.35 66.1441 109.576 65.6399 109.576 65.083V19.202C109.576 18.6669 109.363 18.1537 108.985 17.7755L99.1265 7.92324C98.7484 7.54531 98.2356 7.33301 97.701 7.33301Z"
|
|
32
|
-
fill="white"
|
|
33
|
-
stroke="#7F7CFA"
|
|
34
|
-
strokeWidth="2.5"
|
|
35
|
-
/>
|
|
36
|
-
<path
|
|
37
|
-
d="M98.026 8.17871V16.6833C98.026 17.8983 99.011 18.8833 100.226 18.8833H106.044"
|
|
38
|
-
stroke="#807EFA"
|
|
39
|
-
strokeWidth="2.5"
|
|
40
|
-
strokeLinecap="round"
|
|
41
|
-
strokeLinejoin="round"
|
|
42
|
-
/>
|
|
43
|
-
<path
|
|
44
|
-
d="M70.1594 56.2838H89.2261M70.1594 18.8838H89.2261H70.1594ZM70.1594 27.6838H101.693H70.1594ZM70.1594 37.2171H101.693H70.1594ZM70.1594 46.7505H101.693H70.1594Z"
|
|
45
|
-
stroke="#817FFA"
|
|
46
|
-
strokeWidth="2.5"
|
|
47
|
-
strokeLinecap="round"
|
|
48
|
-
strokeLinejoin="round"
|
|
49
|
-
/>
|
|
50
|
-
</svg>
|
|
51
|
-
);
|
package/src/Field/Field.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { FieldContext } from './FieldContext';
|
|
4
|
-
import { useId } from '../helpers/useId';
|
|
5
|
-
|
|
6
|
-
export const Field = ({ children, name, error, hint, id, ...props }) => {
|
|
7
|
-
const generatedId = useId('field', id);
|
|
8
|
-
|
|
9
|
-
return (
|
|
10
|
-
<div {...props}>
|
|
11
|
-
<FieldContext.Provider value={{ name, id: generatedId, error, hint }}>{children}</FieldContext.Provider>
|
|
12
|
-
</div>
|
|
13
|
-
);
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
Field.defaultProps = {
|
|
17
|
-
error: undefined,
|
|
18
|
-
hint: undefined,
|
|
19
|
-
id: undefined,
|
|
20
|
-
name: undefined,
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
Field.propTypes = {
|
|
24
|
-
children: PropTypes.node.isRequired,
|
|
25
|
-
error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
|
|
26
|
-
hint: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
|
|
27
|
-
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
28
|
-
name: PropTypes.string,
|
|
29
|
-
};
|