@wordpress/components 25.7.0 → 25.8.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 +55 -1
- package/build/animation/index.js +6 -0
- package/build/animation/index.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js +1 -1
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/border-control/styles.js +20 -20
- package/build/border-control/styles.js.map +1 -1
- package/build/box-control/unit-control.js +1 -1
- package/build/box-control/unit-control.js.map +1 -1
- package/build/button/index.js +9 -1
- package/build/button/index.js.map +1 -1
- package/build/button/types.js.map +1 -1
- package/build/circular-option-picker/circular-option-picker-actions.js +53 -0
- package/build/circular-option-picker/circular-option-picker-actions.js.map +1 -0
- package/build/circular-option-picker/circular-option-picker-context.js +14 -0
- package/build/circular-option-picker/circular-option-picker-context.js.map +1 -0
- package/build/circular-option-picker/circular-option-picker-option-group.js +26 -0
- package/build/circular-option-picker/circular-option-picker-option-group.js.map +1 -0
- package/build/circular-option-picker/circular-option-picker-option.js +122 -0
- package/build/circular-option-picker/circular-option-picker-option.js.map +1 -0
- package/build/circular-option-picker/circular-option-picker.js +172 -0
- package/build/circular-option-picker/circular-option-picker.js.map +1 -0
- package/build/circular-option-picker/index.js +29 -137
- package/build/circular-option-picker/index.js.map +1 -1
- package/build/circular-option-picker/types.js.map +1 -1
- package/build/color-palette/index.js +58 -19
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/types.js.map +1 -1
- package/build/combobox-control/index.js +0 -3
- package/build/combobox-control/index.js.map +1 -1
- package/build/composite/index.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build/date-time/time/timezone.js +1 -1
- package/build/date-time/time/timezone.js.map +1 -1
- package/build/dropdown/index.js +11 -23
- package/build/dropdown/index.js.map +1 -1
- package/build/dropdown/types.js.map +1 -1
- package/build/dropdown-menu/index.js +7 -1
- package/build/dropdown-menu/index.js.map +1 -1
- package/build/dropdown-menu/types.js.map +1 -1
- package/build/dropdown-menu-v2/styles.js +16 -16
- package/build/dropdown-menu-v2/styles.js.map +1 -1
- package/build/duotone-picker/color-list-picker/index.js +18 -3
- package/build/duotone-picker/color-list-picker/index.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +33 -1
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/duotone-picker/types.js.map +1 -1
- package/build/focusable-iframe/index.js +0 -4
- package/build/focusable-iframe/index.js.map +1 -1
- package/build/focusable-iframe/types.js +6 -0
- package/build/focusable-iframe/types.js.map +1 -0
- package/build/form-token-field/index.js +6 -2
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/types.js.map +1 -1
- package/build/gradient-picker/index.js +57 -15
- package/build/gradient-picker/index.js.map +1 -1
- package/build/gradient-picker/types.js.map +1 -1
- package/build/higher-order/navigate-regions/index.js.map +1 -1
- package/build/higher-order/with-focus-outside/index.js +1 -2
- package/build/higher-order/with-focus-outside/index.js.map +1 -1
- package/build/higher-order/with-spoken-messages/index.js.map +1 -1
- package/build/index.js +6 -0
- package/build/index.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +22 -22
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js +1 -0
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/index.native.js.map +1 -1
- package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
- package/build/notice/index.js +19 -7
- package/build/notice/index.js.map +1 -1
- package/build/palette-edit/styles.js +10 -10
- package/build/palette-edit/styles.js.map +1 -1
- package/build/placeholder/index.js.map +1 -1
- package/build/popover/index.js +37 -83
- package/build/popover/index.js.map +1 -1
- package/build/popover/types.js.map +1 -1
- package/build/popover/utils.js +9 -41
- package/build/popover/utils.js.map +1 -1
- package/build/search-control/index.js +12 -3
- package/build/search-control/index.js.map +1 -1
- package/build/search-control/types.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/as-button-group.js +30 -45
- package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js +40 -41
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +10 -5
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +9 -16
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/utils.js +44 -0
- package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option-base/component.js +36 -17
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js +10 -8
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build/toggle-group-control/types.js.map +1 -1
- package/build/toolbar/toolbar/index.js +7 -1
- package/build/toolbar/toolbar/index.js.map +1 -1
- package/build/toolbar/toolbar-dropdown-menu/index.js +1 -3
- package/build/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
- package/build/toolbar/toolbar-group/index.js +16 -12
- package/build/toolbar/toolbar-group/index.js.map +1 -1
- package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +0 -2
- package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
- package/build/toolbar/toolbar-group/toolbar-group-container.js +3 -1
- package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
- package/build/toolbar/toolbar-group/types.js +6 -0
- package/build/toolbar/toolbar-group/types.js.map +1 -0
- package/build/toolbar/toolbar-item/index.js +1 -1
- package/build/toolbar/toolbar-item/index.js.map +1 -1
- package/build/tooltip/index.js +51 -225
- package/build/tooltip/index.js.map +1 -1
- package/build/tooltip/types.js +6 -0
- package/build/tooltip/types.js.map +1 -0
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/ui/context/wordpress-component.js.map +1 -1
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +7 -7
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/utils/colors-values.js +1 -1
- package/build/utils/colors-values.js.map +1 -1
- package/build/utils/use-deprecated-props.js.map +1 -1
- package/build-module/animation/index.js +1 -1
- package/build-module/animation/index.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js +1 -1
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/border-control/styles.js +20 -20
- package/build-module/border-control/styles.js.map +1 -1
- package/build-module/box-control/unit-control.js +1 -1
- package/build-module/box-control/unit-control.js.map +1 -1
- package/build-module/button/index.js +9 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/types.js.map +1 -1
- package/build-module/circular-option-picker/circular-option-picker-actions.js +44 -0
- package/build-module/circular-option-picker/circular-option-picker-actions.js.map +1 -0
- package/build-module/circular-option-picker/circular-option-picker-context.js +11 -0
- package/build-module/circular-option-picker/circular-option-picker-context.js.map +1 -0
- package/build-module/circular-option-picker/circular-option-picker-option-group.js +23 -0
- package/build-module/circular-option-picker/circular-option-picker-option-group.js.map +1 -0
- package/build-module/circular-option-picker/circular-option-picker-option.js +114 -0
- package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -0
- package/build-module/circular-option-picker/circular-option-picker.js +165 -0
- package/build-module/circular-option-picker/circular-option-picker.js.map +1 -0
- package/build-module/circular-option-picker/index.js +4 -132
- package/build-module/circular-option-picker/index.js.map +1 -1
- package/build-module/circular-option-picker/types.js.map +1 -1
- package/build-module/color-palette/index.js +58 -19
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/types.js.map +1 -1
- package/build-module/combobox-control/index.js +0 -3
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/composite/index.js +2 -0
- package/build-module/composite/index.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build-module/date-time/time/timezone.js +1 -1
- package/build-module/date-time/time/timezone.js.map +1 -1
- package/build-module/dropdown/index.js +12 -24
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/dropdown/types.js.map +1 -1
- package/build-module/dropdown-menu/index.js +7 -1
- package/build-module/dropdown-menu/index.js.map +1 -1
- package/build-module/dropdown-menu/types.js.map +1 -1
- package/build-module/dropdown-menu-v2/styles.js +16 -16
- package/build-module/dropdown-menu-v2/styles.js.map +1 -1
- package/build-module/duotone-picker/color-list-picker/index.js +18 -3
- package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +33 -1
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/duotone-picker/types.js.map +1 -1
- package/build-module/focusable-iframe/index.js +2 -3
- package/build-module/focusable-iframe/index.js.map +1 -1
- package/build-module/focusable-iframe/types.js +2 -0
- package/build-module/focusable-iframe/types.js.map +1 -0
- package/build-module/form-token-field/index.js +6 -2
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/types.js.map +1 -1
- package/build-module/gradient-picker/index.js +57 -15
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/gradient-picker/types.js.map +1 -1
- package/build-module/higher-order/navigate-regions/index.js.map +1 -1
- package/build-module/higher-order/with-focus-outside/index.js +1 -3
- package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
- package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +23 -23
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js +1 -0
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
- package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
- package/build-module/notice/index.js +19 -7
- package/build-module/notice/index.js.map +1 -1
- package/build-module/palette-edit/styles.js +10 -10
- package/build-module/palette-edit/styles.js.map +1 -1
- package/build-module/placeholder/index.js.map +1 -1
- package/build-module/popover/index.js +38 -84
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/types.js.map +1 -1
- package/build-module/popover/utils.js +8 -39
- package/build-module/popover/utils.js.map +1 -1
- package/build-module/search-control/index.js +12 -3
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/search-control/types.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +32 -47
- package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +41 -42
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +10 -6
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +8 -14
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/utils.js +42 -0
- package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +35 -16
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +8 -7
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build-module/toggle-group-control/types.js.map +1 -1
- package/build-module/toolbar/toolbar/index.js +7 -1
- package/build-module/toolbar/toolbar/index.js.map +1 -1
- package/build-module/toolbar/toolbar-dropdown-menu/index.js +5 -3
- package/build-module/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
- package/build-module/toolbar/toolbar-group/index.js +15 -12
- package/build-module/toolbar/toolbar-group/index.js.map +1 -1
- package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +0 -2
- package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
- package/build-module/toolbar/toolbar-group/toolbar-group-container.js +3 -1
- package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
- package/build-module/toolbar/toolbar-group/types.js +2 -0
- package/build-module/toolbar/toolbar-group/types.js.map +1 -0
- package/build-module/toolbar/toolbar-item/index.js +1 -1
- package/build-module/toolbar/toolbar-item/index.js.map +1 -1
- package/build-module/tooltip/index.js +53 -224
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tooltip/types.js +2 -0
- package/build-module/tooltip/types.js.map +1 -0
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/ui/context/wordpress-component.js.map +1 -1
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +7 -7
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/utils/colors-values.js +1 -1
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-module/utils/use-deprecated-props.js.map +1 -1
- package/build-style/style-rtl.css +35 -63
- package/build-style/style.css +35 -63
- package/build-types/animation/index.d.ts +1 -1
- package/build-types/animation/index.d.ts.map +1 -1
- package/build-types/base-control/hooks.d.ts +1 -1
- package/build-types/border-box-control/border-box-control/component.d.ts +1 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts +46 -46
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +51 -51
- package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +46 -46
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +46 -46
- package/build-types/border-box-control/stories/index.story.d.ts +2 -2
- package/build-types/border-control/border-control/hook.d.ts +45 -45
- package/build-types/border-control/border-control-dropdown/hook.d.ts +45 -45
- package/build-types/border-control/border-control-style-picker/hook.d.ts +45 -45
- package/build-types/border-control/stories/index.story.d.ts +6 -6
- package/build-types/box-control/styles/box-control-styles.d.ts +1 -1
- package/build-types/button/deprecated.d.ts +16 -22
- package/build-types/button/deprecated.d.ts.map +1 -1
- package/build-types/button/index.d.ts.map +1 -1
- package/build-types/button/types.d.ts +0 -4
- package/build-types/button/types.d.ts.map +1 -1
- package/build-types/card/card/hook.d.ts +46 -46
- package/build-types/card/card-body/hook.d.ts +46 -46
- package/build-types/card/card-divider/hook.d.ts +47 -47
- package/build-types/card/card-footer/hook.d.ts +46 -46
- package/build-types/card/card-header/hook.d.ts +46 -46
- package/build-types/card/card-media/hook.d.ts +46 -46
- package/build-types/card/stories/index.story.d.ts +2 -2
- package/build-types/circular-option-picker/circular-option-picker-actions.d.ts +7 -0
- package/build-types/circular-option-picker/circular-option-picker-actions.d.ts.map +1 -0
- package/build-types/circular-option-picker/circular-option-picker-context.d.ts +7 -0
- package/build-types/circular-option-picker/circular-option-picker-context.d.ts.map +1 -0
- package/build-types/circular-option-picker/circular-option-picker-option-group.d.ts +7 -0
- package/build-types/circular-option-picker/circular-option-picker-option-group.d.ts.map +1 -0
- package/build-types/circular-option-picker/circular-option-picker-option.d.ts +4 -0
- package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -0
- package/build-types/circular-option-picker/circular-option-picker.d.ts +11 -0
- package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -0
- package/build-types/circular-option-picker/index.d.ts +5 -56
- package/build-types/circular-option-picker/index.d.ts.map +1 -1
- package/build-types/circular-option-picker/stories/index.story.d.ts +3 -1
- package/build-types/circular-option-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/circular-option-picker/test/index.d.ts +2 -0
- package/build-types/circular-option-picker/test/index.d.ts.map +1 -0
- package/build-types/circular-option-picker/types.d.ts +53 -1
- package/build-types/circular-option-picker/types.d.ts.map +1 -1
- package/build-types/color-palette/index.d.ts +3 -19
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-palette/stories/index.story.d.ts +3 -36
- package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
- package/build-types/color-palette/styles.d.ts +1 -1
- package/build-types/color-palette/types.d.ts +31 -1
- package/build-types/color-palette/types.d.ts.map +1 -1
- package/build-types/color-picker/component.d.ts +1 -1
- package/build-types/color-picker/stories/index.story.d.ts +1 -1
- package/build-types/color-picker/styles.d.ts +6 -6
- package/build-types/combobox-control/index.d.ts.map +1 -1
- package/build-types/combobox-control/stories/index.story.d.ts +2 -2
- package/build-types/composite/index.d.ts +14 -1
- package/build-types/composite/index.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts +2 -2
- package/build-types/date-time/date/styles.d.ts +3 -3
- package/build-types/date-time/date-time/styles.d.ts +2 -2
- package/build-types/date-time/time/styles.d.ts +12 -12
- package/build-types/dropdown/index.d.ts.map +1 -1
- package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown/types.d.ts +12 -4
- package/build-types/dropdown/types.d.ts.map +1 -1
- package/build-types/dropdown-menu/index.d.ts.map +1 -1
- package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu/types.d.ts +22 -5
- package/build-types/dropdown-menu/types.d.ts.map +1 -1
- package/build-types/duotone-picker/color-list-picker/index.d.ts.map +1 -1
- package/build-types/duotone-picker/duotone-picker.d.ts +1 -1
- package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
- package/build-types/duotone-picker/types.d.ts +31 -1
- package/build-types/duotone-picker/types.d.ts.map +1 -1
- package/build-types/elevation/hook.d.ts +46 -46
- package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
- package/build-types/flex/flex/hook.d.ts +46 -46
- package/build-types/flex/flex-block/hook.d.ts +46 -46
- package/build-types/flex/flex-item/hook.d.ts +46 -46
- package/build-types/focal-point-picker/stories/index.story.d.ts +8 -8
- package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
- package/build-types/focusable-iframe/index.d.ts +4 -5
- package/build-types/focusable-iframe/index.d.ts.map +1 -1
- package/build-types/focusable-iframe/types.d.ts +8 -0
- package/build-types/focusable-iframe/types.d.ts.map +1 -0
- package/build-types/font-size-picker/styles.d.ts +2 -2
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/types.d.ts +6 -0
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/gradient-picker/index.d.ts +1 -1
- package/build-types/gradient-picker/index.d.ts.map +1 -1
- package/build-types/gradient-picker/stories/index.story.d.ts +3 -36
- package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/gradient-picker/types.d.ts +31 -1
- package/build-types/gradient-picker/types.d.ts.map +1 -1
- package/build-types/grid/hook.d.ts +46 -46
- package/build-types/h-stack/component.d.ts +1 -1
- package/build-types/h-stack/hook.d.ts +46 -46
- package/build-types/heading/hook.d.ts +45 -45
- package/build-types/higher-order/navigate-regions/index.d.ts.map +1 -1
- package/build-types/higher-order/with-focus-outside/index.d.ts +1 -0
- package/build-types/higher-order/with-focus-outside/index.d.ts.map +1 -1
- package/build-types/higher-order/with-focus-outside/test/index.d.ts +2 -0
- package/build-types/higher-order/with-focus-outside/test/index.d.ts.map +1 -0
- package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -1
- package/build-types/index.d.ts +1 -1
- package/build-types/index.d.ts.map +1 -1
- package/build-types/isolated-event-container/test/index.d.ts +2 -0
- package/build-types/isolated-event-container/test/index.d.ts.map +1 -0
- package/build-types/item-group/item/hook.d.ts +46 -46
- package/build-types/item-group/item-group/hook.d.ts +46 -46
- package/build-types/menu-item/index.d.ts +1 -1
- package/build-types/menu-item/stories/index.story.d.ts +4 -4
- package/build-types/navigable-container/menu.d.ts +1 -1
- package/build-types/navigation/back-button/index.d.ts +1 -1
- package/build-types/navigation/styles/navigation-styles.d.ts +5 -3
- package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/component.d.ts +2 -3
- package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +53 -54
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/component.d.ts +2 -3
- package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +53 -54
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-to-parent-button/component.d.ts +2 -3
- package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
- package/build-types/notice/index.d.ts.map +1 -1
- package/build-types/number-control/index.d.ts +3 -3
- package/build-types/number-control/stories/index.story.d.ts +3 -3
- package/build-types/palette-edit/styles.d.ts +4 -4
- package/build-types/palette-edit/styles.d.ts.map +1 -1
- package/build-types/placeholder/index.d.ts.map +1 -1
- package/build-types/popover/index.d.ts +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/overlay-middlewares.d.ts +1 -1
- package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
- package/build-types/popover/types.d.ts +0 -4
- package/build-types/popover/types.d.ts.map +1 -1
- package/build-types/popover/utils.d.ts +2 -6
- package/build-types/popover/utils.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +3 -3
- package/build-types/resizable-box/index.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
- package/build-types/resizable-box/stories/index.story.d.ts +2 -2
- package/build-types/scrollable/hook.d.ts +46 -46
- package/build-types/search-control/index.d.ts +4 -2
- package/build-types/search-control/index.d.ts.map +1 -1
- package/build-types/search-control/stories/index.story.d.ts +8 -4
- package/build-types/search-control/stories/index.story.d.ts.map +1 -1
- package/build-types/search-control/types.d.ts +12 -0
- package/build-types/search-control/types.d.ts.map +1 -1
- package/build-types/spacer/hook.d.ts +46 -46
- package/build-types/spinner/index.d.ts +1 -1
- package/build-types/surface/hook.d.ts +46 -46
- package/build-types/text/hook.d.ts +46 -46
- package/build-types/text/styles.d.ts.map +1 -1
- package/build-types/text-control/index.d.ts +3 -3
- package/build-types/toggle-control/stories/index.story.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +2 -4
- package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +2 -4
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -5
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/utils.d.ts +18 -0
- package/build-types/toggle-group-control/toggle-group-control/utils.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +5 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
- package/build-types/toggle-group-control/types.d.ts +13 -24
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/toolbar/stories/index.story.d.ts.map +1 -1
- package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-button/index.d.ts +16 -22
- package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +3 -1
- package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-group/index.d.ts +10 -14
- package/build-types/toolbar/toolbar-group/index.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts +3 -5
- package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts +7 -5
- package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-group/types.d.ts +77 -0
- package/build-types/toolbar/toolbar-group/types.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-item/index.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts +46 -46
- package/build-types/tools-panel/tools-panel-header/hook.d.ts +46 -46
- package/build-types/tools-panel/tools-panel-item/hook.d.ts +46 -46
- package/build-types/tooltip/index.d.ts +8 -5
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/tooltip/stories/index.story.d.ts +13 -0
- package/build-types/tooltip/stories/index.story.d.ts.map +1 -0
- package/build-types/tooltip/test/index.d.ts +2 -0
- package/build-types/tooltip/test/index.d.ts.map +1 -0
- package/build-types/tooltip/test/utils/index.d.ts +11 -0
- package/build-types/tooltip/test/utils/index.d.ts.map +1 -0
- package/build-types/tooltip/types.d.ts +61 -0
- package/build-types/tooltip/types.d.ts.map +1 -0
- package/build-types/truncate/hook.d.ts +46 -46
- package/build-types/ui/tooltip/content.d.ts +1 -1
- package/build-types/unit-control/index.d.ts +1 -1
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts +3 -3
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
- package/build-types/unit-control/unit-select-control.d.ts +1 -1
- package/build-types/utils/use-deprecated-props.d.ts +1 -1
- package/build-types/v-stack/component.d.ts +1 -1
- package/build-types/v-stack/hook.d.ts +46 -46
- package/build-types/v-stack/stories/index.story.d.ts +2 -2
- package/package.json +19 -19
- package/src/animation/index.tsx +1 -0
- package/src/border-control/border-control/README.md +2 -2
- package/src/border-control/border-control-dropdown/component.tsx +1 -1
- package/src/border-control/styles.ts +7 -7
- package/src/border-control/test/index.js +79 -69
- package/src/box-control/unit-control.tsx +1 -1
- package/src/button/README.md +0 -6
- package/src/button/index.tsx +9 -1
- package/src/button/test/index.tsx +19 -0
- package/src/button/types.ts +0 -4
- package/src/circular-option-picker/README.md +14 -0
- package/src/circular-option-picker/circular-option-picker-actions.tsx +60 -0
- package/src/circular-option-picker/circular-option-picker-context.tsx +12 -0
- package/src/circular-option-picker/circular-option-picker-option-group.tsx +34 -0
- package/src/circular-option-picker/circular-option-picker-option.tsx +139 -0
- package/src/circular-option-picker/circular-option-picker.tsx +202 -0
- package/src/circular-option-picker/index.tsx +7 -174
- package/src/circular-option-picker/stories/index.story.tsx +34 -9
- package/src/circular-option-picker/style.scss +11 -7
- package/src/circular-option-picker/test/index.tsx +133 -0
- package/src/circular-option-picker/types.ts +64 -1
- package/src/color-palette/README.md +14 -0
- package/src/color-palette/index.tsx +69 -28
- package/src/color-palette/stories/index.story.tsx +16 -2
- package/src/color-palette/test/index.tsx +32 -30
- package/src/color-palette/types.ts +34 -1
- package/src/combobox-control/index.tsx +7 -5
- package/src/composite/{index.js → index.ts} +3 -0
- package/src/confirm-dialog/stories/index.story.js +13 -14
- package/src/confirm-dialog/test/index.js +10 -18
- package/src/custom-gradient-picker/gradient-bar/control-points.tsx +1 -1
- package/src/custom-gradient-picker/gradient-bar/test/utils.ts +5 -5
- package/src/date-time/time/timezone.tsx +1 -1
- package/src/dropdown/README.md +13 -3
- package/src/dropdown/index.tsx +16 -34
- package/src/dropdown/stories/index.story.tsx +10 -7
- package/src/dropdown/types.ts +12 -4
- package/src/dropdown-menu/README.md +18 -0
- package/src/dropdown-menu/index.tsx +8 -1
- package/src/dropdown-menu/stories/index.story.tsx +5 -0
- package/src/dropdown-menu/types.ts +23 -6
- package/src/dropdown-menu-v2/styles.ts +1 -1
- package/src/duotone-picker/README.md +14 -0
- package/src/duotone-picker/color-list-picker/index.tsx +28 -12
- package/src/duotone-picker/duotone-picker.tsx +33 -0
- package/src/duotone-picker/types.ts +34 -1
- package/src/focusable-iframe/{index.js → index.tsx} +7 -4
- package/src/focusable-iframe/types.ts +9 -0
- package/src/form-token-field/README.md +1 -0
- package/src/form-token-field/index.tsx +5 -1
- package/src/form-token-field/style.scss +5 -9
- package/src/form-token-field/test/index.tsx +36 -1
- package/src/form-token-field/types.ts +7 -1
- package/src/gradient-picker/README.md +14 -0
- package/src/gradient-picker/index.tsx +60 -11
- package/src/gradient-picker/types.ts +34 -1
- package/src/higher-order/navigate-regions/index.tsx +5 -6
- package/src/higher-order/with-filters/test/index.tsx +36 -43
- package/src/higher-order/with-focus-outside/{index.js → index.tsx} +8 -5
- package/src/higher-order/with-focus-outside/test/{index.js → index.tsx} +13 -11
- package/src/higher-order/with-notices/test/index.tsx +1 -1
- package/src/higher-order/with-spoken-messages/index.tsx +7 -8
- package/src/index.ts +5 -1
- package/src/input-control/styles/input-control-styles.tsx +2 -2
- package/src/isolated-event-container/test/{index.js → index.tsx} +1 -1
- package/src/mobile/bottom-sheet/index.native.js +1 -0
- package/src/mobile/global-styles-context/index.native.js +7 -8
- package/src/modal/test/index.tsx +107 -0
- package/src/navigation/use-navigation-tree-nodes.tsx +1 -1
- package/src/notice/index.tsx +18 -6
- package/src/notice/style.scss +0 -1
- package/src/notice/test/__snapshots__/index.tsx.snap +9 -1
- package/src/palette-edit/styles.js +2 -1
- package/src/placeholder/index.tsx +1 -0
- package/src/placeholder/style.scss +2 -4
- package/src/popover/index.tsx +47 -110
- package/src/popover/test/index.tsx +3 -3
- package/src/popover/types.ts +0 -5
- package/src/popover/utils.ts +19 -67
- package/src/search-control/README.md +7 -0
- package/src/search-control/index.tsx +10 -1
- package/src/search-control/style.scss +14 -7
- package/src/search-control/types.ts +12 -0
- package/src/tab-panel/test/index.tsx +5 -0
- package/src/text/styles.js +2 -1
- package/src/theme/README.md +5 -5
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +567 -59
- package/src/toggle-group-control/test/index.tsx +110 -56
- package/src/toggle-group-control/toggle-group-control/README.md +0 -1
- package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +39 -57
- package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +52 -48
- package/src/toggle-group-control/toggle-group-control/component.tsx +12 -6
- package/src/toggle-group-control/toggle-group-control/styles.ts +2 -19
- package/src/toggle-group-control/toggle-group-control/utils.ts +50 -0
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +70 -20
- package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +17 -3
- package/src/toggle-group-control/types.ts +14 -32
- package/src/toolbar/stories/index.story.tsx +3 -5
- package/src/toolbar/test/toolbar-group.tsx +13 -7
- package/src/toolbar/toolbar/index.tsx +9 -1
- package/src/toolbar/toolbar-dropdown-menu/{index.js → index.tsx} +11 -4
- package/src/toolbar/toolbar-group/README.md +2 -2
- package/src/toolbar/toolbar-group/{index.js → index.tsx} +19 -14
- package/src/toolbar/toolbar-group/{toolbar-group-collapsed.js → toolbar-group-collapsed.tsx} +10 -4
- package/src/toolbar/toolbar-group/toolbar-group-container.tsx +16 -0
- package/src/toolbar/toolbar-group/types.ts +92 -0
- package/src/toolbar/toolbar-item/index.tsx +3 -1
- package/src/tooltip/README.md +31 -28
- package/src/tooltip/index.tsx +106 -0
- package/src/tooltip/stories/index.story.tsx +59 -0
- package/src/tooltip/style.scss +2 -27
- package/src/tooltip/test/index.tsx +335 -0
- package/src/tooltip/test/utils/index.tsx +20 -0
- package/src/tooltip/types.ts +61 -0
- package/src/ui/context/context-connect.ts +3 -3
- package/src/ui/context/wordpress-component.ts +4 -4
- package/src/unit-control/index.tsx +9 -4
- package/src/unit-control/styles/unit-control-styles.ts +3 -1
- package/src/unit-control/test/utils.ts +1 -1
- package/src/utils/colors-values.js +1 -1
- package/src/utils/use-deprecated-props.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +0 -78
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +0 -1
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +0 -76
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +0 -1
- package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts +0 -9
- package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +0 -1
- package/src/color-palette/test/__snapshots__/index.tsx.snap +0 -288
- package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +0 -84
- package/src/toolbar/toolbar-group/toolbar-group-container.js +0 -8
- package/src/tooltip/index.js +0 -293
- package/src/tooltip/stories/index.story.js +0 -85
- package/src/tooltip/test/index.js +0 -323
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
fireEvent,
|
|
7
|
-
render,
|
|
8
|
-
screen,
|
|
9
|
-
waitFor,
|
|
10
|
-
} from '@testing-library/react';
|
|
4
|
+
import { fireEvent, render, screen, waitFor } from '@testing-library/react';
|
|
5
|
+
import userEvent from '@testing-library/user-event';
|
|
11
6
|
|
|
12
7
|
/**
|
|
13
8
|
* Internal dependencies
|
|
@@ -43,36 +38,28 @@ function createProps( customProps ) {
|
|
|
43
38
|
|
|
44
39
|
const toggleLabelRegex = /Border color( and style)* picker/;
|
|
45
40
|
|
|
46
|
-
|
|
47
|
-
return element.closest( '.components-popover' );
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const openPopover = async () => {
|
|
41
|
+
const openPopover = async ( user ) => {
|
|
51
42
|
const toggleButton = screen.getByLabelText( toggleLabelRegex );
|
|
52
|
-
|
|
43
|
+
await user.click( toggleButton );
|
|
53
44
|
|
|
54
45
|
// Wait for color picker popover to fully appear
|
|
55
46
|
const pickerButton = screen.getByRole( 'button', {
|
|
56
47
|
name: /^Custom color picker/,
|
|
57
48
|
} );
|
|
58
49
|
|
|
59
|
-
await waitFor( () =>
|
|
60
|
-
expect(
|
|
61
|
-
getWrappingPopoverElement( pickerButton )
|
|
62
|
-
).toBePositionedPopover()
|
|
63
|
-
);
|
|
50
|
+
await waitFor( () => expect( pickerButton ).toBePositionedPopover() );
|
|
64
51
|
};
|
|
65
52
|
|
|
66
53
|
const getButton = ( name ) => {
|
|
67
54
|
return screen.getByRole( 'button', { name } );
|
|
68
55
|
};
|
|
69
56
|
|
|
70
|
-
const
|
|
71
|
-
return screen.
|
|
57
|
+
const getColorOption = ( color ) => {
|
|
58
|
+
return screen.getByRole( 'option', { name: `Color: ${ color }` } );
|
|
72
59
|
};
|
|
73
60
|
|
|
74
|
-
const
|
|
75
|
-
|
|
61
|
+
const queryButton = ( name ) => {
|
|
62
|
+
return screen.queryByRole( 'button', { name } );
|
|
76
63
|
};
|
|
77
64
|
|
|
78
65
|
const getSliderInput = () => {
|
|
@@ -82,15 +69,6 @@ const getSliderInput = () => {
|
|
|
82
69
|
const getWidthInput = () => {
|
|
83
70
|
return screen.getByRole( 'spinbutton', { name: 'Border width' } );
|
|
84
71
|
};
|
|
85
|
-
const setWidthInput = ( value ) => {
|
|
86
|
-
const widthInput = getWidthInput();
|
|
87
|
-
act( () => {
|
|
88
|
-
widthInput.focus();
|
|
89
|
-
} );
|
|
90
|
-
fireEvent.change( widthInput, { target: { value } } );
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
const clearWidthInput = () => setWidthInput( '' );
|
|
94
72
|
|
|
95
73
|
describe( 'BorderControl', () => {
|
|
96
74
|
describe( 'basic rendering', () => {
|
|
@@ -146,19 +124,20 @@ describe( 'BorderControl', () => {
|
|
|
146
124
|
} );
|
|
147
125
|
|
|
148
126
|
it( 'should render color and style popover', async () => {
|
|
127
|
+
const user = userEvent.setup();
|
|
149
128
|
const props = createProps();
|
|
150
129
|
render( <BorderControl { ...props } /> );
|
|
151
|
-
await openPopover();
|
|
130
|
+
await openPopover( user );
|
|
152
131
|
|
|
153
132
|
const customColorPicker = getButton( /Custom color picker/ );
|
|
154
|
-
const colorSwatchButtons = screen.getAllByRole( '
|
|
133
|
+
const colorSwatchButtons = screen.getAllByRole( 'option', {
|
|
155
134
|
name: /^Color:/,
|
|
156
135
|
} );
|
|
157
136
|
const styleLabel = screen.getByText( 'Style' );
|
|
158
137
|
const solidButton = getButton( 'Solid' );
|
|
159
138
|
const dashedButton = getButton( 'Dashed' );
|
|
160
139
|
const dottedButton = getButton( 'Dotted' );
|
|
161
|
-
const resetButton = getButton( 'Reset
|
|
140
|
+
const resetButton = getButton( 'Reset' );
|
|
162
141
|
|
|
163
142
|
expect( customColorPicker ).toBeInTheDocument();
|
|
164
143
|
expect( colorSwatchButtons.length ).toEqual( colors.length );
|
|
@@ -170,9 +149,10 @@ describe( 'BorderControl', () => {
|
|
|
170
149
|
} );
|
|
171
150
|
|
|
172
151
|
it( 'should render color and style popover header', async () => {
|
|
152
|
+
const user = userEvent.setup();
|
|
173
153
|
const props = createProps( { showDropdownHeader: true } );
|
|
174
154
|
render( <BorderControl { ...props } /> );
|
|
175
|
-
await openPopover();
|
|
155
|
+
await openPopover( user );
|
|
176
156
|
|
|
177
157
|
const headerLabel = screen.getByText( 'Border color' );
|
|
178
158
|
const closeButton = getButton( 'Close border color' );
|
|
@@ -182,9 +162,10 @@ describe( 'BorderControl', () => {
|
|
|
182
162
|
} );
|
|
183
163
|
|
|
184
164
|
it( 'should not render style options when opted out of', async () => {
|
|
165
|
+
const user = userEvent.setup();
|
|
185
166
|
const props = createProps( { enableStyle: false } );
|
|
186
167
|
render( <BorderControl { ...props } /> );
|
|
187
|
-
await openPopover();
|
|
168
|
+
await openPopover( user );
|
|
188
169
|
|
|
189
170
|
const styleLabel = screen.queryByText( 'Style' );
|
|
190
171
|
const solidButton = queryButton( 'Solid' );
|
|
@@ -307,6 +288,10 @@ describe( 'BorderControl', () => {
|
|
|
307
288
|
const { rerender } = render( <BorderControl { ...props } /> );
|
|
308
289
|
|
|
309
290
|
const slider = getSliderInput();
|
|
291
|
+
// As per [1], it is not currently possible to reasonably
|
|
292
|
+
// replicate this interaction using `userEvent`, so leaving
|
|
293
|
+
// `fireEvent` in place to cover it.
|
|
294
|
+
// [1]: https://github.com/testing-library/user-event/issues/871
|
|
310
295
|
fireEvent.change( slider, { target: { value: '5' } } );
|
|
311
296
|
|
|
312
297
|
expect( props.onChange ).toHaveBeenNthCalledWith( 1, {
|
|
@@ -321,10 +306,11 @@ describe( 'BorderControl', () => {
|
|
|
321
306
|
} );
|
|
322
307
|
|
|
323
308
|
it( 'should update color selection', async () => {
|
|
309
|
+
const user = userEvent.setup();
|
|
324
310
|
const props = createProps();
|
|
325
311
|
render( <BorderControl { ...props } /> );
|
|
326
|
-
await openPopover();
|
|
327
|
-
|
|
312
|
+
await openPopover( user );
|
|
313
|
+
await user.click( getColorOption( 'Green' ) );
|
|
328
314
|
|
|
329
315
|
expect( props.onChange ).toHaveBeenNthCalledWith( 1, {
|
|
330
316
|
...defaultBorder,
|
|
@@ -333,10 +319,11 @@ describe( 'BorderControl', () => {
|
|
|
333
319
|
} );
|
|
334
320
|
|
|
335
321
|
it( 'should clear color selection when toggling swatch off', async () => {
|
|
322
|
+
const user = userEvent.setup();
|
|
336
323
|
const props = createProps();
|
|
337
324
|
render( <BorderControl { ...props } /> );
|
|
338
|
-
await openPopover();
|
|
339
|
-
|
|
325
|
+
await openPopover( user );
|
|
326
|
+
await user.click( getColorOption( 'Blue' ) );
|
|
340
327
|
|
|
341
328
|
expect( props.onChange ).toHaveBeenNthCalledWith( 1, {
|
|
342
329
|
...defaultBorder,
|
|
@@ -345,10 +332,11 @@ describe( 'BorderControl', () => {
|
|
|
345
332
|
} );
|
|
346
333
|
|
|
347
334
|
it( 'should update style selection', async () => {
|
|
335
|
+
const user = userEvent.setup();
|
|
348
336
|
const props = createProps();
|
|
349
337
|
render( <BorderControl { ...props } /> );
|
|
350
|
-
await openPopover();
|
|
351
|
-
|
|
338
|
+
await openPopover( user );
|
|
339
|
+
await user.click( getButton( 'Dashed' ) );
|
|
352
340
|
|
|
353
341
|
expect( props.onChange ).toHaveBeenNthCalledWith( 1, {
|
|
354
342
|
...defaultBorder,
|
|
@@ -357,19 +345,21 @@ describe( 'BorderControl', () => {
|
|
|
357
345
|
} );
|
|
358
346
|
|
|
359
347
|
it( 'should take no action when color and style popover is closed', async () => {
|
|
348
|
+
const user = userEvent.setup();
|
|
360
349
|
const props = createProps( { showDropdownHeader: true } );
|
|
361
350
|
render( <BorderControl { ...props } /> );
|
|
362
|
-
await openPopover();
|
|
363
|
-
|
|
351
|
+
await openPopover( user );
|
|
352
|
+
await user.click( getButton( 'Close border color' ) );
|
|
364
353
|
|
|
365
354
|
expect( props.onChange ).not.toHaveBeenCalled();
|
|
366
355
|
} );
|
|
367
356
|
|
|
368
357
|
it( 'should reset color and style only when popover reset button clicked', async () => {
|
|
358
|
+
const user = userEvent.setup();
|
|
369
359
|
const props = createProps();
|
|
370
360
|
render( <BorderControl { ...props } /> );
|
|
371
|
-
await openPopover();
|
|
372
|
-
|
|
361
|
+
await openPopover( user );
|
|
362
|
+
await user.click( getButton( 'Reset' ) );
|
|
373
363
|
|
|
374
364
|
expect( props.onChange ).toHaveBeenNthCalledWith( 1, {
|
|
375
365
|
color: undefined,
|
|
@@ -379,25 +369,27 @@ describe( 'BorderControl', () => {
|
|
|
379
369
|
} );
|
|
380
370
|
|
|
381
371
|
it( 'should sanitize border when width and color are undefined', async () => {
|
|
372
|
+
const user = userEvent.setup();
|
|
382
373
|
const props = createProps();
|
|
383
374
|
const { rerender } = render( <BorderControl { ...props } /> );
|
|
384
|
-
|
|
375
|
+
await user.clear( getWidthInput() );
|
|
385
376
|
rerender( <BorderControl { ...props } /> );
|
|
386
|
-
await openPopover();
|
|
387
|
-
|
|
377
|
+
await openPopover( user );
|
|
378
|
+
await user.click( getColorOption( 'Blue' ) );
|
|
388
379
|
|
|
389
380
|
expect( props.onChange ).toHaveBeenCalledWith( undefined );
|
|
390
381
|
} );
|
|
391
382
|
|
|
392
383
|
it( 'should not sanitize border when requested', async () => {
|
|
384
|
+
const user = userEvent.setup();
|
|
393
385
|
const props = createProps( {
|
|
394
386
|
shouldSanitizeBorder: false,
|
|
395
387
|
} );
|
|
396
388
|
const { rerender } = render( <BorderControl { ...props } /> );
|
|
397
|
-
|
|
389
|
+
await user.clear( getWidthInput() );
|
|
398
390
|
rerender( <BorderControl { ...props } /> );
|
|
399
|
-
await openPopover();
|
|
400
|
-
|
|
391
|
+
await openPopover( user );
|
|
392
|
+
await user.click( getColorOption( 'Blue' ) );
|
|
401
393
|
|
|
402
394
|
expect( props.onChange ).toHaveBeenNthCalledWith( 2, {
|
|
403
395
|
color: undefined,
|
|
@@ -407,12 +399,16 @@ describe( 'BorderControl', () => {
|
|
|
407
399
|
} );
|
|
408
400
|
|
|
409
401
|
it( 'should clear color and set style to `none` when setting zero width', async () => {
|
|
402
|
+
const user = userEvent.setup();
|
|
410
403
|
const props = createProps();
|
|
411
404
|
render( <BorderControl { ...props } /> );
|
|
412
|
-
await openPopover();
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
405
|
+
await openPopover( user );
|
|
406
|
+
await user.click( getColorOption( 'Green' ) );
|
|
407
|
+
await user.click( getButton( 'Dotted' ) );
|
|
408
|
+
await user.type( getWidthInput(), '0', {
|
|
409
|
+
initialSelectionStart: 0,
|
|
410
|
+
initialSelectionEnd: 1,
|
|
411
|
+
} );
|
|
416
412
|
|
|
417
413
|
expect( props.onChange ).toHaveBeenNthCalledWith( 3, {
|
|
418
414
|
color: undefined,
|
|
@@ -422,15 +418,23 @@ describe( 'BorderControl', () => {
|
|
|
422
418
|
} );
|
|
423
419
|
|
|
424
420
|
it( 'should reselect color and style selections when changing to non-zero width', async () => {
|
|
421
|
+
const user = userEvent.setup();
|
|
425
422
|
const props = createProps();
|
|
426
423
|
const { rerender } = render( <BorderControl { ...props } /> );
|
|
427
|
-
await openPopover();
|
|
428
|
-
|
|
424
|
+
await openPopover( user );
|
|
425
|
+
await user.click( getColorOption( 'Green' ) );
|
|
429
426
|
rerender( <BorderControl { ...props } /> );
|
|
430
|
-
|
|
427
|
+
await user.click( getButton( 'Dotted' ) );
|
|
431
428
|
rerender( <BorderControl { ...props } /> );
|
|
432
|
-
|
|
433
|
-
|
|
429
|
+
const widthInput = getWidthInput();
|
|
430
|
+
await user.type( widthInput, '0', {
|
|
431
|
+
initialSelectionStart: 0,
|
|
432
|
+
initialSelectionEnd: 1,
|
|
433
|
+
} );
|
|
434
|
+
await user.type( widthInput, '5', {
|
|
435
|
+
initialSelectionStart: 0,
|
|
436
|
+
initialSelectionEnd: 1,
|
|
437
|
+
} );
|
|
434
438
|
|
|
435
439
|
expect( props.onChange ).toHaveBeenNthCalledWith( 4, {
|
|
436
440
|
color: '#00a32a',
|
|
@@ -440,10 +444,11 @@ describe( 'BorderControl', () => {
|
|
|
440
444
|
} );
|
|
441
445
|
|
|
442
446
|
it( 'should set a non-zero width when applying color to zero width border', async () => {
|
|
447
|
+
const user = userEvent.setup();
|
|
443
448
|
const props = createProps( { value: undefined } );
|
|
444
449
|
const { rerender } = render( <BorderControl { ...props } /> );
|
|
445
|
-
await openPopover();
|
|
446
|
-
|
|
450
|
+
await openPopover( user );
|
|
451
|
+
await user.click( getColorOption( 'Yellow' ) );
|
|
447
452
|
|
|
448
453
|
expect( props.onChange ).toHaveBeenCalledWith( {
|
|
449
454
|
color: '#bd8600',
|
|
@@ -451,9 +456,11 @@ describe( 'BorderControl', () => {
|
|
|
451
456
|
width: undefined,
|
|
452
457
|
} );
|
|
453
458
|
|
|
454
|
-
|
|
459
|
+
await user.type( getWidthInput(), '0' );
|
|
460
|
+
|
|
455
461
|
rerender( <BorderControl { ...props } /> );
|
|
456
|
-
|
|
462
|
+
await openPopover( user );
|
|
463
|
+
await user.click( getColorOption( 'Green' ) );
|
|
457
464
|
|
|
458
465
|
expect( props.onChange ).toHaveBeenCalledWith( {
|
|
459
466
|
color: '#00a32a',
|
|
@@ -463,13 +470,14 @@ describe( 'BorderControl', () => {
|
|
|
463
470
|
} );
|
|
464
471
|
|
|
465
472
|
it( 'should set a non-zero width when applying style to zero width border', async () => {
|
|
473
|
+
const user = userEvent.setup();
|
|
466
474
|
const props = createProps( {
|
|
467
475
|
value: undefined,
|
|
468
476
|
shouldSanitizeBorder: false,
|
|
469
477
|
} );
|
|
470
478
|
const { rerender } = render( <BorderControl { ...props } /> );
|
|
471
|
-
await openPopover();
|
|
472
|
-
|
|
479
|
+
await openPopover( user );
|
|
480
|
+
await user.click( getButton( 'Dashed' ) );
|
|
473
481
|
|
|
474
482
|
expect( props.onChange ).toHaveBeenCalledWith( {
|
|
475
483
|
color: undefined,
|
|
@@ -477,9 +485,11 @@ describe( 'BorderControl', () => {
|
|
|
477
485
|
width: undefined,
|
|
478
486
|
} );
|
|
479
487
|
|
|
480
|
-
|
|
488
|
+
await user.type( getWidthInput(), '0' );
|
|
489
|
+
|
|
481
490
|
rerender( <BorderControl { ...props } /> );
|
|
482
|
-
|
|
491
|
+
await openPopover( user );
|
|
492
|
+
await user.click( getButton( 'Dotted' ) );
|
|
483
493
|
|
|
484
494
|
expect( props.onChange ).toHaveBeenCalledWith( {
|
|
485
495
|
color: undefined,
|
package/src/button/README.md
CHANGED
|
@@ -145,12 +145,6 @@ Whether the button is disabled. If `true`, this will force a `button` element to
|
|
|
145
145
|
|
|
146
146
|
- Required: No
|
|
147
147
|
|
|
148
|
-
#### `focus`: `boolean`
|
|
149
|
-
|
|
150
|
-
Whether the button is focused.
|
|
151
|
-
|
|
152
|
-
- Required: No
|
|
153
|
-
|
|
154
148
|
#### `href`: `string`
|
|
155
149
|
|
|
156
150
|
If provided, renders `a` instead of `button`.
|
package/src/button/index.tsx
CHANGED
|
@@ -24,6 +24,7 @@ import Tooltip from '../tooltip';
|
|
|
24
24
|
import Icon from '../icon';
|
|
25
25
|
import { VisuallyHidden } from '../visually-hidden';
|
|
26
26
|
import type { ButtonProps, DeprecatedButtonProps } from './types';
|
|
27
|
+
import { positionToPlacement } from '../popover/utils';
|
|
27
28
|
|
|
28
29
|
const disabledEventsOnDisabledButton = [ 'onMouseDown', 'onClick' ] as const;
|
|
29
30
|
|
|
@@ -225,6 +226,13 @@ export function UnforwardedButton(
|
|
|
225
226
|
</button>
|
|
226
227
|
);
|
|
227
228
|
|
|
229
|
+
// Convert legacy `position` values to be used with the new `placement` prop
|
|
230
|
+
let computedPlacement;
|
|
231
|
+
// if `tooltipPosition` is defined, compute value to `placement`
|
|
232
|
+
if ( tooltipPosition !== undefined ) {
|
|
233
|
+
computedPlacement = positionToPlacement( tooltipPosition );
|
|
234
|
+
}
|
|
235
|
+
|
|
228
236
|
if ( ! shouldShowTooltip ) {
|
|
229
237
|
return (
|
|
230
238
|
<>
|
|
@@ -248,7 +256,7 @@ export function UnforwardedButton(
|
|
|
248
256
|
: label
|
|
249
257
|
}
|
|
250
258
|
shortcut={ shortcut }
|
|
251
|
-
|
|
259
|
+
placement={ computedPlacement }
|
|
252
260
|
>
|
|
253
261
|
{ element }
|
|
254
262
|
</Tooltip>
|
|
@@ -15,6 +15,7 @@ import { plusCircle } from '@wordpress/icons';
|
|
|
15
15
|
*/
|
|
16
16
|
import Button from '..';
|
|
17
17
|
import Tooltip from '../../tooltip';
|
|
18
|
+
import cleanupTooltip from '../../tooltip/test/utils';
|
|
18
19
|
|
|
19
20
|
jest.mock( '../../icon', () => () => <div data-testid="test-icon" /> );
|
|
20
21
|
|
|
@@ -236,9 +237,13 @@ describe( 'Button', () => {
|
|
|
236
237
|
await user.tab();
|
|
237
238
|
|
|
238
239
|
expect( screen.getByText( 'Label' ) ).toBeVisible();
|
|
240
|
+
|
|
241
|
+
await cleanupTooltip( user );
|
|
239
242
|
} );
|
|
240
243
|
|
|
241
244
|
it( 'should populate tooltip with description content for buttons with visible labels (buttons with children)', async () => {
|
|
245
|
+
const user = userEvent.setup();
|
|
246
|
+
|
|
242
247
|
render(
|
|
243
248
|
<Button
|
|
244
249
|
label="Label"
|
|
@@ -255,6 +260,16 @@ describe( 'Button', () => {
|
|
|
255
260
|
description: 'Description text',
|
|
256
261
|
} )
|
|
257
262
|
).toBeVisible();
|
|
263
|
+
|
|
264
|
+
await user.tab();
|
|
265
|
+
|
|
266
|
+
expect(
|
|
267
|
+
screen.getByRole( 'tooltip', {
|
|
268
|
+
name: 'Description text',
|
|
269
|
+
} )
|
|
270
|
+
).toBeVisible();
|
|
271
|
+
|
|
272
|
+
await cleanupTooltip( user );
|
|
258
273
|
} );
|
|
259
274
|
|
|
260
275
|
it( 'should allow tooltip disable', async () => {
|
|
@@ -293,6 +308,8 @@ describe( 'Button', () => {
|
|
|
293
308
|
await user.tab();
|
|
294
309
|
|
|
295
310
|
expect( screen.getByText( 'WordPress' ) ).toBeVisible();
|
|
311
|
+
|
|
312
|
+
await cleanupTooltip( user );
|
|
296
313
|
} );
|
|
297
314
|
|
|
298
315
|
it( 'should not show the tooltip when icon and children defined', async () => {
|
|
@@ -327,6 +344,8 @@ describe( 'Button', () => {
|
|
|
327
344
|
await user.tab();
|
|
328
345
|
|
|
329
346
|
expect( screen.getByText( 'WordPress' ) ).toBeVisible();
|
|
347
|
+
|
|
348
|
+
await cleanupTooltip( user );
|
|
330
349
|
} );
|
|
331
350
|
} );
|
|
332
351
|
|
package/src/button/types.ts
CHANGED
|
@@ -80,6 +80,20 @@ The child elements.
|
|
|
80
80
|
|
|
81
81
|
- Required: No
|
|
82
82
|
|
|
83
|
+
### `asButtons`: `boolean`
|
|
84
|
+
|
|
85
|
+
Whether the control should present as a set of buttons, each with its own tab stop.
|
|
86
|
+
|
|
87
|
+
- Required: No
|
|
88
|
+
- Default: `false`
|
|
89
|
+
|
|
90
|
+
### `loop`: `boolean`
|
|
91
|
+
|
|
92
|
+
Prevents keyboard interaction from wrapping around. Only used when `asButtons` is not true.
|
|
93
|
+
|
|
94
|
+
- Required: No
|
|
95
|
+
- Default: `true`
|
|
96
|
+
|
|
83
97
|
## Subcomponents
|
|
84
98
|
|
|
85
99
|
### `CircularOptionPicker.ButtonAction`
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import classnames from 'classnames';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import Button from '../button';
|
|
10
|
+
import Dropdown from '../dropdown';
|
|
11
|
+
import type { DropdownLinkActionProps } from './types';
|
|
12
|
+
import type { WordPressComponentProps } from '../ui/context';
|
|
13
|
+
import type { ButtonAsButtonProps } from '../button/types';
|
|
14
|
+
|
|
15
|
+
export function DropdownLinkAction( {
|
|
16
|
+
buttonProps,
|
|
17
|
+
className,
|
|
18
|
+
dropdownProps,
|
|
19
|
+
linkText,
|
|
20
|
+
}: DropdownLinkActionProps ) {
|
|
21
|
+
return (
|
|
22
|
+
<Dropdown
|
|
23
|
+
className={ classnames(
|
|
24
|
+
'components-circular-option-picker__dropdown-link-action',
|
|
25
|
+
className
|
|
26
|
+
) }
|
|
27
|
+
renderToggle={ ( { isOpen, onToggle } ) => (
|
|
28
|
+
<Button
|
|
29
|
+
aria-expanded={ isOpen }
|
|
30
|
+
aria-haspopup="true"
|
|
31
|
+
onClick={ onToggle }
|
|
32
|
+
variant="link"
|
|
33
|
+
{ ...buttonProps }
|
|
34
|
+
>
|
|
35
|
+
{ linkText }
|
|
36
|
+
</Button>
|
|
37
|
+
) }
|
|
38
|
+
{ ...dropdownProps }
|
|
39
|
+
/>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function ButtonAction( {
|
|
44
|
+
className,
|
|
45
|
+
children,
|
|
46
|
+
...additionalProps
|
|
47
|
+
}: WordPressComponentProps< ButtonAsButtonProps, 'button', false > ) {
|
|
48
|
+
return (
|
|
49
|
+
<Button
|
|
50
|
+
className={ classnames(
|
|
51
|
+
'components-circular-option-picker__clear',
|
|
52
|
+
className
|
|
53
|
+
) }
|
|
54
|
+
variant="tertiary"
|
|
55
|
+
{ ...additionalProps }
|
|
56
|
+
>
|
|
57
|
+
{ children }
|
|
58
|
+
</Button>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { createContext } from '@wordpress/element';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { CircularOptionPickerContextProps } from './types';
|
|
10
|
+
|
|
11
|
+
export const CircularOptionPickerContext =
|
|
12
|
+
createContext< CircularOptionPickerContextProps >( {} );
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import classnames from 'classnames';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { OptionGroupProps } from './types';
|
|
10
|
+
|
|
11
|
+
export function OptionGroup( {
|
|
12
|
+
className,
|
|
13
|
+
options,
|
|
14
|
+
...additionalProps
|
|
15
|
+
}: OptionGroupProps ) {
|
|
16
|
+
const role =
|
|
17
|
+
'aria-label' in additionalProps || 'aria-labelledby' in additionalProps
|
|
18
|
+
? 'group'
|
|
19
|
+
: undefined;
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<div
|
|
23
|
+
{ ...additionalProps }
|
|
24
|
+
role={ role }
|
|
25
|
+
className={ classnames(
|
|
26
|
+
'components-circular-option-picker__option-group',
|
|
27
|
+
'components-circular-option-picker__swatches',
|
|
28
|
+
className
|
|
29
|
+
) }
|
|
30
|
+
>
|
|
31
|
+
{ options }
|
|
32
|
+
</div>
|
|
33
|
+
);
|
|
34
|
+
}
|