@wordpress/components 23.3.5 → 23.5.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 +35 -5
- package/build/alignment-matrix-control/utils.js +4 -4
- package/build/alignment-matrix-control/utils.js.map +1 -1
- package/build/angle-picker-control/angle-circle.js +37 -29
- package/build/angle-picker-control/angle-circle.js.map +1 -1
- package/build/angle-picker-control/index.js +44 -9
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +13 -13
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/angle-picker-control/types.js.map +1 -0
- package/build/autocomplete/autocompleter-ui.js +41 -17
- package/build/autocomplete/autocompleter-ui.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.native.js +1 -0
- package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
- package/build/autocomplete/index.js +31 -33
- package/build/autocomplete/index.js.map +1 -1
- package/build/base-control/hooks.js +1 -1
- package/build/base-control/hooks.js.map +1 -1
- package/build/border-box-control/utils.js +1 -1
- package/build/border-box-control/utils.js.map +1 -1
- package/build/box-control/all-input-control.js +2 -2
- package/build/box-control/all-input-control.js.map +1 -1
- package/build/box-control/axial-input-controls.js +1 -1
- package/build/box-control/axial-input-controls.js.map +1 -1
- package/build/box-control/icon.js.map +1 -1
- package/build/box-control/index.js +32 -3
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/input-controls.js +5 -5
- package/build/box-control/input-controls.js.map +1 -1
- package/build/box-control/linked-button.js.map +1 -1
- package/build/box-control/styles/box-control-icon-styles.js +28 -28
- package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
- package/build/box-control/styles/box-control-styles.js +23 -23
- package/build/box-control/styles/box-control-styles.js.map +1 -1
- package/build/box-control/styles/box-control-visualizer-styles.js +19 -19
- package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build/box-control/types.js +6 -0
- package/build/box-control/types.js.map +1 -0
- package/build/box-control/unit-control.js.map +1 -1
- package/build/box-control/utils.js +23 -23
- package/build/box-control/utils.js.map +1 -1
- package/build/circular-option-picker/index.js +63 -14
- package/build/circular-option-picker/index.js.map +1 -1
- package/build/circular-option-picker/types.js +6 -0
- package/build/circular-option-picker/types.js.map +1 -0
- package/build/color-palette/index.js +8 -3
- package/build/color-palette/index.js.map +1 -1
- package/build/combobox-control/index.js +68 -12
- package/build/combobox-control/index.js.map +1 -1
- package/build/combobox-control/styles.js +2 -2
- package/build/combobox-control/styles.js.map +1 -1
- package/build/combobox-control/types.js +6 -0
- package/build/combobox-control/types.js.map +1 -0
- package/build/custom-gradient-picker/index.js +0 -1
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/date-time/time/index.js +1 -1
- package/build/date-time/time/index.js.map +1 -1
- package/build/date-time/utils.js +1 -1
- package/build/date-time/utils.js.map +1 -1
- package/build/draggable/index.js +2 -2
- package/build/draggable/index.js.map +1 -1
- package/build/focal-point-picker/utils.js +3 -3
- package/build/focal-point-picker/utils.js.map +1 -1
- package/build/font-size-picker/utils.js +2 -2
- package/build/font-size-picker/utils.js.map +1 -1
- package/build/gradient-picker/index.js +9 -4
- package/build/gradient-picker/index.js.map +1 -1
- package/build/higher-order/with-constrained-tabbing/index.js +9 -0
- package/build/higher-order/with-constrained-tabbing/index.js.map +1 -1
- package/build/input-control/reducer/reducer.js +5 -5
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/input-control/utils.js +1 -1
- package/build/input-control/utils.js.map +1 -1
- package/build/menu-items-choice/index.js +40 -3
- package/build/menu-items-choice/index.js.map +1 -1
- package/build/menu-items-choice/types.js +6 -0
- package/build/menu-items-choice/types.js.map +1 -0
- package/build/mobile/global-styles-context/utils.native.js +2 -1
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/modal/index.js +41 -3
- package/build/modal/index.js.map +1 -1
- package/build/palette-edit/index.js +4 -1
- package/build/palette-edit/index.js.map +1 -1
- package/build/panel/header.js +9 -0
- package/build/panel/header.js.map +1 -1
- package/build/panel/index.js +21 -3
- package/build/panel/index.js.map +1 -1
- package/build/panel/row.js +10 -4
- package/build/panel/row.js.map +1 -1
- package/build/panel/types.js +6 -0
- package/build/panel/types.js.map +1 -0
- package/build/popover/index.js +15 -3
- package/build/popover/index.js.map +1 -1
- package/build/popover/overlay-middlewares.js +46 -0
- package/build/popover/overlay-middlewares.js.map +1 -0
- package/build/popover/utils.js +45 -6
- package/build/popover/utils.js.map +1 -1
- package/build/query-controls/terms.js +1 -1
- package/build/query-controls/terms.js.map +1 -1
- package/build/range-control/utils.js +4 -4
- package/build/range-control/utils.js.map +1 -1
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +12 -12
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build/resizable-box/resize-tooltip/utils.js +14 -14
- package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build/snackbar/index.js +2 -2
- package/build/snackbar/index.js.map +1 -1
- package/build/toolbar/toolbar/index.js +25 -14
- package/build/toolbar/toolbar/index.js.map +1 -1
- package/build/toolbar/toolbar/toolbar-container.js +5 -4
- package/build/toolbar/toolbar/toolbar-container.js.map +1 -1
- package/build/toolbar/toolbar/types.js +6 -0
- package/build/toolbar/toolbar/types.js.map +1 -0
- package/build/toolbar/toolbar-button/index.js +2 -0
- package/build/toolbar/toolbar-button/index.js.map +1 -1
- package/build/toolbar/toolbar-button/toolbar-button-container.js +1 -0
- package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
- package/build/toolbar/toolbar-context/index.js +2 -0
- package/build/toolbar/toolbar-context/index.js.map +1 -1
- package/build/toolbar/toolbar-dropdown-menu/index.js +2 -0
- package/build/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
- package/build/toolbar/toolbar-group/index.js +2 -0
- package/build/toolbar/toolbar-group/index.js.map +1 -1
- package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +2 -0
- package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
- package/build/toolbar/toolbar-group/toolbar-group-container.js +1 -0
- package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
- package/build/toolbar/toolbar-item/index.js +2 -0
- package/build/toolbar/toolbar-item/index.js.map +1 -1
- package/build/tools-panel/context.js +2 -0
- package/build/tools-panel/context.js.map +1 -1
- package/build/tools-panel/tools-panel/component.js +61 -5
- package/build/tools-panel/tools-panel/component.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +22 -14
- package/build/tools-panel/tools-panel/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +2 -1
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/hook.js +2 -0
- package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-item/component.js +5 -4
- package/build/tools-panel/tools-panel-item/component.js.map +1 -1
- package/build/tools-panel/tools-panel-item/hook.js +18 -4
- package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
- package/build/tree-grid/cell.js +15 -4
- package/build/tree-grid/cell.js.map +1 -1
- package/build/tree-grid/index.js +81 -19
- package/build/tree-grid/index.js.map +1 -1
- package/build/tree-grid/item.js +14 -3
- package/build/tree-grid/item.js.map +1 -1
- package/build/tree-grid/roving-tab-index-context.js +1 -1
- package/build/tree-grid/roving-tab-index-context.js.map +1 -1
- package/build/tree-grid/roving-tab-index-item.js +13 -6
- package/build/tree-grid/roving-tab-index-item.js.map +1 -1
- package/build/tree-grid/roving-tab-index.js +0 -3
- package/build/tree-grid/roving-tab-index.js.map +1 -1
- package/build/tree-grid/row.js +20 -18
- package/build/tree-grid/row.js.map +1 -1
- package/build/tree-grid/types.js +6 -0
- package/build/tree-grid/types.js.map +1 -0
- package/build/ui/context/context-connect.js +7 -7
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/ui/context/context-system-provider.js +8 -4
- package/build/ui/context/context-system-provider.js.map +1 -1
- package/build/ui/context/get-styled-class-name-from-key.js +1 -1
- package/build/ui/context/get-styled-class-name-from-key.js.map +1 -1
- package/build/ui/utils/get-valid-children.js +1 -1
- package/build/ui/utils/get-valid-children.js.map +1 -1
- package/build/ui/utils/space.js +1 -1
- package/build/ui/utils/space.js.map +1 -1
- package/build/unit-control/index.js +2 -2
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/utils.js +20 -20
- package/build/unit-control/utils.js.map +1 -1
- package/build/utils/events.js +4 -4
- package/build/utils/events.js.map +1 -1
- package/build/utils/hooks/use-controlled-state.js +2 -2
- package/build/utils/hooks/use-controlled-state.js.map +1 -1
- package/build/utils/hooks/use-controlled-value.js +4 -4
- package/build/utils/hooks/use-controlled-value.js.map +1 -1
- package/build/utils/hooks/use-latest-ref.js +1 -1
- package/build/utils/hooks/use-latest-ref.js.map +1 -1
- package/build/utils/unit-values.js +3 -3
- package/build/utils/unit-values.js.map +1 -1
- package/build-module/alignment-matrix-control/utils.js +4 -4
- package/build-module/alignment-matrix-control/utils.js.map +1 -1
- package/build-module/angle-picker-control/angle-circle.js +37 -29
- package/build-module/angle-picker-control/angle-circle.js.map +1 -1
- package/build-module/angle-picker-control/index.js +42 -8
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -13
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.js +40 -19
- package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.native.js +1 -0
- package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
- package/build-module/autocomplete/index.js +30 -32
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/base-control/hooks.js +1 -1
- package/build-module/base-control/hooks.js.map +1 -1
- package/build-module/border-box-control/utils.js +1 -1
- package/build-module/border-box-control/utils.js.map +1 -1
- package/build-module/box-control/all-input-control.js +2 -2
- package/build-module/box-control/all-input-control.js.map +1 -1
- package/build-module/box-control/axial-input-controls.js +1 -1
- package/build-module/box-control/axial-input-controls.js.map +1 -1
- package/build-module/box-control/icon.js.map +1 -1
- package/build-module/box-control/index.js +31 -3
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/input-controls.js +5 -5
- package/build-module/box-control/input-controls.js.map +1 -1
- package/build-module/box-control/linked-button.js.map +1 -1
- package/build-module/box-control/styles/box-control-icon-styles.js +28 -28
- package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
- package/build-module/box-control/styles/box-control-styles.js +23 -23
- package/build-module/box-control/styles/box-control-styles.js.map +1 -1
- package/build-module/box-control/styles/box-control-visualizer-styles.js +19 -19
- package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build-module/box-control/types.js +2 -0
- package/build-module/box-control/unit-control.js.map +1 -1
- package/build-module/box-control/utils.js +23 -23
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/circular-option-picker/index.js +59 -16
- package/build-module/circular-option-picker/index.js.map +1 -1
- package/build-module/circular-option-picker/types.js +2 -0
- package/build-module/color-palette/index.js +8 -3
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/combobox-control/index.js +68 -12
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/combobox-control/styles.js +2 -2
- package/build-module/combobox-control/styles.js.map +1 -1
- package/build-module/combobox-control/types.js +2 -0
- package/build-module/custom-gradient-picker/index.js +0 -1
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/date-time/time/index.js +1 -1
- package/build-module/date-time/time/index.js.map +1 -1
- package/build-module/date-time/utils.js +1 -1
- package/build-module/date-time/utils.js.map +1 -1
- package/build-module/draggable/index.js +2 -2
- package/build-module/draggable/index.js.map +1 -1
- package/build-module/focal-point-picker/utils.js +3 -3
- package/build-module/focal-point-picker/utils.js.map +1 -1
- package/build-module/font-size-picker/utils.js +2 -2
- package/build-module/font-size-picker/utils.js.map +1 -1
- package/build-module/gradient-picker/index.js +9 -4
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/higher-order/with-constrained-tabbing/index.js +9 -0
- package/build-module/higher-order/with-constrained-tabbing/index.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +5 -5
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/input-control/utils.js +1 -1
- package/build-module/input-control/utils.js.map +1 -1
- package/build-module/menu-items-choice/index.js +40 -4
- package/build-module/menu-items-choice/index.js.map +1 -1
- package/build-module/menu-items-choice/types.js +2 -0
- package/build-module/menu-items-choice/types.js.map +1 -0
- package/build-module/mobile/global-styles-context/utils.native.js +2 -1
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/modal/index.js +41 -4
- package/build-module/modal/index.js.map +1 -1
- package/build-module/palette-edit/index.js +4 -1
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/panel/header.js +9 -0
- package/build-module/panel/header.js.map +1 -1
- package/build-module/panel/index.js +20 -2
- package/build-module/panel/index.js.map +1 -1
- package/build-module/panel/row.js +9 -3
- package/build-module/panel/row.js.map +1 -1
- package/build-module/panel/types.js +2 -0
- package/build-module/panel/types.js.map +1 -0
- package/build-module/popover/index.js +14 -4
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/overlay-middlewares.js +38 -0
- package/build-module/popover/overlay-middlewares.js.map +1 -0
- package/build-module/popover/utils.js +41 -5
- package/build-module/popover/utils.js.map +1 -1
- package/build-module/query-controls/terms.js +1 -1
- package/build-module/query-controls/terms.js.map +1 -1
- package/build-module/range-control/utils.js +4 -4
- package/build-module/range-control/utils.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +12 -12
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/utils.js +14 -14
- package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build-module/snackbar/index.js +2 -2
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/toolbar/toolbar/index.js +25 -13
- package/build-module/toolbar/toolbar/index.js.map +1 -1
- package/build-module/toolbar/toolbar/toolbar-container.js +4 -3
- package/build-module/toolbar/toolbar/toolbar-container.js.map +1 -1
- package/build-module/toolbar/toolbar/types.js +2 -0
- package/build-module/toolbar/toolbar/types.js.map +1 -0
- package/build-module/toolbar/toolbar-button/index.js +1 -0
- package/build-module/toolbar/toolbar-button/index.js.map +1 -1
- package/build-module/toolbar/toolbar-button/toolbar-button-container.js +1 -0
- package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
- package/build-module/toolbar/toolbar-context/index.js +2 -0
- package/build-module/toolbar/toolbar-context/index.js.map +1 -1
- package/build-module/toolbar/toolbar-dropdown-menu/index.js +1 -0
- package/build-module/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
- package/build-module/toolbar/toolbar-group/index.js +1 -0
- package/build-module/toolbar/toolbar-group/index.js.map +1 -1
- package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +1 -0
- package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
- package/build-module/toolbar/toolbar-group/toolbar-group-container.js +1 -0
- package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
- package/build-module/toolbar/toolbar-item/index.js +1 -0
- package/build-module/toolbar/toolbar-item/index.js.map +1 -1
- package/build-module/tools-panel/context.js +2 -0
- package/build-module/tools-panel/context.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js +59 -4
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +22 -14
- package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +2 -1
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/hook.js +2 -0
- package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel-item/component.js +3 -3
- package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-item/hook.js +19 -4
- package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
- package/build-module/tree-grid/cell.js +16 -4
- package/build-module/tree-grid/cell.js.map +1 -1
- package/build-module/tree-grid/index.js +81 -21
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/tree-grid/item.js +14 -2
- package/build-module/tree-grid/item.js.map +1 -1
- package/build-module/tree-grid/roving-tab-index-context.js +1 -1
- package/build-module/tree-grid/roving-tab-index-context.js.map +1 -1
- package/build-module/tree-grid/roving-tab-index-item.js +11 -4
- package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
- package/build-module/tree-grid/roving-tab-index.js +0 -3
- package/build-module/tree-grid/roving-tab-index.js.map +1 -1
- package/build-module/tree-grid/row.js +22 -17
- package/build-module/tree-grid/row.js.map +1 -1
- package/build-module/tree-grid/types.js +2 -0
- package/build-module/tree-grid/types.js.map +1 -0
- package/build-module/ui/context/context-connect.js +7 -7
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/ui/context/context-system-provider.js +7 -4
- package/build-module/ui/context/context-system-provider.js.map +1 -1
- package/build-module/ui/context/get-styled-class-name-from-key.js +1 -1
- package/build-module/ui/context/get-styled-class-name-from-key.js.map +1 -1
- package/build-module/ui/utils/get-valid-children.js +1 -1
- package/build-module/ui/utils/get-valid-children.js.map +1 -1
- package/build-module/ui/utils/space.js +1 -1
- package/build-module/ui/utils/space.js.map +1 -1
- package/build-module/unit-control/index.js +2 -2
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/utils.js +20 -20
- package/build-module/unit-control/utils.js.map +1 -1
- package/build-module/utils/events.js +4 -4
- package/build-module/utils/events.js.map +1 -1
- package/build-module/utils/hooks/use-controlled-state.js +2 -2
- package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
- package/build-module/utils/hooks/use-controlled-value.js +4 -4
- package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
- package/build-module/utils/hooks/use-latest-ref.js +1 -1
- package/build-module/utils/hooks/use-latest-ref.js.map +1 -1
- package/build-module/utils/unit-values.js +3 -3
- package/build-module/utils/unit-values.js.map +1 -1
- package/build-style/style-rtl.css +5 -0
- package/build-style/style.css +5 -0
- package/build-types/alignment-matrix-control/utils.d.ts +4 -4
- package/build-types/angle-picker-control/angle-circle.d.ts +6 -0
- package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -0
- package/build-types/angle-picker-control/index.d.ts +29 -0
- package/build-types/angle-picker-control/index.d.ts.map +1 -0
- package/build-types/angle-picker-control/stories/index.d.ts +15 -0
- package/build-types/angle-picker-control/stories/index.d.ts.map +1 -0
- package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts +20 -0
- package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -0
- package/build-types/angle-picker-control/types.d.ts +26 -0
- package/build-types/angle-picker-control/types.d.ts.map +1 -0
- package/build-types/base-control/hooks.d.ts +1 -1
- package/build-types/border-box-control/border-box-control/component.d.ts +1 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts +1 -1
- package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +1 -1
- package/build-types/border-box-control/stories/index.d.ts +1 -1
- package/build-types/border-box-control/test/index.d.ts.map +1 -0
- package/build-types/border-box-control/test/utils.d.ts +2 -0
- package/build-types/border-box-control/test/utils.d.ts.map +1 -0
- package/build-types/box-control/all-input-control.d.ts +4 -0
- package/build-types/box-control/all-input-control.d.ts.map +1 -0
- package/build-types/box-control/axial-input-controls.d.ts +4 -0
- package/build-types/box-control/axial-input-controls.d.ts.map +1 -0
- package/build-types/box-control/icon.d.ts +8 -0
- package/build-types/box-control/icon.d.ts.map +1 -0
- package/build-types/box-control/index.d.ts +31 -0
- package/build-types/box-control/index.d.ts.map +1 -0
- package/build-types/box-control/input-controls.d.ts +4 -0
- package/build-types/box-control/input-controls.d.ts.map +1 -0
- package/build-types/box-control/linked-button.d.ts +9 -0
- package/build-types/box-control/linked-button.d.ts.map +1 -0
- package/build-types/box-control/styles/box-control-icon-styles.d.ts +42 -0
- package/build-types/box-control/styles/box-control-icon-styles.d.ts.map +1 -0
- package/build-types/box-control/styles/box-control-styles.d.ts +42 -0
- package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -0
- package/build-types/box-control/styles/box-control-visualizer-styles.d.ts +46 -0
- package/build-types/box-control/styles/box-control-visualizer-styles.d.ts.map +1 -0
- package/build-types/box-control/test/index.d.ts +2 -0
- package/build-types/box-control/test/index.d.ts.map +1 -0
- package/build-types/box-control/types.d.ts +99 -0
- package/build-types/box-control/types.d.ts.map +1 -0
- package/build-types/box-control/unit-control.d.ts +4 -0
- package/build-types/box-control/unit-control.d.ts.map +1 -0
- package/build-types/box-control/utils.d.ts +84 -0
- package/build-types/box-control/utils.d.ts.map +1 -0
- package/build-types/circular-option-picker/index.d.ts +56 -7
- package/build-types/circular-option-picker/index.d.ts.map +1 -1
- package/build-types/circular-option-picker/stories/index.d.ts +14 -0
- package/build-types/circular-option-picker/stories/index.d.ts.map +1 -0
- package/build-types/circular-option-picker/types.d.ts +49 -0
- package/build-types/circular-option-picker/types.d.ts.map +1 -0
- package/build-types/color-palette/index.d.ts +3 -1
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-palette/stories/index.d.ts +6 -2
- package/build-types/color-palette/stories/index.d.ts.map +1 -1
- package/build-types/color-palette/types.d.ts +8 -0
- package/build-types/color-palette/types.d.ts.map +1 -1
- package/build-types/combobox-control/index.d.ts +51 -0
- package/build-types/combobox-control/index.d.ts.map +1 -0
- package/build-types/combobox-control/stories/index.d.ts +18 -0
- package/build-types/combobox-control/stories/index.d.ts.map +1 -0
- package/build-types/combobox-control/styles.d.ts +8 -0
- package/build-types/combobox-control/styles.d.ts.map +1 -0
- package/build-types/combobox-control/test/index.d.ts +2 -0
- package/build-types/combobox-control/test/index.d.ts.map +1 -0
- package/build-types/combobox-control/types.d.ts +62 -0
- package/build-types/combobox-control/types.d.ts.map +1 -0
- package/build-types/date-time/utils.d.ts +1 -1
- package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
- package/build-types/focal-point-picker/utils.d.ts +3 -3
- package/build-types/font-size-picker/utils.d.ts +2 -2
- package/build-types/h-stack/stories/e2e/index.d.ts +9 -0
- package/build-types/h-stack/stories/e2e/index.d.ts.map +1 -0
- package/build-types/higher-order/with-constrained-tabbing/index.d.ts +10 -1
- package/build-types/higher-order/with-constrained-tabbing/index.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts +3 -3
- package/build-types/input-control/utils.d.ts +1 -1
- package/build-types/menu-items-choice/index.d.ts +38 -0
- package/build-types/menu-items-choice/index.d.ts.map +1 -0
- package/build-types/menu-items-choice/stories/index.d.ts +12 -0
- package/build-types/menu-items-choice/stories/index.d.ts.map +1 -0
- package/build-types/menu-items-choice/types.d.ts +53 -0
- package/build-types/menu-items-choice/types.d.ts.map +1 -0
- package/build-types/modal/index.d.ts.map +1 -1
- package/build-types/modal/types.d.ts +2 -0
- package/build-types/modal/types.d.ts.map +1 -1
- package/build-types/panel/header.d.ts +13 -0
- package/build-types/panel/header.d.ts.map +1 -0
- package/build-types/panel/index.d.ts +21 -0
- package/build-types/panel/index.d.ts.map +1 -0
- package/build-types/panel/row.d.ts +12 -0
- package/build-types/panel/row.d.ts.map +1 -0
- package/build-types/panel/test/header.d.ts +2 -0
- package/build-types/panel/test/header.d.ts.map +1 -0
- package/build-types/panel/test/index.d.ts +2 -0
- package/build-types/{base-field → panel}/test/index.d.ts.map +1 -1
- package/build-types/panel/test/row.d.ts +2 -0
- package/build-types/panel/test/row.d.ts.map +1 -0
- package/build-types/panel/types.d.ts +38 -0
- package/build-types/panel/types.d.ts.map +1 -0
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/overlay-middlewares.d.ts +9 -0
- package/build-types/popover/overlay-middlewares.d.ts.map +1 -0
- package/build-types/popover/stories/index.d.ts.map +1 -1
- package/build-types/popover/types.d.ts +3 -2
- package/build-types/popover/types.d.ts.map +1 -1
- package/build-types/popover/utils.d.ts +12 -4
- package/build-types/popover/utils.d.ts.map +1 -1
- package/build-types/query-controls/terms.d.ts +1 -1
- package/build-types/range-control/utils.d.ts +4 -4
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +5 -4
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/utils.d.ts +6 -6
- package/build-types/tab-panel/stories/index.d.ts +1 -0
- package/build-types/tab-panel/stories/index.d.ts.map +1 -1
- package/build-types/toolbar/index.d.ts +7 -0
- package/build-types/toolbar/index.d.ts.map +1 -0
- package/build-types/toolbar/stories/index.d.ts +14 -0
- package/build-types/toolbar/stories/index.d.ts.map +1 -0
- package/build-types/toolbar/test/index.d.ts +2 -0
- package/build-types/toolbar/test/index.d.ts.map +1 -0
- package/build-types/toolbar/test/toolbar-group.d.ts +2 -0
- package/build-types/toolbar/test/toolbar-group.d.ts.map +1 -0
- package/build-types/toolbar/toolbar/index.d.ts +25 -0
- package/build-types/toolbar/toolbar/index.d.ts.map +1 -0
- package/build-types/toolbar/toolbar/toolbar-container.d.ts +5 -0
- package/build-types/toolbar/toolbar/toolbar-container.d.ts.map +1 -0
- package/build-types/toolbar/toolbar/types.d.ts +15 -0
- package/build-types/toolbar/toolbar/types.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-button/index.d.ts +12 -0
- package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts +3 -0
- package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-context/index.d.ts +3 -0
- package/build-types/toolbar/toolbar-context/index.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +3 -0
- package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-group/index.d.ts +39 -0
- package/build-types/toolbar/toolbar-group/index.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts +7 -0
- package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts +7 -0
- package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-item/index.d.ts +7 -0
- package/build-types/toolbar/toolbar-item/index.d.ts.map +1 -0
- package/build-types/tools-panel/context.d.ts.map +1 -1
- package/build-types/tools-panel/stories/index.d.ts +17 -0
- package/build-types/tools-panel/stories/index.d.ts.map +1 -0
- package/build-types/tools-panel/test/index.d.ts +2 -0
- package/build-types/tools-panel/test/index.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel/component.d.ts +54 -2
- package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts +5 -2
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -1
- package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-item/component.d.ts +3 -2
- package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
- package/build-types/tools-panel/types.d.ts +49 -20
- package/build-types/tools-panel/types.d.ts.map +1 -1
- package/build-types/tree-grid/cell.d.ts +13 -0
- package/build-types/tree-grid/cell.d.ts.map +1 -0
- package/build-types/tree-grid/index.d.ts +70 -0
- package/build-types/tree-grid/index.d.ts.map +1 -0
- package/build-types/tree-grid/item.d.ts +12 -0
- package/build-types/tree-grid/item.d.ts.map +1 -0
- package/build-types/tree-grid/roving-tab-index-context.d.ts +10 -0
- package/build-types/tree-grid/roving-tab-index-context.d.ts.map +1 -0
- package/build-types/tree-grid/roving-tab-index-item.d.ts +5 -0
- package/build-types/tree-grid/roving-tab-index-item.d.ts.map +1 -0
- package/build-types/tree-grid/roving-tab-index.d.ts +10 -0
- package/build-types/tree-grid/roving-tab-index.d.ts.map +1 -0
- package/build-types/tree-grid/row.d.ts +12 -0
- package/build-types/tree-grid/row.d.ts.map +1 -0
- package/build-types/tree-grid/stories/index.d.ts +13 -0
- package/build-types/tree-grid/stories/index.d.ts.map +1 -0
- package/build-types/tree-grid/test/cell.d.ts +2 -0
- package/build-types/tree-grid/test/cell.d.ts.map +1 -0
- package/build-types/tree-grid/test/index.d.ts +2 -0
- package/build-types/tree-grid/test/index.d.ts.map +1 -0
- package/build-types/tree-grid/test/roving-tab-index-item.d.ts +2 -0
- package/build-types/tree-grid/test/roving-tab-index-item.d.ts.map +1 -0
- package/build-types/tree-grid/test/roving-tab-index.d.ts +2 -0
- package/build-types/tree-grid/test/roving-tab-index.d.ts.map +1 -0
- package/build-types/tree-grid/test/row.d.ts +2 -0
- package/build-types/tree-grid/test/row.d.ts.map +1 -0
- package/build-types/tree-grid/types.d.ts +109 -0
- package/build-types/tree-grid/types.d.ts.map +1 -0
- package/build-types/ui/context/context-connect.d.ts +7 -7
- package/build-types/ui/context/context-system-provider.d.ts.map +1 -1
- package/build-types/ui/context/get-styled-class-name-from-key.d.ts +1 -1
- package/build-types/ui/utils/get-valid-children.d.ts +1 -1
- package/build-types/ui/utils/space.d.ts +1 -1
- package/build-types/unit-control/index.d.ts +1 -1
- package/build-types/unit-control/utils.d.ts +20 -20
- package/build-types/utils/events.d.ts +2 -2
- package/build-types/utils/hooks/use-controlled-state.d.ts +1 -1
- package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
- package/build-types/utils/hooks/use-controlled-value.d.ts +4 -4
- package/build-types/utils/hooks/use-latest-ref.d.ts +1 -1
- package/build-types/utils/unit-values.d.ts +3 -3
- package/build-types/v-stack/stories/e2e/index.d.ts +9 -0
- package/build-types/v-stack/stories/e2e/index.d.ts.map +1 -0
- package/package.json +21 -19
- package/src/alignment-matrix-control/utils.tsx +4 -4
- package/src/angle-picker-control/README.md +17 -14
- package/src/angle-picker-control/{angle-circle.js → angle-circle.tsx} +44 -12
- package/src/angle-picker-control/{index.js → index.tsx} +54 -10
- package/src/angle-picker-control/stories/index.tsx +57 -0
- package/src/angle-picker-control/styles/{angle-picker-control-styles.js → angle-picker-control-styles.tsx} +5 -1
- package/src/angle-picker-control/types.ts +29 -0
- package/src/autocomplete/autocompleter-ui.js +72 -34
- package/src/autocomplete/autocompleter-ui.native.js +1 -0
- package/src/autocomplete/index.js +36 -36
- package/src/base-control/hooks.ts +1 -1
- package/src/border-box-control/test/{index.js → index.tsx} +76 -102
- package/src/border-box-control/test/{utils.js → utils.ts} +20 -0
- package/src/border-box-control/utils.ts +1 -1
- package/src/box-control/README.md +17 -26
- package/src/box-control/{all-input-control.js → all-input-control.tsx} +10 -6
- package/src/box-control/{axial-input-controls.js → axial-input-controls.tsx} +29 -24
- package/src/box-control/{icon.js → icon.tsx} +9 -4
- package/src/box-control/{index.js → index.tsx} +43 -8
- package/src/box-control/{input-controls.js → input-controls.tsx} +26 -16
- package/src/box-control/{linked-button.js → linked-button.tsx} +4 -1
- package/src/box-control/styles/{box-control-icon-styles.js → box-control-icon-styles.ts} +1 -1
- package/src/box-control/styles/{box-control-styles.js → box-control-styles.ts} +10 -2
- package/src/box-control/styles/{box-control-visualizer-styles.js → box-control-visualizer-styles.ts} +6 -2
- package/src/box-control/test/{index.js → index.tsx} +12 -9
- package/src/box-control/types.ts +121 -0
- package/src/box-control/{unit-control.js → unit-control.tsx} +9 -2
- package/src/box-control/{utils.js → utils.ts} +47 -38
- package/src/button/test/index.tsx +38 -30
- package/src/circular-option-picker/README.md +141 -0
- package/src/circular-option-picker/{index.js → index.tsx} +74 -14
- package/src/circular-option-picker/stories/index.tsx +134 -0
- package/src/circular-option-picker/types.ts +69 -0
- package/src/color-palette/README.md +7 -0
- package/src/color-palette/index.tsx +6 -1
- package/src/color-palette/test/__snapshots__/index.tsx.snap +1 -1
- package/src/color-palette/types.ts +8 -0
- package/src/combobox-control/README.md +8 -15
- package/src/combobox-control/{index.js → index.tsx} +91 -19
- package/src/combobox-control/stories/index.tsx +114 -0
- package/src/combobox-control/styles.ts +4 -1
- package/src/combobox-control/test/{index.js → index.tsx} +9 -7
- package/src/combobox-control/types.ts +69 -0
- package/src/custom-gradient-picker/index.js +0 -1
- package/src/custom-select-control/stories/index.js +1 -1
- package/src/date-time/time/index.tsx +1 -1
- package/src/date-time/utils.ts +1 -1
- package/src/draggable/index.tsx +2 -2
- package/src/dropdown-menu/test/index.js +3 -11
- package/src/focal-point-picker/utils.ts +3 -3
- package/src/font-size-picker/utils.ts +2 -2
- package/src/gradient-picker/README.md +8 -0
- package/src/gradient-picker/index.js +6 -1
- package/src/h-stack/stories/e2e/index.tsx +36 -0
- package/src/higher-order/with-constrained-tabbing/index.tsx +30 -0
- package/src/input-control/reducer/reducer.ts +5 -5
- package/src/input-control/utils.ts +1 -1
- package/src/menu-items-choice/index.tsx +83 -0
- package/src/menu-items-choice/stories/index.tsx +79 -0
- package/src/menu-items-choice/types.ts +54 -0
- package/src/mobile/global-styles-context/utils.native.js +1 -0
- package/src/modal/index.tsx +45 -1
- package/src/modal/style.scss +8 -0
- package/src/modal/types.ts +2 -0
- package/src/palette-edit/index.js +4 -1
- package/src/panel/README.md +2 -2
- package/src/panel/header.tsx +20 -0
- package/src/panel/index.tsx +48 -0
- package/src/panel/row.tsx +37 -0
- package/src/panel/stories/index.js +22 -0
- package/src/panel/test/{header.js → header.tsx} +1 -1
- package/src/panel/test/{index.js → index.tsx} +6 -4
- package/src/panel/test/{row.js → row.tsx} +4 -2
- package/src/panel/types.ts +38 -0
- package/src/popover/README.md +4 -1
- package/src/popover/index.tsx +17 -1
- package/src/popover/overlay-middlewares.tsx +29 -0
- package/src/popover/stories/index.tsx +7 -1
- package/src/popover/test/index.tsx +29 -21
- package/src/popover/types.ts +4 -2
- package/src/popover/utils.ts +39 -3
- package/src/query-controls/terms.ts +1 -1
- package/src/range-control/utils.ts +4 -4
- package/src/resizable-box/resize-tooltip/utils.ts +14 -14
- package/src/snackbar/index.tsx +2 -2
- package/src/tab-panel/stories/index.tsx +41 -0
- package/src/tab-panel/test/index.tsx +794 -262
- package/src/toolbar/stories/{index.js → index.tsx} +39 -26
- package/src/toolbar/test/{toolbar-group.js → toolbar-group.tsx} +2 -2
- package/src/toolbar/toolbar/README.md +7 -2
- package/src/toolbar/toolbar/{index.js → index.tsx} +33 -12
- package/src/toolbar/toolbar/{toolbar-container.js → toolbar-container.tsx} +9 -2
- package/src/toolbar/toolbar/types.ts +15 -0
- package/src/toolbar/toolbar-button/index.js +2 -0
- package/src/toolbar/toolbar-button/toolbar-button-container.js +2 -0
- package/src/toolbar/toolbar-context/index.js +2 -0
- package/src/toolbar/toolbar-dropdown-menu/index.js +2 -0
- package/src/toolbar/toolbar-group/index.js +2 -0
- package/src/toolbar/toolbar-group/toolbar-group-collapsed.js +2 -0
- package/src/toolbar/toolbar-group/toolbar-group-container.js +2 -0
- package/src/toolbar/toolbar-item/index.js +2 -0
- package/src/tools-panel/context.ts +2 -0
- package/src/tools-panel/stories/{index.js → index.tsx} +196 -95
- package/src/tools-panel/test/{index.js → index.tsx} +177 -67
- package/src/tools-panel/tools-panel/README.md +12 -4
- package/src/tools-panel/tools-panel/component.tsx +57 -3
- package/src/tools-panel/tools-panel/hook.ts +34 -13
- package/src/tools-panel/tools-panel-header/README.md +7 -0
- package/src/tools-panel/tools-panel-header/component.tsx +2 -1
- package/src/tools-panel/tools-panel-header/hook.ts +6 -4
- package/src/tools-panel/tools-panel-item/README.md +6 -4
- package/src/tools-panel/tools-panel-item/component.tsx +4 -4
- package/src/tools-panel/tools-panel-item/hook.ts +22 -4
- package/src/tools-panel/types.ts +51 -20
- package/src/tree-grid/README.md +18 -58
- package/src/tree-grid/cell.tsx +41 -0
- package/src/tree-grid/{index.js → index.tsx} +111 -35
- package/src/tree-grid/item.tsx +32 -0
- package/src/tree-grid/{roving-tab-index-context.js → roving-tab-index-context.ts} +9 -1
- package/src/tree-grid/roving-tab-index-item.tsx +50 -0
- package/src/tree-grid/{roving-tab-index.js → roving-tab-index.tsx} +7 -5
- package/src/tree-grid/row.tsx +47 -0
- package/src/tree-grid/stories/index.tsx +144 -0
- package/src/tree-grid/test/__snapshots__/index.tsx.snap +3 -0
- package/src/tree-grid/test/{cell.js → cell.tsx} +7 -4
- package/src/tree-grid/test/{index.js → index.tsx} +13 -5
- package/src/tree-grid/test/{roving-tab-index-item.js → roving-tab-index-item.tsx} +7 -4
- package/src/tree-grid/test/{row.js → row.tsx} +4 -4
- package/src/tree-grid/types.ts +116 -0
- package/src/ui/context/context-connect.ts +7 -7
- package/src/ui/context/context-system-provider.js +7 -4
- package/src/ui/context/get-styled-class-name-from-key.ts +1 -1
- package/src/ui/utils/get-valid-children.ts +1 -1
- package/src/ui/utils/space.ts +1 -1
- package/src/unit-control/index.tsx +2 -2
- package/src/unit-control/utils.ts +20 -20
- package/src/utils/events.ts +4 -4
- package/src/utils/hooks/use-controlled-state.js +2 -2
- package/src/utils/hooks/use-controlled-value.ts +4 -4
- package/src/utils/hooks/use-latest-ref.ts +1 -1
- package/src/utils/unit-values.ts +3 -3
- package/src/v-stack/stories/e2e/index.tsx +36 -0
- package/tsconfig.json +1 -7
- package/tsconfig.tsbuildinfo +1 -1
- package/build/base-field/hook.js +0 -54
- package/build/base-field/hook.js.map +0 -1
- package/build/base-field/index.js +0 -14
- package/build/base-field/index.js.map +0 -1
- package/build/base-field/styles.js +0 -33
- package/build/base-field/styles.js.map +0 -1
- package/build/resizable-box/styles/resizable-box.styles.js +0 -2
- package/build-module/base-field/hook.js +0 -37
- package/build-module/base-field/hook.js.map +0 -1
- package/build-module/base-field/index.js +0 -2
- package/build-module/base-field/index.js.map +0 -1
- package/build-module/base-field/styles.js +0 -18
- package/build-module/base-field/styles.js.map +0 -1
- package/build-module/resizable-box/styles/resizable-box.styles.js +0 -2
- package/build-types/base-field/hook.d.ts +0 -270
- package/build-types/base-field/hook.d.ts.map +0 -1
- package/build-types/base-field/index.d.ts +0 -2
- package/build-types/base-field/index.d.ts.map +0 -1
- package/build-types/base-field/styles.d.ts +0 -6
- package/build-types/base-field/styles.d.ts.map +0 -1
- package/build-types/base-field/types.d.ts +0 -29
- package/build-types/base-field/types.d.ts.map +0 -1
- package/build-types/resizable-box/styles/resizable-box.styles.d.ts +0 -1
- package/build-types/resizable-box/styles/resizable-box.styles.d.ts.map +0 -1
- package/src/angle-picker-control/stories/index.js +0 -29
- package/src/base-field/README.md +0 -66
- package/src/base-field/hook.ts +0 -51
- package/src/base-field/index.ts +0 -1
- package/src/base-field/styles.ts +0 -86
- package/src/base-field/test/__snapshots__/index.tsx.snap +0 -141
- package/src/base-field/test/index.tsx +0 -84
- package/src/base-field/types.ts +0 -29
- package/src/combobox-control/stories/index.js +0 -339
- package/src/higher-order/with-constrained-tabbing/index.js +0 -22
- package/src/menu-items-choice/index.js +0 -43
- package/src/panel/header.js +0 -10
- package/src/panel/index.js +0 -26
- package/src/panel/row.js +0 -20
- package/src/resizable-box/styles/resizable-box.styles.js +0 -0
- package/src/tools-panel/stories/utils/tools-panel-with-item-group-slot.js +0 -246
- package/src/tree-grid/cell.js +0 -24
- package/src/tree-grid/item.js +0 -20
- package/src/tree-grid/roving-tab-index-item.js +0 -33
- package/src/tree-grid/row.js +0 -31
- package/src/tree-grid/stories/index.js +0 -106
- package/src/tree-grid/test/__snapshots__/index.js.snap +0 -3
- /package/build/{base-field → angle-picker-control}/types.js +0 -0
- /package/build-module/{base-field → angle-picker-control}/types.js +0 -0
- /package/build-module/{base-field → angle-picker-control}/types.js.map +0 -0
- /package/{build/base-field → build-module/box-control}/types.js.map +0 -0
- /package/build-module/{resizable-box/styles/resizable-box.styles.js.map → circular-option-picker/types.js.map} +0 -0
- /package/{build/resizable-box/styles/resizable-box.styles.js.map → build-module/combobox-control/types.js.map} +0 -0
- /package/build-types/{base-field → border-box-control}/test/index.d.ts +0 -0
- /package/src/panel/test/__snapshots__/{header.js.snap → header.tsx.snap} +0 -0
- /package/src/panel/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
- /package/src/panel/test/__snapshots__/{row.js.snap → row.tsx.snap} +0 -0
- /package/src/resizable-box/resize-tooltip/styles/{resize-tooltip.styles.js → resize-tooltip.styles.ts} +0 -0
- /package/src/toolbar/test/{index.js → index.tsx} +0 -0
- /package/src/tree-grid/test/__snapshots__/{cell.js.snap → cell.tsx.snap} +0 -0
- /package/src/tree-grid/test/__snapshots__/{roving-tab-index-item.js.snap → roving-tab-index-item.tsx.snap} +0 -0
- /package/src/tree-grid/test/__snapshots__/{roving-tab-index.js.snap → roving-tab-index.tsx.snap} +0 -0
- /package/src/tree-grid/test/__snapshots__/{row.js.snap → row.tsx.snap} +0 -0
- /package/src/tree-grid/test/{roving-tab-index.js → roving-tab-index.tsx} +0 -0
|
@@ -12,7 +12,8 @@ import { useState } from '@wordpress/element';
|
|
|
12
12
|
/**
|
|
13
13
|
* Internal dependencies
|
|
14
14
|
*/
|
|
15
|
-
import ComboboxControl from '
|
|
15
|
+
import ComboboxControl from '..';
|
|
16
|
+
import type { ComboboxControlOption, ComboboxControlProps } from '../types';
|
|
16
17
|
|
|
17
18
|
const timezones = [
|
|
18
19
|
{ label: 'Greenwich Mean Time', value: 'GMT' },
|
|
@@ -49,20 +50,21 @@ const timezones = [
|
|
|
49
50
|
];
|
|
50
51
|
|
|
51
52
|
const defaultLabelText = 'Select a timezone';
|
|
52
|
-
const getLabel = ( labelText ) => screen.getByText( labelText );
|
|
53
|
-
const getInput = ( name ) => screen.getByRole( 'combobox', { name } );
|
|
54
|
-
const getOption = ( name ) => screen.getByRole( 'option', { name } );
|
|
53
|
+
const getLabel = ( labelText: string ) => screen.getByText( labelText );
|
|
54
|
+
const getInput = ( name: string ) => screen.getByRole( 'combobox', { name } );
|
|
55
|
+
const getOption = ( name: string ) => screen.getByRole( 'option', { name } );
|
|
55
56
|
const getAllOptions = () => screen.getAllByRole( 'option' );
|
|
56
|
-
const getOptionSearchString = ( option ) =>
|
|
57
|
+
const getOptionSearchString = ( option: ComboboxControlOption ) =>
|
|
58
|
+
option.label.substring( 0, 11 );
|
|
57
59
|
const setupUser = () => userEvent.setup();
|
|
58
60
|
|
|
59
61
|
const ControlledComboboxControl = ( {
|
|
60
62
|
value: valueProp,
|
|
61
63
|
onChange,
|
|
62
64
|
...props
|
|
63
|
-
} ) => {
|
|
65
|
+
}: ComboboxControlProps ) => {
|
|
64
66
|
const [ value, setValue ] = useState( valueProp );
|
|
65
|
-
const handleOnChange = ( newValue ) => {
|
|
67
|
+
const handleOnChange: ComboboxControlProps[ 'onChange' ] = ( newValue ) => {
|
|
66
68
|
setValue( newValue );
|
|
67
69
|
onChange?.( newValue );
|
|
68
70
|
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { BaseControlProps } from '../base-control/types';
|
|
5
|
+
|
|
6
|
+
export type ComboboxControlOption = {
|
|
7
|
+
label: string;
|
|
8
|
+
value: string;
|
|
9
|
+
[ key: string ]: any;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type ComboboxControlProps = Pick<
|
|
13
|
+
BaseControlProps,
|
|
14
|
+
| '__nextHasNoMarginBottom'
|
|
15
|
+
| 'className'
|
|
16
|
+
| 'label'
|
|
17
|
+
| 'hideLabelFromVision'
|
|
18
|
+
| 'help'
|
|
19
|
+
> & {
|
|
20
|
+
/**
|
|
21
|
+
* Custom renderer invoked for each option in the suggestion list.
|
|
22
|
+
* The render prop receives as its argument an object containing, under the `item` key,
|
|
23
|
+
* the single option's data (directly from the array of data passed to the `options` prop).
|
|
24
|
+
*/
|
|
25
|
+
__experimentalRenderItem?: ( args: {
|
|
26
|
+
item: ComboboxControlOption;
|
|
27
|
+
} ) => React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Start opting into the larger default height that will become the default size in a future version.
|
|
30
|
+
*
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
__next36pxDefaultSize?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Show a reset button to clear the input.
|
|
36
|
+
*
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
allowReset?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Customizable UI messages.
|
|
42
|
+
*/
|
|
43
|
+
messages?: {
|
|
44
|
+
/**
|
|
45
|
+
* The message to announce to screen readers when a suggestion is selected.
|
|
46
|
+
*
|
|
47
|
+
* @default `__( 'Item selected.' )`
|
|
48
|
+
*/
|
|
49
|
+
selected: string;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Function called with the selected value changes.
|
|
53
|
+
*/
|
|
54
|
+
onChange?: ( value: ComboboxControlProps[ 'value' ] ) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Function called when the control's search input value changes. The argument contains the next input value.
|
|
57
|
+
*
|
|
58
|
+
* @default noop
|
|
59
|
+
*/
|
|
60
|
+
onFilterValueChange?: ( value: string ) => void;
|
|
61
|
+
/**
|
|
62
|
+
* The options that can be chosen from.
|
|
63
|
+
*/
|
|
64
|
+
options: ComboboxControlOption[];
|
|
65
|
+
/**
|
|
66
|
+
* The current value of the control.
|
|
67
|
+
*/
|
|
68
|
+
value?: string | null;
|
|
69
|
+
};
|
|
@@ -10,9 +10,9 @@ export default {
|
|
|
10
10
|
__next36pxDefaultSize: { control: { type: 'boolean' } },
|
|
11
11
|
__experimentalShowSelectedHint: { control: { type: 'boolean' } },
|
|
12
12
|
size: {
|
|
13
|
+
options: [ 'small', 'default', '__unstable-large' ],
|
|
13
14
|
control: {
|
|
14
15
|
type: 'radio',
|
|
15
|
-
options: [ 'small', 'default', '__unstable-large' ],
|
|
16
16
|
},
|
|
17
17
|
},
|
|
18
18
|
},
|
|
@@ -51,7 +51,7 @@ function from12hTo24h( hours: number, isPm: boolean ) {
|
|
|
51
51
|
* given width. For example, the hours and minutes inputs are padded to 2 so
|
|
52
52
|
* that '4' appears as '04'.
|
|
53
53
|
*
|
|
54
|
-
* @param
|
|
54
|
+
* @param pad How many digits the value should be.
|
|
55
55
|
*/
|
|
56
56
|
function buildPadInputStateReducer( pad: number ) {
|
|
57
57
|
return ( state: InputState, action: InputAction ) => {
|
package/src/date-time/utils.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { toDate } from 'date-fns';
|
|
|
7
7
|
* Like date-fn's toDate, but tries to guess the format when a string is
|
|
8
8
|
* given.
|
|
9
9
|
*
|
|
10
|
-
* @param
|
|
10
|
+
* @param input Value to turn into a date.
|
|
11
11
|
*/
|
|
12
12
|
export function inputToDate( input: Date | string | number ): Date {
|
|
13
13
|
if ( typeof input === 'string' ) {
|
package/src/draggable/index.tsx
CHANGED
|
@@ -75,7 +75,7 @@ export function Draggable( {
|
|
|
75
75
|
/**
|
|
76
76
|
* Removes the element clone, resets cursor, and removes drag listener.
|
|
77
77
|
*
|
|
78
|
-
* @param
|
|
78
|
+
* @param event The non-custom DragEvent.
|
|
79
79
|
*/
|
|
80
80
|
function end( event: DragEvent ) {
|
|
81
81
|
event.preventDefault();
|
|
@@ -94,7 +94,7 @@ export function Draggable( {
|
|
|
94
94
|
* - Sets transfer data.
|
|
95
95
|
* - Adds dragover listener.
|
|
96
96
|
*
|
|
97
|
-
* @param
|
|
97
|
+
* @param event The non-custom DragEvent.
|
|
98
98
|
*/
|
|
99
99
|
function start( event: DragEvent ) {
|
|
100
100
|
const { ownerDocument } = event.target as HTMLElement;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { render, screen, waitFor, within } from '@testing-library/react';
|
|
5
5
|
import userEvent from '@testing-library/user-event';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -63,10 +63,6 @@ describe( 'DropdownMenu', () => {
|
|
|
63
63
|
|
|
64
64
|
await user.keyboard( '[ArrowDown]' );
|
|
65
65
|
|
|
66
|
-
// Wait for the `floating-ui` effects in `Dropdown`/`Popover` to finish running
|
|
67
|
-
// See also: https://floating-ui.com/docs/react-dom#testing
|
|
68
|
-
await act( () => Promise.resolve() );
|
|
69
|
-
|
|
70
66
|
const menu = screen.getByRole( 'menu' );
|
|
71
67
|
|
|
72
68
|
// we need to wait because showing the dropdown is animated
|
|
@@ -86,15 +82,11 @@ describe( 'DropdownMenu', () => {
|
|
|
86
82
|
/>
|
|
87
83
|
);
|
|
88
84
|
|
|
89
|
-
|
|
90
|
-
|
|
85
|
+
// Move focus on the toggle button
|
|
86
|
+
await user.tab();
|
|
91
87
|
|
|
92
88
|
await user.keyboard( '[ArrowDown]' );
|
|
93
89
|
|
|
94
|
-
// Wait for the `floating-ui` effects in `Dropdown`/`Popover` to finish running
|
|
95
|
-
// See also: https://floating-ui.com/docs/react-dom#testing
|
|
96
|
-
await act( () => Promise.resolve() );
|
|
97
|
-
|
|
98
90
|
const menu = screen.getByRole( 'menu' );
|
|
99
91
|
|
|
100
92
|
// we need to wait because showing the dropdown is animated
|
|
@@ -19,7 +19,7 @@ const VIDEO_EXTENSIONS = [
|
|
|
19
19
|
/**
|
|
20
20
|
* Gets the extension of a file name.
|
|
21
21
|
*
|
|
22
|
-
* @param
|
|
22
|
+
* @param filename The file name.
|
|
23
23
|
* @return The extension of the file name.
|
|
24
24
|
*/
|
|
25
25
|
export function getExtension( filename = '' ): string {
|
|
@@ -30,7 +30,7 @@ export function getExtension( filename = '' ): string {
|
|
|
30
30
|
/**
|
|
31
31
|
* Checks if a file is a video.
|
|
32
32
|
*
|
|
33
|
-
* @param
|
|
33
|
+
* @param filename The file name.
|
|
34
34
|
* @return Whether the file is a video.
|
|
35
35
|
*/
|
|
36
36
|
export function isVideoType( filename: string = '' ): boolean {
|
|
@@ -44,7 +44,7 @@ export function isVideoType( filename: string = '' ): boolean {
|
|
|
44
44
|
/**
|
|
45
45
|
* Transforms a fraction value to a percentage value.
|
|
46
46
|
*
|
|
47
|
-
* @param
|
|
47
|
+
* @param fraction The fraction value.
|
|
48
48
|
* @return A percentage value.
|
|
49
49
|
*/
|
|
50
50
|
export function fractionToPercentage( fraction: number ): number {
|
|
@@ -13,7 +13,7 @@ import { parseQuantityAndUnitFromRawValue } from '../unit-control';
|
|
|
13
13
|
* Some themes use css vars for their font sizes, so until we
|
|
14
14
|
* have the way of calculating them don't display them.
|
|
15
15
|
*
|
|
16
|
-
* @param
|
|
16
|
+
* @param value The value that is checked.
|
|
17
17
|
* @return Whether the value is a simple css value.
|
|
18
18
|
*/
|
|
19
19
|
export function isSimpleCssValue(
|
|
@@ -27,7 +27,7 @@ export function isSimpleCssValue(
|
|
|
27
27
|
* If all of the given font sizes have the same unit (e.g. 'px'), return that
|
|
28
28
|
* unit. Otherwise return null.
|
|
29
29
|
*
|
|
30
|
-
* @param
|
|
30
|
+
* @param fontSizes List of font sizes.
|
|
31
31
|
* @return The common unit, or null.
|
|
32
32
|
*/
|
|
33
33
|
export function getCommonSizeUnit( fontSizes: FontSize[] ) {
|
|
@@ -101,3 +101,11 @@ Start opting into the new margin-free styles that will become the default in a f
|
|
|
101
101
|
- Type: `Boolean`
|
|
102
102
|
- Required: No
|
|
103
103
|
- Default: `false`
|
|
104
|
+
|
|
105
|
+
### headingLevel
|
|
106
|
+
|
|
107
|
+
The heading level.
|
|
108
|
+
|
|
109
|
+
- Type: `1 | 2 | 3 | 4 | 5 | 6 | '1' | '2' | '3' | '4' | '5' | '6'`
|
|
110
|
+
- Required: No
|
|
111
|
+
- Default: `2`
|
|
@@ -77,13 +77,16 @@ function MultipleOrigin( {
|
|
|
77
77
|
onChange,
|
|
78
78
|
value,
|
|
79
79
|
actions,
|
|
80
|
+
headingLevel,
|
|
80
81
|
} ) {
|
|
81
82
|
return (
|
|
82
83
|
<VStack spacing={ 3 } className={ className }>
|
|
83
84
|
{ gradients.map( ( { name, gradients: gradientSet }, index ) => {
|
|
84
85
|
return (
|
|
85
86
|
<VStack spacing={ 2 } key={ index }>
|
|
86
|
-
<ColorHeading
|
|
87
|
+
<ColorHeading level={ headingLevel }>
|
|
88
|
+
{ name }
|
|
89
|
+
</ColorHeading>
|
|
87
90
|
<SingleOrigin
|
|
88
91
|
clearGradient={ clearGradient }
|
|
89
92
|
gradients={ gradientSet }
|
|
@@ -112,6 +115,7 @@ export default function GradientPicker( {
|
|
|
112
115
|
clearable = true,
|
|
113
116
|
disableCustomGradients = false,
|
|
114
117
|
__experimentalIsRenderedInSidebar,
|
|
118
|
+
headingLevel = 2,
|
|
115
119
|
} ) {
|
|
116
120
|
const clearGradient = useCallback(
|
|
117
121
|
() => onChange( undefined ),
|
|
@@ -168,6 +172,7 @@ export default function GradientPicker( {
|
|
|
168
172
|
</CircularOptionPicker.ButtonAction>
|
|
169
173
|
)
|
|
170
174
|
}
|
|
175
|
+
headingLevel={ headingLevel }
|
|
171
176
|
/>
|
|
172
177
|
) }
|
|
173
178
|
</VStack>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentStory, ComponentMeta } from '@storybook/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { View } from '../../../view';
|
|
10
|
+
import { HStack } from '../..';
|
|
11
|
+
|
|
12
|
+
const meta: ComponentMeta< typeof HStack > = {
|
|
13
|
+
component: HStack,
|
|
14
|
+
title: 'Components (Experimental)/HStack',
|
|
15
|
+
};
|
|
16
|
+
export default meta;
|
|
17
|
+
|
|
18
|
+
const Template: ComponentStory< typeof HStack > = ( props ) => {
|
|
19
|
+
return (
|
|
20
|
+
<HStack
|
|
21
|
+
style={ { background: '#eee', minHeight: '3rem' } }
|
|
22
|
+
{ ...props }
|
|
23
|
+
>
|
|
24
|
+
{ [ 'One', 'Two', 'Three', 'Four', 'Five' ].map( ( text ) => (
|
|
25
|
+
<View key={ text } style={ { background: '#b9f9ff' } }>
|
|
26
|
+
{ text }
|
|
27
|
+
</View>
|
|
28
|
+
) ) }
|
|
29
|
+
</HStack>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const Default: ComponentStory< typeof HStack > = Template.bind( {} );
|
|
34
|
+
Default.args = {
|
|
35
|
+
spacing: 3,
|
|
36
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
createHigherOrderComponent,
|
|
6
|
+
useConstrainedTabbing,
|
|
7
|
+
} from '@wordpress/compose';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* `withConstrainedTabbing` is a React [higher-order component](https://facebook.github.io/react/docs/higher-order-components.html)
|
|
11
|
+
* adding the ability to constrain keyboard navigation with the Tab key within a component.
|
|
12
|
+
* For accessibility reasons, some UI components need to constrain Tab navigation, for example
|
|
13
|
+
* modal dialogs or similar UI. Use of this component is recommended only in cases where a way to
|
|
14
|
+
* navigate away from the wrapped component is implemented by other means, usually by pressing
|
|
15
|
+
* the Escape key or using a specific UI control, e.g. a "Close" button.
|
|
16
|
+
*/
|
|
17
|
+
const withConstrainedTabbing = createHigherOrderComponent(
|
|
18
|
+
( WrappedComponent ) =>
|
|
19
|
+
function ComponentWithConstrainedTabbing( props ) {
|
|
20
|
+
const ref = useConstrainedTabbing();
|
|
21
|
+
return (
|
|
22
|
+
<div ref={ ref } tabIndex={ -1 }>
|
|
23
|
+
<WrappedComponent { ...props } />
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
},
|
|
27
|
+
'withConstrainedTabbing'
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
export default withConstrainedTabbing;
|
|
@@ -23,7 +23,7 @@ import type { InputChangeCallback } from '../types';
|
|
|
23
23
|
/**
|
|
24
24
|
* Prepares initialState for the reducer.
|
|
25
25
|
*
|
|
26
|
-
* @param
|
|
26
|
+
* @param initialState The initial state.
|
|
27
27
|
* @return Prepared initialState for the reducer
|
|
28
28
|
*/
|
|
29
29
|
function mergeInitialState(
|
|
@@ -45,7 +45,7 @@ function mergeInitialState(
|
|
|
45
45
|
* exception for CONTROL actions is because they represent controlled updates
|
|
46
46
|
* from props and no case has yet presented for their specialization.
|
|
47
47
|
*
|
|
48
|
-
* @param
|
|
48
|
+
* @param composedStateReducers A reducer to specialize state changes.
|
|
49
49
|
* @return The reducer.
|
|
50
50
|
*/
|
|
51
51
|
function inputControlStateReducer(
|
|
@@ -140,9 +140,9 @@ function inputControlStateReducer(
|
|
|
140
140
|
* This technique uses the "stateReducer" design pattern:
|
|
141
141
|
* https://kentcdodds.com/blog/the-state-reducer-pattern/
|
|
142
142
|
*
|
|
143
|
-
* @param
|
|
144
|
-
* @param
|
|
145
|
-
* @param
|
|
143
|
+
* @param stateReducer An external state reducer.
|
|
144
|
+
* @param initialState The initial state for the reducer.
|
|
145
|
+
* @param onChangeHandler A handler for the onChange event.
|
|
146
146
|
* @return State, dispatch, and a collection of actions.
|
|
147
147
|
*/
|
|
148
148
|
export function useInputControlStateReducer(
|
|
@@ -21,7 +21,7 @@ import type { InputChangeCallback } from './types';
|
|
|
21
21
|
/**
|
|
22
22
|
* Gets a CSS cursor value based on a drag direction.
|
|
23
23
|
*
|
|
24
|
-
* @param
|
|
24
|
+
* @param dragDirection The drag direction.
|
|
25
25
|
* @return The CSS cursor value.
|
|
26
26
|
*/
|
|
27
27
|
export function getDragCursor( dragDirection: string ): string {
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { check } from '@wordpress/icons';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import MenuItem from '../menu-item';
|
|
10
|
+
import type { MenuItemsChoiceProps } from './types';
|
|
11
|
+
|
|
12
|
+
const noop = () => {};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* `MenuItemsChoice` functions similarly to a set of `MenuItem`s, but allows the user to select one option from a set of multiple choices.
|
|
16
|
+
*
|
|
17
|
+
*
|
|
18
|
+
* ```jsx
|
|
19
|
+
* import { MenuGroup, MenuItemsChoice } from '@wordpress/components';
|
|
20
|
+
* import { useState } from '@wordpress/element';
|
|
21
|
+
*
|
|
22
|
+
* const MyMenuItemsChoice = () => {
|
|
23
|
+
* const [ mode, setMode ] = useState( 'visual' );
|
|
24
|
+
* const choices = [
|
|
25
|
+
* {
|
|
26
|
+
* value: 'visual',
|
|
27
|
+
* label: 'Visual editor',
|
|
28
|
+
* },
|
|
29
|
+
* {
|
|
30
|
+
* value: 'text',
|
|
31
|
+
* label: 'Code editor',
|
|
32
|
+
* },
|
|
33
|
+
* ];
|
|
34
|
+
*
|
|
35
|
+
* return (
|
|
36
|
+
* <MenuGroup label="Editor">
|
|
37
|
+
* <MenuItemsChoice
|
|
38
|
+
* choices={ choices }
|
|
39
|
+
* value={ mode }
|
|
40
|
+
* onSelect={ ( newMode ) => setMode( newMode ) }
|
|
41
|
+
* />
|
|
42
|
+
* </MenuGroup>
|
|
43
|
+
* );
|
|
44
|
+
* };
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
function MenuItemsChoice( {
|
|
48
|
+
choices = [],
|
|
49
|
+
onHover = noop,
|
|
50
|
+
onSelect,
|
|
51
|
+
value,
|
|
52
|
+
}: MenuItemsChoiceProps ) {
|
|
53
|
+
return (
|
|
54
|
+
<>
|
|
55
|
+
{ choices.map( ( item ) => {
|
|
56
|
+
const isSelected = value === item.value;
|
|
57
|
+
return (
|
|
58
|
+
<MenuItem
|
|
59
|
+
key={ item.value }
|
|
60
|
+
role="menuitemradio"
|
|
61
|
+
icon={ isSelected && check }
|
|
62
|
+
info={ item.info }
|
|
63
|
+
isSelected={ isSelected }
|
|
64
|
+
shortcut={ item.shortcut }
|
|
65
|
+
className="components-menu-items-choice"
|
|
66
|
+
onClick={ () => {
|
|
67
|
+
if ( ! isSelected ) {
|
|
68
|
+
onSelect( item.value );
|
|
69
|
+
}
|
|
70
|
+
} }
|
|
71
|
+
onMouseEnter={ () => onHover( item.value ) }
|
|
72
|
+
onMouseLeave={ () => onHover( null ) }
|
|
73
|
+
aria-label={ item[ 'aria-label' ] }
|
|
74
|
+
>
|
|
75
|
+
{ item.label }
|
|
76
|
+
</MenuItem>
|
|
77
|
+
);
|
|
78
|
+
} ) }
|
|
79
|
+
</>
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export default MenuItemsChoice;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentMeta, ComponentStory } from '@storybook/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { useState } from '@wordpress/element';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import MenuItemsChoice from '..';
|
|
15
|
+
import MenuGroup from '../../menu-group';
|
|
16
|
+
|
|
17
|
+
const meta: ComponentMeta< typeof MenuItemsChoice > = {
|
|
18
|
+
component: MenuItemsChoice,
|
|
19
|
+
title: 'Components/MenuItemsChoice',
|
|
20
|
+
argTypes: {
|
|
21
|
+
onHover: { action: 'onHover' },
|
|
22
|
+
onSelect: { action: 'onSelect' },
|
|
23
|
+
value: { control: { type: null } },
|
|
24
|
+
},
|
|
25
|
+
parameters: {
|
|
26
|
+
controls: {
|
|
27
|
+
expanded: true,
|
|
28
|
+
},
|
|
29
|
+
docs: { source: { state: 'open' } },
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
export default meta;
|
|
33
|
+
|
|
34
|
+
const Template: ComponentStory< typeof MenuItemsChoice > = ( {
|
|
35
|
+
onHover,
|
|
36
|
+
onSelect,
|
|
37
|
+
choices,
|
|
38
|
+
} ) => {
|
|
39
|
+
const [ choice, setChoice ] = useState( choices[ 0 ]?.value ?? '' );
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<MenuGroup label="Editor">
|
|
43
|
+
<MenuItemsChoice
|
|
44
|
+
choices={ choices }
|
|
45
|
+
value={ choice }
|
|
46
|
+
onSelect={ ( ...selectArgs ) => {
|
|
47
|
+
onSelect( ...selectArgs );
|
|
48
|
+
setChoice( ...selectArgs );
|
|
49
|
+
} }
|
|
50
|
+
onHover={ onHover }
|
|
51
|
+
/>
|
|
52
|
+
</MenuGroup>
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const Default: ComponentStory< typeof MenuItemsChoice > = Template.bind(
|
|
57
|
+
{}
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
Default.args = {
|
|
61
|
+
choices: [
|
|
62
|
+
{
|
|
63
|
+
value: 'arbitrary-choice-1',
|
|
64
|
+
label: 'Arbitrary Label #1',
|
|
65
|
+
info: 'Arbitrary Explanatory 1',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
value: 'arbitrary-choice-2',
|
|
69
|
+
label: 'Arbitrary Label #2',
|
|
70
|
+
info: 'Arbitrary Explanatory 2',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
value: 'arbitrary-choice-3',
|
|
74
|
+
label: 'Arbitrary Label #3',
|
|
75
|
+
info: 'Arbitrary Explanatory 3',
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
value: 'arbitrary-choice-1',
|
|
79
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ShortcutProps } from '../shortcut/types';
|
|
5
|
+
|
|
6
|
+
export type MenuItemsChoiceProps = {
|
|
7
|
+
/**
|
|
8
|
+
* Array of choices.
|
|
9
|
+
*
|
|
10
|
+
* @default []
|
|
11
|
+
*/
|
|
12
|
+
choices: readonly MenuItemChoice[];
|
|
13
|
+
/**
|
|
14
|
+
* Value of currently selected choice (should match a `value` property
|
|
15
|
+
* from a choice in `choices`).
|
|
16
|
+
*/
|
|
17
|
+
value: string;
|
|
18
|
+
/**
|
|
19
|
+
* Callback function to be called with the selected choice when user
|
|
20
|
+
* selects a new choice.
|
|
21
|
+
*/
|
|
22
|
+
onSelect( value: string ): void;
|
|
23
|
+
/**
|
|
24
|
+
* Callback function to be called with a choice when user
|
|
25
|
+
* hovers over a new choice (will be empty on mouse leave).
|
|
26
|
+
*
|
|
27
|
+
* @default noop
|
|
28
|
+
*/
|
|
29
|
+
onHover: ( value: string | null ) => void;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export type MenuItemChoice = {
|
|
33
|
+
/**
|
|
34
|
+
* Human-readable label for choice.
|
|
35
|
+
*/
|
|
36
|
+
label: string;
|
|
37
|
+
/**
|
|
38
|
+
* Unique value for choice.
|
|
39
|
+
*/
|
|
40
|
+
value: string;
|
|
41
|
+
/**
|
|
42
|
+
* Additional information which will be rendered below the given label.
|
|
43
|
+
*/
|
|
44
|
+
info?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Optional keyboard sequence to trigger choice with keyboard shortcut
|
|
47
|
+
* (e.g. `ctrl+s`).
|
|
48
|
+
*/
|
|
49
|
+
shortcut?: ShortcutProps[ 'shortcut' ];
|
|
50
|
+
/**
|
|
51
|
+
* Aria compliant label.
|
|
52
|
+
*/
|
|
53
|
+
[ 'aria-label' ]?: string;
|
|
54
|
+
};
|