@sproutsocial/racine 12.20.0 → 12.21.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/CHANGELOG.md +20 -0
- package/README.md +46 -44
- package/__flow__/Avatar/index.js +26 -26
- package/__flow__/Avatar/index.stories.js +8 -8
- package/__flow__/Avatar/index.test.js +13 -13
- package/__flow__/Badge/constants.js +14 -14
- package/__flow__/Badge/index.js +18 -18
- package/__flow__/Badge/index.stories.js +8 -8
- package/__flow__/Badge/index.test.js +43 -43
- package/__flow__/Badge/styles.js +13 -9
- package/__flow__/Banner/index.js +21 -21
- package/__flow__/Banner/index.stories.js +56 -68
- package/__flow__/Banner/index.test.js +32 -34
- package/__flow__/Banner/styles.js +4 -4
- package/__flow__/Box/index.js +4 -4
- package/__flow__/Box/index.stories.js +58 -51
- package/__flow__/Box/index.test.js +7 -7
- package/__flow__/Box/styles.js +6 -6
- package/__flow__/Breadcrumb/index.js +9 -13
- package/__flow__/Breadcrumb/index.stories.js +14 -14
- package/__flow__/Breadcrumb/index.test.js +20 -20
- package/__flow__/Breadcrumb/styles.js +5 -5
- package/__flow__/Button/index.js +23 -23
- package/__flow__/Button/index.stories.js +34 -34
- package/__flow__/Button/styles.js +11 -11
- package/__flow__/Card/index.js +7 -7
- package/__flow__/Card/index.stories.js +14 -14
- package/__flow__/Card/styles.js +7 -7
- package/__flow__/CharacterCounter/index.js +7 -7
- package/__flow__/CharacterCounter/index.stories.js +25 -26
- package/__flow__/CharacterCounter/index.test.js +11 -11
- package/__flow__/CharacterCounter/styles.js +3 -3
- package/__flow__/ChartLegend/index.js +7 -7
- package/__flow__/ChartLegend/index.stories.js +22 -22
- package/__flow__/ChartLegend/index.test.js +27 -27
- package/__flow__/ChartLegend/styles.js +7 -7
- package/__flow__/Checkbox/index.js +10 -10
- package/__flow__/Checkbox/index.stories.js +24 -24
- package/__flow__/Checkbox/index.test.js +25 -25
- package/__flow__/Checkbox/styles.js +27 -28
- package/__flow__/Collapsible/index.js +15 -15
- package/__flow__/Collapsible/index.stories.js +13 -13
- package/__flow__/Collapsible/index.test.js +27 -27
- package/__flow__/Collapsible/styles.js +5 -5
- package/__flow__/DatePicker/DateRangePicker.js +5 -8
- package/__flow__/DatePicker/DateRangePicker.stories.js +19 -19
- package/__flow__/DatePicker/DateRangePicker.test.js +21 -21
- package/__flow__/DatePicker/SingleDatePicker.js +6 -9
- package/__flow__/DatePicker/SingleDatePicker.stories.js +10 -10
- package/__flow__/DatePicker/SingleDatePicker.test.js +21 -23
- package/__flow__/DatePicker/StatefulDateRangePicker.js +6 -6
- package/__flow__/DatePicker/StatefulSingleDatePicker.js +3 -3
- package/__flow__/DatePicker/common.js +13 -13
- package/__flow__/DatePicker/index.js +3 -3
- package/__flow__/DatePicker/styles.js +42 -42
- package/__flow__/Drawer/SlideTransition.js +10 -10
- package/__flow__/Drawer/index.js +29 -29
- package/__flow__/Drawer/index.stories.js +58 -141
- package/__flow__/Drawer/index.test.js +28 -28
- package/__flow__/Drawer/styles.js +4 -4
- package/__flow__/EmptyState/index.js +5 -5
- package/__flow__/EmptyState/index.stories.js +10 -10
- package/__flow__/EmptyState/index.test.js +27 -27
- package/__flow__/EnumIllustrationNames.js +1 -1
- package/__flow__/Fieldset/index.js +14 -14
- package/__flow__/Fieldset/index.stories.js +19 -20
- package/__flow__/Fieldset/index.test.js +14 -14
- package/__flow__/Fieldset/styles.js +5 -5
- package/__flow__/FormField/index.js +14 -14
- package/__flow__/FormField/index.stories.js +31 -21
- package/__flow__/FormField/index.test.js +19 -19
- package/__flow__/Icon/deprecatedIcons.js +36 -36
- package/__flow__/Icon/index.js +17 -17
- package/__flow__/Icon/index.stories.js +30 -30
- package/__flow__/Icon/index.test.js +15 -15
- package/__flow__/Icon/styles.js +12 -12
- package/__flow__/IllustrationViewBoxes.js +1 -1
- package/__flow__/Image/index.js +6 -7
- package/__flow__/Image/index.stories.js +5 -5
- package/__flow__/Image/index.test.js +24 -24
- package/__flow__/Image/styles.js +6 -5
- package/__flow__/Indicator/index.js +7 -7
- package/__flow__/Indicator/index.stories.js +8 -14
- package/__flow__/Indicator/index.test.js +6 -6
- package/__flow__/Indicator/styles.js +6 -6
- package/__flow__/Input/index.js +37 -37
- package/__flow__/Input/index.stories.js +96 -189
- package/__flow__/Input/index.test.js +117 -117
- package/__flow__/Input/styles.js +13 -13
- package/__flow__/KeyboardKey/index.js +5 -5
- package/__flow__/KeyboardKey/index.stories.js +9 -12
- package/__flow__/KeyboardKey/index.test.js +7 -7
- package/__flow__/KeyboardKey/styles.js +4 -4
- package/__flow__/Label/index.js +6 -6
- package/__flow__/Label/index.stories.js +5 -7
- package/__flow__/Label/index.test.js +8 -8
- package/__flow__/Link/constants.js +4 -4
- package/__flow__/Link/index.js +11 -11
- package/__flow__/Link/index.stories.js +61 -102
- package/__flow__/Link/index.test.js +40 -40
- package/__flow__/Link/styles.js +6 -6
- package/__flow__/Listbox/index.js +16 -16
- package/__flow__/Listbox/index.stories.js +35 -35
- package/__flow__/Listbox/index.test.js +63 -65
- package/__flow__/Loader/index.js +12 -12
- package/__flow__/Loader/index.stories.js +10 -10
- package/__flow__/Loader/index.test.js +17 -17
- package/__flow__/Loader/styles.js +9 -13
- package/__flow__/LoaderButton/index.js +25 -25
- package/__flow__/LoaderButton/index.stories.js +7 -7
- package/__flow__/LoaderButton/index.test.js +15 -15
- package/__flow__/Menu/constants.js +8 -8
- package/__flow__/Menu/descendants.js +89 -80
- package/__flow__/Menu/hooks.js +22 -22
- package/__flow__/Menu/index.flow.js +13 -13
- package/__flow__/Menu/index.js +56 -60
- package/__flow__/Menu/index.stories.js +19 -19
- package/__flow__/Menu/index.test.js +22 -22
- package/__flow__/Menu/names.js +4945 -4945
- package/__flow__/Menu/styles.js +5 -5
- package/__flow__/Message/index.js +33 -33
- package/__flow__/Message/index.stories.js +18 -13
- package/__flow__/Message/index.test.js +6 -6
- package/__flow__/Message/styles.js +15 -15
- package/__flow__/Modal/index.js +19 -19
- package/__flow__/Modal/index.stories.js +43 -43
- package/__flow__/Modal/index.test.js +29 -29
- package/__flow__/Modal/styles.js +27 -32
- package/__flow__/Numeral/index.js +22 -22
- package/__flow__/Numeral/index.stories.js +74 -74
- package/__flow__/Numeral/styles.js +3 -3
- package/__flow__/Numeral/tests/A11y.test.js +7 -7
- package/__flow__/Numeral/tests/abbreviate.test.js +40 -40
- package/__flow__/Numeral/tests/currency.test.js +24 -24
- package/__flow__/Numeral/tests/defaults.test.js +20 -20
- package/__flow__/Numeral/tests/invalid.test.js +9 -9
- package/__flow__/Numeral/tests/locale.test.js +38 -38
- package/__flow__/Numeral/tests/precision.test.js +76 -76
- package/__flow__/Numeral/tests/testNumeral.js +11 -11
- package/__flow__/Numeral/tests/zero.test.js +8 -8
- package/__flow__/OverflowList/index.flow.js +2 -2
- package/__flow__/OverflowList/index.js +12 -12
- package/__flow__/OverflowList/index.stories.js +10 -10
- package/__flow__/OverflowList/index.test.js +25 -25
- package/__flow__/OverflowList/styles.js +5 -5
- package/__flow__/PartnerLogo/TypePartnerNames.js +37 -37
- package/__flow__/PartnerLogo/index.js +20 -20
- package/__flow__/PartnerLogo/index.stories.js +52 -52
- package/__flow__/PartnerLogo/styles.js +12 -12
- package/__flow__/Popout/index.js +66 -67
- package/__flow__/Popout/index.stories.js +101 -82
- package/__flow__/Popout/index.test.js +43 -43
- package/__flow__/Popout/styles.js +4 -5
- package/__flow__/Portal/index.js +9 -9
- package/__flow__/Portal/index.stories.js +12 -12
- package/__flow__/Radio/index.js +4 -4
- package/__flow__/Radio/index.stories.js +11 -11
- package/__flow__/Radio/index.test.js +12 -12
- package/__flow__/Radio/styles.js +15 -16
- package/__flow__/SegmentedControl/index.js +7 -7
- package/__flow__/SegmentedControl/index.stories.js +7 -7
- package/__flow__/SegmentedControl/index.test.js +29 -29
- package/__flow__/SegmentedControl/styles.js +10 -9
- package/__flow__/Select/index.js +10 -10
- package/__flow__/Select/index.stories.js +33 -69
- package/__flow__/Select/index.test.js +14 -14
- package/__flow__/Select/styles.js +16 -16
- package/__flow__/Skeleton/index.js +4 -4
- package/__flow__/Skeleton/index.stories.js +5 -5
- package/__flow__/SpotIllustration/illustrationNames.js +118 -117
- package/__flow__/SpotIllustration/index.js +15 -11
- package/__flow__/SpotIllustration/index.stories.js +18 -18
- package/__flow__/SpotIllustration/spotIllustrations/molecule.svg +14 -0
- package/__flow__/Stack/index.js +43 -33
- package/__flow__/Stack/index.stories.js +41 -91
- package/__flow__/Stack/index.test.js +16 -7
- package/__flow__/Switch/index.js +8 -8
- package/__flow__/Switch/index.stories.js +5 -5
- package/__flow__/Switch/index.test.js +25 -29
- package/__flow__/Switch/styles.js +13 -9
- package/__flow__/Table/index.js +17 -17
- package/__flow__/Table/index.stories.js +99 -99
- package/__flow__/Table/index.test.js +32 -32
- package/__flow__/Table/styles.js +4 -4
- package/__flow__/TableCell/index.js +8 -7
- package/__flow__/TableCell/index.stories.js +20 -23
- package/__flow__/TableCell/index.test.js +11 -11
- package/__flow__/TableCell/styles.js +4 -5
- package/__flow__/TableHeaderCell/index.js +14 -14
- package/__flow__/TableHeaderCell/index.stories.js +35 -30
- package/__flow__/TableHeaderCell/index.test.js +11 -11
- package/__flow__/TableHeaderCell/styles.js +4 -4
- package/__flow__/TableRowAccordion/index.js +8 -8
- package/__flow__/TableRowAccordion/index.stories.js +36 -36
- package/__flow__/TableRowAccordion/index.test.js +28 -30
- package/__flow__/TableRowAccordion/styles.js +11 -7
- package/__flow__/Tabs/index.js +11 -11
- package/__flow__/Tabs/index.stories.js +28 -54
- package/__flow__/Tabs/index.test.js +54 -54
- package/__flow__/Tabs/styles.js +6 -7
- package/__flow__/Text/index.js +14 -14
- package/__flow__/Text/index.stories.js +84 -86
- package/__flow__/Text/index.test.js +29 -33
- package/__flow__/Text/styles.js +4 -4
- package/__flow__/Textarea/index.js +5 -5
- package/__flow__/Textarea/index.stories.js +54 -93
- package/__flow__/Textarea/index.test.js +30 -30
- package/__flow__/Textarea/styles.js +6 -6
- package/__flow__/ThemeProvider/index.js +4 -4
- package/__flow__/Toast/index.js +23 -23
- package/__flow__/Toast/index.stories.js +21 -21
- package/__flow__/Toast/styles.js +6 -6
- package/__flow__/ToggleHint/index.js +8 -8
- package/__flow__/ToggleHint/index.test.js +8 -8
- package/__flow__/ToggleHint/styles.js +8 -8
- package/__flow__/Token/index.js +10 -10
- package/__flow__/Token/index.stories.js +49 -54
- package/__flow__/Token/index.test.js +28 -28
- package/__flow__/Token/styles.js +11 -11
- package/__flow__/TokenInput/index.flow.js +1 -1
- package/__flow__/TokenInput/index.js +39 -39
- package/__flow__/TokenInput/index.stories.js +121 -128
- package/__flow__/TokenInput/styles.js +5 -5
- package/__flow__/TokenInput/tests/default/clicking.test.js +13 -13
- package/__flow__/TokenInput/tests/default/deleting.test.js +39 -39
- package/__flow__/TokenInput/tests/default/focusing.test.js +18 -18
- package/__flow__/TokenInput/tests/default/inputting.test.js +23 -23
- package/__flow__/TokenInput/tests/default/pasting.test.js +52 -52
- package/__flow__/TokenInput/tests/default/rendering.test.js +54 -54
- package/__flow__/TokenInput/util.js +4 -4
- package/__flow__/Tooltip/index.js +21 -21
- package/__flow__/Tooltip/index.stories.js +18 -18
- package/__flow__/Tooltip/index.test.js +54 -54
- package/__flow__/Tooltip/styles.js +4 -5
- package/__flow__/VisuallyHidden/index.js +3 -3
- package/__flow__/building-stories.stories.mdx +121 -0
- package/__flow__/dataviz/dataviz.stories.js +4 -4
- package/__flow__/dataviz/index.js +3 -3
- package/__flow__/index.js +72 -72
- package/__flow__/overview.stories.js +60 -0
- package/__flow__/setupTests.js +5 -5
- package/__flow__/systemProps/background.js +3 -3
- package/__flow__/systemProps/border.js +3 -3
- package/__flow__/systemProps/color.js +3 -3
- package/__flow__/systemProps/custom.js +3 -3
- package/__flow__/systemProps/flexbox.js +3 -3
- package/__flow__/systemProps/grid.js +3 -3
- package/__flow__/systemProps/index.js +14 -14
- package/__flow__/systemProps/layout.js +3 -3
- package/__flow__/systemProps/position.js +3 -3
- package/__flow__/systemProps/shadow.js +3 -3
- package/__flow__/systemProps/space.js +3 -7
- package/__flow__/systemProps/systemProps.js +14 -14
- package/__flow__/systemProps/tests/background.test.js +17 -17
- package/__flow__/systemProps/tests/border.test.js +61 -61
- package/__flow__/systemProps/tests/color.test.js +15 -15
- package/__flow__/systemProps/tests/custom.test.js +12 -12
- package/__flow__/systemProps/tests/flexbox.test.js +33 -33
- package/__flow__/systemProps/tests/grid.test.js +31 -31
- package/__flow__/systemProps/tests/layout.test.js +29 -29
- package/__flow__/systemProps/tests/position.test.js +19 -19
- package/__flow__/systemProps/tests/shadow.test.js +11 -11
- package/__flow__/systemProps/tests/space.test.js +11 -11
- package/__flow__/systemProps/tests/types.flow.js +18 -18
- package/__flow__/systemProps/tests/typography.test.js +21 -21
- package/__flow__/systemProps/tests/variant.test.js +9 -9
- package/__flow__/systemProps/types.flow.js +2 -2
- package/__flow__/systemProps/typography.js +4 -4
- package/__flow__/systemProps/variant.js +5 -5
- package/__flow__/themes/dark/dataviz-palette.js +21 -21
- package/__flow__/themes/dark/decorative-palettes.js +1 -1
- package/__flow__/themes/dark/theme.js +16 -16
- package/__flow__/themes/extendedThemes/README.md +1 -1
- package/__flow__/themes/extendedThemes/sproutTheme/dark/theme.js +4 -4
- package/__flow__/themes/extendedThemes/sproutTheme/index.js +2 -2
- package/__flow__/themes/extendedThemes/sproutTheme/light/theme.js +4 -4
- package/__flow__/themes/light/dataviz-palette.js +21 -21
- package/__flow__/themes/light/decorative-palettes.js +1 -1
- package/__flow__/themes/light/literal-colors.js +133 -133
- package/__flow__/themes/light/theme.js +51 -51
- package/__flow__/types/system-props.flow.js +5 -5
- package/__flow__/types/theme.colors.flow.js +2 -2
- package/__flow__/types/theme.flow.js +5 -5
- package/__flow__/utils/a11yTest.js +1 -1
- package/__flow__/utils/chartColors.js +1 -1
- package/__flow__/utils/constants.js +1 -1
- package/__flow__/utils/dataQaLabelQueries.js +2 -2
- package/__flow__/utils/hooks.js +17 -17
- package/__flow__/utils/index.js +4 -4
- package/__flow__/utils/innerText.js +9 -9
- package/__flow__/utils/mixins.js +6 -6
- package/__flow__/utils/react-testing-library.js +6 -6
- package/__flow__/utils/responsiveProps/index.js +3 -3
- package/__flow__/utils/responsiveProps/index.test.js +8 -8
- package/__flow__/utils/system-props.js +3 -3
- package/__flow__/utils/useInteractiveColor.js +5 -5
- package/__flow__/writing-good-stories.stories.mdx +3 -0
- package/bin/racine-codemod.js +12 -12
- package/codemods/__tests__/migrate-2.x-to-3.x.test.js +2 -2
- package/codemods/migrate-2.x-to-3.x.js +29 -30
- package/commonjs/Avatar/index.js +33 -53
- package/commonjs/Badge/constants.js +18 -15
- package/commonjs/Badge/index.js +14 -28
- package/commonjs/Badge/styles.js +3 -9
- package/commonjs/Banner/index.js +16 -37
- package/commonjs/Banner/styles.js +0 -5
- package/commonjs/Box/index.js +2 -9
- package/commonjs/Box/styles.js +0 -4
- package/commonjs/Breadcrumb/index.js +13 -29
- package/commonjs/Breadcrumb/styles.js +1 -4
- package/commonjs/Button/index.js +29 -43
- package/commonjs/Button/styles.js +6 -15
- package/commonjs/Card/index.js +16 -26
- package/commonjs/Card/styles.js +1 -5
- package/commonjs/CharacterCounter/index.js +6 -23
- package/commonjs/CharacterCounter/styles.js +0 -5
- package/commonjs/ChartLegend/index.js +5 -20
- package/commonjs/ChartLegend/styles.js +2 -11
- package/commonjs/Checkbox/index.js +30 -53
- package/commonjs/Checkbox/styles.js +14 -35
- package/commonjs/Collapsible/index.js +31 -54
- package/commonjs/Collapsible/styles.js +3 -6
- package/commonjs/DatePicker/DateRangePicker.js +4 -17
- package/commonjs/DatePicker/SingleDatePicker.js +3 -17
- package/commonjs/DatePicker/StatefulDateRangePicker.js +16 -31
- package/commonjs/DatePicker/StatefulSingleDatePicker.js +7 -20
- package/commonjs/DatePicker/common.js +8 -22
- package/commonjs/DatePicker/index.js +0 -5
- package/commonjs/DatePicker/styles.js +8 -25
- package/commonjs/Drawer/SlideTransition.js +8 -18
- package/commonjs/Drawer/index.js +51 -90
- package/commonjs/Drawer/styles.js +0 -8
- package/commonjs/EmptyState/index.js +8 -20
- package/commonjs/Fieldset/index.js +15 -32
- package/commonjs/Fieldset/styles.js +2 -7
- package/commonjs/FormField/index.js +19 -36
- package/commonjs/Icon/deprecatedIcons.js +36 -36
- package/commonjs/Icon/index.js +19 -37
- package/commonjs/Icon/styles.js +7 -16
- package/commonjs/IllustrationViewBoxes.js +1 -0
- package/commonjs/Image/index.js +13 -41
- package/commonjs/Image/styles.js +1 -7
- package/commonjs/Indicator/index.js +8 -26
- package/commonjs/Indicator/styles.js +1 -7
- package/commonjs/Input/index.js +80 -119
- package/commonjs/Input/styles.js +9 -19
- package/commonjs/KeyboardKey/index.js +3 -20
- package/commonjs/KeyboardKey/styles.js +0 -4
- package/commonjs/Label/index.js +7 -27
- package/commonjs/Link/constants.js +3 -4
- package/commonjs/Link/index.js +16 -28
- package/commonjs/Link/styles.js +1 -8
- package/commonjs/Listbox/index.js +15 -36
- package/commonjs/Loader/index.js +15 -31
- package/commonjs/Loader/styles.js +2 -13
- package/commonjs/LoaderButton/index.js +26 -55
- package/commonjs/Menu/constants.js +9 -8
- package/commonjs/Menu/descendants.js +70 -105
- package/commonjs/Menu/hooks.js +23 -41
- package/commonjs/Menu/index.flow.js +0 -7
- package/commonjs/Menu/index.js +94 -164
- package/commonjs/Menu/names.js +1 -1
- package/commonjs/Menu/styles.js +0 -6
- package/commonjs/Message/index.js +37 -70
- package/commonjs/Message/styles.js +9 -24
- package/commonjs/Modal/index.js +31 -54
- package/commonjs/Modal/styles.js +17 -36
- package/commonjs/Numeral/index.js +39 -67
- package/commonjs/Numeral/styles.js +0 -3
- package/commonjs/Numeral/tests/testNumeral.js +13 -31
- package/commonjs/OverflowList/index.flow.js +0 -2
- package/commonjs/OverflowList/index.js +27 -41
- package/commonjs/OverflowList/styles.js +0 -7
- package/commonjs/PartnerLogo/index.js +19 -33
- package/commonjs/PartnerLogo/styles.js +7 -15
- package/commonjs/Popout/index.js +95 -127
- package/commonjs/Popout/styles.js +0 -5
- package/commonjs/Portal/index.js +8 -31
- package/commonjs/Radio/index.js +18 -42
- package/commonjs/Radio/styles.js +9 -21
- package/commonjs/SegmentedControl/index.js +17 -37
- package/commonjs/SegmentedControl/styles.js +2 -12
- package/commonjs/Select/index.js +24 -47
- package/commonjs/Select/styles.js +12 -24
- package/commonjs/Skeleton/index.js +0 -5
- package/commonjs/SpotIllustration/illustrationNames.js +1 -1
- package/commonjs/SpotIllustration/index.js +5 -11
- package/commonjs/Stack/index.js +27 -42
- package/commonjs/Switch/index.js +17 -42
- package/commonjs/Switch/styles.js +3 -11
- package/commonjs/Table/index.js +26 -50
- package/commonjs/Table/styles.js +0 -4
- package/commonjs/TableCell/index.js +12 -30
- package/commonjs/TableCell/styles.js +0 -5
- package/commonjs/TableHeaderCell/index.js +27 -56
- package/commonjs/TableHeaderCell/styles.js +0 -6
- package/commonjs/TableRowAccordion/index.js +12 -37
- package/commonjs/TableRowAccordion/styles.js +2 -9
- package/commonjs/Tabs/index.js +16 -66
- package/commonjs/Tabs/styles.js +2 -11
- package/commonjs/Text/index.js +12 -25
- package/commonjs/Text/styles.js +1 -6
- package/commonjs/Textarea/index.js +31 -55
- package/commonjs/Textarea/styles.js +2 -9
- package/commonjs/ThemeProvider/index.js +1 -10
- package/commonjs/Toast/index.js +19 -42
- package/commonjs/Toast/styles.js +1 -7
- package/commonjs/ToggleHint/index.js +15 -39
- package/commonjs/ToggleHint/styles.js +2 -9
- package/commonjs/Token/index.js +15 -29
- package/commonjs/Token/styles.js +5 -12
- package/commonjs/TokenInput/index.js +70 -122
- package/commonjs/TokenInput/styles.js +1 -7
- package/commonjs/TokenInput/util.js +2 -7
- package/commonjs/Tooltip/index.js +40 -63
- package/commonjs/Tooltip/styles.js +1 -5
- package/commonjs/VisuallyHidden/index.js +0 -4
- package/commonjs/dataviz/index.js +0 -4
- package/commonjs/index.js +0 -129
- package/commonjs/systemProps/background.js +0 -1
- package/commonjs/systemProps/border.js +0 -1
- package/commonjs/systemProps/color.js +0 -1
- package/commonjs/systemProps/custom.js +0 -1
- package/commonjs/systemProps/flexbox.js +0 -1
- package/commonjs/systemProps/grid.js +0 -1
- package/commonjs/systemProps/index.js +0 -28
- package/commonjs/systemProps/layout.js +0 -1
- package/commonjs/systemProps/position.js +0 -1
- package/commonjs/systemProps/shadow.js +0 -1
- package/commonjs/systemProps/space.js +1 -2
- package/commonjs/systemProps/systemProps.js +0 -13
- package/commonjs/systemProps/tests/types.flow.js +25 -22
- package/commonjs/systemProps/typography.js +0 -1
- package/commonjs/systemProps/variant.js +2 -3
- package/commonjs/themes/dark/dataviz-palette.js +20 -22
- package/commonjs/themes/dark/decorative-palettes.js +0 -2
- package/commonjs/themes/dark/theme.js +13 -27
- package/commonjs/themes/extendedThemes/sproutTheme/dark/theme.js +2 -9
- package/commonjs/themes/extendedThemes/sproutTheme/index.js +0 -5
- package/commonjs/themes/extendedThemes/sproutTheme/light/theme.js +2 -9
- package/commonjs/themes/light/dataviz-palette.js +20 -22
- package/commonjs/themes/light/decorative-palettes.js +0 -2
- package/commonjs/themes/light/literal-colors.js +132 -134
- package/commonjs/themes/light/theme.js +43 -59
- package/commonjs/types/system-props.flow.js +1 -1
- package/commonjs/types/theme.colors.flow.js +0 -2
- package/commonjs/types/theme.flow.js +0 -1
- package/commonjs/utils/a11yTest.js +3 -10
- package/commonjs/utils/chartColors.js +0 -1
- package/commonjs/utils/constants.js +1 -1
- package/commonjs/utils/dataQaLabelQueries.js +12 -21
- package/commonjs/utils/hooks.js +39 -70
- package/commonjs/utils/index.js +2 -9
- package/commonjs/utils/innerText.js +10 -14
- package/commonjs/utils/mixins.js +2 -7
- package/commonjs/utils/react-testing-library.js +4 -26
- package/commonjs/utils/responsiveProps/index.js +1 -11
- package/commonjs/utils/system-props.js +2 -5
- package/commonjs/utils/useInteractiveColor.js +6 -8
- package/dist/illustration.svg +1 -1
- package/dist/illustrationList.js +1 -1
- package/lib/Avatar/index.js +40 -47
- package/lib/Badge/constants.js +19 -15
- package/lib/Badge/index.js +18 -25
- package/lib/Badge/styles.js +8 -6
- package/lib/Banner/index.js +20 -32
- package/lib/Banner/styles.js +3 -2
- package/lib/Box/index.js +4 -5
- package/lib/Box/styles.js +3 -2
- package/lib/Breadcrumb/index.js +19 -27
- package/lib/Breadcrumb/styles.js +3 -2
- package/lib/Button/index.js +31 -38
- package/lib/Button/styles.js +14 -11
- package/lib/Card/index.js +18 -24
- package/lib/Card/styles.js +5 -4
- package/lib/CharacterCounter/index.js +8 -20
- package/lib/CharacterCounter/styles.js +3 -2
- package/lib/ChartLegend/index.js +9 -17
- package/lib/ChartLegend/styles.js +5 -4
- package/lib/Checkbox/index.js +32 -51
- package/lib/Checkbox/styles.js +21 -26
- package/lib/Collapsible/index.js +36 -51
- package/lib/Collapsible/styles.js +6 -5
- package/lib/DatePicker/DateRangePicker.js +8 -14
- package/lib/DatePicker/SingleDatePicker.js +7 -13
- package/lib/DatePicker/StatefulDateRangePicker.js +19 -26
- package/lib/DatePicker/StatefulSingleDatePicker.js +9 -15
- package/lib/DatePicker/common.js +14 -13
- package/lib/DatePicker/index.js +2 -2
- package/lib/DatePicker/styles.js +12 -22
- package/lib/Drawer/SlideTransition.js +11 -14
- package/lib/Drawer/index.js +64 -88
- package/lib/Drawer/styles.js +4 -3
- package/lib/EmptyState/index.js +11 -17
- package/lib/Fieldset/index.js +19 -29
- package/lib/Fieldset/styles.js +5 -4
- package/lib/FormField/index.js +27 -33
- package/lib/Icon/deprecatedIcons.js +36 -36
- package/lib/Icon/index.js +25 -34
- package/lib/Icon/styles.js +11 -13
- package/lib/IllustrationViewBoxes.js +1 -0
- package/lib/Image/index.js +15 -38
- package/lib/Image/styles.js +4 -4
- package/lib/Indicator/index.js +11 -23
- package/lib/Indicator/styles.js +5 -5
- package/lib/Input/index.js +87 -115
- package/lib/Input/styles.js +13 -15
- package/lib/KeyboardKey/index.js +6 -17
- package/lib/KeyboardKey/styles.js +3 -2
- package/lib/Label/index.js +10 -24
- package/lib/Link/constants.js +5 -4
- package/lib/Link/index.js +18 -25
- package/lib/Link/styles.js +6 -5
- package/lib/Listbox/index.js +21 -29
- package/lib/Loader/index.js +17 -29
- package/lib/Loader/styles.js +6 -8
- package/lib/LoaderButton/index.js +34 -51
- package/lib/Menu/constants.js +10 -8
- package/lib/Menu/descendants.js +73 -94
- package/lib/Menu/hooks.js +28 -39
- package/lib/Menu/index.flow.js +6 -5
- package/lib/Menu/index.js +113 -150
- package/lib/Menu/names.js +1 -1
- package/lib/Menu/styles.js +4 -3
- package/lib/Message/index.js +42 -66
- package/lib/Message/styles.js +15 -23
- package/lib/Modal/index.js +38 -51
- package/lib/Modal/styles.js +23 -32
- package/lib/Numeral/index.js +45 -64
- package/lib/Numeral/styles.js +3 -2
- package/lib/Numeral/tests/testNumeral.js +17 -27
- package/lib/OverflowList/index.flow.js +2 -1
- package/lib/OverflowList/index.js +31 -38
- package/lib/OverflowList/styles.js +5 -4
- package/lib/PartnerLogo/index.js +23 -31
- package/lib/PartnerLogo/styles.js +11 -12
- package/lib/Popout/index.js +105 -121
- package/lib/Popout/styles.js +3 -3
- package/lib/Portal/index.js +11 -29
- package/lib/Radio/index.js +20 -40
- package/lib/Radio/styles.js +14 -14
- package/lib/SegmentedControl/index.js +21 -34
- package/lib/SegmentedControl/styles.js +7 -9
- package/lib/Select/index.js +27 -44
- package/lib/Select/styles.js +16 -20
- package/lib/Skeleton/index.js +7 -4
- package/lib/SpotIllustration/illustrationNames.js +2 -1
- package/lib/SpotIllustration/index.js +9 -10
- package/lib/Stack/index.js +31 -39
- package/lib/Switch/index.js +21 -39
- package/lib/Switch/styles.js +8 -7
- package/lib/Table/index.js +30 -40
- package/lib/Table/styles.js +3 -2
- package/lib/TableCell/index.js +14 -27
- package/lib/TableCell/styles.js +3 -3
- package/lib/TableHeaderCell/index.js +30 -52
- package/lib/TableHeaderCell/styles.js +3 -2
- package/lib/TableRowAccordion/index.js +16 -34
- package/lib/TableRowAccordion/styles.js +5 -3
- package/lib/Tabs/index.js +18 -63
- package/lib/Tabs/styles.js +6 -6
- package/lib/Text/index.js +15 -21
- package/lib/Text/styles.js +4 -3
- package/lib/Textarea/index.js +33 -53
- package/lib/Textarea/styles.js +6 -5
- package/lib/ThemeProvider/index.js +4 -7
- package/lib/Toast/index.js +26 -37
- package/lib/Toast/styles.js +5 -4
- package/lib/ToggleHint/index.js +18 -36
- package/lib/ToggleHint/styles.js +6 -5
- package/lib/Token/index.js +20 -26
- package/lib/Token/styles.js +10 -9
- package/lib/TokenInput/index.js +78 -118
- package/lib/TokenInput/styles.js +5 -4
- package/lib/TokenInput/util.js +5 -3
- package/lib/Tooltip/index.js +45 -60
- package/lib/Tooltip/styles.js +4 -4
- package/lib/VisuallyHidden/index.js +3 -2
- package/lib/dataviz/index.js +4 -3
- package/lib/index.js +66 -64
- package/lib/systemProps/background.js +3 -1
- package/lib/systemProps/border.js +3 -1
- package/lib/systemProps/color.js +3 -1
- package/lib/systemProps/custom.js +3 -1
- package/lib/systemProps/flexbox.js +3 -1
- package/lib/systemProps/grid.js +3 -1
- package/lib/systemProps/index.js +16 -14
- package/lib/systemProps/layout.js +3 -1
- package/lib/systemProps/position.js +3 -1
- package/lib/systemProps/shadow.js +3 -1
- package/lib/systemProps/space.js +2 -1
- package/lib/systemProps/systemProps.js +14 -13
- package/lib/systemProps/tests/types.flow.js +27 -22
- package/lib/systemProps/typography.js +3 -1
- package/lib/systemProps/variant.js +4 -3
- package/lib/themes/dark/dataviz-palette.js +23 -21
- package/lib/themes/dark/decorative-palettes.js +3 -1
- package/lib/themes/dark/theme.js +20 -23
- package/lib/themes/extendedThemes/sproutTheme/dark/theme.js +4 -7
- package/lib/themes/extendedThemes/sproutTheme/index.js +3 -2
- package/lib/themes/extendedThemes/sproutTheme/light/theme.js +4 -7
- package/lib/themes/light/dataviz-palette.js +23 -21
- package/lib/themes/light/decorative-palettes.js +3 -1
- package/lib/themes/light/literal-colors.js +135 -133
- package/lib/themes/light/theme.js +54 -55
- package/lib/types/system-props.flow.js +1 -1
- package/lib/types/theme.colors.flow.js +4 -2
- package/lib/types/theme.flow.js +3 -2
- package/lib/utils/a11yTest.js +5 -8
- package/lib/utils/chartColors.js +3 -1
- package/lib/utils/constants.js +3 -1
- package/lib/utils/dataQaLabelQueries.js +13 -21
- package/lib/utils/hooks.js +41 -64
- package/lib/utils/index.js +2 -5
- package/lib/utils/innerText.js +12 -14
- package/lib/utils/mixins.js +6 -5
- package/lib/utils/react-testing-library.js +10 -20
- package/lib/utils/responsiveProps/index.js +3 -8
- package/lib/utils/system-props.js +4 -3
- package/lib/utils/useInteractiveColor.js +10 -9
- package/package.json +6 -13
|
@@ -10,28 +10,20 @@ exports.useDescendantKeyDown = useDescendantKeyDown;
|
|
|
10
10
|
exports.useDescendants = useDescendants;
|
|
11
11
|
exports.usePrevious = usePrevious;
|
|
12
12
|
exports.wrapEvent = wrapEvent;
|
|
13
|
-
|
|
14
13
|
var React = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
14
|
var _excluded = ["context", "element"],
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
_excluded2 = ["element"];
|
|
19
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
20
|
-
|
|
21
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
|
-
|
|
23
18
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
24
|
-
|
|
25
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
26
|
-
|
|
19
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
27
20
|
var noop = function noop() {};
|
|
21
|
+
|
|
28
22
|
/**
|
|
29
23
|
* Returns the previous value of a reference after a component update.
|
|
30
24
|
*
|
|
31
25
|
* @param value
|
|
32
26
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
27
|
function usePrevious(value) {
|
|
36
28
|
var ref = (0, React.useRef)(null);
|
|
37
29
|
(0, React.useEffect)(function () {
|
|
@@ -39,6 +31,7 @@ function usePrevious(value) {
|
|
|
39
31
|
}, [value]);
|
|
40
32
|
return ref.current;
|
|
41
33
|
}
|
|
34
|
+
|
|
42
35
|
/**
|
|
43
36
|
* Wraps a lib-defined event handler and a user-defined event handler, returning
|
|
44
37
|
* a single handler that allows a user to prevent lib-defined handlers from
|
|
@@ -47,41 +40,34 @@ function usePrevious(value) {
|
|
|
47
40
|
* @param theirHandler User-supplied event handler
|
|
48
41
|
* @param ourHandler Library-supplied event handler
|
|
49
42
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
43
|
function wrapEvent(theirHandler, ourHandler) {
|
|
53
44
|
return function (event) {
|
|
54
45
|
theirHandler && theirHandler(event);
|
|
55
|
-
|
|
56
46
|
if (!event.defaultPrevented) {
|
|
57
47
|
return ourHandler(event);
|
|
58
48
|
}
|
|
59
49
|
};
|
|
60
50
|
}
|
|
61
|
-
|
|
62
51
|
function canUseDOM() {
|
|
63
|
-
return typeof window !==
|
|
52
|
+
return typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';
|
|
64
53
|
}
|
|
65
|
-
|
|
66
54
|
var useIsomorphicLayoutEffect = canUseDOM() ? React.useLayoutEffect : React.useEffect;
|
|
67
|
-
|
|
68
55
|
function createNamedContext(name, defaultValue) {
|
|
69
56
|
var Ctx = /*#__PURE__*/(0, React.createContext)(defaultValue);
|
|
70
57
|
Ctx.displayName = name;
|
|
71
58
|
return Ctx;
|
|
72
59
|
}
|
|
73
|
-
|
|
74
60
|
function createDescendantContext(name, initialValue) {
|
|
75
61
|
if (initialValue === void 0) {
|
|
76
62
|
initialValue = {};
|
|
77
63
|
}
|
|
78
|
-
|
|
79
64
|
return createNamedContext(name, _extends({
|
|
80
65
|
descendants: [],
|
|
81
66
|
registerDescendant: noop,
|
|
82
67
|
unregisterDescendant: noop
|
|
83
68
|
}, initialValue));
|
|
84
69
|
}
|
|
70
|
+
|
|
85
71
|
/**
|
|
86
72
|
* This hook registers our descendant by passing it into an array. We can then
|
|
87
73
|
* search that array by to find its index when registering it in the component.
|
|
@@ -105,22 +91,18 @@ function createDescendantContext(name, initialValue) {
|
|
|
105
91
|
* composed descendants for keyboard navigation. However, in the few cases where
|
|
106
92
|
* this is not the case, we can require an explicit index from the app.
|
|
107
93
|
*/
|
|
108
|
-
|
|
109
|
-
|
|
110
94
|
function useDescendant(_ref, indexProp) {
|
|
111
95
|
var context = _ref.context,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
96
|
+
element = _ref.element,
|
|
97
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
115
98
|
var _useState = (0, React.useState)(),
|
|
116
|
-
|
|
117
|
-
|
|
99
|
+
forceUpdate = _useState[1];
|
|
118
100
|
var _useContext = (0, React.useContext)(context),
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
101
|
+
registerDescendant = _useContext.registerDescendant,
|
|
102
|
+
unregisterDescendant = _useContext.unregisterDescendant,
|
|
103
|
+
descendants = _useContext.descendants;
|
|
123
104
|
|
|
105
|
+
// Prevent any flashing
|
|
124
106
|
useIsomorphicLayoutEffect(function () {
|
|
125
107
|
if (!element) forceUpdate({});
|
|
126
108
|
registerDescendant(_extends({
|
|
@@ -134,28 +116,24 @@ function useDescendant(_ref, indexProp) {
|
|
|
134
116
|
return item.element === element;
|
|
135
117
|
});
|
|
136
118
|
}
|
|
137
|
-
|
|
138
119
|
function useDescendants() {
|
|
139
120
|
return (0, React.useState)([]);
|
|
140
121
|
}
|
|
141
|
-
|
|
142
122
|
function DescendantProvider(_ref2) {
|
|
143
123
|
var Ctx = _ref2.context,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
124
|
+
children = _ref2.children,
|
|
125
|
+
items = _ref2.items,
|
|
126
|
+
set = _ref2.set;
|
|
147
127
|
var registerDescendant = (0, React.useCallback)(function (_ref3) {
|
|
148
128
|
var element = _ref3.element,
|
|
149
|
-
|
|
150
|
-
|
|
129
|
+
rest = _objectWithoutPropertiesLoose(_ref3, _excluded2);
|
|
151
130
|
if (!element) {
|
|
152
131
|
return;
|
|
153
132
|
}
|
|
154
|
-
|
|
155
133
|
set(function (items) {
|
|
156
134
|
var newItem;
|
|
157
|
-
var newItems;
|
|
158
|
-
|
|
135
|
+
var newItems;
|
|
136
|
+
// If there are no items, register at index 0 and bail.
|
|
159
137
|
if (items.length === 0) {
|
|
160
138
|
newItem = _extends({
|
|
161
139
|
element: element,
|
|
@@ -183,33 +161,33 @@ function DescendantProvider(_ref2) {
|
|
|
183
161
|
var index = items.findIndex(function (item) {
|
|
184
162
|
if (!item.element || !element) {
|
|
185
163
|
return false;
|
|
186
|
-
}
|
|
164
|
+
}
|
|
165
|
+
// Does this element's DOM node appear before another item in the
|
|
187
166
|
// array in our DOM tree? If so, return true to grab the index at
|
|
188
167
|
// this point in the array so we know where to insert the new
|
|
189
168
|
// element.
|
|
190
|
-
|
|
191
|
-
|
|
192
169
|
return Boolean(item.element.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_PRECEDING);
|
|
193
170
|
});
|
|
194
171
|
newItem = _extends({
|
|
195
172
|
element: element,
|
|
196
173
|
index: index
|
|
197
|
-
}, rest);
|
|
174
|
+
}, rest);
|
|
198
175
|
|
|
176
|
+
// If an index is not found we will push the element to the end.
|
|
199
177
|
if (index === -1) {
|
|
200
178
|
newItems = [].concat(items, [newItem]);
|
|
201
179
|
} else {
|
|
202
180
|
newItems = [].concat(items.slice(0, index), [newItem], items.slice(index));
|
|
203
181
|
}
|
|
204
182
|
}
|
|
205
|
-
|
|
206
183
|
return newItems.map(function (item, index) {
|
|
207
184
|
return _extends({}, item, {
|
|
208
185
|
index: index
|
|
209
186
|
});
|
|
210
187
|
});
|
|
211
188
|
});
|
|
212
|
-
},
|
|
189
|
+
},
|
|
190
|
+
// set is a state setter initialized by the useDescendants hook.
|
|
213
191
|
// We can safely ignore the lint warning here because it will not change
|
|
214
192
|
// between renders.
|
|
215
193
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -218,13 +196,17 @@ function DescendantProvider(_ref2) {
|
|
|
218
196
|
if (!element) {
|
|
219
197
|
return;
|
|
220
198
|
}
|
|
221
|
-
|
|
222
199
|
set(function (items) {
|
|
223
200
|
return items.filter(function (item) {
|
|
224
201
|
return element !== item.element;
|
|
202
|
+
}).map(function (item, index) {
|
|
203
|
+
return _extends({}, item, {
|
|
204
|
+
index: index
|
|
205
|
+
});
|
|
225
206
|
});
|
|
226
207
|
});
|
|
227
|
-
},
|
|
208
|
+
},
|
|
209
|
+
// set is a state setter initialized by the useDescendants hook.
|
|
228
210
|
// We can safely ignore the lint warning here because it will not change
|
|
229
211
|
// between renders.
|
|
230
212
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -240,121 +222,104 @@ function DescendantProvider(_ref2) {
|
|
|
240
222
|
value: value
|
|
241
223
|
}, children);
|
|
242
224
|
}
|
|
243
|
-
|
|
244
225
|
function useDescendantKeyDown(context, options) {
|
|
245
226
|
var _useContext2 = (0, React.useContext)(context),
|
|
246
|
-
|
|
247
|
-
|
|
227
|
+
descendants = _useContext2.descendants;
|
|
248
228
|
var callback = options.callback,
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
229
|
+
currentIndex = options.currentIndex,
|
|
230
|
+
filter = options.filter,
|
|
231
|
+
_options$key = options.key,
|
|
232
|
+
key = _options$key === void 0 ? 'index' : _options$key,
|
|
233
|
+
_options$orientation = options.orientation,
|
|
234
|
+
orientation = _options$orientation === void 0 ? 'vertical' : _options$orientation,
|
|
235
|
+
_options$rotate = options.rotate,
|
|
236
|
+
rotate = _options$rotate === void 0 ? true : _options$rotate,
|
|
237
|
+
_options$rtl = options.rtl,
|
|
238
|
+
rtl = _options$rtl === void 0 ? false : _options$rtl;
|
|
259
239
|
var index = currentIndex ? currentIndex : -1;
|
|
260
240
|
return function handleKeyDown(event) {
|
|
261
|
-
if (![
|
|
241
|
+
if (!['ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight', 'PageUp', 'PageDown', 'Home', 'End'].includes(event.key)) {
|
|
262
242
|
return;
|
|
263
|
-
}
|
|
264
|
-
// so that filtered descendent elements aren't selected.
|
|
243
|
+
}
|
|
265
244
|
|
|
245
|
+
// If we use a filter function, we need to re-index our descendants array
|
|
246
|
+
// so that filtered descendent elements aren't selected.
|
|
247
|
+
var selectableDescendants = filter ? descendants.filter(filter) : descendants;
|
|
266
248
|
|
|
267
|
-
|
|
249
|
+
// Current index should map to the updated array vs. the original
|
|
268
250
|
// descendants array.
|
|
269
|
-
|
|
270
251
|
if (filter) {
|
|
271
252
|
index = selectableDescendants.findIndex(function (descendant) {
|
|
272
253
|
return descendant.index === currentIndex;
|
|
273
254
|
});
|
|
274
|
-
}
|
|
275
|
-
|
|
255
|
+
}
|
|
276
256
|
|
|
257
|
+
// We need some options for any of this to work!
|
|
277
258
|
if (!selectableDescendants.length) {
|
|
278
259
|
return;
|
|
279
260
|
}
|
|
280
|
-
|
|
281
261
|
function getNextOption() {
|
|
282
262
|
var atBottom = index === selectableDescendants.length - 1;
|
|
283
263
|
return atBottom ? rotate ? getFirstOption() : selectableDescendants[index] : selectableDescendants[(index + 1) % selectableDescendants.length];
|
|
284
264
|
}
|
|
285
|
-
|
|
286
265
|
function getPreviousOption() {
|
|
287
266
|
var atTop = index === 0;
|
|
288
267
|
return atTop ? rotate ? getLastOption() : selectableDescendants[index] : selectableDescendants[(index - 1 + selectableDescendants.length) % selectableDescendants.length];
|
|
289
268
|
}
|
|
290
|
-
|
|
291
269
|
function getFirstOption() {
|
|
292
270
|
return selectableDescendants[0];
|
|
293
271
|
}
|
|
294
|
-
|
|
295
272
|
function getLastOption() {
|
|
296
273
|
return selectableDescendants[selectableDescendants.length - 1];
|
|
297
274
|
}
|
|
298
|
-
|
|
299
275
|
switch (event.key) {
|
|
300
|
-
case
|
|
301
|
-
if (orientation ===
|
|
276
|
+
case 'ArrowDown':
|
|
277
|
+
if (orientation === 'vertical' || orientation === 'both') {
|
|
302
278
|
event.preventDefault();
|
|
303
279
|
var next = getNextOption();
|
|
304
|
-
callback(key ===
|
|
280
|
+
callback(key === 'option' ? next : next[key]);
|
|
305
281
|
}
|
|
306
|
-
|
|
307
282
|
break;
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
if (orientation === "vertical" || orientation === "both") {
|
|
283
|
+
case 'ArrowUp':
|
|
284
|
+
if (orientation === 'vertical' || orientation === 'both') {
|
|
311
285
|
event.preventDefault();
|
|
312
286
|
var prev = getPreviousOption();
|
|
313
|
-
callback(key ===
|
|
287
|
+
callback(key === 'option' ? prev : prev[key]);
|
|
314
288
|
}
|
|
315
|
-
|
|
316
289
|
break;
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
if (orientation === "horizontal" || orientation === "both") {
|
|
290
|
+
case 'ArrowLeft':
|
|
291
|
+
if (orientation === 'horizontal' || orientation === 'both') {
|
|
320
292
|
event.preventDefault();
|
|
321
293
|
var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();
|
|
322
|
-
callback(key ===
|
|
294
|
+
callback(key === 'option' ? nextOrPrev : nextOrPrev[key]);
|
|
323
295
|
}
|
|
324
|
-
|
|
325
296
|
break;
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
if (orientation === "horizontal" || orientation === "both") {
|
|
297
|
+
case 'ArrowRight':
|
|
298
|
+
if (orientation === 'horizontal' || orientation === 'both') {
|
|
329
299
|
event.preventDefault();
|
|
330
300
|
var prevOrNext = (rtl ? getPreviousOption : getNextOption)();
|
|
331
|
-
callback(key ===
|
|
301
|
+
callback(key === 'option' ? prevOrNext : prevOrNext[key]);
|
|
332
302
|
}
|
|
333
|
-
|
|
334
303
|
break;
|
|
335
|
-
|
|
336
|
-
case "PageUp":
|
|
304
|
+
case 'PageUp':
|
|
337
305
|
event.preventDefault();
|
|
338
306
|
var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();
|
|
339
|
-
callback(key ===
|
|
307
|
+
callback(key === 'option' ? prevOrFirst : prevOrFirst[key]);
|
|
340
308
|
break;
|
|
341
|
-
|
|
342
|
-
case "Home":
|
|
309
|
+
case 'Home':
|
|
343
310
|
event.preventDefault();
|
|
344
311
|
var first = getFirstOption();
|
|
345
|
-
callback(key ===
|
|
312
|
+
callback(key === 'option' ? first : first[key]);
|
|
346
313
|
break;
|
|
347
|
-
|
|
348
|
-
case "PageDown":
|
|
314
|
+
case 'PageDown':
|
|
349
315
|
event.preventDefault();
|
|
350
316
|
var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();
|
|
351
|
-
callback(key ===
|
|
317
|
+
callback(key === 'option' ? nextOrLast : nextOrLast[key]);
|
|
352
318
|
break;
|
|
353
|
-
|
|
354
|
-
case "End":
|
|
319
|
+
case 'End':
|
|
355
320
|
event.preventDefault();
|
|
356
321
|
var last = getLastOption();
|
|
357
|
-
callback(key ===
|
|
322
|
+
callback(key === 'option' ? last : last[key]);
|
|
358
323
|
break;
|
|
359
324
|
}
|
|
360
325
|
};
|
package/commonjs/Menu/hooks.js
CHANGED
|
@@ -3,15 +3,10 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.MenuDescendantContext = exports.MenuContext = exports.MenuButtonContext = void 0;
|
|
5
5
|
exports.useMenuKeyDown = useMenuKeyDown;
|
|
6
|
-
|
|
7
6
|
var _react = require("react");
|
|
8
|
-
|
|
9
7
|
var _scrollIntoViewIfNeeded = _interopRequireDefault(require("scroll-into-view-if-needed"));
|
|
10
|
-
|
|
11
8
|
var _constants = require("./constants");
|
|
12
|
-
|
|
13
9
|
var _descendants = require("./descendants");
|
|
14
|
-
|
|
15
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
11
|
|
|
17
12
|
var MenuContext = /*#__PURE__*/(0, _react.createContext)({
|
|
@@ -24,7 +19,7 @@ var MenuContext = /*#__PURE__*/(0, _react.createContext)({
|
|
|
24
19
|
onChange: undefined,
|
|
25
20
|
state: {
|
|
26
21
|
selectionIndex: 0,
|
|
27
|
-
filterQuery:
|
|
22
|
+
filterQuery: '',
|
|
28
23
|
filteredItems: null,
|
|
29
24
|
isFilterInputFocused: false
|
|
30
25
|
},
|
|
@@ -39,53 +34,46 @@ var MenuButtonContext = /*#__PURE__*/(0, _react.createContext)({
|
|
|
39
34
|
closePopout: undefined
|
|
40
35
|
});
|
|
41
36
|
exports.MenuButtonContext = MenuButtonContext;
|
|
42
|
-
var MenuDescendantContext = (0, _descendants.createDescendantContext)(
|
|
37
|
+
var MenuDescendantContext = (0, _descendants.createDescendantContext)('MenuDescendantContext');
|
|
38
|
+
|
|
43
39
|
/**
|
|
44
40
|
* When a user's typed input matches the string displayed in a menu item, it is
|
|
45
41
|
* expected that the matching menu item is selected. This is our matching
|
|
46
42
|
* function.
|
|
47
43
|
*/
|
|
48
|
-
|
|
49
44
|
exports.MenuDescendantContext = MenuDescendantContext;
|
|
50
|
-
|
|
51
45
|
function filterItemsFromTypeahead(items, string) {
|
|
52
46
|
if (string === void 0) {
|
|
53
|
-
string =
|
|
47
|
+
string = '';
|
|
54
48
|
}
|
|
55
|
-
|
|
56
49
|
if (!string) {
|
|
57
50
|
return null;
|
|
58
51
|
}
|
|
59
|
-
|
|
60
52
|
return items.filter(function (_ref) {
|
|
61
53
|
var value = _ref.value,
|
|
62
|
-
|
|
54
|
+
label = _ref.label;
|
|
63
55
|
return (value == null ? void 0 : value.toLowerCase().includes(string.toLocaleLowerCase())) || (label == null ? void 0 : label.toLowerCase().includes(string.toLocaleLowerCase()));
|
|
64
56
|
}).map(function (_ref2) {
|
|
65
57
|
var index = _ref2.index;
|
|
66
58
|
return index;
|
|
67
59
|
});
|
|
68
60
|
}
|
|
69
|
-
|
|
70
61
|
function useMenuKeyDown() {
|
|
71
62
|
var _useContext = (0, _react.useContext)(MenuContext),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
63
|
+
onChange = _useContext.onChange,
|
|
64
|
+
selectCallbacks = _useContext.selectCallbacks,
|
|
65
|
+
setState = _useContext.setState,
|
|
66
|
+
multiselect = _useContext.multiselect,
|
|
67
|
+
_useContext$state = _useContext.state,
|
|
68
|
+
filterQuery = _useContext$state.filterQuery,
|
|
69
|
+
selectionIndex = _useContext$state.selectionIndex,
|
|
70
|
+
filteredItems = _useContext$state.filteredItems,
|
|
71
|
+
isFilterInputFocused = _useContext$state.isFilterInputFocused;
|
|
82
72
|
var _useContext2 = (0, _react.useContext)(MenuButtonContext),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
73
|
+
closePopout = _useContext2.closePopout,
|
|
74
|
+
closeOnItemClick = _useContext2.closeOnItemClick;
|
|
86
75
|
var _useContext3 = (0, _react.useContext)(MenuDescendantContext),
|
|
87
|
-
|
|
88
|
-
|
|
76
|
+
items = _useContext3.descendants;
|
|
89
77
|
var shouldClosePopout = closeOnItemClick && !multiselect;
|
|
90
78
|
var prevMenuItemsLength = (0, _descendants.usePrevious)(items.length);
|
|
91
79
|
var prevSelected = (0, _descendants.usePrevious)(items[selectionIndex]);
|
|
@@ -98,7 +86,8 @@ function useMenuKeyDown() {
|
|
|
98
86
|
setState({
|
|
99
87
|
selectionIndex: items.length - 1
|
|
100
88
|
});
|
|
101
|
-
} else if (
|
|
89
|
+
} else if (
|
|
90
|
+
// Checks if
|
|
102
91
|
// - menu length has changed
|
|
103
92
|
// - selection index has not changed BUT selected item has changed
|
|
104
93
|
//
|
|
@@ -114,7 +103,6 @@ function useMenuKeyDown() {
|
|
|
114
103
|
}, [setState, items, prevMenuItemsLength, prevSelected, prevSelectionIndex, selectionIndex]);
|
|
115
104
|
(0, _react.useEffect)(function () {
|
|
116
105
|
var newFilteredItems = filterItemsFromTypeahead(items, filterQuery);
|
|
117
|
-
|
|
118
106
|
if (filterQuery && newFilteredItems && (filteredItems == null ? void 0 : filteredItems.length) !== (newFilteredItems == null ? void 0 : newFilteredItems.length)) {
|
|
119
107
|
setState({
|
|
120
108
|
filteredItems: newFilteredItems,
|
|
@@ -134,19 +122,15 @@ function useMenuKeyDown() {
|
|
|
134
122
|
activeDescendent: items[selectionIndex],
|
|
135
123
|
handleKeyDown: (0, _descendants.wrapEvent)(function (event) {
|
|
136
124
|
var key = event.key;
|
|
137
|
-
|
|
138
125
|
switch (key) {
|
|
139
|
-
case
|
|
126
|
+
case ' ':
|
|
140
127
|
if (isFilterInputFocused) {
|
|
141
128
|
return;
|
|
142
129
|
}
|
|
143
|
-
|
|
144
130
|
// falls through
|
|
145
131
|
// eslint-disable-next-line no-fallthrough
|
|
146
|
-
|
|
147
|
-
case "Enter":
|
|
132
|
+
case 'Enter':
|
|
148
133
|
var selected = items[selectionIndex];
|
|
149
|
-
|
|
150
134
|
if (selected) {
|
|
151
135
|
event.preventDefault();
|
|
152
136
|
var func = selectCallbacks.current[selected.index];
|
|
@@ -154,16 +138,14 @@ function useMenuKeyDown() {
|
|
|
154
138
|
onChange && selected.value && onChange(selected.value);
|
|
155
139
|
shouldClosePopout && closePopout && closePopout();
|
|
156
140
|
}
|
|
157
|
-
|
|
158
141
|
return;
|
|
159
|
-
|
|
160
142
|
default:
|
|
161
143
|
return;
|
|
162
144
|
}
|
|
163
145
|
}, (0, _descendants.useDescendantKeyDown)(MenuDescendantContext, {
|
|
164
146
|
currentIndex: index,
|
|
165
|
-
orientation:
|
|
166
|
-
key:
|
|
147
|
+
orientation: 'vertical',
|
|
148
|
+
key: 'option',
|
|
167
149
|
rotate: true,
|
|
168
150
|
filter: function filter(option) {
|
|
169
151
|
return !option.disabled && (!filteredItems || filteredItems.includes(option.index));
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var React = _interopRequireWildcard(require("react"));
|
|
4
|
-
|
|
5
4
|
var _Box = _interopRequireDefault(require("../Box"));
|
|
6
|
-
|
|
7
5
|
var _Button = _interopRequireDefault(require("../Button"));
|
|
8
|
-
|
|
9
6
|
var _Popout = _interopRequireDefault(require("../Popout"));
|
|
10
|
-
|
|
11
7
|
var _constants = require("./constants");
|
|
12
|
-
|
|
13
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
|
|
15
9
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
-
|
|
17
10
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|