@wordpress/components 28.6.0 → 28.8.1-next.5368f64a9.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 +107 -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/context.js +1 -1
- package/build/composite/context.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 +63 -118
- 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 +59 -7
- 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/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/index.js +1 -1
- package/build/date-time/date/index.js.map +1 -1
- package/build/date-time/date/styles.js +37 -26
- package/build/date-time/date/styles.js.map +1 -1
- package/build/date-time/date/use-lilius/index.js +163 -0
- package/build/date-time/date/use-lilius/index.js.map +1 -0
- 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 +13 -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 +16 -9
- 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-screen/component.js +5 -0
- package/build/navigator/navigator-screen/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 +1 -14
- 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/slot-fill/index.js +1 -0
- package/build/slot-fill/index.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/tabs/tablist.js +5 -4
- package/build/tabs/tablist.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/element-rect.js +73 -105
- package/build/utils/element-rect.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/context.js +1 -1
- package/build-module/composite/context.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 +64 -118
- 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 +57 -8
- 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/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/index.js +1 -2
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/date-time/date/styles.js +33 -26
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/date-time/date/use-lilius/index.js +158 -0
- package/build-module/date-time/date/use-lilius/index.js.map +1 -0
- 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 +3 -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 +17 -9
- 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-screen/component.js +4 -0
- package/build-module/navigator/navigator-screen/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 +1 -14
- 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/slot-fill/index.js +1 -0
- package/build-module/slot-fill/index.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/tabs/tablist.js +5 -4
- package/build-module/tabs/tablist.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/element-rect.js +74 -105
- package/build-module/utils/element-rect.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 -27
- package/build-style/style.css +11 -27
- 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/context.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 +63 -47
- 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 +23 -3
- package/build-types/composite/legacy/index.d.ts.map +1 -1
- package/build-types/composite/legacy/stories/index.story.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/stories/index.story.d.ts +9 -8
- 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 +12 -11
- package/build-types/composite/types.d.ts.map +1 -1
- package/build-types/date-time/date/index.d.ts +0 -3
- package/build-types/date-time/date/index.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts.map +1 -1
- package/build-types/date-time/date/test/use-lilius.d.ts +2 -0
- package/build-types/date-time/date/test/use-lilius.d.ts.map +1 -0
- package/build-types/date-time/date/use-lilius/index.d.ts +169 -0
- package/build-types/date-time/date/use-lilius/index.d.ts.map +1 -0
- 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 +4 -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/modal/index.d.ts.map +1 -1
- package/build-types/modal/stories/index.story.d.ts +3 -0
- package/build-types/modal/stories/index.story.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/navigator-screen/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/slot-fill/index.d.ts +3 -0
- package/build-types/slot-fill/index.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/tabs/tablist.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/build-types/utils/element-rect.d.ts +32 -74
- package/build-types/utils/element-rect.d.ts.map +1 -1
- package/package.json +19 -20
- 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/README.md +5 -24
- package/src/composite/{context.ts → context.tsx} +1 -2
- 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 +71 -166
- package/src/composite/item.tsx +30 -0
- package/src/composite/legacy/index.tsx +73 -11
- package/src/composite/legacy/stories/index.story.tsx +2 -1
- package/src/composite/legacy/test/index.tsx +57 -1
- package/src/composite/row.tsx +30 -0
- package/src/composite/stories/index.story.tsx +254 -365
- package/src/composite/typeahead.tsx +30 -0
- package/src/composite/types.ts +14 -16
- 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/index.tsx +1 -1
- package/src/date-time/date/styles.ts +33 -13
- package/src/date-time/date/test/use-lilius.ts +417 -0
- package/src/date-time/date/use-lilius/index.ts +394 -0
- 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 +6 -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 +21 -12
- package/src/modal/stories/index.story.tsx +8 -14
- package/src/modal/style.scss +5 -9
- 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-screen/component.tsx +7 -0
- package/src/navigator/navigator-to-parent-button/component.tsx +1 -1
- package/src/navigator/stories/index.story.tsx +82 -253
- package/src/navigator/test/index.tsx +8 -0
- 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 +1 -23
- 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/README.md +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/slot-fill/index.tsx +1 -0
- 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 +42 -14
- package/src/tabs/tablist.tsx +5 -4
- 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/element-rect.ts +93 -130
- 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/composite/stories/utils.d.ts +0 -29
- package/build-types/composite/stories/utils.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/composite/stories/utils.tsx +0 -76
- 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
package/src/draggable/index.tsx
CHANGED
|
@@ -71,7 +71,7 @@ export function Draggable( {
|
|
|
71
71
|
__experimentalDragComponent: dragComponent,
|
|
72
72
|
}: DraggableProps ) {
|
|
73
73
|
const dragComponentRef = useRef< HTMLDivElement >( null );
|
|
74
|
-
const
|
|
74
|
+
const cleanupRef = useRef( () => {} );
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
77
|
* Removes the element clone, resets cursor, and removes drag listener.
|
|
@@ -80,7 +80,7 @@ export function Draggable( {
|
|
|
80
80
|
*/
|
|
81
81
|
function end( event: DragEvent ) {
|
|
82
82
|
event.preventDefault();
|
|
83
|
-
|
|
83
|
+
cleanupRef.current();
|
|
84
84
|
|
|
85
85
|
if ( onDragEnd ) {
|
|
86
86
|
onDragEnd( event );
|
|
@@ -216,7 +216,7 @@ export function Draggable( {
|
|
|
216
216
|
onDragStart( event );
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
-
|
|
219
|
+
cleanupRef.current = () => {
|
|
220
220
|
// Remove drag clone.
|
|
221
221
|
if ( cloneWrapper && cloneWrapper.parentNode ) {
|
|
222
222
|
cloneWrapper.parentNode.removeChild( cloneWrapper );
|
|
@@ -235,7 +235,7 @@ export function Draggable( {
|
|
|
235
235
|
|
|
236
236
|
useEffect(
|
|
237
237
|
() => () => {
|
|
238
|
-
|
|
238
|
+
cleanupRef.current();
|
|
239
239
|
},
|
|
240
240
|
[]
|
|
241
241
|
);
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# `
|
|
1
|
+
# `DropdownMenuV2`
|
|
2
2
|
|
|
3
3
|
<div class="callout callout-alert">
|
|
4
4
|
This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
|
-
`
|
|
8
|
-
|
|
7
|
+
`DropdownMenuV2` displays a menu to the user (such as a set of actions or functions) triggered by a button.
|
|
9
8
|
|
|
10
9
|
## Design guidelines
|
|
11
10
|
|
|
@@ -46,7 +45,7 @@ This component is still highly experimental, and it's not normally accessible to
|
|
|
46
45
|
|
|
47
46
|
The component exposes a set of components that are meant to be used in combination with each other in order to implement a `DropdownMenu` correctly.
|
|
48
47
|
|
|
49
|
-
### `
|
|
48
|
+
### `DropdownMenuV2`
|
|
50
49
|
|
|
51
50
|
The root component, used to specify the menu's trigger and its contents.
|
|
52
51
|
|
|
@@ -58,62 +57,62 @@ The component accepts the following props:
|
|
|
58
57
|
|
|
59
58
|
The trigger button
|
|
60
59
|
|
|
61
|
-
-
|
|
60
|
+
- Required: yes
|
|
62
61
|
|
|
63
62
|
##### `children`: `React.ReactNode`
|
|
64
63
|
|
|
65
64
|
The contents of the dropdown
|
|
66
65
|
|
|
67
|
-
-
|
|
66
|
+
- Required: yes
|
|
68
67
|
|
|
69
68
|
##### `defaultOpen`: `boolean`
|
|
70
69
|
|
|
71
70
|
The open state of the dropdown menu when it is initially rendered. Use when not wanting to control its open state.
|
|
72
71
|
|
|
73
|
-
-
|
|
74
|
-
-
|
|
72
|
+
- Required: no
|
|
73
|
+
- Default: `false`
|
|
75
74
|
|
|
76
75
|
##### `open`: `boolean`
|
|
77
76
|
|
|
78
77
|
The controlled open state of the dropdown menu. Must be used in conjunction with `onOpenChange`.
|
|
79
78
|
|
|
80
|
-
-
|
|
79
|
+
- Required: no
|
|
81
80
|
|
|
82
81
|
##### `onOpenChange`: `(open: boolean) => void`
|
|
83
82
|
|
|
84
83
|
Event handler called when the open state of the dropdown menu changes.
|
|
85
84
|
|
|
86
|
-
-
|
|
85
|
+
- Required: no
|
|
87
86
|
|
|
88
87
|
##### `modal`: `boolean`
|
|
89
88
|
|
|
90
89
|
The modality of the dropdown menu. When set to true, interaction with outside elements will be disabled and only menu content will be visible to screen readers.
|
|
91
90
|
|
|
92
|
-
-
|
|
93
|
-
-
|
|
91
|
+
- Required: no
|
|
92
|
+
- Default: `true`
|
|
94
93
|
|
|
95
94
|
##### `placement`: ``'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'`
|
|
96
95
|
|
|
97
96
|
The placement of the dropdown menu popover.
|
|
98
97
|
|
|
99
|
-
-
|
|
100
|
-
-
|
|
98
|
+
- Required: no
|
|
99
|
+
- Default: `'bottom-start'` for root-level menus, `'right-start'` for nested menus
|
|
101
100
|
|
|
102
101
|
##### `gutter`: `number`
|
|
103
102
|
|
|
104
103
|
The distance in pixels from the trigger.
|
|
105
104
|
|
|
106
|
-
-
|
|
107
|
-
-
|
|
105
|
+
- Required: no
|
|
106
|
+
- Default: `8` for root-level menus, `16` for nested menus
|
|
108
107
|
|
|
109
108
|
##### `shift`: `number`
|
|
110
109
|
|
|
111
110
|
The skidding of the popover along the anchor element. Can be set to negative values to make the popover shift to the opposite side.
|
|
112
111
|
|
|
113
|
-
-
|
|
114
|
-
-
|
|
112
|
+
- Required: no
|
|
113
|
+
- Default: `0` for root-level menus, `-8` for nested menus
|
|
115
114
|
|
|
116
|
-
### `
|
|
115
|
+
### `DropdownMenuV2.Item`
|
|
117
116
|
|
|
118
117
|
Used to render a menu item.
|
|
119
118
|
|
|
@@ -125,35 +124,35 @@ The component accepts the following props:
|
|
|
125
124
|
|
|
126
125
|
The contents of the item
|
|
127
126
|
|
|
128
|
-
-
|
|
127
|
+
- Required: yes
|
|
129
128
|
|
|
130
129
|
##### `prefix`: `React.ReactNode`
|
|
131
130
|
|
|
132
131
|
The contents of the item's prefix.
|
|
133
132
|
|
|
134
|
-
-
|
|
133
|
+
- Required: no
|
|
135
134
|
|
|
136
135
|
##### `suffix`: `React.ReactNode`
|
|
137
136
|
|
|
138
137
|
The contents of the item's suffix.
|
|
139
138
|
|
|
140
|
-
-
|
|
139
|
+
- Required: no
|
|
141
140
|
|
|
142
141
|
##### `hideOnClick`: `boolean`
|
|
143
142
|
|
|
144
143
|
Whether to hide the dropdown menu when the menu item is clicked.
|
|
145
144
|
|
|
146
|
-
-
|
|
147
|
-
-
|
|
145
|
+
- Required: no
|
|
146
|
+
- Default: `true`
|
|
148
147
|
|
|
149
148
|
##### `disabled`: `boolean`
|
|
150
149
|
|
|
151
150
|
Determines if the element is disabled.
|
|
152
151
|
|
|
153
|
-
-
|
|
154
|
-
-
|
|
152
|
+
- Required: no
|
|
153
|
+
- Default: `false`
|
|
155
154
|
|
|
156
|
-
### `
|
|
155
|
+
### `DropdownMenuV2.CheckboxItem`
|
|
157
156
|
|
|
158
157
|
Used to render a checkbox item.
|
|
159
158
|
|
|
@@ -165,61 +164,61 @@ The component accepts the following props:
|
|
|
165
164
|
|
|
166
165
|
The contents of the item
|
|
167
166
|
|
|
168
|
-
-
|
|
167
|
+
- Required: yes
|
|
169
168
|
|
|
170
169
|
##### `suffix`: `React.ReactNode`
|
|
171
170
|
|
|
172
171
|
The contents of the item's suffix.
|
|
173
172
|
|
|
174
|
-
-
|
|
173
|
+
- Required: no
|
|
175
174
|
|
|
176
175
|
##### `hideOnClick`: `boolean`
|
|
177
176
|
|
|
178
177
|
Whether to hide the dropdown menu when the menu item is clicked.
|
|
179
178
|
|
|
180
|
-
-
|
|
181
|
-
-
|
|
179
|
+
- Required: no
|
|
180
|
+
- Default: `false`
|
|
182
181
|
|
|
183
182
|
##### `disabled`: `boolean`
|
|
184
183
|
|
|
185
184
|
Determines if the element is disabled.
|
|
186
185
|
|
|
187
|
-
-
|
|
188
|
-
-
|
|
186
|
+
- Required: no
|
|
187
|
+
- Default: `false`
|
|
189
188
|
|
|
190
189
|
##### `name`: `string`
|
|
191
190
|
|
|
192
191
|
The checkbox item's name.
|
|
193
192
|
|
|
194
|
-
-
|
|
193
|
+
- Required: yes
|
|
195
194
|
|
|
196
195
|
##### `value`: `string`
|
|
197
196
|
|
|
198
197
|
The checkbox item's value, useful when using multiple checkbox items
|
|
199
|
-
|
|
198
|
+
associated to the same `name`.
|
|
200
199
|
|
|
201
|
-
-
|
|
200
|
+
- Required: no
|
|
202
201
|
|
|
203
202
|
##### `checked`: `boolean`
|
|
204
203
|
|
|
205
204
|
The checkbox item's value, useful when using multiple checkbox items
|
|
206
|
-
|
|
205
|
+
associated to the same `name`.
|
|
207
206
|
|
|
208
|
-
-
|
|
207
|
+
- Required: no
|
|
209
208
|
|
|
210
209
|
##### `defaultChecked`: `boolean`
|
|
211
210
|
|
|
212
211
|
The checked state of the checkbox menu item when it is initially rendered. Use when not wanting to control its checked state.
|
|
213
212
|
|
|
214
|
-
-
|
|
213
|
+
- Required: no
|
|
215
214
|
|
|
216
215
|
##### `onChange`: `( event: React.ChangeEvent< HTMLInputElement > ) => void;`
|
|
217
216
|
|
|
218
217
|
Event handler called when the checked state of the checkbox menu item changes.
|
|
219
218
|
|
|
220
|
-
-
|
|
219
|
+
- Required: no
|
|
221
220
|
|
|
222
|
-
### `
|
|
221
|
+
### `DropdownMenuV2.RadioItem`
|
|
223
222
|
|
|
224
223
|
Used to render a radio item.
|
|
225
224
|
|
|
@@ -231,60 +230,60 @@ The component accepts the following props:
|
|
|
231
230
|
|
|
232
231
|
The contents of the item
|
|
233
232
|
|
|
234
|
-
-
|
|
233
|
+
- Required: yes
|
|
235
234
|
|
|
236
235
|
##### `suffix`: `React.ReactNode`
|
|
237
236
|
|
|
238
237
|
The contents of the item's suffix.
|
|
239
238
|
|
|
240
|
-
-
|
|
239
|
+
- Required: no
|
|
241
240
|
|
|
242
241
|
##### `hideOnClick`: `boolean`
|
|
243
242
|
|
|
244
243
|
Whether to hide the dropdown menu when the menu item is clicked.
|
|
245
244
|
|
|
246
|
-
-
|
|
247
|
-
-
|
|
245
|
+
- Required: no
|
|
246
|
+
- Default: `false`
|
|
248
247
|
|
|
249
248
|
##### `disabled`: `boolean`
|
|
250
249
|
|
|
251
250
|
Determines if the element is disabled.
|
|
252
251
|
|
|
253
|
-
-
|
|
254
|
-
-
|
|
252
|
+
- Required: no
|
|
253
|
+
- Default: `false`
|
|
255
254
|
|
|
256
255
|
##### `name`: `string`
|
|
257
256
|
|
|
258
257
|
The radio item's name.
|
|
259
258
|
|
|
260
|
-
-
|
|
259
|
+
- Required: yes
|
|
261
260
|
|
|
262
261
|
##### `value`: `string | number`
|
|
263
262
|
|
|
264
263
|
The radio item's value.
|
|
265
264
|
|
|
266
|
-
-
|
|
265
|
+
- Required: yes
|
|
267
266
|
|
|
268
267
|
##### `checked`: `boolean`
|
|
269
268
|
|
|
270
269
|
The checkbox item's value, useful when using multiple checkbox items
|
|
271
|
-
|
|
270
|
+
associated to the same `name`.
|
|
272
271
|
|
|
273
|
-
-
|
|
272
|
+
- Required: no
|
|
274
273
|
|
|
275
274
|
##### `defaultChecked`: `boolean`
|
|
276
275
|
|
|
277
276
|
The checked state of the radio menu item when it is initially rendered. Use when not wanting to control its checked state.
|
|
278
277
|
|
|
279
|
-
-
|
|
278
|
+
- Required: no
|
|
280
279
|
|
|
281
280
|
##### `onChange`: `( event: React.ChangeEvent< HTMLInputElement > ) => void;`
|
|
282
281
|
|
|
283
282
|
Event handler called when the checked radio menu item changes.
|
|
284
283
|
|
|
285
|
-
-
|
|
284
|
+
- Required: no
|
|
286
285
|
|
|
287
|
-
### `
|
|
286
|
+
### `DropdownMenuV2.ItemLabel`
|
|
288
287
|
|
|
289
288
|
Used to render the menu item's label.
|
|
290
289
|
|
|
@@ -296,9 +295,9 @@ The component accepts the following props:
|
|
|
296
295
|
|
|
297
296
|
The label contents.
|
|
298
297
|
|
|
299
|
-
-
|
|
298
|
+
- Required: yes
|
|
300
299
|
|
|
301
|
-
### `
|
|
300
|
+
### `DropdownMenuV2.ItemHelpText`
|
|
302
301
|
|
|
303
302
|
Used to render the menu item's help text.
|
|
304
303
|
|
|
@@ -310,9 +309,9 @@ The component accepts the following props:
|
|
|
310
309
|
|
|
311
310
|
The help text contents.
|
|
312
311
|
|
|
313
|
-
-
|
|
312
|
+
- Required: yes
|
|
314
313
|
|
|
315
|
-
### `
|
|
314
|
+
### `DropdownMenuV2.Group`
|
|
316
315
|
|
|
317
316
|
Used to group menu items.
|
|
318
317
|
|
|
@@ -324,8 +323,22 @@ The component accepts the following props:
|
|
|
324
323
|
|
|
325
324
|
The contents of the group.
|
|
326
325
|
|
|
327
|
-
-
|
|
326
|
+
- Required: yes
|
|
327
|
+
|
|
328
|
+
### `DropdownMenuV2.GroupLabel`
|
|
329
|
+
|
|
330
|
+
Used to render a group label. The label text should be kept as short as possible.
|
|
331
|
+
|
|
332
|
+
#### Props
|
|
333
|
+
|
|
334
|
+
The component accepts the following props:
|
|
335
|
+
|
|
336
|
+
##### `children`: `React.ReactNode`
|
|
337
|
+
|
|
338
|
+
The contents of the group label.
|
|
339
|
+
|
|
340
|
+
- Required: yes
|
|
328
341
|
|
|
329
|
-
### `
|
|
342
|
+
### `DropdownMenuV2.Separator`
|
|
330
343
|
|
|
331
344
|
Used to render a visual separator.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import * as Ariakit from '@ariakit/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { forwardRef, useContext } from '@wordpress/element';
|
|
10
|
+
import { Icon, check } from '@wordpress/icons';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
import type { WordPressComponentProps } from '../context';
|
|
16
|
+
import { DropdownMenuContext } from './context';
|
|
17
|
+
import type { DropdownMenuCheckboxItemProps } from './types';
|
|
18
|
+
import * as Styled from './styles';
|
|
19
|
+
import { useTemporaryFocusVisibleFix } from './use-temporary-focus-visible-fix';
|
|
20
|
+
|
|
21
|
+
export const DropdownMenuCheckboxItem = forwardRef<
|
|
22
|
+
HTMLDivElement,
|
|
23
|
+
WordPressComponentProps< DropdownMenuCheckboxItemProps, 'div', false >
|
|
24
|
+
>( function DropdownMenuCheckboxItem(
|
|
25
|
+
{ suffix, children, onBlur, hideOnClick = false, ...props },
|
|
26
|
+
ref
|
|
27
|
+
) {
|
|
28
|
+
// TODO: Remove when https://github.com/ariakit/ariakit/issues/4083 is fixed
|
|
29
|
+
const focusVisibleFixProps = useTemporaryFocusVisibleFix( { onBlur } );
|
|
30
|
+
const dropdownMenuContext = useContext( DropdownMenuContext );
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<Styled.DropdownMenuCheckboxItem
|
|
34
|
+
ref={ ref }
|
|
35
|
+
{ ...props }
|
|
36
|
+
{ ...focusVisibleFixProps }
|
|
37
|
+
accessibleWhenDisabled
|
|
38
|
+
hideOnClick={ hideOnClick }
|
|
39
|
+
store={ dropdownMenuContext?.store }
|
|
40
|
+
>
|
|
41
|
+
<Ariakit.MenuItemCheck
|
|
42
|
+
store={ dropdownMenuContext?.store }
|
|
43
|
+
render={ <Styled.ItemPrefixWrapper /> }
|
|
44
|
+
// Override some ariakit inline styles
|
|
45
|
+
style={ { width: 'auto', height: 'auto' } }
|
|
46
|
+
>
|
|
47
|
+
<Icon icon={ check } size={ 24 } />
|
|
48
|
+
</Ariakit.MenuItemCheck>
|
|
49
|
+
|
|
50
|
+
<Styled.DropdownMenuItemContentWrapper>
|
|
51
|
+
<Styled.DropdownMenuItemChildrenWrapper>
|
|
52
|
+
{ children }
|
|
53
|
+
</Styled.DropdownMenuItemChildrenWrapper>
|
|
54
|
+
|
|
55
|
+
{ suffix && (
|
|
56
|
+
<Styled.ItemSuffixWrapper>
|
|
57
|
+
{ suffix }
|
|
58
|
+
</Styled.ItemSuffixWrapper>
|
|
59
|
+
) }
|
|
60
|
+
</Styled.DropdownMenuItemContentWrapper>
|
|
61
|
+
</Styled.DropdownMenuCheckboxItem>
|
|
62
|
+
);
|
|
63
|
+
} );
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { createContext } from '@wordpress/element';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { DropdownMenuContext as DropdownMenuContextType } from './types';
|
|
10
|
+
|
|
11
|
+
export const DropdownMenuContext = createContext<
|
|
12
|
+
DropdownMenuContextType | undefined
|
|
13
|
+
>( undefined );
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { forwardRef, useContext } from '@wordpress/element';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { WordPressComponentProps } from '../context';
|
|
10
|
+
import { DropdownMenuContext } from './context';
|
|
11
|
+
import { Text } from '../text';
|
|
12
|
+
import type { DropdownMenuGroupLabelProps } from './types';
|
|
13
|
+
import * as Styled from './styles';
|
|
14
|
+
|
|
15
|
+
export const DropdownMenuGroupLabel = forwardRef<
|
|
16
|
+
HTMLDivElement,
|
|
17
|
+
WordPressComponentProps< DropdownMenuGroupLabelProps, 'div', false >
|
|
18
|
+
>( function DropdownMenuGroup( props, ref ) {
|
|
19
|
+
const dropdownMenuContext = useContext( DropdownMenuContext );
|
|
20
|
+
return (
|
|
21
|
+
<Styled.DropdownMenuGroupLabel
|
|
22
|
+
ref={ ref }
|
|
23
|
+
render={
|
|
24
|
+
// @ts-expect-error The `children` prop is passed
|
|
25
|
+
<Text
|
|
26
|
+
upperCase
|
|
27
|
+
variant="muted"
|
|
28
|
+
size="11px"
|
|
29
|
+
weight={ 500 }
|
|
30
|
+
lineHeight="16px"
|
|
31
|
+
/>
|
|
32
|
+
}
|
|
33
|
+
{ ...props }
|
|
34
|
+
store={ dropdownMenuContext?.store }
|
|
35
|
+
/>
|
|
36
|
+
);
|
|
37
|
+
} );
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { forwardRef, useContext } from '@wordpress/element';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { WordPressComponentProps } from '../context';
|
|
10
|
+
import { DropdownMenuContext } from './context';
|
|
11
|
+
import type { DropdownMenuGroupProps } from './types';
|
|
12
|
+
import * as Styled from './styles';
|
|
13
|
+
|
|
14
|
+
export const DropdownMenuGroup = forwardRef<
|
|
15
|
+
HTMLDivElement,
|
|
16
|
+
WordPressComponentProps< DropdownMenuGroupProps, 'div', false >
|
|
17
|
+
>( function DropdownMenuGroup( props, ref ) {
|
|
18
|
+
const dropdownMenuContext = useContext( DropdownMenuContext );
|
|
19
|
+
return (
|
|
20
|
+
<Styled.DropdownMenuGroup
|
|
21
|
+
ref={ ref }
|
|
22
|
+
{ ...props }
|
|
23
|
+
store={ dropdownMenuContext?.store }
|
|
24
|
+
/>
|
|
25
|
+
);
|
|
26
|
+
} );
|