@wordpress/components 28.6.0 → 28.7.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 +77 -0
- package/CONTRIBUTING.md +42 -19
- package/build/alignment-matrix-control/cell.js +4 -7
- package/build/alignment-matrix-control/cell.js.map +1 -1
- package/build/alignment-matrix-control/icon.js +31 -19
- package/build/alignment-matrix-control/icon.js.map +1 -1
- package/build/alignment-matrix-control/index.js +55 -51
- package/build/alignment-matrix-control/index.js.map +1 -1
- package/build/alignment-matrix-control/styles.js +73 -0
- package/build/alignment-matrix-control/styles.js.map +1 -0
- package/build/alignment-matrix-control/types.js.map +1 -1
- package/build/angle-picker-control/angle-circle.js +9 -9
- package/build/angle-picker-control/angle-circle.js.map +1 -1
- package/build/border-control/border-control/component.js +18 -13
- package/build/border-control/border-control/component.js.map +1 -1
- package/build/circular-option-picker/circular-option-picker-option.js +15 -9
- package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
- package/build/circular-option-picker/circular-option-picker.js +15 -12
- package/build/circular-option-picker/circular-option-picker.js.map +1 -1
- package/build/circular-option-picker/types.js.map +1 -1
- package/build/clipboard-button/index.js +6 -6
- package/build/clipboard-button/index.js.map +1 -1
- package/build/color-palette/utils.js +1 -2
- package/build/color-palette/utils.js.map +1 -1
- package/build/color-picker/color-copy-button.js +8 -8
- package/build/color-picker/color-copy-button.js.map +1 -1
- package/build/color-picker/hex-input.js +8 -8
- package/build/color-picker/hex-input.js.map +1 -1
- package/build/color-picker/input-with-slider.js +8 -8
- package/build/color-picker/input-with-slider.js.map +1 -1
- package/build/color-picker/styles.js +8 -8
- package/build/color-picker/styles.js.map +1 -1
- package/build/combobox-control/types.js.map +1 -1
- package/build/composite/group-label.js +33 -0
- package/build/composite/group-label.js.map +1 -0
- package/build/composite/group.js +33 -0
- package/build/composite/group.js.map +1 -0
- package/build/composite/hover.js +33 -0
- package/build/composite/hover.js.map +1 -0
- package/build/composite/index.js +50 -96
- package/build/composite/index.js.map +1 -1
- package/build/composite/item.js +33 -0
- package/build/composite/item.js.map +1 -0
- package/build/composite/legacy/index.js +2 -1
- package/build/composite/legacy/index.js.map +1 -1
- package/build/composite/row.js +33 -0
- package/build/composite/row.js.map +1 -0
- package/build/composite/store.js +54 -0
- package/build/composite/store.js.map +1 -0
- package/build/composite/typeahead.js +33 -0
- package/build/composite/typeahead.js.map +1 -0
- package/build/composite/types.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/control-points.js +8 -8
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build/custom-select-control-v2/styles.js +12 -14
- package/build/custom-select-control-v2/styles.js.map +1 -1
- package/build/date-time/date/styles.js +8 -8
- package/build/date-time/date/styles.js.map +1 -1
- package/build/date-time/time/time-input/index.js +17 -19
- package/build/date-time/time/time-input/index.js.map +1 -1
- package/build/dimension-control/index.js +6 -1
- package/build/dimension-control/index.js.map +1 -1
- package/build/draggable/index.js +4 -4
- package/build/draggable/index.js.map +1 -1
- package/build/dropdown-menu-v2/checkbox-item.js +69 -0
- package/build/dropdown-menu-v2/checkbox-item.js.map +1 -0
- package/build/dropdown-menu-v2/context.js +17 -0
- package/build/dropdown-menu-v2/context.js.map +1 -0
- package/build/dropdown-menu-v2/group-label.js +40 -0
- package/build/dropdown-menu-v2/group-label.js.map +1 -0
- package/build/dropdown-menu-v2/group.js +29 -0
- package/build/dropdown-menu-v2/group.js.map +1 -0
- package/build/dropdown-menu-v2/index.js +58 -146
- package/build/dropdown-menu-v2/index.js.map +1 -1
- package/build/dropdown-menu-v2/item-help-text.js +27 -0
- package/build/dropdown-menu-v2/item-help-text.js.map +1 -0
- package/build/dropdown-menu-v2/item-label.js +27 -0
- package/build/dropdown-menu-v2/item-label.js.map +1 -0
- package/build/dropdown-menu-v2/item.js +53 -0
- package/build/dropdown-menu-v2/item.js.map +1 -0
- package/build/dropdown-menu-v2/radio-item.js +79 -0
- package/build/dropdown-menu-v2/radio-item.js.map +1 -0
- package/build/dropdown-menu-v2/separator.js +30 -0
- package/build/dropdown-menu-v2/separator.js.map +1 -0
- package/build/dropdown-menu-v2/styles.js +54 -78
- package/build/dropdown-menu-v2/styles.js.map +1 -1
- package/build/dropdown-menu-v2/types.js.map +1 -1
- package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js +27 -0
- package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
- package/build/focal-point-picker/styles/focal-point-style.js +7 -2
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/form-token-field/types.js.map +1 -1
- package/build/index.js +6 -0
- package/build/index.js.map +1 -1
- package/build/input-control/index.js +2 -2
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/input-base.js +5 -10
- package/build/input-control/input-base.js.map +1 -1
- package/build/input-control/input-prefix-wrapper.js +3 -3
- package/build/input-control/input-prefix-wrapper.js.map +1 -1
- package/build/input-control/input-suffix-wrapper.js +2 -3
- package/build/input-control/input-suffix-wrapper.js.map +1 -1
- package/build/input-control/reducer/reducer.js +8 -8
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +75 -45
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/input-control/types.js.map +1 -1
- package/build/input-control/utils.js +3 -3
- package/build/input-control/utils.js.map +1 -1
- package/build/item-group/styles.js +10 -10
- package/build/item-group/styles.js.map +1 -1
- package/build/modal/index.js +5 -5
- package/build/modal/index.js.map +1 -1
- package/build/navigation/index.js +4 -4
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js +13 -13
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/navigator/index.js +12 -13
- package/build/navigator/index.js.map +1 -1
- package/build/navigator/navigator-back-button/hook.js +2 -2
- package/build/navigator/navigator-back-button/hook.js.map +1 -1
- package/build/navigator/navigator-button/hook.js +2 -2
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/navigator/navigator-provider/component.js +99 -67
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/navigator/navigator-to-parent-button/component.js +2 -2
- package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
- package/build/navigator/types.js.map +1 -1
- package/build/navigator/use-navigator.js +1 -2
- package/build/navigator/use-navigator.js.map +1 -1
- package/build/palette-edit/index.js +2 -2
- package/build/palette-edit/index.js.map +1 -1
- package/build/private-apis.js +5 -9
- package/build/private-apis.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +30 -30
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +12 -12
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/fill.js +4 -4
- package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build/snackbar/index.js +4 -4
- package/build/snackbar/index.js.map +1 -1
- package/build/tabs/index.js +4 -4
- package/build/tabs/index.js.map +1 -1
- package/build/tabs/styles.js +3 -3
- package/build/tabs/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/utils.js +6 -6
- package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +6 -6
- package/build/tools-panel/tools-panel/hook.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/config-values.js +6 -4
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/hooks/use-update-effect.js +4 -4
- package/build/utils/hooks/use-update-effect.js.map +1 -1
- package/build-module/alignment-matrix-control/cell.js +2 -5
- package/build-module/alignment-matrix-control/cell.js.map +1 -1
- package/build-module/alignment-matrix-control/icon.js +31 -19
- package/build-module/alignment-matrix-control/icon.js.map +1 -1
- package/build-module/alignment-matrix-control/index.js +55 -50
- package/build-module/alignment-matrix-control/index.js.map +1 -1
- package/build-module/alignment-matrix-control/styles.js +70 -0
- package/build-module/alignment-matrix-control/styles.js.map +1 -0
- package/build-module/alignment-matrix-control/types.js.map +1 -1
- package/build-module/angle-picker-control/angle-circle.js +9 -9
- package/build-module/angle-picker-control/angle-circle.js.map +1 -1
- package/build-module/border-control/border-control/component.js +18 -13
- package/build-module/border-control/border-control/component.js.map +1 -1
- package/build-module/circular-option-picker/circular-option-picker-option.js +16 -10
- package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
- package/build-module/circular-option-picker/circular-option-picker.js +16 -13
- package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
- package/build-module/circular-option-picker/types.js.map +1 -1
- package/build-module/clipboard-button/index.js +6 -6
- package/build-module/clipboard-button/index.js.map +1 -1
- package/build-module/color-palette/utils.js +1 -2
- package/build-module/color-palette/utils.js.map +1 -1
- package/build-module/color-picker/color-copy-button.js +8 -8
- package/build-module/color-picker/color-copy-button.js.map +1 -1
- package/build-module/color-picker/hex-input.js +7 -8
- package/build-module/color-picker/hex-input.js.map +1 -1
- package/build-module/color-picker/input-with-slider.js +7 -8
- package/build-module/color-picker/input-with-slider.js.map +1 -1
- package/build-module/color-picker/styles.js +8 -8
- package/build-module/color-picker/styles.js.map +1 -1
- package/build-module/combobox-control/types.js.map +1 -1
- package/build-module/composite/group-label.js +25 -0
- package/build-module/composite/group-label.js.map +1 -0
- package/build-module/composite/group.js +25 -0
- package/build-module/composite/group.js.map +1 -0
- package/build-module/composite/hover.js +25 -0
- package/build-module/composite/hover.js.map +1 -0
- package/build-module/composite/index.js +51 -96
- package/build-module/composite/index.js.map +1 -1
- package/build-module/composite/item.js +25 -0
- package/build-module/composite/item.js.map +1 -0
- package/build-module/composite/legacy/index.js +2 -1
- package/build-module/composite/legacy/index.js.map +1 -1
- package/build-module/composite/row.js +25 -0
- package/build-module/composite/row.js.map +1 -0
- package/build-module/composite/store.js +46 -0
- package/build-module/composite/store.js.map +1 -0
- package/build-module/composite/typeahead.js +25 -0
- package/build-module/composite/typeahead.js.map +1 -0
- package/build-module/composite/types.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js +8 -8
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build-module/custom-select-control-v2/styles.js +12 -14
- package/build-module/custom-select-control-v2/styles.js.map +1 -1
- package/build-module/date-time/date/styles.js +8 -8
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/date-time/time/time-input/index.js +17 -19
- package/build-module/date-time/time/time-input/index.js.map +1 -1
- package/build-module/dimension-control/index.js +6 -1
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/draggable/index.js +4 -4
- package/build-module/draggable/index.js.map +1 -1
- package/build-module/dropdown-menu-v2/checkbox-item.js +62 -0
- package/build-module/dropdown-menu-v2/checkbox-item.js.map +1 -0
- package/build-module/dropdown-menu-v2/context.js +11 -0
- package/build-module/dropdown-menu-v2/context.js.map +1 -0
- package/build-module/dropdown-menu-v2/group-label.js +32 -0
- package/build-module/dropdown-menu-v2/group-label.js.map +1 -0
- package/build-module/dropdown-menu-v2/group.js +21 -0
- package/build-module/dropdown-menu-v2/group.js.map +1 -0
- package/build-module/dropdown-menu-v2/index.js +57 -144
- package/build-module/dropdown-menu-v2/index.js.map +1 -1
- package/build-module/dropdown-menu-v2/item-help-text.js +19 -0
- package/build-module/dropdown-menu-v2/item-help-text.js.map +1 -0
- package/build-module/dropdown-menu-v2/item-label.js +19 -0
- package/build-module/dropdown-menu-v2/item-label.js.map +1 -0
- package/build-module/dropdown-menu-v2/item.js +46 -0
- package/build-module/dropdown-menu-v2/item.js.map +1 -0
- package/build-module/dropdown-menu-v2/radio-item.js +72 -0
- package/build-module/dropdown-menu-v2/radio-item.js.map +1 -0
- package/build-module/dropdown-menu-v2/separator.js +22 -0
- package/build-module/dropdown-menu-v2/separator.js.map +1 -0
- package/build-module/dropdown-menu-v2/styles.js +54 -78
- package/build-module/dropdown-menu-v2/styles.js.map +1 -1
- package/build-module/dropdown-menu-v2/types.js.map +1 -1
- package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js +20 -0
- package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
- package/build-module/focal-point-picker/styles/focal-point-style.js +6 -2
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/form-token-field/types.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/input-control/index.js +2 -2
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/input-base.js +6 -11
- package/build-module/input-control/input-base.js.map +1 -1
- package/build-module/input-control/input-prefix-wrapper.js +4 -3
- package/build-module/input-control/input-prefix-wrapper.js.map +1 -1
- package/build-module/input-control/input-suffix-wrapper.js +3 -3
- package/build-module/input-control/input-suffix-wrapper.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +8 -8
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +74 -44
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/input-control/types.js.map +1 -1
- package/build-module/input-control/utils.js +3 -3
- package/build-module/input-control/utils.js.map +1 -1
- package/build-module/item-group/styles.js +10 -10
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/modal/index.js +5 -5
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigation/index.js +4 -4
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js +14 -14
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/navigator/index.js +6 -6
- package/build-module/navigator/index.js.map +1 -1
- package/build-module/navigator/navigator-back-button/hook.js +1 -1
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js +1 -1
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-provider/component.js +99 -67
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/navigator/navigator-to-parent-button/component.js +1 -1
- package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
- package/build-module/navigator/types.js.map +1 -1
- package/build-module/navigator/use-navigator.js +1 -2
- package/build-module/navigator/use-navigator.js.map +1 -1
- package/build-module/palette-edit/index.js +2 -2
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/private-apis.js +5 -9
- package/build-module/private-apis.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +31 -31
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +5 -5
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +13 -13
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/fill.js +4 -4
- package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build-module/snackbar/index.js +4 -4
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/tabs/index.js +4 -4
- package/build-module/tabs/index.js.map +1 -1
- package/build-module/tabs/styles.js +4 -4
- package/build-module/tabs/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/utils.js +6 -6
- package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +6 -6
- package/build-module/tools-panel/tools-panel/hook.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/config-values.js +6 -4
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/hooks/use-update-effect.js +4 -4
- package/build-module/utils/hooks/use-update-effect.js.map +1 -1
- package/build-style/style-rtl.css +11 -23
- package/build-style/style.css +11 -23
- package/build-types/alignment-matrix-control/cell.d.ts +1 -1
- package/build-types/alignment-matrix-control/cell.d.ts.map +1 -1
- package/build-types/alignment-matrix-control/icon.d.ts +1 -1
- package/build-types/alignment-matrix-control/icon.d.ts.map +1 -1
- package/build-types/alignment-matrix-control/index.d.ts +16 -6
- package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
- package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
- package/build-types/alignment-matrix-control/{styles/alignment-matrix-control-styles.d.ts → styles.d.ts} +9 -10
- package/build-types/alignment-matrix-control/styles.d.ts.map +1 -0
- package/build-types/alignment-matrix-control/types.d.ts +12 -1
- package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
- package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
- package/build-types/border-control/border-control/component.d.ts.map +1 -1
- package/build-types/box-control/stories/index.story.d.ts.map +1 -1
- package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
- package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
- package/build-types/circular-option-picker/types.d.ts +2 -2
- package/build-types/circular-option-picker/types.d.ts.map +1 -1
- package/build-types/color-palette/utils.d.ts.map +1 -1
- package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
- package/build-types/color-picker/hex-input.d.ts.map +1 -1
- package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/combobox-control/types.d.ts +1 -0
- package/build-types/combobox-control/types.d.ts.map +1 -1
- package/build-types/composite/group-label.d.ts +3 -0
- package/build-types/composite/group-label.d.ts.map +1 -0
- package/build-types/composite/group.d.ts +3 -0
- package/build-types/composite/group.d.ts.map +1 -0
- package/build-types/composite/hover.d.ts +3 -0
- package/build-types/composite/hover.d.ts.map +1 -0
- package/build-types/composite/index.d.ts +30 -26
- package/build-types/composite/index.d.ts.map +1 -1
- package/build-types/composite/item.d.ts +3 -0
- package/build-types/composite/item.d.ts.map +1 -0
- package/build-types/composite/legacy/index.d.ts +1 -4
- package/build-types/composite/legacy/index.d.ts.map +1 -1
- package/build-types/composite/row.d.ts +3 -0
- package/build-types/composite/row.d.ts.map +1 -0
- package/build-types/composite/store.d.ts +25 -0
- package/build-types/composite/store.d.ts.map +1 -0
- package/build-types/composite/stories/index.story.d.ts +1 -0
- package/build-types/composite/stories/index.story.d.ts.map +1 -1
- package/build-types/composite/typeahead.d.ts +3 -0
- package/build-types/composite/typeahead.d.ts.map +1 -0
- package/build-types/composite/types.d.ts +2 -2
- package/build-types/composite/types.d.ts.map +1 -1
- package/build-types/date-time/time/time-input/index.d.ts.map +1 -1
- package/build-types/dimension-control/index.d.ts +1 -1
- package/build-types/dimension-control/index.d.ts.map +1 -1
- package/build-types/dimension-control/stories/index.story.d.ts +5 -0
- package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/checkbox-item.d.ts +3 -0
- package/build-types/dropdown-menu-v2/checkbox-item.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/context.d.ts +6 -0
- package/build-types/dropdown-menu-v2/context.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/group-label.d.ts +3 -0
- package/build-types/dropdown-menu-v2/group-label.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/group.d.ts +3 -0
- package/build-types/dropdown-menu-v2/group.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/index.d.ts +39 -18
- package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/item-help-text.d.ts +6 -0
- package/build-types/dropdown-menu-v2/item-help-text.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/item-label.d.ts +6 -0
- package/build-types/dropdown-menu-v2/item-label.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/item.d.ts +3 -0
- package/build-types/dropdown-menu-v2/item.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/radio-item.d.ts +3 -0
- package/build-types/dropdown-menu-v2/radio-item.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/separator.d.ts +3 -0
- package/build-types/dropdown-menu-v2/separator.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/stories/index.story.d.ts +10 -10
- package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/styles.d.ts +14 -6
- package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/types.d.ts +6 -0
- package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts +8 -0
- package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts.map +1 -0
- package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -1
- package/build-types/form-token-field/types.d.ts +1 -0
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/index.d.ts +3 -1
- package/build-types/index.d.ts.map +1 -1
- package/build-types/input-control/input-base.d.ts.map +1 -1
- package/build-types/input-control/input-prefix-wrapper.d.ts +2 -2
- package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
- package/build-types/input-control/input-suffix-wrapper.d.ts +2 -2
- package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
- package/build-types/input-control/stories/index.story.d.ts +9 -0
- package/build-types/input-control/stories/index.story.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts +15 -9
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +23 -6
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
- package/build-types/navigator/index.d.ts +6 -6
- package/build-types/navigator/index.d.ts.map +1 -1
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/navigator/stories/index.story.d.ts +1 -1
- package/build-types/navigator/stories/index.story.d.ts.map +1 -1
- package/build-types/navigator/types.d.ts +3 -1
- package/build-types/navigator/types.d.ts.map +1 -1
- package/build-types/navigator/use-navigator.d.ts +1 -2
- package/build-types/navigator/use-navigator.d.ts.map +1 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/tabs/index.d.ts.map +1 -1
- package/build-types/tabs/styles.d.ts.map +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
- package/build-types/utils/config-values.d.ts +3 -3
- package/package.json +19 -19
- package/src/alignment-matrix-control/README.md +1 -5
- package/src/alignment-matrix-control/cell.tsx +3 -9
- package/src/alignment-matrix-control/icon.tsx +48 -30
- package/src/alignment-matrix-control/index.tsx +60 -50
- package/src/alignment-matrix-control/stories/index.story.tsx +3 -12
- package/src/alignment-matrix-control/styles.ts +113 -0
- package/src/alignment-matrix-control/types.ts +12 -1
- package/src/angle-picker-control/angle-circle.tsx +11 -9
- package/src/border-control/border-control/component.tsx +23 -16
- package/src/circular-option-picker/circular-option-picker-option.tsx +16 -19
- package/src/circular-option-picker/circular-option-picker.tsx +26 -12
- package/src/circular-option-picker/types.ts +2 -2
- package/src/clipboard-button/index.tsx +6 -6
- package/src/color-palette/test/utils.ts +21 -2
- package/src/color-palette/utils.ts +1 -3
- package/src/color-picker/color-copy-button.tsx +10 -8
- package/src/color-picker/hex-input.tsx +6 -10
- package/src/color-picker/input-with-slider.tsx +6 -10
- package/src/color-picker/styles.ts +1 -1
- package/src/combobox-control/types.ts +1 -0
- package/src/composite/group-label.tsx +30 -0
- package/src/composite/group.tsx +30 -0
- package/src/composite/hover.tsx +30 -0
- package/src/composite/index.tsx +61 -145
- package/src/composite/item.tsx +30 -0
- package/src/composite/legacy/index.tsx +2 -1
- package/src/composite/row.tsx +30 -0
- package/src/composite/store.ts +46 -0
- package/src/composite/stories/index.story.tsx +138 -265
- package/src/composite/typeahead.tsx +30 -0
- package/src/composite/types.ts +2 -2
- package/src/custom-gradient-picker/gradient-bar/control-points.tsx +10 -10
- package/src/custom-gradient-picker/style.scss +2 -21
- package/src/custom-select-control-v2/styles.ts +4 -4
- package/src/date-time/date/styles.ts +2 -2
- package/src/date-time/time/test/index.tsx +3 -6
- package/src/date-time/time/time-input/index.tsx +25 -25
- package/src/date-time/time/time-input/test/index.tsx +6 -7
- package/src/dimension-control/README.md +4 -0
- package/src/dimension-control/index.tsx +7 -1
- package/src/dimension-control/stories/index.story.tsx +7 -2
- package/src/dimension-control/test/__snapshots__/index.test.js.snap +16 -16
- package/src/dimension-control/test/index.test.js +1 -0
- package/src/draggable/index.tsx +4 -4
- package/src/dropdown-menu-v2/README.md +73 -60
- package/src/dropdown-menu-v2/checkbox-item.tsx +63 -0
- package/src/dropdown-menu-v2/context.tsx +13 -0
- package/src/dropdown-menu-v2/group-label.tsx +37 -0
- package/src/dropdown-menu-v2/group.tsx +26 -0
- package/src/dropdown-menu-v2/index.tsx +57 -197
- package/src/dropdown-menu-v2/item-help-text.tsx +23 -0
- package/src/dropdown-menu-v2/item-label.tsx +23 -0
- package/src/dropdown-menu-v2/item.tsx +50 -0
- package/src/dropdown-menu-v2/radio-item.tsx +70 -0
- package/src/dropdown-menu-v2/separator.tsx +27 -0
- package/src/dropdown-menu-v2/stories/index.story.tsx +295 -262
- package/src/dropdown-menu-v2/styles.ts +102 -66
- package/src/dropdown-menu-v2/test/index.tsx +159 -132
- package/src/dropdown-menu-v2/types.ts +7 -0
- package/src/dropdown-menu-v2/use-temporary-focus-visible-fix.ts +22 -0
- package/src/focal-point-picker/styles/focal-point-style.ts +6 -1
- package/src/form-toggle/style.scss +1 -1
- package/src/form-token-field/style.scss +2 -3
- package/src/form-token-field/types.ts +1 -0
- package/src/index.ts +5 -1
- package/src/input-control/index.tsx +2 -2
- package/src/input-control/input-base.tsx +4 -14
- package/src/input-control/input-prefix-wrapper.tsx +8 -4
- package/src/input-control/input-suffix-wrapper.tsx +4 -6
- package/src/input-control/reducer/reducer.ts +13 -10
- package/src/input-control/stories/index.story.tsx +31 -12
- package/src/input-control/styles/input-control-styles.tsx +42 -11
- package/src/input-control/types.ts +23 -7
- package/src/input-control/utils.ts +3 -3
- package/src/item-group/styles.ts +3 -3
- package/src/item-group/test/__snapshots__/index.js.snap +3 -3
- package/src/modal/index.tsx +5 -5
- package/src/modal/style.scss +5 -4
- package/src/navigation/index.tsx +4 -4
- package/src/navigation/styles/navigation-styles.tsx +3 -3
- package/src/navigator/index.ts +6 -6
- package/src/navigator/navigator-back-button/hook.ts +1 -1
- package/src/navigator/navigator-button/hook.ts +1 -1
- package/src/navigator/navigator-provider/README.md +2 -3
- package/src/navigator/navigator-provider/component.tsx +97 -82
- package/src/navigator/navigator-to-parent-button/component.tsx +1 -1
- package/src/navigator/stories/index.story.tsx +82 -253
- package/src/navigator/types.ts +3 -1
- package/src/navigator/use-navigator.ts +1 -3
- package/src/palette-edit/index.tsx +2 -2
- package/src/private-apis.ts +5 -18
- package/src/range-control/styles/range-control-styles.ts +7 -7
- package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -2
- package/src/resizable-box/style.scss +2 -2
- package/src/select-control/styles/select-control-styles.ts +5 -5
- package/src/slot-fill/bubbles-virtually/fill.tsx +4 -4
- package/src/snackbar/index.tsx +4 -4
- package/src/tab-panel/style.scss +0 -1
- package/src/tabs/index.tsx +8 -4
- package/src/tabs/styles.ts +2 -3
- package/src/text-control/style.scss +3 -2
- package/src/toggle-group-control/toggle-group-control/utils.ts +7 -7
- package/src/tools-panel/tools-panel/hook.ts +6 -6
- package/src/unit-control/styles/unit-control-styles.ts +2 -1
- package/src/utils/config-values.js +6 -4
- package/src/utils/hooks/use-update-effect.js +4 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -66
- package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -77
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
- package/build/navigator/navigator-back-button/index.js +0 -14
- package/build/navigator/navigator-back-button/index.js.map +0 -1
- package/build/navigator/navigator-button/index.js +0 -14
- package/build/navigator/navigator-button/index.js.map +0 -1
- package/build/navigator/navigator-provider/index.js +0 -14
- package/build/navigator/navigator-provider/index.js.map +0 -1
- package/build/navigator/navigator-screen/index.js +0 -14
- package/build/navigator/navigator-screen/index.js.map +0 -1
- package/build/navigator/navigator-to-parent-button/index.js +0 -14
- package/build/navigator/navigator-to-parent-button/index.js.map +0 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -63
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -72
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
- package/build-module/navigator/navigator-back-button/index.js +0 -2
- package/build-module/navigator/navigator-back-button/index.js.map +0 -1
- package/build-module/navigator/navigator-button/index.js +0 -2
- package/build-module/navigator/navigator-button/index.js.map +0 -1
- package/build-module/navigator/navigator-provider/index.js +0 -2
- package/build-module/navigator/navigator-provider/index.js.map +0 -1
- package/build-module/navigator/navigator-screen/index.js +0 -2
- package/build-module/navigator/navigator-screen/index.js.map +0 -1
- package/build-module/navigator/navigator-to-parent-button/index.js +0 -2
- package/build-module/navigator/navigator-to-parent-button/index.js.map +0 -1
- package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +0 -18
- package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +0 -1
- package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +0 -1
- package/build-types/navigator/navigator-back-button/index.d.ts +0 -2
- package/build-types/navigator/navigator-back-button/index.d.ts.map +0 -1
- package/build-types/navigator/navigator-button/index.d.ts +0 -2
- package/build-types/navigator/navigator-button/index.d.ts.map +0 -1
- package/build-types/navigator/navigator-provider/index.d.ts +0 -2
- package/build-types/navigator/navigator-provider/index.d.ts.map +0 -1
- package/build-types/navigator/navigator-screen/index.d.ts +0 -2
- package/build-types/navigator/navigator-screen/index.d.ts.map +0 -1
- package/build-types/navigator/navigator-to-parent-button/index.d.ts +0 -2
- package/build-types/navigator/navigator-to-parent-button/index.d.ts.map +0 -1
- package/src/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.ts +0 -77
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +0 -102
- package/src/navigator/navigator-back-button/index.ts +0 -1
- package/src/navigator/navigator-button/index.ts +0 -1
- package/src/navigator/navigator-provider/index.ts +0 -1
- package/src/navigator/navigator-screen/index.ts +0 -1
- package/src/navigator/navigator-to-parent-button/index.ts +0 -1
|
@@ -12,14 +12,7 @@ import { useState } from '@wordpress/element';
|
|
|
12
12
|
/**
|
|
13
13
|
* Internal dependencies
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
16
|
-
DropdownMenu,
|
|
17
|
-
DropdownMenuCheckboxItem,
|
|
18
|
-
DropdownMenuItem,
|
|
19
|
-
DropdownMenuRadioItem,
|
|
20
|
-
DropdownMenuSeparator,
|
|
21
|
-
DropdownMenuGroup,
|
|
22
|
-
} from '..';
|
|
15
|
+
import { DropdownMenuV2 } from '..';
|
|
23
16
|
|
|
24
17
|
const delay = ( delayInMs: number ) => {
|
|
25
18
|
return new Promise( ( resolve ) => setTimeout( resolve, delayInMs ) );
|
|
@@ -29,18 +22,24 @@ describe( 'DropdownMenu', () => {
|
|
|
29
22
|
// See https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/
|
|
30
23
|
it( 'should follow the WAI-ARIA spec', async () => {
|
|
31
24
|
render(
|
|
32
|
-
<
|
|
33
|
-
<
|
|
34
|
-
<
|
|
35
|
-
<
|
|
25
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
26
|
+
<DropdownMenuV2.Item>Dropdown menu item</DropdownMenuV2.Item>
|
|
27
|
+
<DropdownMenuV2.Separator />
|
|
28
|
+
<DropdownMenuV2
|
|
36
29
|
trigger={
|
|
37
|
-
<
|
|
30
|
+
<DropdownMenuV2.Item>
|
|
31
|
+
Dropdown submenu
|
|
32
|
+
</DropdownMenuV2.Item>
|
|
38
33
|
}
|
|
39
34
|
>
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
<DropdownMenuV2.Item>
|
|
36
|
+
Dropdown submenu item 1
|
|
37
|
+
</DropdownMenuV2.Item>
|
|
38
|
+
<DropdownMenuV2.Item>
|
|
39
|
+
Dropdown submenu item 2
|
|
40
|
+
</DropdownMenuV2.Item>
|
|
41
|
+
</DropdownMenuV2>
|
|
42
|
+
</DropdownMenuV2>
|
|
44
43
|
);
|
|
45
44
|
|
|
46
45
|
const toggleButton = screen.getByRole( 'button', {
|
|
@@ -95,9 +94,11 @@ describe( 'DropdownMenu', () => {
|
|
|
95
94
|
describe( 'pointer and keyboard interactions', () => {
|
|
96
95
|
it( 'should open and focus the menu when clicking the trigger', async () => {
|
|
97
96
|
render(
|
|
98
|
-
<
|
|
99
|
-
<
|
|
100
|
-
|
|
97
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
98
|
+
<DropdownMenuV2.Item>
|
|
99
|
+
Dropdown menu item
|
|
100
|
+
</DropdownMenuV2.Item>
|
|
101
|
+
</DropdownMenuV2>
|
|
101
102
|
);
|
|
102
103
|
|
|
103
104
|
const toggleButton = screen.getByRole( 'button', {
|
|
@@ -116,11 +117,13 @@ describe( 'DropdownMenu', () => {
|
|
|
116
117
|
|
|
117
118
|
it( 'should open and focus the first item when pressing the arrow down key on the trigger', async () => {
|
|
118
119
|
render(
|
|
119
|
-
<
|
|
120
|
-
<
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
120
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
121
|
+
<DropdownMenuV2.Item disabled>
|
|
122
|
+
First item
|
|
123
|
+
</DropdownMenuV2.Item>
|
|
124
|
+
<DropdownMenuV2.Item>Second item</DropdownMenuV2.Item>
|
|
125
|
+
<DropdownMenuV2.Item>Third item</DropdownMenuV2.Item>
|
|
126
|
+
</DropdownMenuV2>
|
|
124
127
|
);
|
|
125
128
|
|
|
126
129
|
const toggleButton = screen.getByRole( 'button', {
|
|
@@ -146,11 +149,13 @@ describe( 'DropdownMenu', () => {
|
|
|
146
149
|
|
|
147
150
|
it( 'should open and focus the first item when pressing the space key on the trigger', async () => {
|
|
148
151
|
render(
|
|
149
|
-
<
|
|
150
|
-
<
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
153
|
+
<DropdownMenuV2.Item disabled>
|
|
154
|
+
First item
|
|
155
|
+
</DropdownMenuV2.Item>
|
|
156
|
+
<DropdownMenuV2.Item>Second item</DropdownMenuV2.Item>
|
|
157
|
+
<DropdownMenuV2.Item>Third item</DropdownMenuV2.Item>
|
|
158
|
+
</DropdownMenuV2>
|
|
154
159
|
);
|
|
155
160
|
|
|
156
161
|
const toggleButton = screen.getByRole( 'button', {
|
|
@@ -176,9 +181,11 @@ describe( 'DropdownMenu', () => {
|
|
|
176
181
|
|
|
177
182
|
it( 'should close when pressing the escape key', async () => {
|
|
178
183
|
render(
|
|
179
|
-
<
|
|
180
|
-
<
|
|
181
|
-
|
|
184
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
185
|
+
<DropdownMenuV2.Item>
|
|
186
|
+
Dropdown menu item
|
|
187
|
+
</DropdownMenuV2.Item>
|
|
188
|
+
</DropdownMenuV2>
|
|
182
189
|
);
|
|
183
190
|
|
|
184
191
|
const trigger = screen.getByRole( 'button', {
|
|
@@ -205,12 +212,14 @@ describe( 'DropdownMenu', () => {
|
|
|
205
212
|
|
|
206
213
|
it( 'should close when clicking outside of the content', async () => {
|
|
207
214
|
render(
|
|
208
|
-
<
|
|
215
|
+
<DropdownMenuV2
|
|
209
216
|
defaultOpen
|
|
210
217
|
trigger={ <button>Open dropdown</button> }
|
|
211
218
|
>
|
|
212
|
-
<
|
|
213
|
-
|
|
219
|
+
<DropdownMenuV2.Item>
|
|
220
|
+
Dropdown menu item
|
|
221
|
+
</DropdownMenuV2.Item>
|
|
222
|
+
</DropdownMenuV2>
|
|
214
223
|
);
|
|
215
224
|
|
|
216
225
|
expect( screen.getByRole( 'menu' ) ).toBeInTheDocument();
|
|
@@ -223,12 +232,14 @@ describe( 'DropdownMenu', () => {
|
|
|
223
232
|
|
|
224
233
|
it( 'should close when clicking on a menu item', async () => {
|
|
225
234
|
render(
|
|
226
|
-
<
|
|
235
|
+
<DropdownMenuV2
|
|
227
236
|
defaultOpen
|
|
228
237
|
trigger={ <button>Open dropdown</button> }
|
|
229
238
|
>
|
|
230
|
-
<
|
|
231
|
-
|
|
239
|
+
<DropdownMenuV2.Item>
|
|
240
|
+
Dropdown menu item
|
|
241
|
+
</DropdownMenuV2.Item>
|
|
242
|
+
</DropdownMenuV2>
|
|
232
243
|
);
|
|
233
244
|
|
|
234
245
|
expect( screen.getByRole( 'menu' ) ).toBeInTheDocument();
|
|
@@ -241,14 +252,14 @@ describe( 'DropdownMenu', () => {
|
|
|
241
252
|
|
|
242
253
|
it( 'should not close when clicking on a menu item when the `hideOnClick` prop is set to `false`', async () => {
|
|
243
254
|
render(
|
|
244
|
-
<
|
|
255
|
+
<DropdownMenuV2
|
|
245
256
|
defaultOpen
|
|
246
257
|
trigger={ <button>Open dropdown</button> }
|
|
247
258
|
>
|
|
248
|
-
<
|
|
259
|
+
<DropdownMenuV2.Item hideOnClick={ false }>
|
|
249
260
|
Dropdown menu item
|
|
250
|
-
</
|
|
251
|
-
</
|
|
261
|
+
</DropdownMenuV2.Item>
|
|
262
|
+
</DropdownMenuV2>
|
|
252
263
|
);
|
|
253
264
|
|
|
254
265
|
expect( screen.getByRole( 'menu' ) ).toBeVisible();
|
|
@@ -261,14 +272,14 @@ describe( 'DropdownMenu', () => {
|
|
|
261
272
|
|
|
262
273
|
it( 'should not close when clicking on a disabled menu item', async () => {
|
|
263
274
|
render(
|
|
264
|
-
<
|
|
275
|
+
<DropdownMenuV2
|
|
265
276
|
defaultOpen
|
|
266
277
|
trigger={ <button>Open dropdown</button> }
|
|
267
278
|
>
|
|
268
|
-
<
|
|
279
|
+
<DropdownMenuV2.Item disabled>
|
|
269
280
|
Dropdown menu item
|
|
270
|
-
</
|
|
271
|
-
</
|
|
281
|
+
</DropdownMenuV2.Item>
|
|
282
|
+
</DropdownMenuV2>
|
|
272
283
|
);
|
|
273
284
|
|
|
274
285
|
expect( screen.getByRole( 'menu' ) ).toBeInTheDocument();
|
|
@@ -281,28 +292,34 @@ describe( 'DropdownMenu', () => {
|
|
|
281
292
|
|
|
282
293
|
it( 'should reveal submenu content when hovering over the submenu trigger', async () => {
|
|
283
294
|
render(
|
|
284
|
-
<
|
|
295
|
+
<DropdownMenuV2
|
|
285
296
|
defaultOpen
|
|
286
297
|
trigger={ <button>Open dropdown</button> }
|
|
287
298
|
>
|
|
288
|
-
<
|
|
289
|
-
|
|
290
|
-
|
|
299
|
+
<DropdownMenuV2.Item>
|
|
300
|
+
Dropdown menu item 1
|
|
301
|
+
</DropdownMenuV2.Item>
|
|
302
|
+
<DropdownMenuV2.Item>
|
|
303
|
+
Dropdown menu item 2
|
|
304
|
+
</DropdownMenuV2.Item>
|
|
305
|
+
<DropdownMenuV2
|
|
291
306
|
trigger={
|
|
292
|
-
<
|
|
307
|
+
<DropdownMenuV2.Item>
|
|
293
308
|
Dropdown submenu
|
|
294
|
-
</
|
|
309
|
+
</DropdownMenuV2.Item>
|
|
295
310
|
}
|
|
296
311
|
>
|
|
297
|
-
<
|
|
312
|
+
<DropdownMenuV2.Item>
|
|
298
313
|
Dropdown submenu item 1
|
|
299
|
-
</
|
|
300
|
-
<
|
|
314
|
+
</DropdownMenuV2.Item>
|
|
315
|
+
<DropdownMenuV2.Item>
|
|
301
316
|
Dropdown submenu item 2
|
|
302
|
-
</
|
|
303
|
-
</
|
|
304
|
-
<
|
|
305
|
-
|
|
317
|
+
</DropdownMenuV2.Item>
|
|
318
|
+
</DropdownMenuV2>
|
|
319
|
+
<DropdownMenuV2.Item>
|
|
320
|
+
Dropdown menu item 3
|
|
321
|
+
</DropdownMenuV2.Item>
|
|
322
|
+
</DropdownMenuV2>
|
|
306
323
|
);
|
|
307
324
|
|
|
308
325
|
// Before hover, submenu items are not rendered
|
|
@@ -326,28 +343,34 @@ describe( 'DropdownMenu', () => {
|
|
|
326
343
|
|
|
327
344
|
it( 'should navigate menu items and subitems using the arrow, spacebar and enter keys', async () => {
|
|
328
345
|
render(
|
|
329
|
-
<
|
|
346
|
+
<DropdownMenuV2
|
|
330
347
|
defaultOpen
|
|
331
348
|
trigger={ <button>Open dropdown</button> }
|
|
332
349
|
>
|
|
333
|
-
<
|
|
334
|
-
|
|
335
|
-
|
|
350
|
+
<DropdownMenuV2.Item>
|
|
351
|
+
Dropdown menu item 1
|
|
352
|
+
</DropdownMenuV2.Item>
|
|
353
|
+
<DropdownMenuV2.Item>
|
|
354
|
+
Dropdown menu item 2
|
|
355
|
+
</DropdownMenuV2.Item>
|
|
356
|
+
<DropdownMenuV2
|
|
336
357
|
trigger={
|
|
337
|
-
<
|
|
358
|
+
<DropdownMenuV2.Item>
|
|
338
359
|
Dropdown submenu
|
|
339
|
-
</
|
|
360
|
+
</DropdownMenuV2.Item>
|
|
340
361
|
}
|
|
341
362
|
>
|
|
342
|
-
<
|
|
363
|
+
<DropdownMenuV2.Item>
|
|
343
364
|
Dropdown submenu item 1
|
|
344
|
-
</
|
|
345
|
-
<
|
|
365
|
+
</DropdownMenuV2.Item>
|
|
366
|
+
<DropdownMenuV2.Item>
|
|
346
367
|
Dropdown submenu item 2
|
|
347
|
-
</
|
|
348
|
-
</
|
|
349
|
-
<
|
|
350
|
-
|
|
368
|
+
</DropdownMenuV2.Item>
|
|
369
|
+
</DropdownMenuV2>
|
|
370
|
+
<DropdownMenuV2.Item>
|
|
371
|
+
Dropdown menu item 3
|
|
372
|
+
</DropdownMenuV2.Item>
|
|
373
|
+
</DropdownMenuV2>
|
|
351
374
|
);
|
|
352
375
|
|
|
353
376
|
// The menu is focused automatically when `defaultOpen` is set.
|
|
@@ -450,32 +473,32 @@ describe( 'DropdownMenu', () => {
|
|
|
450
473
|
const ControlledRadioGroup = () => {
|
|
451
474
|
const [ radioValue, setRadioValue ] = useState( 'two' );
|
|
452
475
|
const onRadioChange: React.ComponentProps<
|
|
453
|
-
typeof
|
|
476
|
+
typeof DropdownMenuV2.RadioItem
|
|
454
477
|
>[ 'onChange' ] = ( e ) => {
|
|
455
478
|
onRadioValueChangeSpy( e.target.value );
|
|
456
479
|
setRadioValue( e.target.value );
|
|
457
480
|
};
|
|
458
481
|
return (
|
|
459
|
-
<
|
|
460
|
-
<
|
|
461
|
-
<
|
|
482
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
483
|
+
<DropdownMenuV2.Group>
|
|
484
|
+
<DropdownMenuV2.RadioItem
|
|
462
485
|
name="radio-test"
|
|
463
486
|
value="radio-one"
|
|
464
487
|
checked={ radioValue === 'radio-one' }
|
|
465
488
|
onChange={ onRadioChange }
|
|
466
489
|
>
|
|
467
490
|
Radio item one
|
|
468
|
-
</
|
|
469
|
-
<
|
|
491
|
+
</DropdownMenuV2.RadioItem>
|
|
492
|
+
<DropdownMenuV2.RadioItem
|
|
470
493
|
name="radio-test"
|
|
471
494
|
value="radio-two"
|
|
472
495
|
checked={ radioValue === 'radio-two' }
|
|
473
496
|
onChange={ onRadioChange }
|
|
474
497
|
>
|
|
475
498
|
Radio item two
|
|
476
|
-
</
|
|
477
|
-
</
|
|
478
|
-
</
|
|
499
|
+
</DropdownMenuV2.RadioItem>
|
|
500
|
+
</DropdownMenuV2.Group>
|
|
501
|
+
</DropdownMenuV2>
|
|
479
502
|
);
|
|
480
503
|
};
|
|
481
504
|
|
|
@@ -533,9 +556,9 @@ describe( 'DropdownMenu', () => {
|
|
|
533
556
|
it( 'should check radio items and keep the menu open when clicking (uncontrolled)', async () => {
|
|
534
557
|
const onRadioValueChangeSpy = jest.fn();
|
|
535
558
|
render(
|
|
536
|
-
<
|
|
537
|
-
<
|
|
538
|
-
<
|
|
559
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
560
|
+
<DropdownMenuV2.Group>
|
|
561
|
+
<DropdownMenuV2.RadioItem
|
|
539
562
|
name="radio-test"
|
|
540
563
|
value="radio-one"
|
|
541
564
|
onChange={ ( e ) =>
|
|
@@ -543,8 +566,8 @@ describe( 'DropdownMenu', () => {
|
|
|
543
566
|
}
|
|
544
567
|
>
|
|
545
568
|
Radio item one
|
|
546
|
-
</
|
|
547
|
-
<
|
|
569
|
+
</DropdownMenuV2.RadioItem>
|
|
570
|
+
<DropdownMenuV2.RadioItem
|
|
548
571
|
name="radio-test"
|
|
549
572
|
value="radio-two"
|
|
550
573
|
defaultChecked
|
|
@@ -553,9 +576,9 @@ describe( 'DropdownMenu', () => {
|
|
|
553
576
|
}
|
|
554
577
|
>
|
|
555
578
|
Radio item two
|
|
556
|
-
</
|
|
557
|
-
</
|
|
558
|
-
</
|
|
579
|
+
</DropdownMenuV2.RadioItem>
|
|
580
|
+
</DropdownMenuV2.Group>
|
|
581
|
+
</DropdownMenuV2>
|
|
559
582
|
);
|
|
560
583
|
|
|
561
584
|
// Open dropdown
|
|
@@ -617,8 +640,8 @@ describe( 'DropdownMenu', () => {
|
|
|
617
640
|
useState< boolean >();
|
|
618
641
|
|
|
619
642
|
return (
|
|
620
|
-
<
|
|
621
|
-
<
|
|
643
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
644
|
+
<DropdownMenuV2.CheckboxItem
|
|
622
645
|
name="item-one"
|
|
623
646
|
value="item-one-value"
|
|
624
647
|
checked={ itemOneChecked }
|
|
@@ -632,9 +655,9 @@ describe( 'DropdownMenu', () => {
|
|
|
632
655
|
} }
|
|
633
656
|
>
|
|
634
657
|
Checkbox item one
|
|
635
|
-
</
|
|
658
|
+
</DropdownMenuV2.CheckboxItem>
|
|
636
659
|
|
|
637
|
-
<
|
|
660
|
+
<DropdownMenuV2.CheckboxItem
|
|
638
661
|
name="item-two"
|
|
639
662
|
value="item-two-value"
|
|
640
663
|
checked={ itemTwoChecked }
|
|
@@ -648,8 +671,8 @@ describe( 'DropdownMenu', () => {
|
|
|
648
671
|
} }
|
|
649
672
|
>
|
|
650
673
|
Checkbox item two
|
|
651
|
-
</
|
|
652
|
-
</
|
|
674
|
+
</DropdownMenuV2.CheckboxItem>
|
|
675
|
+
</DropdownMenuV2>
|
|
653
676
|
);
|
|
654
677
|
};
|
|
655
678
|
|
|
@@ -740,8 +763,8 @@ describe( 'DropdownMenu', () => {
|
|
|
740
763
|
const onCheckboxValueChangeSpy = jest.fn();
|
|
741
764
|
|
|
742
765
|
render(
|
|
743
|
-
<
|
|
744
|
-
<
|
|
766
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
767
|
+
<DropdownMenuV2.CheckboxItem
|
|
745
768
|
name="item-one"
|
|
746
769
|
value="item-one-value"
|
|
747
770
|
onChange={ ( e ) => {
|
|
@@ -753,9 +776,9 @@ describe( 'DropdownMenu', () => {
|
|
|
753
776
|
} }
|
|
754
777
|
>
|
|
755
778
|
Checkbox item one
|
|
756
|
-
</
|
|
779
|
+
</DropdownMenuV2.CheckboxItem>
|
|
757
780
|
|
|
758
|
-
<
|
|
781
|
+
<DropdownMenuV2.CheckboxItem
|
|
759
782
|
name="item-two"
|
|
760
783
|
value="item-two-value"
|
|
761
784
|
defaultChecked
|
|
@@ -768,8 +791,8 @@ describe( 'DropdownMenu', () => {
|
|
|
768
791
|
} }
|
|
769
792
|
>
|
|
770
793
|
Checkbox item two
|
|
771
|
-
</
|
|
772
|
-
</
|
|
794
|
+
</DropdownMenuV2.CheckboxItem>
|
|
795
|
+
</DropdownMenuV2>
|
|
773
796
|
);
|
|
774
797
|
|
|
775
798
|
// Open dropdown
|
|
@@ -858,9 +881,11 @@ describe( 'DropdownMenu', () => {
|
|
|
858
881
|
it( 'should be modal by default', async () => {
|
|
859
882
|
render(
|
|
860
883
|
<>
|
|
861
|
-
<
|
|
862
|
-
<
|
|
863
|
-
|
|
884
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
885
|
+
<DropdownMenuV2.Item>
|
|
886
|
+
Dropdown menu item
|
|
887
|
+
</DropdownMenuV2.Item>
|
|
888
|
+
</DropdownMenuV2>
|
|
864
889
|
<button>Button outside of dropdown</button>
|
|
865
890
|
</>
|
|
866
891
|
);
|
|
@@ -885,12 +910,14 @@ describe( 'DropdownMenu', () => {
|
|
|
885
910
|
it( 'should not be modal when the `modal` prop is set to `false`', async () => {
|
|
886
911
|
render(
|
|
887
912
|
<>
|
|
888
|
-
<
|
|
913
|
+
<DropdownMenuV2
|
|
889
914
|
trigger={ <button>Open dropdown</button> }
|
|
890
915
|
modal={ false }
|
|
891
916
|
>
|
|
892
|
-
<
|
|
893
|
-
|
|
917
|
+
<DropdownMenuV2.Item>
|
|
918
|
+
Dropdown menu item
|
|
919
|
+
</DropdownMenuV2.Item>
|
|
920
|
+
</DropdownMenuV2>
|
|
894
921
|
<button>Button outside of dropdown</button>
|
|
895
922
|
</>
|
|
896
923
|
);
|
|
@@ -922,11 +949,11 @@ describe( 'DropdownMenu', () => {
|
|
|
922
949
|
describe( 'items prefix and suffix', () => {
|
|
923
950
|
it( 'should display a prefix on regular items', async () => {
|
|
924
951
|
render(
|
|
925
|
-
<
|
|
926
|
-
<
|
|
952
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
953
|
+
<DropdownMenuV2.Item prefix={ <>Item prefix</> }>
|
|
927
954
|
Dropdown menu item
|
|
928
|
-
</
|
|
929
|
-
</
|
|
955
|
+
</DropdownMenuV2.Item>
|
|
956
|
+
</DropdownMenuV2>
|
|
930
957
|
);
|
|
931
958
|
|
|
932
959
|
// Click to open the menu
|
|
@@ -946,11 +973,11 @@ describe( 'DropdownMenu', () => {
|
|
|
946
973
|
|
|
947
974
|
it( 'should display a suffix on regular items', async () => {
|
|
948
975
|
render(
|
|
949
|
-
<
|
|
950
|
-
<
|
|
976
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
977
|
+
<DropdownMenuV2.Item suffix={ <>Item suffix</> }>
|
|
951
978
|
Dropdown menu item
|
|
952
|
-
</
|
|
953
|
-
</
|
|
979
|
+
</DropdownMenuV2.Item>
|
|
980
|
+
</DropdownMenuV2>
|
|
954
981
|
);
|
|
955
982
|
|
|
956
983
|
// Click to open the menu
|
|
@@ -970,15 +997,15 @@ describe( 'DropdownMenu', () => {
|
|
|
970
997
|
|
|
971
998
|
it( 'should display a suffix on radio items', async () => {
|
|
972
999
|
render(
|
|
973
|
-
<
|
|
974
|
-
<
|
|
1000
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
1001
|
+
<DropdownMenuV2.RadioItem
|
|
975
1002
|
name="radio-test"
|
|
976
1003
|
value="radio-one"
|
|
977
1004
|
suffix="Radio suffix"
|
|
978
1005
|
>
|
|
979
1006
|
Radio item one
|
|
980
|
-
</
|
|
981
|
-
</
|
|
1007
|
+
</DropdownMenuV2.RadioItem>
|
|
1008
|
+
</DropdownMenuV2>
|
|
982
1009
|
);
|
|
983
1010
|
|
|
984
1011
|
// Click to open the menu
|
|
@@ -998,15 +1025,15 @@ describe( 'DropdownMenu', () => {
|
|
|
998
1025
|
|
|
999
1026
|
it( 'should display a suffix on checkbox items', async () => {
|
|
1000
1027
|
render(
|
|
1001
|
-
<
|
|
1002
|
-
<
|
|
1028
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
1029
|
+
<DropdownMenuV2.CheckboxItem
|
|
1003
1030
|
name="checkbox-test"
|
|
1004
1031
|
value="checkbox-one"
|
|
1005
1032
|
suffix="Checkbox suffix"
|
|
1006
1033
|
>
|
|
1007
1034
|
Checkbox item one
|
|
1008
|
-
</
|
|
1009
|
-
</
|
|
1035
|
+
</DropdownMenuV2.CheckboxItem>
|
|
1036
|
+
</DropdownMenuV2>
|
|
1010
1037
|
);
|
|
1011
1038
|
|
|
1012
1039
|
// Click to open the menu
|
|
@@ -1028,10 +1055,10 @@ describe( 'DropdownMenu', () => {
|
|
|
1028
1055
|
describe( 'typeahead', () => {
|
|
1029
1056
|
it( 'should highlight matching item', async () => {
|
|
1030
1057
|
render(
|
|
1031
|
-
<
|
|
1032
|
-
<
|
|
1033
|
-
<
|
|
1034
|
-
</
|
|
1058
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
1059
|
+
<DropdownMenuV2.Item>One</DropdownMenuV2.Item>
|
|
1060
|
+
<DropdownMenuV2.Item>Two</DropdownMenuV2.Item>
|
|
1061
|
+
</DropdownMenuV2>
|
|
1035
1062
|
);
|
|
1036
1063
|
|
|
1037
1064
|
// Click to open the menu
|
|
@@ -1061,10 +1088,10 @@ describe( 'DropdownMenu', () => {
|
|
|
1061
1088
|
|
|
1062
1089
|
it( 'should keep previous focus when no matches are found', async () => {
|
|
1063
1090
|
render(
|
|
1064
|
-
<
|
|
1065
|
-
<
|
|
1066
|
-
<
|
|
1067
|
-
</
|
|
1091
|
+
<DropdownMenuV2 trigger={ <button>Open dropdown</button> }>
|
|
1092
|
+
<DropdownMenuV2.Item>One</DropdownMenuV2.Item>
|
|
1093
|
+
<DropdownMenuV2.Item>Two</DropdownMenuV2.Item>
|
|
1094
|
+
</DropdownMenuV2>
|
|
1068
1095
|
);
|
|
1069
1096
|
|
|
1070
1097
|
// Click to open the menu
|
|
@@ -87,6 +87,13 @@ export interface DropdownMenuGroupProps {
|
|
|
87
87
|
children: React.ReactNode;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
export interface DropdownMenuGroupLabelProps {
|
|
91
|
+
/**
|
|
92
|
+
* The contents of the dropdown menu group.
|
|
93
|
+
*/
|
|
94
|
+
children: React.ReactNode;
|
|
95
|
+
}
|
|
96
|
+
|
|
90
97
|
export interface DropdownMenuItemProps {
|
|
91
98
|
/**
|
|
92
99
|
* The contents of the menu item.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useState, flushSync } from '@wordpress/element';
|
|
5
|
+
|
|
6
|
+
export function useTemporaryFocusVisibleFix( {
|
|
7
|
+
onBlur: onBlurProp,
|
|
8
|
+
}: {
|
|
9
|
+
onBlur?: React.FocusEventHandler< HTMLDivElement >;
|
|
10
|
+
} ) {
|
|
11
|
+
const [ focusVisible, setFocusVisible ] = useState( false );
|
|
12
|
+
return {
|
|
13
|
+
'data-focus-visible': focusVisible || undefined,
|
|
14
|
+
onFocusVisible: () => {
|
|
15
|
+
flushSync( () => setFocusVisible( true ) );
|
|
16
|
+
},
|
|
17
|
+
onBlur: ( ( event ) => {
|
|
18
|
+
onBlurProp?.( event );
|
|
19
|
+
setFocusVisible( false );
|
|
20
|
+
} ) as React.FocusEventHandler< HTMLDivElement >,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import styled from '@emotion/styled';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { CONFIG } from '../../utils';
|
|
10
|
+
|
|
6
11
|
export const PointerCircle = styled.div`
|
|
7
12
|
background-color: transparent;
|
|
8
13
|
cursor: grab;
|
|
@@ -15,7 +20,7 @@ export const PointerCircle = styled.div`
|
|
|
15
20
|
z-index: 10000;
|
|
16
21
|
background: rgba( 255, 255, 255, 0.4 );
|
|
17
22
|
border: 1px solid rgba( 255, 255, 255, 0.4 );
|
|
18
|
-
border-radius:
|
|
23
|
+
border-radius: ${ CONFIG.radiusRound };
|
|
19
24
|
backdrop-filter: blur( 16px ) saturate( 180% );
|
|
20
25
|
box-shadow: rgb( 0 0 0 / 10% ) 0px 0px 8px;
|
|
21
26
|
|
|
@@ -54,7 +54,7 @@ $transition-duration: 0.2s;
|
|
|
54
54
|
left: math.div($toggle-thumb-size, 6);
|
|
55
55
|
width: $toggle-thumb-size;
|
|
56
56
|
height: $toggle-thumb-size;
|
|
57
|
-
border-radius:
|
|
57
|
+
border-radius: $radius-round;
|
|
58
58
|
transition:
|
|
59
59
|
$transition-duration transform ease,
|
|
60
60
|
$transition-duration background-color ease-out;
|
|
@@ -102,7 +102,6 @@
|
|
|
102
102
|
&.is-error {
|
|
103
103
|
.components-form-token-field__token-text {
|
|
104
104
|
color: $alert-red;
|
|
105
|
-
border-radius: 4px 0 0 4px;
|
|
106
105
|
padding: 0 4px 0 6px;
|
|
107
106
|
}
|
|
108
107
|
}
|
|
@@ -133,7 +132,7 @@
|
|
|
133
132
|
}
|
|
134
133
|
|
|
135
134
|
.components-form-token-field__token-text {
|
|
136
|
-
border-radius:
|
|
135
|
+
border-radius: $radius-x-small 0 0 $radius-x-small;
|
|
137
136
|
padding: 0 0 0 8px;
|
|
138
137
|
white-space: nowrap;
|
|
139
138
|
overflow: hidden;
|
|
@@ -142,7 +141,7 @@
|
|
|
142
141
|
|
|
143
142
|
.components-form-token-field__remove-token.components-button {
|
|
144
143
|
cursor: pointer;
|
|
145
|
-
border-radius: 0
|
|
144
|
+
border-radius: 0 $radius-x-small $radius-x-small 0;
|
|
146
145
|
padding: 0 2px;
|
|
147
146
|
color: $gray-900;
|
|
148
147
|
line-height: 10px;
|
package/src/index.ts
CHANGED
|
@@ -12,7 +12,11 @@ export {
|
|
|
12
12
|
} from '@wordpress/primitives';
|
|
13
13
|
|
|
14
14
|
// Components.
|
|
15
|
-
export {
|
|
15
|
+
export {
|
|
16
|
+
/** @deprecated Import `AlignmentMatrixControl` instead. */
|
|
17
|
+
default as __experimentalAlignmentMatrixControl,
|
|
18
|
+
default as AlignmentMatrixControl,
|
|
19
|
+
} from './alignment-matrix-control';
|
|
16
20
|
export {
|
|
17
21
|
default as Animate,
|
|
18
22
|
getAnimateClassName as __unstableGetAnimateClassName,
|