@pingux/astro 2.221.6 → 2.234.1-alpha.0
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/lib/cjs/components/AccordionGridGroup/AccordionGrid.styles.d.ts +50 -0
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.d.ts +14 -0
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +6 -56
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.stories.js +2 -1
- package/lib/cjs/components/AccordionGridGroup/index.d.ts +1 -0
- package/lib/cjs/components/AccordionGridItem/AccordionGridItem.d.ts +3 -0
- package/lib/cjs/components/AccordionGridItem/AccordionGridItem.js +12 -20
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.d.ts +4 -0
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +9 -15
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.d.ts +4 -0
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +10 -23
- package/lib/cjs/components/AccordionGridItem/index.d.ts +1 -0
- package/lib/cjs/components/AccordionGroup/AccordionGroup.stories.js +12 -1
- package/lib/cjs/components/AccordionGroup/AccordionGroup.test.js +43 -1
- package/lib/cjs/components/AccordionItem/AccordionItem.d.ts +3 -0
- package/lib/cjs/components/AccordionItem/AccordionItem.js +4 -2
- package/lib/cjs/components/ArrayField/ArrayField.js +30 -13
- package/lib/cjs/components/ArrayField/ArrayField.mdx +5 -1
- package/lib/cjs/components/ArrayField/ArrayField.stories.js +127 -90
- package/lib/cjs/components/ArrayField/ArrayField.styles.d.ts +9 -0
- package/lib/cjs/components/ArrayField/ArrayField.styles.js +41 -0
- package/lib/cjs/components/ArrayField/ArrayField.test.js +202 -30
- package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.js +21 -8
- package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.styles.d.ts +5 -0
- package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.styles.js +21 -0
- package/lib/cjs/components/ArrayField/arrayFieldAttributes.d.ts +1 -99
- package/lib/cjs/components/ArrayField/arrayFieldAttributes.js +3 -2
- package/lib/cjs/components/AstroProvider/AstroProvider.d.ts +16 -0
- package/lib/cjs/components/AstroProvider/AstroProvider.js +10 -34
- package/lib/cjs/components/AstroProvider/PageWrapper.test.js +49 -4
- package/lib/cjs/components/AstroProvider/index.d.ts +2 -0
- package/lib/cjs/components/Badge/Badge.js +20 -11
- package/lib/cjs/components/Badge/Badge.mdx +6 -0
- package/lib/cjs/components/Badge/Badge.stories.js +64 -19
- package/lib/cjs/components/Badge/Badge.styles.d.ts +266 -0
- package/lib/cjs/components/Badge/Badge.styles.js +24 -4
- package/lib/cjs/components/Badge/Badge.test.js +165 -1
- package/lib/cjs/components/Badge/BadgeHelpHint.d.ts +8 -0
- package/lib/cjs/components/Badge/BadgeHelpHint.js +84 -0
- package/lib/cjs/components/Badge/Convenience/DefaultBadge.js +5 -2
- package/lib/cjs/components/Badge/Convenience/ErrorCalloutBadge.js +5 -4
- package/lib/cjs/components/Badge/Convenience/InfoCalloutBadge.js +5 -4
- package/lib/cjs/components/Badge/Convenience/SuccessCalloutBadge.js +5 -4
- package/lib/cjs/components/Badge/Convenience/WarningCalloutBadge.js +5 -4
- package/lib/cjs/components/Checkbox/Checkbox.d.ts +9 -0
- package/lib/cjs/components/Checkbox/Checkbox.styles.d.ts +15 -0
- package/lib/cjs/components/Checkbox/CheckboxBase.d.ts +4 -0
- package/lib/cjs/components/Checkbox/CheckboxBase.js +100 -49
- package/lib/cjs/components/Checkbox/CheckboxIcons.d.ts +15 -0
- package/lib/cjs/components/Checkbox/CheckboxIcons.js +122 -0
- package/lib/cjs/components/Checkbox/index.d.ts +1 -0
- package/lib/cjs/components/CheckboxField/CheckboxField.js +5 -1
- package/lib/cjs/components/CheckboxField/CheckboxField.stories.js +1 -1
- package/lib/cjs/components/CheckboxField/CheckboxField.test.js +41 -5
- package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.d.ts +4 -0
- package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.js +89 -0
- package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.mdx +69 -0
- package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.stories.js +118 -0
- package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.styles.d.ts +8 -0
- package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.styles.js +40 -0
- package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.test.js +485 -0
- package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroupItem.d.ts +4 -0
- package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroupItem.js +112 -0
- package/lib/cjs/components/CheckboxFieldGroup/checkboxFieldGroupAttributes.d.ts +2 -0
- package/lib/cjs/components/CheckboxFieldGroup/checkboxFieldGroupAttributes.js +108 -0
- package/lib/cjs/components/CheckboxFieldGroup/index.d.ts +3 -0
- package/lib/cjs/components/CheckboxFieldGroup/index.js +27 -0
- package/lib/cjs/components/CodeView/CodeView.js +3 -2
- package/lib/cjs/components/CodeView/CodeView.stories.js +44 -1
- package/lib/cjs/components/CodeView/CodeView.test.js +84 -0
- package/lib/cjs/components/ComboBoxField/ComboBoxField.stories.js +18 -1
- package/lib/cjs/components/CopyText/CopyButton.js +1 -2
- package/lib/cjs/components/DatePicker/DatePicker.test.js +1 -1
- package/lib/cjs/components/EmptyState/EmptyState.d.ts +4 -0
- package/lib/cjs/components/EmptyState/EmptyState.js +66 -0
- package/lib/cjs/components/EmptyState/EmptyState.mdx +44 -0
- package/lib/cjs/components/EmptyState/EmptyState.stories.js +88 -0
- package/lib/cjs/components/EmptyState/EmptyState.styles.d.ts +13 -0
- package/lib/cjs/components/EmptyState/EmptyState.styles.js +22 -0
- package/lib/cjs/components/EmptyState/EmptyState.test.js +223 -0
- package/lib/cjs/components/EmptyState/emptyStateAttributes.d.ts +99 -0
- package/lib/cjs/components/EmptyState/emptyStateAttributes.js +49 -0
- package/lib/cjs/components/EmptyState/index.d.ts +1 -0
- package/lib/cjs/components/EmptyState/index.js +14 -0
- package/lib/cjs/components/HelpHint/HelpHint.js +38 -83
- package/lib/cjs/components/IconBadge/IconBadge.d.ts +2 -0
- package/lib/cjs/components/IconBadge/IconBadge.js +39 -20
- package/lib/cjs/components/IconBadge/IconBadge.mdx +5 -1
- package/lib/cjs/components/IconBadge/IconBadge.stories.js +50 -7
- package/lib/cjs/components/IconBadge/IconBadge.styles.d.ts +19 -0
- package/lib/cjs/components/IconBadge/IconBadge.styles.js +27 -0
- package/lib/cjs/components/IconBadge/IconBadge.test.js +67 -14
- package/lib/cjs/components/IconButton/IconButton.styles.d.ts +3 -0
- package/lib/cjs/components/IconButton/IconButton.styles.js +4 -0
- package/lib/cjs/components/LabelValuePairs/LabelValuePairs.stories.js +1 -0
- package/lib/cjs/components/LabelValuePairs/LabelValuePairs.test.js +18 -1
- package/lib/cjs/components/LabelValuePairs/LabelValuePairsLabel.js +1 -2
- package/lib/cjs/components/ListView/ListView.js +28 -4
- package/lib/cjs/components/ListView/ListView.stories.js +110 -62
- package/lib/cjs/components/ListView/ListView.test.js +80 -0
- package/lib/cjs/components/ListView/ListViewTypes.d.ts +5 -0
- package/lib/cjs/components/ListViewItem/ListViewItem.js +28 -7
- package/lib/cjs/components/ListViewItem/ListViewItem.stories.js +2 -5
- package/lib/cjs/components/ListViewItem/ListViewItem.styles.js +7 -0
- package/lib/cjs/components/ListViewItem/ListViewItem.test.js +36 -5
- package/lib/cjs/components/ListViewItem/listViewItemAttributes.js +9 -1
- package/lib/cjs/components/MultivaluesField/DefaultMultivaluesField.js +8 -0
- package/lib/cjs/components/MultivaluesField/MultivaluesField.stories.js +23 -1
- package/lib/cjs/components/NavBar/NavBar.styles.d.ts +11 -1
- package/lib/cjs/components/PageHeader/PageHeader.js +9 -4
- package/lib/cjs/components/PageHeader/PageHeader.mdx +3 -0
- package/lib/cjs/components/PageHeader/PageHeader.stories.js +14 -4
- package/lib/cjs/components/PageHeader/PageHeader.test.js +57 -3
- package/lib/cjs/components/PanelHeader/PanelHeader.js +36 -8
- package/lib/cjs/components/PanelHeader/PanelHeader.stories.js +2 -5
- package/lib/cjs/components/PanelHeader/PanelHeader.test.js +46 -4
- package/lib/cjs/components/RangeCalendar/RangeCalendar.js +1 -1
- package/lib/cjs/components/RangeCalendar/RangeCalendar.mdx +4 -0
- package/lib/cjs/components/RangeCalendar/RangeCalendar.test.js +30 -0
- package/lib/cjs/components/RangeCalendar/RangeCalendarGrid.js +1 -0
- package/lib/cjs/components/SelectField/SelectField.stories.js +14 -1
- package/lib/cjs/components/Tab/Tab.js +38 -6
- package/lib/cjs/components/Tab/getSlotText.d.ts +6 -0
- package/lib/cjs/components/Tab/getSlotText.js +21 -0
- package/lib/cjs/components/Tab/getSlotText.test.js +23 -0
- package/lib/cjs/components/TabPicker/TabPicker.js +9 -4
- package/lib/cjs/components/Tabs/Tabs.stories.js +63 -14
- package/lib/cjs/components/Tabs/Tabs.storyData.d.ts +1 -0
- package/lib/cjs/components/Tabs/Tabs.storyData.js +8 -0
- package/lib/cjs/components/Tabs/Tabs.style.d.ts +5 -0
- package/lib/cjs/components/Tabs/Tabs.style.js +7 -2
- package/lib/cjs/components/Tabs/Tabs.test.js +85 -37
- package/lib/cjs/context/CheckboxFieldGroupContext/index.d.ts +10 -0
- package/lib/cjs/context/CheckboxFieldGroupContext/index.js +17 -0
- package/lib/cjs/hooks/index.d.ts +1 -0
- package/lib/cjs/hooks/index.js +7 -0
- package/lib/cjs/hooks/useField/useField.d.ts +78 -78
- package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +14 -0
- package/lib/cjs/hooks/useHelpHintPopover/index.d.ts +2 -0
- package/lib/cjs/hooks/useHelpHintPopover/index.js +32 -0
- package/lib/cjs/hooks/useHelpHintPopover/useHelpHintPopover.d.ts +25 -0
- package/lib/cjs/hooks/useHelpHintPopover/useHelpHintPopover.js +137 -0
- package/lib/cjs/hooks/usePagination/usePagination.d.ts +94 -94
- package/lib/cjs/index.d.ts +4 -0
- package/lib/cjs/index.js +114 -69
- package/lib/cjs/styles/forms/index.js +23 -2
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/colors.d.ts +17 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/colors.js +18 -1
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/icons.d.ts +6 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +7 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/badges.d.ts +90 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/badges.js +76 -29
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/box.d.ts +14 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/box.js +22 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/buttons.d.ts +20 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/buttons.js +20 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/comboBox.d.ts +3 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/comboBox.js +4 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/forms.d.ts +45 -8
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/forms.js +34 -10
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/listview.d.ts +29 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/listview.js +30 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/text.d.ts +5 -2
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/text.js +5 -2
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +52 -1
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +12 -1
- package/lib/cjs/styles/themeOverrides/onyxSideNav.d.ts +6 -0
- package/lib/cjs/styles/themes/astro/customProperties/icons.d.ts +6 -0
- package/lib/cjs/styles/themes/astro/customProperties/icons.js +3 -1
- package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +7 -0
- package/lib/cjs/styles/themes/astro/customProperties/index.js +3 -0
- package/lib/cjs/styles/themes/next-gen/codeView/codeView.d.ts +9 -0
- package/lib/cjs/styles/themes/next-gen/codeView/codeView.js +5 -2
- package/lib/cjs/styles/themes/next-gen/colors/colors.d.ts +17 -0
- package/lib/cjs/styles/themes/next-gen/colors/twoTone.d.ts +18 -0
- package/lib/cjs/styles/themes/next-gen/colors/twoTone.js +21 -1
- package/lib/cjs/styles/themes/next-gen/convertedComponentList.d.ts +2 -0
- package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +5 -3
- package/lib/cjs/styles/themes/next-gen/customProperties/icons.d.ts +6 -0
- package/lib/cjs/styles/themes/next-gen/customProperties/icons.js +5 -1
- package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +7 -0
- package/lib/cjs/styles/themes/next-gen/customProperties/index.js +3 -1
- package/lib/cjs/styles/themes/next-gen/forms.d.ts +83 -4
- package/lib/cjs/styles/themes/next-gen/forms.js +51 -8
- package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +472 -72
- package/lib/cjs/styles/themes/next-gen/spacing.d.ts +1 -0
- package/lib/cjs/styles/themes/next-gen/spacing.js +2 -1
- package/lib/cjs/styles/themes/next-gen/variants/arrayField.d.ts +9 -0
- package/lib/cjs/styles/themes/next-gen/variants/arrayField.js +71 -0
- package/lib/cjs/styles/themes/next-gen/variants/arrayFieldDeleteButton.d.ts +5 -0
- package/lib/cjs/styles/themes/next-gen/variants/arrayFieldDeleteButton.js +44 -0
- package/lib/cjs/styles/themes/next-gen/variants/badges.d.ts +243 -33
- package/lib/cjs/styles/themes/next-gen/variants/badges.js +77 -28
- package/lib/cjs/styles/themes/next-gen/variants/box.d.ts +2 -0
- package/lib/cjs/styles/themes/next-gen/variants/box.js +7 -4
- package/lib/cjs/styles/themes/next-gen/variants/button.d.ts +41 -29
- package/lib/cjs/styles/themes/next-gen/variants/button.js +25 -2
- package/lib/cjs/styles/themes/next-gen/variants/images.d.ts +6 -1
- package/lib/cjs/styles/themes/next-gen/variants/images.js +8 -1
- package/lib/cjs/styles/themes/next-gen/variants/label.js +33 -1
- package/lib/cjs/styles/themes/next-gen/variants/listview.d.ts +33 -0
- package/lib/cjs/styles/themes/next-gen/variants/listview.js +36 -1
- package/lib/cjs/styles/themes/next-gen/variants/rangeCalendar.d.ts +10 -0
- package/lib/cjs/styles/themes/next-gen/variants/rangeCalendar.js +15 -4
- package/lib/cjs/styles/themes/next-gen/variants/tabs.d.ts +9 -0
- package/lib/cjs/styles/themes/next-gen/variants/tabs.js +12 -3
- package/lib/cjs/styles/themes/next-gen/variants/text.d.ts +5 -1
- package/lib/cjs/styles/themes/next-gen/variants/text.js +6 -2
- package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +103 -6
- package/lib/cjs/styles/themes/next-gen/variants/variants.js +30 -4
- package/lib/cjs/styles/variants/variants.js +8 -0
- package/lib/cjs/types/AccordionGridGroup.d.ts +36 -0
- package/lib/cjs/types/AccordionGridGroup.js +6 -0
- package/lib/cjs/types/AccordionGridItem.d.ts +52 -0
- package/lib/cjs/types/AccordionGridItem.js +6 -0
- package/lib/cjs/types/AstroProvider.d.ts +32 -0
- package/lib/cjs/types/AstroProvider.js +6 -0
- package/lib/cjs/types/Checkbox.d.ts +44 -0
- package/lib/cjs/types/Checkbox.js +6 -0
- package/lib/cjs/types/badge.d.ts +6 -0
- package/lib/cjs/types/checkboxFieldGroup.d.ts +48 -0
- package/lib/cjs/types/checkboxFieldGroup.js +6 -0
- package/lib/cjs/types/codeView.d.ts +3 -0
- package/lib/cjs/types/emptyState.d.ts +27 -0
- package/lib/cjs/types/emptyState.js +6 -0
- package/lib/cjs/types/iconBadge.d.ts +6 -0
- package/lib/cjs/types/index.d.ts +7 -0
- package/lib/cjs/types/index.js +147 -70
- package/lib/cjs/types/item.d.ts +5 -0
- package/lib/cjs/types/listView.d.ts +3 -0
- package/lib/cjs/types/table.d.ts +2 -0
- package/lib/cjs/utils/designUtils/figmaLinks.d.ts +3 -0
- package/lib/cjs/utils/designUtils/figmaLinks.js +4 -1
- package/lib/components/AccordionGridGroup/AccordionGridGroup.js +6 -56
- package/lib/components/AccordionGridGroup/AccordionGridGroup.stories.js +2 -1
- package/lib/components/AccordionGridItem/AccordionGridItem.js +12 -20
- package/lib/components/AccordionGridItem/AccordionGridItemBody.js +9 -15
- package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +10 -23
- package/lib/components/AccordionGroup/AccordionGroup.stories.js +11 -0
- package/lib/components/AccordionGroup/AccordionGroup.test.js +43 -1
- package/lib/components/AccordionItem/AccordionItem.js +5 -3
- package/lib/components/ArrayField/ArrayField.js +30 -13
- package/lib/components/ArrayField/ArrayField.mdx +5 -1
- package/lib/components/ArrayField/ArrayField.stories.js +126 -89
- package/lib/components/ArrayField/ArrayField.styles.js +34 -0
- package/lib/components/ArrayField/ArrayField.test.js +202 -30
- package/lib/components/ArrayField/ArrayFieldDeleteButton.js +21 -8
- package/lib/components/ArrayField/ArrayFieldDeleteButton.styles.js +14 -0
- package/lib/components/ArrayField/arrayFieldAttributes.js +3 -2
- package/lib/components/AstroProvider/AstroProvider.js +10 -34
- package/lib/components/AstroProvider/PageWrapper.test.js +46 -0
- package/lib/components/Badge/Badge.js +20 -11
- package/lib/components/Badge/Badge.mdx +6 -0
- package/lib/components/Badge/Badge.stories.js +64 -19
- package/lib/components/Badge/Badge.styles.js +25 -5
- package/lib/components/Badge/Badge.test.js +166 -2
- package/lib/components/Badge/BadgeHelpHint.js +74 -0
- package/lib/components/Badge/Convenience/DefaultBadge.js +5 -2
- package/lib/components/Badge/Convenience/ErrorCalloutBadge.js +5 -4
- package/lib/components/Badge/Convenience/InfoCalloutBadge.js +5 -4
- package/lib/components/Badge/Convenience/SuccessCalloutBadge.js +5 -4
- package/lib/components/Badge/Convenience/WarningCalloutBadge.js +5 -4
- package/lib/components/Checkbox/CheckboxBase.js +99 -48
- package/lib/components/Checkbox/CheckboxIcons.js +114 -0
- package/lib/components/CheckboxField/CheckboxField.js +6 -2
- package/lib/components/CheckboxField/CheckboxField.stories.js +1 -1
- package/lib/components/CheckboxField/CheckboxField.test.js +41 -5
- package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.js +79 -0
- package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.mdx +69 -0
- package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.stories.js +111 -0
- package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.styles.js +33 -0
- package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.test.js +481 -0
- package/lib/components/CheckboxFieldGroup/CheckboxFieldGroupItem.js +101 -0
- package/lib/components/CheckboxFieldGroup/checkboxFieldGroupAttributes.js +101 -0
- package/lib/components/CheckboxFieldGroup/index.js +3 -0
- package/lib/components/CodeView/CodeView.js +3 -2
- package/lib/components/CodeView/CodeView.stories.js +44 -1
- package/lib/components/CodeView/CodeView.test.js +85 -1
- package/lib/components/ComboBoxField/ComboBoxField.stories.js +18 -1
- package/lib/components/CopyText/CopyButton.js +1 -2
- package/lib/components/DatePicker/DatePicker.test.js +1 -1
- package/lib/components/EmptyState/EmptyState.js +54 -0
- package/lib/components/EmptyState/EmptyState.mdx +44 -0
- package/lib/components/EmptyState/EmptyState.stories.js +81 -0
- package/lib/components/EmptyState/EmptyState.styles.js +15 -0
- package/lib/components/EmptyState/EmptyState.test.js +220 -0
- package/lib/components/EmptyState/emptyStateAttributes.js +42 -0
- package/lib/components/EmptyState/index.js +1 -0
- package/lib/components/HelpHint/HelpHint.js +41 -86
- package/lib/components/IconBadge/IconBadge.js +43 -24
- package/lib/components/IconBadge/IconBadge.mdx +5 -1
- package/lib/components/IconBadge/IconBadge.stories.js +50 -7
- package/lib/components/IconBadge/IconBadge.styles.js +20 -0
- package/lib/components/IconBadge/IconBadge.test.js +54 -1
- package/lib/components/IconButton/IconButton.styles.js +4 -0
- package/lib/components/LabelValuePairs/LabelValuePairs.stories.js +1 -0
- package/lib/components/LabelValuePairs/LabelValuePairs.test.js +19 -2
- package/lib/components/LabelValuePairs/LabelValuePairsLabel.js +1 -2
- package/lib/components/ListView/ListView.js +28 -4
- package/lib/components/ListView/ListView.stories.js +106 -58
- package/lib/components/ListView/ListView.test.js +80 -0
- package/lib/components/ListViewItem/ListViewItem.js +28 -5
- package/lib/components/ListViewItem/ListViewItem.stories.js +3 -6
- package/lib/components/ListViewItem/ListViewItem.styles.js +7 -0
- package/lib/components/ListViewItem/ListViewItem.test.js +33 -2
- package/lib/components/ListViewItem/listViewItemAttributes.js +9 -1
- package/lib/components/MultivaluesField/DefaultMultivaluesField.js +8 -0
- package/lib/components/MultivaluesField/MultivaluesField.stories.js +23 -1
- package/lib/components/PageHeader/PageHeader.js +9 -4
- package/lib/components/PageHeader/PageHeader.mdx +3 -0
- package/lib/components/PageHeader/PageHeader.stories.js +15 -5
- package/lib/components/PageHeader/PageHeader.test.js +58 -4
- package/lib/components/PanelHeader/PanelHeader.js +37 -9
- package/lib/components/PanelHeader/PanelHeader.stories.js +3 -6
- package/lib/components/PanelHeader/PanelHeader.test.js +47 -5
- package/lib/components/RangeCalendar/RangeCalendar.js +1 -1
- package/lib/components/RangeCalendar/RangeCalendar.mdx +4 -0
- package/lib/components/RangeCalendar/RangeCalendar.test.js +30 -0
- package/lib/components/RangeCalendar/RangeCalendarGrid.js +1 -0
- package/lib/components/SelectField/SelectField.stories.js +13 -0
- package/lib/components/Tab/Tab.js +39 -3
- package/lib/components/Tab/getSlotText.js +15 -0
- package/lib/components/Tab/getSlotText.test.js +21 -0
- package/lib/components/TabPicker/TabPicker.js +10 -5
- package/lib/components/Tabs/Tabs.stories.js +62 -11
- package/lib/components/Tabs/Tabs.storyData.js +1 -0
- package/lib/components/Tabs/Tabs.style.js +6 -1
- package/lib/components/Tabs/Tabs.test.js +85 -37
- package/lib/context/CheckboxFieldGroupContext/index.js +10 -0
- package/lib/hooks/index.js +1 -0
- package/lib/hooks/useHelpHintPopover/index.js +2 -0
- package/lib/hooks/useHelpHintPopover/useHelpHintPopover.js +130 -0
- package/lib/index.js +4 -0
- package/lib/styles/forms/index.js +22 -2
- package/lib/styles/themeOverrides/nextGenDarkMode/colors.js +18 -1
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/badges.js +76 -29
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/box.js +15 -0
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/buttons.js +20 -0
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/comboBox.js +4 -0
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/forms.js +33 -9
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/listview.js +30 -0
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/text.js +5 -2
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +12 -1
- package/lib/styles/themes/astro/customProperties/icons.js +3 -1
- package/lib/styles/themes/astro/customProperties/index.js +3 -0
- package/lib/styles/themes/next-gen/codeView/codeView.js +5 -2
- package/lib/styles/themes/next-gen/colors/twoTone.js +19 -0
- package/lib/styles/themes/next-gen/convertedComponentList.js +5 -3
- package/lib/styles/themes/next-gen/customProperties/icons.js +5 -1
- package/lib/styles/themes/next-gen/customProperties/index.js +3 -1
- package/lib/styles/themes/next-gen/forms.js +50 -7
- package/lib/styles/themes/next-gen/spacing.js +2 -1
- package/lib/styles/themes/next-gen/variants/arrayField.js +64 -0
- package/lib/styles/themes/next-gen/variants/arrayFieldDeleteButton.js +37 -0
- package/lib/styles/themes/next-gen/variants/badges.js +77 -28
- package/lib/styles/themes/next-gen/variants/box.js +7 -4
- package/lib/styles/themes/next-gen/variants/button.js +25 -2
- package/lib/styles/themes/next-gen/variants/images.js +7 -1
- package/lib/styles/themes/next-gen/variants/label.js +33 -1
- package/lib/styles/themes/next-gen/variants/listview.js +35 -1
- package/lib/styles/themes/next-gen/variants/rangeCalendar.js +15 -4
- package/lib/styles/themes/next-gen/variants/tabs.js +11 -2
- package/lib/styles/themes/next-gen/variants/text.js +6 -2
- package/lib/styles/themes/next-gen/variants/variants.js +31 -5
- package/lib/styles/variants/variants.js +8 -0
- package/lib/types/AccordionGridGroup.js +1 -0
- package/lib/types/AccordionGridItem.js +1 -0
- package/lib/types/AstroProvider.js +1 -0
- package/lib/types/Checkbox.js +1 -0
- package/lib/types/checkboxFieldGroup.js +1 -0
- package/lib/types/emptyState.js +1 -0
- package/lib/types/index.js +7 -0
- package/lib/utils/designUtils/figmaLinks.js +4 -1
- package/package.json +3 -3
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
5
|
+
var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
|
|
6
|
+
var _Object$create = require("@babel/runtime-corejs3/core-js-stable/object/create");
|
|
7
|
+
var _bindInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/bind");
|
|
8
|
+
var _Object$getPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/object/get-prototype-of");
|
|
9
|
+
var _Object$setPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/object/set-prototype-of");
|
|
10
|
+
var _Symbol$asyncIterator = require("@babel/runtime-corejs3/core-js-stable/symbol/async-iterator");
|
|
11
|
+
var _Promise = require("@babel/runtime-corejs3/core-js-stable/promise");
|
|
12
|
+
var _Symbol$iterator = require("@babel/runtime-corejs3/core-js-stable/symbol/iterator");
|
|
13
|
+
var _reverseInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/reverse");
|
|
14
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
15
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
|
16
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
|
17
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
18
|
+
var _forEachInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
|
19
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
|
20
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
|
21
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
23
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
|
|
24
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
25
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
|
26
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
27
|
+
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
|
28
|
+
var _react = _interopRequireDefault(require("react"));
|
|
29
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
30
|
+
var _jestAxe = require("jest-axe");
|
|
31
|
+
var _index = require("../../index");
|
|
32
|
+
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
|
33
|
+
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
|
34
|
+
var _ = require(".");
|
|
35
|
+
var _react2 = require("@emotion/react");
|
|
36
|
+
var _excluded = ["value", "label"];
|
|
37
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
38
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context9, _context0; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty2(_context9 = ownKeys(Object(t), !0)).call(_context9, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty2(_context0 = ownKeys(Object(t))).call(_context0, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
39
|
+
function _regeneratorRuntime() { "use strict"; var r = _regenerator(), e = r.m(_regeneratorRuntime), t = (_Object$getPrototypeOf ? _Object$getPrototypeOf(e) : e.__proto__).constructor; function n(r) { var e = "function" == typeof r && r.constructor; return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name)); } var o = { "throw": 1, "return": 2, "break": 3, "continue": 3 }; function a(r) { var e, t; return function (n) { e || (e = { stop: function stop() { return t(n.a, 2); }, "catch": function _catch() { return n.v; }, abrupt: function abrupt(r, e) { return t(n.a, o[r], e); }, delegateYield: function delegateYield(r, o, a) { return e.resultName = o, t(n.d, _regeneratorValues(r), a); }, finish: function finish(r) { return t(n.f, r); } }, t = function t(r, _t, o) { n.p = e.prev, n.n = e.next; try { return r(_t, o); } finally { e.next = n.n; } }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n; try { return r.call(this, e); } finally { n.p = e.prev, n.n = e.next; } }; } return (_regeneratorRuntime = function _regeneratorRuntime() { return { wrap: function wrap(e, t, n, o) { return r.w(a(e), t, n, o && _reverseInstanceProperty(o).call(o)); }, isGeneratorFunction: n, mark: r.m, awrap: function awrap(r, e) { return new _OverloadYield(r, e); }, AsyncIterator: _regeneratorAsyncIterator, async: function async(r, e, t, o, u) { return (n(e) ? _regeneratorAsyncGen : _regeneratorAsync)(a(r), e, t, o, u); }, keys: _regeneratorKeys, values: _regeneratorValues }; })(); }
|
|
40
|
+
function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof _Symbol && _Symbol$iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); }
|
|
41
|
+
function _regeneratorKeys(e) { var n = Object(e), r = []; for (var t in n) r.unshift(t); return function e() { for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e; return e.done = !0, e; }; }
|
|
42
|
+
function _regeneratorAsync(n, e, r, t, o) { var a = _regeneratorAsyncGen(n, e, r, t, o); return a.next().then(function (n) { return n.done ? n.value : a.next(); }); }
|
|
43
|
+
function _regeneratorAsyncGen(r, e, t, o, n) { return new _regeneratorAsyncIterator(_regenerator().w(r, e, t, o), n || _Promise); }
|
|
44
|
+
function _regeneratorAsyncIterator(t, e) { function n(r, o, i, f) { try { var c = t[r](o), u = c.value; return u instanceof _OverloadYield ? e.resolve(u.v).then(function (t) { n("next", t, i, f); }, function (t) { n("throw", t, i, f); }) : e.resolve(u).then(function (t) { c.value = t, i(c); }, function (t) { return n("throw", t, i, f); }); } catch (t) { f(t); } } var r; this.next || (_regeneratorDefine2(_regeneratorAsyncIterator.prototype), _regeneratorDefine2(_regeneratorAsyncIterator.prototype, "function" == typeof _Symbol && _Symbol$asyncIterator || "@asyncIterator", function () { return this; })), _regeneratorDefine2(this, "_invoke", function (t, o, i) { function f() { return new e(function (e, r) { n(t, i, e, r); }); } return r = r ? r.then(f, f) : f(); }, !0); }
|
|
45
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof _Symbol ? _Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = _Object$create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: _bindInstanceProperty(d).call(d, e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = _Object$getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(c); function f(e) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = _Object$create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
46
|
+
function _regeneratorDefine2(e, r, n, t) { var i = _Object$defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
47
|
+
function _OverloadYield(e, d) { this.v = e, this.k = d; }
|
|
48
|
+
var groupLabel = 'Pets';
|
|
49
|
+
var values = ['dogs', 'cats', 'dragons'];
|
|
50
|
+
var longLabel = 'A very long label that wraps within the available group width';
|
|
51
|
+
var defaultItems = (0, _map["default"])(values).call(values, function (value) {
|
|
52
|
+
return {
|
|
53
|
+
value: value,
|
|
54
|
+
label: value
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
beforeEach(function () {
|
|
58
|
+
jest.useRealTimers();
|
|
59
|
+
});
|
|
60
|
+
afterEach(function () {
|
|
61
|
+
jest.useRealTimers();
|
|
62
|
+
});
|
|
63
|
+
var renderGroup = function renderGroup() {
|
|
64
|
+
var groupProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
65
|
+
var itemConfigs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultItems;
|
|
66
|
+
var options = arguments.length > 2 ? arguments[2] : undefined;
|
|
67
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_.CheckboxFieldGroup, (0, _extends2["default"])({
|
|
68
|
+
label: groupLabel
|
|
69
|
+
}, groupProps), (0, _map["default"])(itemConfigs).call(itemConfigs, function (_ref) {
|
|
70
|
+
var value = _ref.value,
|
|
71
|
+
label = _ref.label,
|
|
72
|
+
itemProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
73
|
+
return (0, _react2.jsx)(_.CheckboxFieldGroupItem, (0, _extends2["default"])({
|
|
74
|
+
key: value,
|
|
75
|
+
value: value,
|
|
76
|
+
label: label
|
|
77
|
+
}, itemProps));
|
|
78
|
+
})), options);
|
|
79
|
+
};
|
|
80
|
+
(0, _universalComponentTest.universalComponentTests)({
|
|
81
|
+
renderComponent: function renderComponent(props) {
|
|
82
|
+
return (0, _react2.jsx)(_.CheckboxFieldGroup, (0, _extends2["default"])({
|
|
83
|
+
label: groupLabel
|
|
84
|
+
}, props), (0, _react2.jsx)(_.CheckboxFieldGroupItem, {
|
|
85
|
+
value: values[0],
|
|
86
|
+
label: "Dogs"
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
test.each([['default', {}], ['required', {
|
|
91
|
+
isRequired: true
|
|
92
|
+
}], ['helper and error', {
|
|
93
|
+
helperText: 'Select at least one pet',
|
|
94
|
+
errorMessage: 'A pet selection is required',
|
|
95
|
+
isInvalid: true
|
|
96
|
+
}], ['disabled', {
|
|
97
|
+
isDisabled: true
|
|
98
|
+
}], ['read-only', {
|
|
99
|
+
isReadOnly: true
|
|
100
|
+
}], ['horizontal', {
|
|
101
|
+
orientation: 'horizontal'
|
|
102
|
+
}]])('has no accessibility violations for the %s state', /*#__PURE__*/function () {
|
|
103
|
+
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_state, groupProps) {
|
|
104
|
+
var _renderGroup, container;
|
|
105
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
106
|
+
while (1) switch (_context.prev = _context.next) {
|
|
107
|
+
case 0:
|
|
108
|
+
_renderGroup = renderGroup(groupProps), container = _renderGroup.container;
|
|
109
|
+
_context.t0 = expect;
|
|
110
|
+
_context.next = 4;
|
|
111
|
+
return (0, _jestAxe.axe)(container);
|
|
112
|
+
case 4:
|
|
113
|
+
_context.t1 = _context.sent;
|
|
114
|
+
(0, _context.t0)(_context.t1).toHaveNoViolations();
|
|
115
|
+
case 6:
|
|
116
|
+
case "end":
|
|
117
|
+
return _context.stop();
|
|
118
|
+
}
|
|
119
|
+
}, _callee);
|
|
120
|
+
}));
|
|
121
|
+
return function (_x, _x2) {
|
|
122
|
+
return _ref2.apply(this, arguments);
|
|
123
|
+
};
|
|
124
|
+
}());
|
|
125
|
+
test('renders a labelled group and individually labelled checkbox items', function () {
|
|
126
|
+
renderGroup();
|
|
127
|
+
var group = _testWrapper.screen.getByRole('group', {
|
|
128
|
+
name: groupLabel
|
|
129
|
+
});
|
|
130
|
+
var groupLabelElement = _testWrapper.screen.getByText(groupLabel);
|
|
131
|
+
expect(group).toHaveAttribute('aria-labelledby', groupLabelElement.id);
|
|
132
|
+
expect(_testWrapper.screen.getByRole('checkbox', {
|
|
133
|
+
name: 'dogs'
|
|
134
|
+
})).toBeInTheDocument();
|
|
135
|
+
expect(_testWrapper.screen.getByRole('checkbox', {
|
|
136
|
+
name: 'cats'
|
|
137
|
+
})).toBeInTheDocument();
|
|
138
|
+
});
|
|
139
|
+
test('toggles multiple items and reports the next selected array', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
140
|
+
var onChange, checkboxes;
|
|
141
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
142
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
143
|
+
case 0:
|
|
144
|
+
onChange = jest.fn();
|
|
145
|
+
renderGroup({
|
|
146
|
+
onChange: onChange
|
|
147
|
+
});
|
|
148
|
+
checkboxes = _testWrapper.screen.getAllByRole('checkbox');
|
|
149
|
+
_context2.next = 5;
|
|
150
|
+
return _userEvent["default"].click(checkboxes[0]);
|
|
151
|
+
case 5:
|
|
152
|
+
_context2.next = 7;
|
|
153
|
+
return _userEvent["default"].click(checkboxes[1]);
|
|
154
|
+
case 7:
|
|
155
|
+
_context2.next = 9;
|
|
156
|
+
return _userEvent["default"].click(checkboxes[0]);
|
|
157
|
+
case 9:
|
|
158
|
+
expect(onChange).toHaveBeenNthCalledWith(1, [values[0]]);
|
|
159
|
+
expect(onChange).toHaveBeenNthCalledWith(2, [values[0], values[1]]);
|
|
160
|
+
expect(onChange).toHaveBeenNthCalledWith(3, [values[1]]);
|
|
161
|
+
expect(checkboxes[0]).not.toBeChecked();
|
|
162
|
+
expect(checkboxes[1]).toBeChecked();
|
|
163
|
+
case 14:
|
|
164
|
+
case "end":
|
|
165
|
+
return _context2.stop();
|
|
166
|
+
}
|
|
167
|
+
}, _callee2);
|
|
168
|
+
})));
|
|
169
|
+
test('supports controlled selection without changing until the value prop changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
170
|
+
var onChange, checkboxes;
|
|
171
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
172
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
173
|
+
case 0:
|
|
174
|
+
onChange = jest.fn();
|
|
175
|
+
renderGroup({
|
|
176
|
+
value: [values[0]],
|
|
177
|
+
onChange: onChange
|
|
178
|
+
});
|
|
179
|
+
checkboxes = _testWrapper.screen.getAllByRole('checkbox');
|
|
180
|
+
expect(checkboxes[0]).toBeChecked();
|
|
181
|
+
_context3.next = 6;
|
|
182
|
+
return _userEvent["default"].click(checkboxes[1]);
|
|
183
|
+
case 6:
|
|
184
|
+
expect(onChange).toHaveBeenCalledWith([values[0], values[1]]);
|
|
185
|
+
expect(checkboxes[0]).toBeChecked();
|
|
186
|
+
expect(checkboxes[1]).not.toBeChecked();
|
|
187
|
+
case 9:
|
|
188
|
+
case "end":
|
|
189
|
+
return _context3.stop();
|
|
190
|
+
}
|
|
191
|
+
}, _callee3);
|
|
192
|
+
})));
|
|
193
|
+
test('supports an uncontrolled default selection', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
194
|
+
var checkboxes;
|
|
195
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
196
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
197
|
+
case 0:
|
|
198
|
+
renderGroup({
|
|
199
|
+
defaultValue: [values[0]]
|
|
200
|
+
});
|
|
201
|
+
checkboxes = _testWrapper.screen.getAllByRole('checkbox');
|
|
202
|
+
expect(checkboxes[0]).toBeChecked();
|
|
203
|
+
_context4.next = 5;
|
|
204
|
+
return _userEvent["default"].click(checkboxes[1]);
|
|
205
|
+
case 5:
|
|
206
|
+
expect(checkboxes[0]).toBeChecked();
|
|
207
|
+
expect(checkboxes[1]).toBeChecked();
|
|
208
|
+
case 7:
|
|
209
|
+
case "end":
|
|
210
|
+
return _context4.stop();
|
|
211
|
+
}
|
|
212
|
+
}, _callee4);
|
|
213
|
+
})));
|
|
214
|
+
test('disabled group and items ignore clicks and Space without changing selection', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
215
|
+
var groupOnChange, _renderGroup2, unmount, groupCheckboxes, groupItem, itemOnChange, _renderGroup3, container, itemCheckboxes, itemContainer;
|
|
216
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
217
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
218
|
+
case 0:
|
|
219
|
+
groupOnChange = jest.fn();
|
|
220
|
+
_renderGroup2 = renderGroup({
|
|
221
|
+
defaultValue: [values[0]],
|
|
222
|
+
isDisabled: true,
|
|
223
|
+
onChange: groupOnChange
|
|
224
|
+
}), unmount = _renderGroup2.unmount;
|
|
225
|
+
groupCheckboxes = _testWrapper.screen.getAllByRole('checkbox');
|
|
226
|
+
(0, _forEach["default"])(groupCheckboxes).call(groupCheckboxes, function (checkbox) {
|
|
227
|
+
return expect(checkbox).toBeDisabled();
|
|
228
|
+
});
|
|
229
|
+
groupItem = groupCheckboxes[0].closest('[data-pendo-id="CheckboxFieldGroupItem"]');
|
|
230
|
+
expect(groupItem).toHaveStyleRule('opacity', '0.65', {
|
|
231
|
+
target: '.is-disabled'
|
|
232
|
+
});
|
|
233
|
+
_context5.next = 8;
|
|
234
|
+
return _userEvent["default"].click(groupCheckboxes[0]);
|
|
235
|
+
case 8:
|
|
236
|
+
_context5.next = 10;
|
|
237
|
+
return _userEvent["default"].type(groupCheckboxes[0], '{space}');
|
|
238
|
+
case 10:
|
|
239
|
+
expect(groupCheckboxes[0]).toBeChecked();
|
|
240
|
+
expect(groupOnChange).not.toHaveBeenCalled();
|
|
241
|
+
unmount();
|
|
242
|
+
itemOnChange = jest.fn();
|
|
243
|
+
_renderGroup3 = renderGroup({
|
|
244
|
+
defaultValue: [values[1]],
|
|
245
|
+
onChange: itemOnChange
|
|
246
|
+
}, [defaultItems[0], _objectSpread(_objectSpread({}, defaultItems[1]), {}, {
|
|
247
|
+
isDisabled: true
|
|
248
|
+
})]), container = _renderGroup3.container;
|
|
249
|
+
itemCheckboxes = (0, _testWrapper.within)(container).getAllByRole('checkbox');
|
|
250
|
+
expect(itemCheckboxes[0]).toBeEnabled();
|
|
251
|
+
expect(itemCheckboxes[1]).toBeDisabled();
|
|
252
|
+
itemContainer = itemCheckboxes[1].closest('[data-pendo-id="CheckboxFieldGroupItem"]');
|
|
253
|
+
expect(itemContainer).toHaveStyleRule('opacity', '0.65', {
|
|
254
|
+
target: '.is-disabled'
|
|
255
|
+
});
|
|
256
|
+
// The base Astro theme resolves space.md to 15px; the rule is serialized on
|
|
257
|
+
// the label's emotion class as a `div` descendant rule.
|
|
258
|
+
expect(itemContainer.querySelector('label')).toHaveStyleRule('margin-right', '15px', {
|
|
259
|
+
target: 'div'
|
|
260
|
+
});
|
|
261
|
+
expect(itemCheckboxes[1]).toBeChecked();
|
|
262
|
+
_context5.next = 24;
|
|
263
|
+
return _userEvent["default"].click(itemCheckboxes[1]);
|
|
264
|
+
case 24:
|
|
265
|
+
_context5.next = 26;
|
|
266
|
+
return _userEvent["default"].type(itemCheckboxes[1], '{space}');
|
|
267
|
+
case 26:
|
|
268
|
+
expect(itemCheckboxes[1]).toBeChecked();
|
|
269
|
+
expect(itemOnChange).not.toHaveBeenCalled();
|
|
270
|
+
case 28:
|
|
271
|
+
case "end":
|
|
272
|
+
return _context5.stop();
|
|
273
|
+
}
|
|
274
|
+
}, _callee5);
|
|
275
|
+
})));
|
|
276
|
+
test('keeps a read-only group focusable without changing selection or invoking onChange', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
277
|
+
var onChange, checkboxes, readOnlyItem;
|
|
278
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
279
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
280
|
+
case 0:
|
|
281
|
+
onChange = jest.fn();
|
|
282
|
+
renderGroup({
|
|
283
|
+
isReadOnly: true,
|
|
284
|
+
onChange: onChange
|
|
285
|
+
});
|
|
286
|
+
checkboxes = _testWrapper.screen.getAllByRole('checkbox');
|
|
287
|
+
expect(_testWrapper.screen.getByRole('group', {
|
|
288
|
+
name: groupLabel
|
|
289
|
+
})).toBeInTheDocument();
|
|
290
|
+
expect(checkboxes[0]).toHaveAttribute('aria-readonly', 'true');
|
|
291
|
+
readOnlyItem = checkboxes[0].closest('[data-pendo-id="CheckboxFieldGroupItem"]');
|
|
292
|
+
expect(readOnlyItem).toHaveStyleRule('opacity', '0.65', {
|
|
293
|
+
target: '.is-read-only'
|
|
294
|
+
});
|
|
295
|
+
_context6.next = 9;
|
|
296
|
+
return _userEvent["default"].tab();
|
|
297
|
+
case 9:
|
|
298
|
+
expect(checkboxes[0]).toHaveFocus();
|
|
299
|
+
_context6.next = 12;
|
|
300
|
+
return _userEvent["default"].click(checkboxes[0]);
|
|
301
|
+
case 12:
|
|
302
|
+
_context6.next = 14;
|
|
303
|
+
return _userEvent["default"].type(checkboxes[0], '{space}');
|
|
304
|
+
case 14:
|
|
305
|
+
expect(checkboxes[0]).not.toBeChecked();
|
|
306
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
307
|
+
_context6.next = 18;
|
|
308
|
+
return _userEvent["default"].tab();
|
|
309
|
+
case 18:
|
|
310
|
+
expect(checkboxes[1]).toHaveFocus();
|
|
311
|
+
_context6.next = 21;
|
|
312
|
+
return _userEvent["default"].tab({
|
|
313
|
+
shift: true
|
|
314
|
+
});
|
|
315
|
+
case 21:
|
|
316
|
+
expect(checkboxes[0]).toHaveFocus();
|
|
317
|
+
case 22:
|
|
318
|
+
case "end":
|
|
319
|
+
return _context6.stop();
|
|
320
|
+
}
|
|
321
|
+
}, _callee6);
|
|
322
|
+
})));
|
|
323
|
+
test('exposes required and invalid semantics and associates helper and error messages', function () {
|
|
324
|
+
var _group$getAttribute;
|
|
325
|
+
var helperText = 'Select at least one pet';
|
|
326
|
+
var errorMessage = 'A pet selection is required';
|
|
327
|
+
renderGroup({
|
|
328
|
+
helperText: helperText,
|
|
329
|
+
errorMessage: errorMessage,
|
|
330
|
+
isInvalid: true,
|
|
331
|
+
isRequired: true
|
|
332
|
+
});
|
|
333
|
+
var group = _testWrapper.screen.getByRole('group', {
|
|
334
|
+
name: new RegExp(groupLabel)
|
|
335
|
+
});
|
|
336
|
+
var helper = _testWrapper.screen.getByText(helperText);
|
|
337
|
+
var error = _testWrapper.screen.getByText(errorMessage);
|
|
338
|
+
var describedBy = ((_group$getAttribute = group.getAttribute('aria-describedby')) === null || _group$getAttribute === void 0 ? void 0 : _group$getAttribute.split(' ')) || [];
|
|
339
|
+
var checkboxes = _testWrapper.screen.getAllByRole('checkbox');
|
|
340
|
+
expect(checkboxes).toHaveLength(defaultItems.length);
|
|
341
|
+
(0, _forEach["default"])(checkboxes).call(checkboxes, function (checkbox) {
|
|
342
|
+
var _checkbox$getAttribut;
|
|
343
|
+
expect(checkbox).toBeRequired();
|
|
344
|
+
expect(checkbox).toHaveAttribute('aria-invalid', 'true');
|
|
345
|
+
expect((_checkbox$getAttribut = checkbox.getAttribute('aria-describedby')) === null || _checkbox$getAttribut === void 0 ? void 0 : _checkbox$getAttribut.split(' ')).toEqual(expect.arrayContaining([helper.id, error.id]));
|
|
346
|
+
});
|
|
347
|
+
expect(describedBy).toEqual(expect.arrayContaining([helper.id, error.id]));
|
|
348
|
+
});
|
|
349
|
+
test('associates item helper text with its checkbox', function () {
|
|
350
|
+
var _checkbox$getAttribut2;
|
|
351
|
+
var itemHelper = 'Dogs are friendly';
|
|
352
|
+
renderGroup({}, [_objectSpread(_objectSpread({}, defaultItems[0]), {}, {
|
|
353
|
+
helperText: itemHelper
|
|
354
|
+
})]);
|
|
355
|
+
var checkbox = _testWrapper.screen.getByRole('checkbox', {
|
|
356
|
+
name: values[0]
|
|
357
|
+
});
|
|
358
|
+
var helper = _testWrapper.screen.getByText(itemHelper);
|
|
359
|
+
expect((_checkbox$getAttribut2 = checkbox.getAttribute('aria-describedby')) === null || _checkbox$getAttribut2 === void 0 ? void 0 : _checkbox$getAttribut2.split(' ')).toContain(helper.id);
|
|
360
|
+
});
|
|
361
|
+
test('uses native validity for an empty required group and selected checkbox', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
362
|
+
var form, checkboxes, initialFormValidity;
|
|
363
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
364
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
365
|
+
case 0:
|
|
366
|
+
(0, _testWrapper.render)((0, _react2.jsx)("form", {
|
|
367
|
+
"aria-label": "Pet form"
|
|
368
|
+
}, (0, _react2.jsx)(_.CheckboxFieldGroup, {
|
|
369
|
+
label: groupLabel,
|
|
370
|
+
isRequired: true,
|
|
371
|
+
validationBehavior: "native"
|
|
372
|
+
}, (0, _map["default"])(defaultItems).call(defaultItems, function (_ref9) {
|
|
373
|
+
var value = _ref9.value,
|
|
374
|
+
label = _ref9.label;
|
|
375
|
+
return (0, _react2.jsx)(_.CheckboxFieldGroupItem, {
|
|
376
|
+
key: value,
|
|
377
|
+
value: value,
|
|
378
|
+
label: label
|
|
379
|
+
});
|
|
380
|
+
}))));
|
|
381
|
+
form = _testWrapper.screen.getByRole('form', {
|
|
382
|
+
name: 'Pet form'
|
|
383
|
+
});
|
|
384
|
+
checkboxes = _testWrapper.screen.getAllByRole('checkbox'); // checkValidity dispatches native invalid events that update React Aria validation state.
|
|
385
|
+
initialFormValidity = false;
|
|
386
|
+
(0, _testWrapper.act)(function () {
|
|
387
|
+
initialFormValidity = form.checkValidity();
|
|
388
|
+
});
|
|
389
|
+
expect(initialFormValidity).toBe(false);
|
|
390
|
+
expect(checkboxes[0].validity.valid).toBe(false);
|
|
391
|
+
|
|
392
|
+
/* eslint-disable-next-line testing-library/no-unnecessary-act */
|
|
393
|
+
(0, _testWrapper.act)(function () {
|
|
394
|
+
_testWrapper.fireEvent.click(checkboxes[0]);
|
|
395
|
+
});
|
|
396
|
+
expect(checkboxes[0]).toBeChecked();
|
|
397
|
+
// React Aria applies native required to each item; only the selected input is valid.
|
|
398
|
+
expect(checkboxes[0].validity.valid).toBe(true);
|
|
399
|
+
case 10:
|
|
400
|
+
case "end":
|
|
401
|
+
return _context7.stop();
|
|
402
|
+
}
|
|
403
|
+
}, _callee7);
|
|
404
|
+
})));
|
|
405
|
+
test('supports horizontal and vertical layout classes and long labels', function () {
|
|
406
|
+
var _renderGroup4 = renderGroup({
|
|
407
|
+
orientation: 'vertical'
|
|
408
|
+
}),
|
|
409
|
+
container = _renderGroup4.container;
|
|
410
|
+
var verticalGroup = (0, _testWrapper.within)(container).getByRole('group', {
|
|
411
|
+
name: groupLabel
|
|
412
|
+
});
|
|
413
|
+
var verticalItems = verticalGroup.children[1];
|
|
414
|
+
expect(verticalGroup).not.toHaveClass('is-horizontal');
|
|
415
|
+
expect(verticalItems).not.toHaveClass('is-horizontal');
|
|
416
|
+
expect(verticalItems).toHaveStyleRule('flex-direction', 'column');
|
|
417
|
+
expect(verticalItems).toHaveStyleRule('gap', '5px');
|
|
418
|
+
var _render = (0, _testWrapper.render)((0, _react2.jsx)(_index.Box, {
|
|
419
|
+
"data-testid": "constrained-group-container",
|
|
420
|
+
sx: {
|
|
421
|
+
width: '100%',
|
|
422
|
+
maxWidth: '240px',
|
|
423
|
+
overflowX: 'hidden'
|
|
424
|
+
}
|
|
425
|
+
}, (0, _react2.jsx)(_.CheckboxFieldGroup, {
|
|
426
|
+
label: groupLabel,
|
|
427
|
+
orientation: "horizontal"
|
|
428
|
+
}, (0, _react2.jsx)(_.CheckboxFieldGroupItem, {
|
|
429
|
+
value: values[0],
|
|
430
|
+
label: longLabel
|
|
431
|
+
}), (0, _react2.jsx)(_.CheckboxFieldGroupItem, {
|
|
432
|
+
value: values[1],
|
|
433
|
+
label: values[1]
|
|
434
|
+
})))),
|
|
435
|
+
horizontalContainer = _render.container;
|
|
436
|
+
var horizontalGroup = (0, _testWrapper.within)(horizontalContainer).getByRole('group', {
|
|
437
|
+
name: groupLabel
|
|
438
|
+
});
|
|
439
|
+
var constrainedContainer = horizontalGroup.parentElement;
|
|
440
|
+
var horizontalItems = horizontalGroup.children[1];
|
|
441
|
+
var longLabelElement = (0, _testWrapper.within)(horizontalGroup).getByText(longLabel);
|
|
442
|
+
expect(constrainedContainer).toHaveStyleRule('width', '100%');
|
|
443
|
+
expect(constrainedContainer).toHaveStyleRule('max-width', '240px');
|
|
444
|
+
expect(constrainedContainer).toHaveStyleRule('overflow-x', 'hidden');
|
|
445
|
+
expect(horizontalGroup).toHaveClass('is-horizontal');
|
|
446
|
+
expect(horizontalGroup).toHaveStyleRule('width', '100%');
|
|
447
|
+
expect(horizontalItems).toBeInTheDocument();
|
|
448
|
+
expect(horizontalItems).toHaveClass('is-horizontal');
|
|
449
|
+
expect(horizontalItems).toHaveStyleRule('width', '100%');
|
|
450
|
+
expect(horizontalItems).toHaveStyleRule('flex-wrap', 'wrap', {
|
|
451
|
+
target: '.is-horizontal'
|
|
452
|
+
});
|
|
453
|
+
expect(longLabelElement).toHaveStyleRule('max-width', '100%');
|
|
454
|
+
expect(longLabelElement).toHaveStyleRule('flex-wrap', 'wrap');
|
|
455
|
+
expect(horizontalItems.scrollWidth).toBeLessThanOrEqual(horizontalItems.clientWidth);
|
|
456
|
+
});
|
|
457
|
+
test('supports keyboard Space toggling through the real checkbox input', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
458
|
+
var checkbox;
|
|
459
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
460
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
461
|
+
case 0:
|
|
462
|
+
renderGroup();
|
|
463
|
+
checkbox = _testWrapper.screen.getAllByRole('checkbox')[0];
|
|
464
|
+
_context8.next = 4;
|
|
465
|
+
return _userEvent["default"].tab();
|
|
466
|
+
case 4:
|
|
467
|
+
expect(checkbox).toHaveFocus();
|
|
468
|
+
_context8.next = 7;
|
|
469
|
+
return _userEvent["default"].type(checkbox, '{space}');
|
|
470
|
+
case 7:
|
|
471
|
+
expect(checkbox).toBeChecked();
|
|
472
|
+
case 8:
|
|
473
|
+
case "end":
|
|
474
|
+
return _context8.stop();
|
|
475
|
+
}
|
|
476
|
+
}, _callee8);
|
|
477
|
+
})));
|
|
478
|
+
test('renders group and item contents inside the expected group subtree', function () {
|
|
479
|
+
var _renderGroup5 = renderGroup(),
|
|
480
|
+
container = _renderGroup5.container;
|
|
481
|
+
var group = (0, _testWrapper.within)(container).getByRole('group', {
|
|
482
|
+
name: groupLabel
|
|
483
|
+
});
|
|
484
|
+
expect((0, _testWrapper.within)(group).getAllByRole('checkbox')).toHaveLength(defaultItems.length);
|
|
485
|
+
});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CheckboxFieldGroupItemProps } from '../../types/checkboxFieldGroup';
|
|
3
|
+
declare const CheckboxFieldGroupItem: React.ForwardRefExoticComponent<CheckboxFieldGroupItemProps & React.RefAttributes<HTMLInputElement>>;
|
|
4
|
+
export default CheckboxFieldGroupItem;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
5
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
|
6
|
+
var _filterInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
8
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
|
10
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
|
11
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
12
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
13
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
14
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
exports["default"] = void 0;
|
|
18
|
+
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
19
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
21
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
22
|
+
var _reactAria = require("react-aria");
|
|
23
|
+
var _uuid = require("uuid");
|
|
24
|
+
var _ = require("../..");
|
|
25
|
+
var _CheckboxFieldGroupContext = require("../../context/CheckboxFieldGroupContext");
|
|
26
|
+
var _hooks = require("../../hooks");
|
|
27
|
+
var _pendoID = require("../../utils/devUtils/constants/pendoID");
|
|
28
|
+
var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
|
|
29
|
+
var _react2 = require("@emotion/react");
|
|
30
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
31
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty2(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
32
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(t), !0)).call(_context2, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
33
|
+
var displayName = 'CheckboxFieldGroupItem';
|
|
34
|
+
var CheckboxFieldGroupItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
35
|
+
var _context;
|
|
36
|
+
var checkBoxProps = props.checkBoxProps,
|
|
37
|
+
_props$controlProps = props.controlProps,
|
|
38
|
+
controlProps = _props$controlProps === void 0 ? {} : _props$controlProps,
|
|
39
|
+
hasAutoFocus = props.hasAutoFocus,
|
|
40
|
+
helperText = props.helperText,
|
|
41
|
+
isIndeterminate = props.isIndeterminate,
|
|
42
|
+
label = props.label,
|
|
43
|
+
_props$status = props.status,
|
|
44
|
+
status = _props$status === void 0 ? _statuses["default"].DEFAULT : _props$status;
|
|
45
|
+
var state = (0, _react.useContext)(_CheckboxFieldGroupContext.CheckboxFieldGroupContext);
|
|
46
|
+
if (!state) {
|
|
47
|
+
throw new Error("".concat(displayName, " must be rendered inside CheckboxFieldGroup"));
|
|
48
|
+
}
|
|
49
|
+
(0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
|
|
50
|
+
var checkboxRef = (0, _hooks.useLocalOrForwardRef)(ref);
|
|
51
|
+
var helperTextId = (0, _react.useMemo)(function () {
|
|
52
|
+
return (0, _uuid.v4)();
|
|
53
|
+
}, []);
|
|
54
|
+
var previousIndeterminate = (0, _react.useRef)(isIndeterminate);
|
|
55
|
+
var checkboxGroupItemProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
56
|
+
children: label,
|
|
57
|
+
autoFocus: hasAutoFocus || controlProps.hasAutoFocus,
|
|
58
|
+
isIndeterminate: isIndeterminate,
|
|
59
|
+
// The hook combines this item-level value with the group's disabled/read-only state.
|
|
60
|
+
isDisabled: props.isDisabled
|
|
61
|
+
}, controlProps);
|
|
62
|
+
var _useCheckboxGroupItem = (0, _reactAria.useCheckboxGroupItem)(checkboxGroupItemProps, state, checkboxRef),
|
|
63
|
+
checkboxLabelProps = _useCheckboxGroupItem.labelProps,
|
|
64
|
+
inputProps = _useCheckboxGroupItem.inputProps;
|
|
65
|
+
var itemIsDisabled = !!props.isDisabled || state.isDisabled;
|
|
66
|
+
var itemIsReadOnly = !!props.isReadOnly || state.isReadOnly;
|
|
67
|
+
var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread({}, props), {}, {
|
|
68
|
+
// React Aria combines item and group state in the hook result. Pass those
|
|
69
|
+
// effective values to useField as well so its status classes and visual
|
|
70
|
+
// control/label state match the native input attributes.
|
|
71
|
+
isDisabled: itemIsDisabled,
|
|
72
|
+
isReadOnly: itemIsReadOnly,
|
|
73
|
+
controlProps: _objectSpread(_objectSpread({}, controlProps), inputProps),
|
|
74
|
+
statusClasses: {
|
|
75
|
+
isDisabled: itemIsDisabled,
|
|
76
|
+
isReadOnly: itemIsReadOnly,
|
|
77
|
+
isIndeterminate: isIndeterminate,
|
|
78
|
+
isChecked: inputProps.checked
|
|
79
|
+
}
|
|
80
|
+
})),
|
|
81
|
+
fieldContainerProps = _useField.fieldContainerProps,
|
|
82
|
+
fieldControlInputProps = _useField.fieldControlInputProps,
|
|
83
|
+
fieldLabelProps = _useField.fieldLabelProps;
|
|
84
|
+
(0, _react.useEffect)(function () {
|
|
85
|
+
if (checkboxRef.current) {
|
|
86
|
+
checkboxRef.current.indeterminate = !!isIndeterminate;
|
|
87
|
+
// Retain focus when the visual state changes and the browser has moved focus to body.
|
|
88
|
+
if (!isIndeterminate && previousIndeterminate.current && document.activeElement === document.body) {
|
|
89
|
+
checkboxRef.current.focus();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
previousIndeterminate.current = isIndeterminate;
|
|
93
|
+
}, [checkboxRef, isIndeterminate]);
|
|
94
|
+
return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
|
|
95
|
+
variant: "forms.checkboxFieldGroup.item"
|
|
96
|
+
}, (0, _pendoID.getPendoID)(displayName), fieldContainerProps), (0, _react2.jsx)(_.Box, {
|
|
97
|
+
isRow: true
|
|
98
|
+
}, (0, _react2.jsx)(_.Label, (0, _extends2["default"])({
|
|
99
|
+
variant: "forms.label.checkboxFieldGroupItem"
|
|
100
|
+
}, fieldLabelProps, checkboxLabelProps), (0, _react2.jsx)(_.Checkbox, (0, _extends2["default"])({
|
|
101
|
+
ref: checkboxRef
|
|
102
|
+
}, (0, _reactAria.mergeProps)(fieldControlInputProps, inputProps, checkBoxProps || {}), {
|
|
103
|
+
"aria-describedby": (0, _filter["default"])(_context = [inputProps['aria-describedby'], helperText ? helperTextId : undefined]).call(_context, Boolean).join(' ') || undefined,
|
|
104
|
+
"aria-checked": isIndeterminate ? 'mixed' : inputProps.checked,
|
|
105
|
+
isIndeterminate: isIndeterminate
|
|
106
|
+
})), label)), helperText && (0, _react2.jsx)(_.FieldHelperText, {
|
|
107
|
+
status: status,
|
|
108
|
+
id: helperTextId
|
|
109
|
+
}, helperText));
|
|
110
|
+
});
|
|
111
|
+
CheckboxFieldGroupItem.displayName = displayName;
|
|
112
|
+
var _default = exports["default"] = CheckboxFieldGroupItem;
|