@pingux/astro 2.221.6-alpha.0 → 2.234.0-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 +2 -2
|
@@ -15,14 +15,14 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/e
|
|
|
15
15
|
var _react = _interopRequireDefault(require("react"));
|
|
16
16
|
var _AccountIcon = _interopRequireDefault(require("@pingux/mdi-react/AccountIcon"));
|
|
17
17
|
var _react2 = require("@testing-library/react");
|
|
18
|
-
var
|
|
18
|
+
var _2 = require("../..");
|
|
19
19
|
var _images = require("../../utils/devUtils/constants/images");
|
|
20
20
|
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
|
21
21
|
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
|
22
22
|
var _ListViewItem = require("./ListViewItem");
|
|
23
23
|
var _react3 = require("@emotion/react");
|
|
24
24
|
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; }
|
|
25
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
25
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context4 = ownKeys(Object(t), !0)).call(_context4, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context5 = ownKeys(Object(t))).call(_context5, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26
26
|
var defaultProps = {
|
|
27
27
|
data: {
|
|
28
28
|
text: 'testText',
|
|
@@ -37,7 +37,14 @@ var defaultProps = {
|
|
|
37
37
|
};
|
|
38
38
|
var getComponent = function getComponent() {
|
|
39
39
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
40
|
-
return (0, _testWrapper.render)((0, _react3.jsx)(
|
|
40
|
+
return (0, _testWrapper.render)((0, _react3.jsx)(_2.ListViewItem, (0, _extends2["default"])({}, defaultProps, props)));
|
|
41
|
+
};
|
|
42
|
+
var getComponentOnyx = function getComponentOnyx() {
|
|
43
|
+
var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _2.OnyxTheme;
|
|
44
|
+
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
45
|
+
return (0, _testWrapper.render)((0, _react3.jsx)(_2.AstroProvider, {
|
|
46
|
+
themeOverrides: [theme]
|
|
47
|
+
}, (0, _react3.jsx)(_2.ListViewItem, (0, _extends2["default"])({}, defaultProps, props))));
|
|
41
48
|
};
|
|
42
49
|
var fallbackImageObj = null;
|
|
43
50
|
jest.mock('../../hooks/useFallbackImage', function () {
|
|
@@ -50,7 +57,7 @@ jest.mock('../../hooks/useFallbackImage', function () {
|
|
|
50
57
|
// Needs to be added to each components test file
|
|
51
58
|
(0, _universalComponentTest.universalComponentTests)({
|
|
52
59
|
renderComponent: function renderComponent(props) {
|
|
53
|
-
return (0, _react3.jsx)(
|
|
60
|
+
return (0, _react3.jsx)(_2.ListViewItem, (0, _extends2["default"])({}, defaultProps, props));
|
|
54
61
|
}
|
|
55
62
|
});
|
|
56
63
|
var TEST_TEXT = 'test text';
|
|
@@ -69,7 +76,7 @@ describe('ListViewItem', function () {
|
|
|
69
76
|
});
|
|
70
77
|
test('renders children', function () {
|
|
71
78
|
getComponent({
|
|
72
|
-
children: (0, _react3.jsx)(
|
|
79
|
+
children: (0, _react3.jsx)(_2.ListViewItemSwitchField, null)
|
|
73
80
|
});
|
|
74
81
|
_testWrapper.screen.getByRole('switch');
|
|
75
82
|
});
|
|
@@ -81,6 +88,30 @@ describe('ListViewItem', function () {
|
|
|
81
88
|
});
|
|
82
89
|
_testWrapper.screen.getByText(TEST_TEXT);
|
|
83
90
|
});
|
|
91
|
+
test.each([['Onyx light', _2.OnyxTheme], ['Onyx dark', _2.OnyxDarkTheme]])('renders an 18px icon in %s ListViewItem', function (_, theme) {
|
|
92
|
+
var _context2;
|
|
93
|
+
getComponentOnyx(theme, {
|
|
94
|
+
id: 'test-id',
|
|
95
|
+
iconWrapperProps: {
|
|
96
|
+
color: 'green'
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
var icon = _testWrapper.screen.getByRole('img', {
|
|
100
|
+
name: (0, _concat["default"])(_context2 = "".concat(defaultProps.data.text)).call(_context2, _ListViewItem.LIST_ITEM_ICON)
|
|
101
|
+
});
|
|
102
|
+
expect(icon).toHaveStyleRule('width', '18px');
|
|
103
|
+
expect(icon).toHaveStyleRule('height', '18px');
|
|
104
|
+
});
|
|
105
|
+
test('passes colorId to the avatar', function () {
|
|
106
|
+
var _context3;
|
|
107
|
+
getComponentOnyx(_2.OnyxTheme, {
|
|
108
|
+
colorId: 'my-color-id'
|
|
109
|
+
});
|
|
110
|
+
var avatar = _testWrapper.screen.getByRole('img', {
|
|
111
|
+
name: (0, _concat["default"])(_context3 = "".concat(defaultProps.data.text)).call(_context3, _ListViewItem.LIST_ITEM_ICON)
|
|
112
|
+
}).parentElement;
|
|
113
|
+
expect(avatar).toBeInTheDocument();
|
|
114
|
+
});
|
|
84
115
|
test('renders icon if both icon and image are passed', function () {
|
|
85
116
|
getComponent();
|
|
86
117
|
var icon = _testWrapper.screen.getByRole('img');
|
|
@@ -26,9 +26,16 @@ var descriptions = {
|
|
|
26
26
|
isSelected: 'Sets the selected state of the ListItem',
|
|
27
27
|
isPanelHeader: 'A boolean that will adapt the styling of ListIteme to be used as the PanelHeader',
|
|
28
28
|
slots: 'Provides a way to insert markup in specified places.',
|
|
29
|
-
linkProps: 'When present, provides meta click functionality'
|
|
29
|
+
linkProps: 'When present, provides meta click functionality',
|
|
30
|
+
colorId: 'Identifier used to deterministically derive the avatar color when no explicit color is set.'
|
|
30
31
|
};
|
|
31
32
|
var SharedItemArgTypes = exports.SharedItemArgTypes = {
|
|
33
|
+
colorId: {
|
|
34
|
+
description: descriptions.colorId,
|
|
35
|
+
control: {
|
|
36
|
+
type: 'text'
|
|
37
|
+
}
|
|
38
|
+
},
|
|
32
39
|
data: {
|
|
33
40
|
description: descriptions.data,
|
|
34
41
|
type: {
|
|
@@ -70,6 +77,7 @@ var listViewItemArgTypes = exports.listViewItemArgTypes = _objectSpread(_objectS
|
|
|
70
77
|
}, SharedItemArgTypes), _hoverProps.onHoverArgTypes), _ariaAttributes.ariaAttributeBaseArgTypes);
|
|
71
78
|
var SharedItemPropTypes = exports.SharedItemPropTypes = {
|
|
72
79
|
className: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].arrayOf(_propTypes["default"].string)]),
|
|
80
|
+
colorId: _propTypes["default"].string,
|
|
73
81
|
data: _propTypes["default"].shape({
|
|
74
82
|
icon: _propTypes["default"].elementType,
|
|
75
83
|
image: _propTypes["default"].shape({
|
|
@@ -122,11 +122,19 @@ var DefaultMultivaluesField = /*#__PURE__*/(0, _react.forwardRef)(function (prop
|
|
|
122
122
|
}
|
|
123
123
|
}, [initialItems, mode]);
|
|
124
124
|
var toggleItems = function toggleItems(keys) {
|
|
125
|
+
var _inputRef$current;
|
|
125
126
|
setItems((0, _filter["default"])(initialItems).call(initialItems, function (item) {
|
|
126
127
|
var _context;
|
|
127
128
|
return !(0, _includes["default"])(_context = (0, _from["default"])(keys)).call(_context, item.key);
|
|
128
129
|
}));
|
|
129
130
|
if (onSelectionChange) onSelectionChange(keys);
|
|
131
|
+
// Selecting an option removes it from the list, unmounting its row while
|
|
132
|
+
// focusedKey still points at it — the virtualizer then holds DOM focus on
|
|
133
|
+
// the listbox, so a subsequent outside click never blurs the input and the
|
|
134
|
+
// listbox stays open. Clear the stale focus and return it to the input,
|
|
135
|
+
// matching the post-selection focus state of the Astro theme (UXE-9077).
|
|
136
|
+
selectionManager.setFocusedKey(null);
|
|
137
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
|
|
130
138
|
};
|
|
131
139
|
var _useFilter = (0, _i18n.useFilter)({
|
|
132
140
|
sensitivity: 'base'
|
|
@@ -23,7 +23,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
23
23
|
_Object$defineProperty(exports, "__esModule", {
|
|
24
24
|
value: true
|
|
25
25
|
});
|
|
26
|
-
exports["default"] = exports.Uncontrolled = exports.ReadOnlyValues = exports.ReadOnlyField = exports.OnLoadPrev = exports.LongLabels = exports.IconSlotsInBadge = exports.Error = exports.DisabledKeys = exports.Default = exports.CustomValues = exports.CustomSize = exports.Controlled = exports.CondensedWithSection = exports.CondensedWithCustomText = exports.CondensedAsyncLoading = exports.Condensed = void 0;
|
|
26
|
+
exports["default"] = exports.Uncontrolled = exports.ReadOnlyValues = exports.ReadOnlyField = exports.OnLoadPrev = exports.LongLabels = exports.IconSlotsInBadge = exports.Error = exports.DisabledKeys = exports.DefaultOpen = exports.Default = exports.CustomValues = exports.CustomSize = exports.Controlled = exports.CondensedWithSection = exports.CondensedWithCustomText = exports.CondensedAsyncLoading = exports.Condensed = void 0;
|
|
27
27
|
var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
|
|
28
28
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
29
29
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
@@ -310,6 +310,28 @@ var Default = exports.Default = function Default(args) {
|
|
|
310
310
|
}, item.name);
|
|
311
311
|
}));
|
|
312
312
|
};
|
|
313
|
+
var DefaultOpen = exports.DefaultOpen = function DefaultOpen() {
|
|
314
|
+
var inputRef = (0, _react.useRef)();
|
|
315
|
+
(0, _react.useEffect)(function () {
|
|
316
|
+
var _inputRef$current;
|
|
317
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
|
|
318
|
+
}, []);
|
|
319
|
+
return (0, _react2.jsx)(_index.OverlayProvider
|
|
320
|
+
// note: spacing for demo purpose only so that the select list renders in the correct place
|
|
321
|
+
, {
|
|
322
|
+
style: setOverlayStyle('bottom', true, '50%', '50%', '20%')
|
|
323
|
+
}, (0, _react2.jsx)(_index.MultivaluesField, {
|
|
324
|
+
items: items,
|
|
325
|
+
label: "Field Label",
|
|
326
|
+
ref: inputRef
|
|
327
|
+
}, function (item) {
|
|
328
|
+
return (0, _react2.jsx)(_index.Item, {
|
|
329
|
+
key: item.key,
|
|
330
|
+
"data-id": item.name,
|
|
331
|
+
"aria-label": item.name
|
|
332
|
+
}, item.name);
|
|
333
|
+
}));
|
|
334
|
+
};
|
|
313
335
|
var Uncontrolled = exports.Uncontrolled = function Uncontrolled(args) {
|
|
314
336
|
var _useState3 = (0, _react.useState)(false),
|
|
315
337
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
@@ -112,7 +112,17 @@ declare const _default: {
|
|
|
112
112
|
scrollbarColor: string;
|
|
113
113
|
};
|
|
114
114
|
};
|
|
115
|
-
sectionBody:
|
|
115
|
+
sectionBody: {
|
|
116
|
+
pl: string;
|
|
117
|
+
display: string;
|
|
118
|
+
width: string;
|
|
119
|
+
'&.is-selected': {
|
|
120
|
+
display: string;
|
|
121
|
+
};
|
|
122
|
+
':focus': {
|
|
123
|
+
outline: string;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
116
126
|
sectionButton: {
|
|
117
127
|
width: string;
|
|
118
128
|
'&.is-focused': {
|
|
@@ -17,11 +17,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
17
17
|
var _hooks = require("../../hooks");
|
|
18
18
|
var _index = require("../../index");
|
|
19
19
|
var _react2 = require("@emotion/react");
|
|
20
|
-
var _excluded = ["buttonProps", "children", "title"];
|
|
20
|
+
var _excluded = ["buttonProps", "children", "slots", "title"];
|
|
21
21
|
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); }
|
|
22
22
|
var PageHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
23
23
|
var buttonProps = _ref.buttonProps,
|
|
24
24
|
children = _ref.children,
|
|
25
|
+
slots = _ref.slots,
|
|
25
26
|
title = _ref.title,
|
|
26
27
|
other = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
27
28
|
var linkStyles = {
|
|
@@ -35,7 +36,7 @@ var PageHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
35
36
|
pageHeaderAddIconSize = _useGetTheme.pageHeaderAddIconSize;
|
|
36
37
|
var renderButton = buttonProps && (0, _react2.jsx)(_index.IconButton, (0, _extends2["default"])({
|
|
37
38
|
"aria-label": "icon button",
|
|
38
|
-
|
|
39
|
+
mx: pageHeaderAddIconMargin,
|
|
39
40
|
variant: "inverted"
|
|
40
41
|
}, buttonProps), (0, _react2.jsx)(_index.Icon, {
|
|
41
42
|
icon: _PlusIcon["default"],
|
|
@@ -50,7 +51,7 @@ var PageHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
50
51
|
}, (0, _react2.jsx)(_index.Text, {
|
|
51
52
|
as: "h1",
|
|
52
53
|
variant: "pageHeaderTitle"
|
|
53
|
-
}, title), renderButton), (0, _react2.jsx)(_index.Text, {
|
|
54
|
+
}, title), renderButton, slots === null || slots === void 0 ? void 0 : slots.rightOfTitle), (0, _react2.jsx)(_index.Text, {
|
|
54
55
|
variant: "pageHeaderBody",
|
|
55
56
|
sx: linkStyles
|
|
56
57
|
}, children));
|
|
@@ -59,6 +60,10 @@ PageHeader.propTypes = {
|
|
|
59
60
|
/** If present, this string will be rendered as the title */
|
|
60
61
|
title: _propTypes["default"].string,
|
|
61
62
|
/** Props object that is spread into the Button element. */
|
|
62
|
-
buttonProps: _propTypes["default"].shape({})
|
|
63
|
+
buttonProps: _propTypes["default"].shape({}),
|
|
64
|
+
/** Slots for rendering custom elements within the PageHeader. */
|
|
65
|
+
slots: _propTypes["default"].shape({
|
|
66
|
+
rightOfTitle: _propTypes["default"].node
|
|
67
|
+
})
|
|
63
68
|
};
|
|
64
69
|
var _default = exports["default"] = PageHeader;
|
|
@@ -15,5 +15,8 @@ Pass `buttonProps` to add actions and customizations to the '+' button. Omit `bu
|
|
|
15
15
|
### Children
|
|
16
16
|
Text and Links passed as children will be styled to match Ping specs.
|
|
17
17
|
|
|
18
|
+
### Slots
|
|
19
|
+
Pass `slots.rightOfTitle` to render a custom element (e.g. an overflow menu `IconButton`) to the right of the title/add button. This renders after the add button if `buttonProps` is provided, otherwise it renders immediately after the title.
|
|
20
|
+
|
|
18
21
|
### Note:
|
|
19
22
|
Components styled to match design specs may be updated over time as design specs change. Be aware that styles within this component may undergo minor adjustments over time to stay in sync with the latest design specifications.
|
|
@@ -8,6 +8,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports["default"] = exports.WithoutLink = exports.WithoutButton = exports.Default = exports.Customization = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _DotsVerticalIcon = _interopRequireDefault(require("@pingux/mdi-react/DotsVerticalIcon"));
|
|
11
12
|
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
|
12
13
|
var _index = require("../../index");
|
|
13
14
|
var _figmaLinks = require("../../utils/designUtils/figmaLinks");
|
|
@@ -91,13 +92,22 @@ WithoutLink.parameters = {
|
|
|
91
92
|
url: _figmaLinks.FIGMA_LINKS.pageHeader.withoutLink
|
|
92
93
|
}
|
|
93
94
|
};
|
|
94
|
-
var Customization = exports.Customization = function Customization(
|
|
95
|
-
return (0, _react2.jsx)(_index.PageHeader,
|
|
95
|
+
var Customization = exports.Customization = function Customization() {
|
|
96
|
+
return (0, _react2.jsx)(_index.PageHeader, {
|
|
96
97
|
buttonProps: {
|
|
97
98
|
bg: 'critical.bright'
|
|
98
99
|
},
|
|
99
|
-
title: "Lorem Ipsum"
|
|
100
|
-
|
|
100
|
+
title: "Lorem Ipsum",
|
|
101
|
+
slots: {
|
|
102
|
+
rightOfTitle: (0, _react2.jsx)(_index.IconButton, {
|
|
103
|
+
"aria-label": "overflow menu",
|
|
104
|
+
onPress: function onPress() {}
|
|
105
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
|
106
|
+
icon: _DotsVerticalIcon["default"],
|
|
107
|
+
size: "sm"
|
|
108
|
+
}))
|
|
109
|
+
}
|
|
110
|
+
}, description, (0, _react2.jsx)(_index.Link, {
|
|
101
111
|
href: "https://uilibrary.ping-eng.com/"
|
|
102
112
|
}, "Learn more"));
|
|
103
113
|
};
|
|
@@ -42,7 +42,7 @@ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present,
|
|
|
42
42
|
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); }
|
|
43
43
|
function _OverloadYield(e, d) { this.v = e, this.k = d; }
|
|
44
44
|
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; }
|
|
45
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
45
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
46
46
|
var testId = 'test-header';
|
|
47
47
|
var defaultProps = {
|
|
48
48
|
title: 'test-title',
|
|
@@ -62,8 +62,13 @@ var getComponent = function getComponent() {
|
|
|
62
62
|
(0, _universalComponentTest.universalComponentTests)({
|
|
63
63
|
renderComponent: function renderComponent(props) {
|
|
64
64
|
return (0, _react2.jsx)(_index.PageHeader, (0, _extends2["default"])({
|
|
65
|
-
title: "Title of the Page"
|
|
66
|
-
|
|
65
|
+
title: "Title of the Page",
|
|
66
|
+
slots: {
|
|
67
|
+
rightOfTitle: (0, _react2.jsx)(_index.IconButton, {
|
|
68
|
+
"aria-label": "overflow menu"
|
|
69
|
+
}, (0, _react2.jsx)("span", null, "..."))
|
|
70
|
+
}
|
|
71
|
+
}, props), "some test");
|
|
67
72
|
}
|
|
68
73
|
});
|
|
69
74
|
test('renders default PageHeader', function () {
|
|
@@ -122,6 +127,55 @@ test('for default theme, it applies correct styles', function () {
|
|
|
122
127
|
});
|
|
123
128
|
expect(button).toHaveStyleRule('margin-left', '10px');
|
|
124
129
|
});
|
|
130
|
+
test('renders slots.rightOfTitle when provided', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
131
|
+
var onPress, overflowButton;
|
|
132
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
133
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
134
|
+
case 0:
|
|
135
|
+
onPress = jest.fn();
|
|
136
|
+
getComponent(_objectSpread(_objectSpread({}, defaultProps), {}, {
|
|
137
|
+
slots: {
|
|
138
|
+
rightOfTitle: (0, _react2.jsx)(_index.IconButton, {
|
|
139
|
+
"aria-label": "overflow menu",
|
|
140
|
+
onPress: onPress
|
|
141
|
+
}, (0, _react2.jsx)("span", null, "..."))
|
|
142
|
+
}
|
|
143
|
+
}));
|
|
144
|
+
overflowButton = _testWrapper.screen.getByRole('button', {
|
|
145
|
+
name: 'overflow menu'
|
|
146
|
+
});
|
|
147
|
+
expect(overflowButton).toBeInTheDocument();
|
|
148
|
+
_context2.next = 6;
|
|
149
|
+
return _userEvent["default"].tab();
|
|
150
|
+
case 6:
|
|
151
|
+
_context2.next = 8;
|
|
152
|
+
return _userEvent["default"].tab();
|
|
153
|
+
case 8:
|
|
154
|
+
expect(overflowButton).toHaveFocus();
|
|
155
|
+
_context2.next = 11;
|
|
156
|
+
return _userEvent["default"].click(overflowButton);
|
|
157
|
+
case 11:
|
|
158
|
+
expect(onPress).toHaveBeenCalled();
|
|
159
|
+
case 12:
|
|
160
|
+
case "end":
|
|
161
|
+
return _context2.stop();
|
|
162
|
+
}
|
|
163
|
+
}, _callee2);
|
|
164
|
+
})));
|
|
165
|
+
test('renders slots.rightOfTitle when there is no add button', function () {
|
|
166
|
+
getComponent({
|
|
167
|
+
title: 'test-title',
|
|
168
|
+
slots: {
|
|
169
|
+
rightOfTitle: (0, _react2.jsx)(_index.IconButton, {
|
|
170
|
+
"aria-label": "overflow menu"
|
|
171
|
+
}, (0, _react2.jsx)("span", null, "..."))
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
var overflowButton = _testWrapper.screen.getByRole('button', {
|
|
175
|
+
name: 'overflow menu'
|
|
176
|
+
});
|
|
177
|
+
expect(overflowButton).toBeInTheDocument();
|
|
178
|
+
});
|
|
125
179
|
test('for onyx theme, it applies correct styles', function () {
|
|
126
180
|
jest.spyOn(themeHook, 'useGetTheme').mockReturnValueOnce(_objectSpread(_objectSpread({}, _theme["default"]), {}, {
|
|
127
181
|
pageHeaderTitleMargin: 'md',
|
|
@@ -16,8 +16,8 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
16
16
|
});
|
|
17
17
|
exports["default"] = exports.PANEL_HEADER_ICON = void 0;
|
|
18
18
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
19
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
20
19
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
21
21
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
|
22
22
|
var _react = _interopRequireWildcard(require("react"));
|
|
23
23
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -25,19 +25,21 @@ var _hooks = require("../../hooks");
|
|
|
25
25
|
var _index = require("../../index");
|
|
26
26
|
var _listViewItemAttributes = require("../ListViewItem/listViewItemAttributes");
|
|
27
27
|
var _react2 = require("@emotion/react");
|
|
28
|
-
var _excluded = ["avatarProps", "children", "className", "data", "headerProps", "headerWrapperProps", "isCopyable", "slots", "subtextProps"];
|
|
28
|
+
var _excluded = ["avatarProps", "children", "className", "colorId", "data", "headerProps", "headerWrapperProps", "iconProps", "isCopyable", "slots", "subtextProps"];
|
|
29
29
|
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); }
|
|
30
30
|
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; }
|
|
31
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
31
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
32
32
|
var PANEL_HEADER_ICON = exports.PANEL_HEADER_ICON = '-panel-header-icon';
|
|
33
33
|
var PanelHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
34
|
-
var _context;
|
|
34
|
+
var _context, _context2;
|
|
35
35
|
var avatarProps = _ref.avatarProps,
|
|
36
36
|
children = _ref.children,
|
|
37
37
|
className = _ref.className,
|
|
38
|
+
colorId = _ref.colorId,
|
|
38
39
|
data = _ref.data,
|
|
39
40
|
headerProps = _ref.headerProps,
|
|
40
41
|
headerWrapperProps = _ref.headerWrapperProps,
|
|
42
|
+
iconProps = _ref.iconProps,
|
|
41
43
|
isCopyable = _ref.isCopyable,
|
|
42
44
|
slots = _ref.slots,
|
|
43
45
|
subtextProps = _ref.subtextProps,
|
|
@@ -61,13 +63,35 @@ var PanelHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
61
63
|
name: (0, _concat["default"])(_context = "".concat(text)).call(_context, PANEL_HEADER_ICON)
|
|
62
64
|
}
|
|
63
65
|
}));
|
|
66
|
+
var renderOnyxIcon = icon && (0, _react2.jsx)(_index.Box, {
|
|
67
|
+
mr: "md"
|
|
68
|
+
}, (0, _react2.jsx)(_index.IconWrapper, (0, _extends2["default"])({
|
|
69
|
+
icon: icon,
|
|
70
|
+
size: "sm",
|
|
71
|
+
title: {
|
|
72
|
+
name: (0, _concat["default"])(_context2 = "".concat(text)).call(_context2, PANEL_HEADER_ICON)
|
|
73
|
+
},
|
|
74
|
+
isCircle: true,
|
|
75
|
+
colorId: colorId || avatarDefaultText
|
|
76
|
+
}, avatarProps, {
|
|
77
|
+
iconProps: _objectSpread({
|
|
78
|
+
size: 'sm'
|
|
79
|
+
}, iconProps)
|
|
80
|
+
})));
|
|
64
81
|
var renderAvatar = (0, _react2.jsx)(_index.Avatar, (0, _extends2["default"])({
|
|
65
|
-
src: image === null || image === void 0 ? void 0 : image.src,
|
|
66
|
-
isSquare: !!(image !== null && image !== void 0 && image.src),
|
|
67
82
|
size: "sm",
|
|
83
|
+
colorId: colorId,
|
|
68
84
|
defaultText: avatarDefaultText,
|
|
69
85
|
mr: "md"
|
|
70
86
|
}, avatarProps));
|
|
87
|
+
var renderOnyxImage = !icon && (image === null || image === void 0 ? void 0 : image.src) && (0, _react2.jsx)(_index.Box, {
|
|
88
|
+
mr: "md"
|
|
89
|
+
}, (0, _react2.jsx)(_index.Image, {
|
|
90
|
+
src: image.src,
|
|
91
|
+
alt: image.alt,
|
|
92
|
+
"aria-label": image['aria-label'],
|
|
93
|
+
variant: "images.avatar"
|
|
94
|
+
}));
|
|
71
95
|
var renderImage = !icon && image && (0, _react2.jsx)(_index.Box, {
|
|
72
96
|
variant: "panelHeader.iconWrapper"
|
|
73
97
|
}, (0, _react2.jsx)(_index.Image, {
|
|
@@ -80,6 +104,8 @@ var PanelHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
80
104
|
return slots.leftOfData;
|
|
81
105
|
}
|
|
82
106
|
if (isOnyx) {
|
|
107
|
+
if (icon) return renderOnyxIcon;
|
|
108
|
+
if (image !== null && image !== void 0 && image.src) return renderOnyxImage;
|
|
83
109
|
return renderAvatar;
|
|
84
110
|
}
|
|
85
111
|
if (icon) {
|
|
@@ -107,9 +133,9 @@ var PanelHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
107
133
|
textToCopy: subtext
|
|
108
134
|
}, (0, _react2.jsx)(_index.Text, {
|
|
109
135
|
variant: "panelHeaderSubtext"
|
|
110
|
-
}, subtext)) : subtext && (0, _react2.jsx)(_index.Text, {
|
|
136
|
+
}, subtext)) : subtext && (0, _react2.jsx)(_index.Text, (0, _extends2["default"])({
|
|
111
137
|
variant: "panelHeaderSubtext"
|
|
112
|
-
}, subtext)));
|
|
138
|
+
}, subtextProps), subtext)));
|
|
113
139
|
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
|
114
140
|
variant: "panelHeader.container",
|
|
115
141
|
className: className,
|
|
@@ -129,7 +155,9 @@ var PanelHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
129
155
|
}, children)));
|
|
130
156
|
});
|
|
131
157
|
PanelHeader.propTypes = _objectSpread(_objectSpread({}, _listViewItemAttributes.SharedItemPropTypes), {}, {
|
|
158
|
+
colorId: _propTypes["default"].string,
|
|
132
159
|
isCopyable: _propTypes["default"].bool,
|
|
160
|
+
iconProps: _propTypes["default"].object,
|
|
133
161
|
slots: _propTypes["default"].shape({
|
|
134
162
|
rightOfData: _propTypes["default"].node
|
|
135
163
|
})
|
|
@@ -33,6 +33,7 @@ var _default = exports["default"] = {
|
|
|
33
33
|
var Default = exports.Default = function Default(_ref) {
|
|
34
34
|
var args = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref), _ref));
|
|
35
35
|
return (0, _react2.jsx)(_index.PanelHeader, (0, _extends2["default"])({}, args, {
|
|
36
|
+
colorId: "1111111111111111",
|
|
36
37
|
data: {
|
|
37
38
|
icon: _AccountIcon["default"],
|
|
38
39
|
text: 'Fons Vernall',
|
|
@@ -90,15 +91,12 @@ var WithImage = exports.WithImage = function WithImage(args) {
|
|
|
90
91
|
return (0, _react2.jsx)(_index.PanelHeader, (0, _extends2["default"])({}, args, {
|
|
91
92
|
data: {
|
|
92
93
|
image: {
|
|
93
|
-
src: _images.
|
|
94
|
+
src: _images.userImage,
|
|
94
95
|
alt: 'Ping Identity Logo',
|
|
95
96
|
'aria-label': 'Ping Identity Logo'
|
|
96
97
|
},
|
|
97
98
|
avatarDefaultText: 'FV',
|
|
98
99
|
text: 'Fons Vernall'
|
|
99
|
-
},
|
|
100
|
-
avatarProps: {
|
|
101
|
-
size: 'lg'
|
|
102
100
|
}
|
|
103
101
|
}));
|
|
104
102
|
};
|
|
@@ -119,7 +117,6 @@ var WithAvatar = exports.WithAvatar = function WithAvatar(args) {
|
|
|
119
117
|
text: 'Fons Vernall'
|
|
120
118
|
},
|
|
121
119
|
avatarProps: {
|
|
122
|
-
size: 'lg',
|
|
123
120
|
isLogo: true
|
|
124
121
|
}
|
|
125
122
|
}));
|
|
@@ -44,7 +44,7 @@ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present,
|
|
|
44
44
|
function _regeneratorDefine2(e, r, n, t) { var i = _Object$defineProperty2; 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); }
|
|
45
45
|
function _OverloadYield(e, d) { this.v = e, this.k = d; }
|
|
46
46
|
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; }
|
|
47
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
47
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context5 = ownKeys(Object(t), !0)).call(_context5, function (r) { (0, _defineProperty3["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context6 = ownKeys(Object(t))).call(_context6, function (r) { _Object$defineProperty2(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
48
48
|
var defaultProps = {
|
|
49
49
|
data: {
|
|
50
50
|
text: 'testText',
|
|
@@ -70,8 +70,9 @@ jest.mock('../../hooks/useFallbackImage', function () {
|
|
|
70
70
|
});
|
|
71
71
|
var getComponentOnyx = function getComponentOnyx() {
|
|
72
72
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
73
|
+
var theme = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _index.OnyxTheme;
|
|
73
74
|
return (0, _testWrapper.render)((0, _react3.jsx)(_index.AstroProvider, {
|
|
74
|
-
themeOverrides: [
|
|
75
|
+
themeOverrides: [theme]
|
|
75
76
|
}, (0, _react3.jsx)(_index.PanelHeader, (0, _extends2["default"])({}, defaultProps, props))));
|
|
76
77
|
};
|
|
77
78
|
|
|
@@ -228,10 +229,51 @@ test('renders leftOfData slot', function () {
|
|
|
228
229
|
});
|
|
229
230
|
_testWrapper.screen.getByText(TEST_TEXT);
|
|
230
231
|
});
|
|
231
|
-
test('renders
|
|
232
|
+
test.each([['Onyx light', _index.OnyxTheme], ['Onyx dark', _index.OnyxDarkTheme]])('renders an 18px icon in %s PanelHeader avatars', function (_, theme) {
|
|
233
|
+
var _context4;
|
|
234
|
+
getComponentOnyx({
|
|
235
|
+
data: {
|
|
236
|
+
text: 'testText',
|
|
237
|
+
icon: _AccountIcon["default"],
|
|
238
|
+
avatarDefaultText: 'AA'
|
|
239
|
+
},
|
|
240
|
+
avatarProps: {
|
|
241
|
+
color: 'green'
|
|
242
|
+
},
|
|
243
|
+
iconProps: {
|
|
244
|
+
'data-testid': 'panel-header-icon'
|
|
245
|
+
}
|
|
246
|
+
}, theme);
|
|
247
|
+
var icon = _testWrapper.screen.getByRole('img', {
|
|
248
|
+
name: (0, _concat["default"])(_context4 = "".concat(defaultProps.data.text)).call(_context4, _PanelHeader.PANEL_HEADER_ICON)
|
|
249
|
+
});
|
|
250
|
+
expect(icon).toHaveStyleRule('width', '18px');
|
|
251
|
+
expect(icon).toHaveStyleRule('height', '18px');
|
|
252
|
+
expect(icon).toHaveAttribute('data-testid', 'panel-header-icon');
|
|
253
|
+
});
|
|
254
|
+
test('forwards iconProps to the Onyx avatar icon', function () {
|
|
255
|
+
getComponentOnyx({
|
|
256
|
+
data: {
|
|
257
|
+
text: 'testText',
|
|
258
|
+
icon: _AccountIcon["default"]
|
|
259
|
+
},
|
|
260
|
+
avatarProps: {
|
|
261
|
+
color: 'green'
|
|
262
|
+
},
|
|
263
|
+
iconProps: {
|
|
264
|
+
'aria-label': 'custom panel icon'
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
expect(_testWrapper.screen.getByLabelText('custom panel icon')).toBeInTheDocument();
|
|
268
|
+
});
|
|
269
|
+
test('renders image avatars in Onyx', function () {
|
|
232
270
|
getComponentOnyx();
|
|
271
|
+
(0, _react2.act)(function () {
|
|
272
|
+
fallbackImageObj.onImageLoad();
|
|
273
|
+
});
|
|
233
274
|
var image = _testWrapper.screen.getByRole('img');
|
|
234
275
|
expect(image.tagName.toLowerCase()).toBe('img');
|
|
235
276
|
expect(image).toHaveAttribute('src', _images.pingImg);
|
|
236
|
-
expect(image).toHaveAttribute('alt', '
|
|
277
|
+
expect(image).toHaveAttribute('alt', 'avatar');
|
|
278
|
+
expect(image).toHaveAttribute('aria-label', 'avatar');
|
|
237
279
|
});
|
|
@@ -83,7 +83,7 @@ var RangeCalendar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
83
83
|
nextButtonProps: nextButtonProps
|
|
84
84
|
}), (0, _react2.jsx)(_index.Box, {
|
|
85
85
|
isRow: true,
|
|
86
|
-
gap: "
|
|
86
|
+
gap: "lg"
|
|
87
87
|
}, (0, _react2.jsx)(_RangeCalendarGrid["default"], {
|
|
88
88
|
state: state
|
|
89
89
|
}), (0, _react2.jsx)(_RangeCalendarGrid["default"], {
|
|
@@ -16,6 +16,10 @@ This component is built on [useRangeCalendar](https://react-spectrum.adobe.com/r
|
|
|
16
16
|
|
|
17
17
|
This component can be used independently and does not require additional components.
|
|
18
18
|
|
|
19
|
+
### Usage in a popup
|
|
20
|
+
|
|
21
|
+
When RangeCalendar is displayed inside a popup (such as a popover or date picker overlay), the popup container should include a popover shadow to visually separate it from the page content.
|
|
22
|
+
|
|
19
23
|
### Accessibility
|
|
20
24
|
|
|
21
25
|
<AccessibilityTable keyboardRows={[
|
|
@@ -293,6 +293,36 @@ test('parseDateIfString should correctly parse string or DateValue inputs', func
|
|
|
293
293
|
expect(result1).toEqual(new _date.CalendarDate(2022, 8, 1));
|
|
294
294
|
expect(result2).toEqual(new _date.CalendarDate(2022, 8, 10));
|
|
295
295
|
});
|
|
296
|
+
test('disabled calendar applies is-disabled class to weekday column headers', function () {
|
|
297
|
+
getComponent({
|
|
298
|
+
isDisabled: true
|
|
299
|
+
});
|
|
300
|
+
|
|
301
|
+
// RangeCalendarGrid passes isDisabled to TableCell; Box applies the is-disabled class
|
|
302
|
+
var columnHeaders = _testWrapper.screen.getAllByRole('columnheader', {
|
|
303
|
+
hidden: true
|
|
304
|
+
});
|
|
305
|
+
expect(columnHeaders).toHaveLength(14);
|
|
306
|
+
(0, _forEach["default"])(columnHeaders).call(columnHeaders, function (header) {
|
|
307
|
+
expect(header).toHaveClass('is-disabled');
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
test('disabled calendar renders month name headings with disabled state', function () {
|
|
311
|
+
getComponent({
|
|
312
|
+
isDisabled: true
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
// RangeCalendarHeader applies sx={{ color: state.isDisabled ? 'text.secondary' : undefined }}
|
|
316
|
+
// to the month name Text elements (role="heading", aria-level={3}, aria-hidden)
|
|
317
|
+
var monthHeadings = _testWrapper.screen.getAllByRole('heading', {
|
|
318
|
+
level: 3,
|
|
319
|
+
hidden: true
|
|
320
|
+
});
|
|
321
|
+
expect(monthHeadings).toHaveLength(2);
|
|
322
|
+
(0, _forEach["default"])(monthHeadings).call(monthHeadings, function (heading) {
|
|
323
|
+
expect(heading).toBeInTheDocument();
|
|
324
|
+
});
|
|
325
|
+
});
|
|
296
326
|
test('should allow selecting a range spanning more than 2 months with minValue constraint', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
297
327
|
var minValue, buttons, cellsAfterNavigation, octFirstCell, cellsInJuly, julyFifthCell, selectedCells;
|
|
298
328
|
return _regeneratorRuntime().wrap(function _callee6$(_context7) {
|
|
@@ -43,6 +43,7 @@ var RangeCalendarGrid = function RangeCalendarGrid(props) {
|
|
|
43
43
|
return (0, _react2.jsx)(_index.Table, gridProps, (0, _react2.jsx)(_index.TableHead, headerProps, (0, _react2.jsx)(_index.TableRow, null, (0, _map["default"])(weekDays).call(weekDays, function (day, index) {
|
|
44
44
|
return (0, _react2.jsx)(_index.TableCell, {
|
|
45
45
|
isHeading: true,
|
|
46
|
+
isDisabled: state.isDisabled,
|
|
46
47
|
variant: "rangeCalendar.columnHeader",
|
|
47
48
|
key: getKey(day, index),
|
|
48
49
|
role: "columnheader"
|