@wordpress/components 23.5.0 → 23.6.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 +40 -7
- package/build/animate/index.js +3 -1
- package/build/animate/index.js.map +1 -1
- package/build/animation/index.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.js +5 -5
- package/build/autocomplete/autocompleter-ui.js.map +1 -1
- package/build/autocomplete/get-default-use-items.js.map +1 -1
- package/build/autocomplete/index.js +25 -91
- package/build/autocomplete/index.js.map +1 -1
- package/build/autocomplete/types.js +6 -0
- package/build/autocomplete/types.js.map +1 -0
- package/build/custom-gradient-picker/gradient-bar/control-points.js +2 -0
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/index.js +2 -0
- package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/utils.js +2 -0
- package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
- package/build/custom-gradient-picker/index.js +2 -0
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/custom-gradient-picker/serializer.js +1 -0
- package/build/custom-gradient-picker/serializer.js.map +1 -1
- package/build/custom-gradient-picker/utils.js +2 -0
- package/build/custom-gradient-picker/utils.js.map +1 -1
- package/build/dimension-control/index.js +31 -5
- package/build/dimension-control/index.js.map +1 -1
- package/build/dimension-control/sizes.js +2 -4
- package/build/dimension-control/sizes.js.map +1 -1
- package/build/dimension-control/types.js +6 -0
- package/build/dimension-control/types.js.map +1 -0
- package/build/flex/flex/hook.js +3 -3
- package/build/flex/flex/hook.js.map +1 -1
- package/build/font-size-picker/index.js +2 -1
- package/build/font-size-picker/index.js.map +1 -1
- package/build/form-token-field/index.js +1 -1
- package/build/form-token-field/index.js.map +1 -1
- package/build/gradient-picker/index.js +2 -0
- package/build/gradient-picker/index.js.map +1 -1
- package/build/guide/icons.js.map +1 -1
- package/build/guide/index.js +46 -8
- package/build/guide/index.js.map +1 -1
- package/build/guide/page-control.js.map +1 -1
- package/build/guide/page.js.map +1 -1
- package/build/guide/types.js +6 -0
- package/build/guide/types.js.map +1 -0
- package/build/h-stack/utils.js +5 -5
- package/build/h-stack/utils.js.map +1 -1
- package/build/higher-order/navigate-regions/index.js +33 -3
- package/build/higher-order/navigate-regions/index.js.map +1 -1
- package/build/higher-order/with-fallback-styles/index.js +2 -2
- package/build/higher-order/with-fallback-styles/index.js.map +1 -1
- package/build/higher-order/with-filters/index.js +31 -7
- package/build/higher-order/with-filters/index.js.map +1 -1
- package/build/higher-order/with-focus-return/index.js +10 -10
- package/build/higher-order/with-focus-return/index.js.map +1 -1
- package/build/higher-order/with-notices/index.js +28 -25
- package/build/higher-order/with-notices/index.js.map +1 -1
- package/build/higher-order/with-notices/types.js +6 -0
- package/build/higher-order/with-notices/types.js.map +1 -0
- package/build/higher-order/with-spoken-messages/index.js.map +1 -1
- package/build/icon/index.js +1 -8
- package/build/icon/index.js.map +1 -1
- package/build/index.native.js +18 -9
- package/build/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cell.native.js +1 -1
- package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet-text-control/index.native.js +4 -3
- package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build/navigation/back-button/index.js +6 -5
- package/build/navigation/back-button/index.js.map +1 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/context.js +7 -4
- package/build/navigation/context.js.map +1 -1
- package/build/navigation/group/context.js.map +1 -1
- package/build/navigation/group/index.js +5 -1
- package/build/navigation/group/index.js.map +1 -1
- package/build/navigation/index.js +49 -3
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/item/base-content.js +0 -1
- package/build/navigation/item/base-content.js.map +1 -1
- package/build/navigation/item/base.js.map +1 -1
- package/build/navigation/item/index.js +5 -1
- package/build/navigation/item/index.js.map +1 -1
- package/build/navigation/item/use-navigation-tree-item.js +1 -1
- package/build/navigation/item/use-navigation-tree-item.js.map +1 -1
- package/build/navigation/menu/context.js.map +1 -1
- package/build/navigation/menu/index.js +5 -1
- package/build/navigation/menu/index.js.map +1 -1
- package/build/navigation/menu/menu-title-search.js +8 -6
- package/build/navigation/menu/menu-title-search.js.map +1 -1
- package/build/navigation/menu/menu-title.js +4 -2
- package/build/navigation/menu/menu-title.js.map +1 -1
- package/build/navigation/menu/search-no-results-found.js.map +1 -1
- package/build/navigation/menu/use-navigation-tree-menu.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js +36 -36
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/navigation/types.js +6 -0
- package/build/navigation/types.js.map +1 -0
- package/build/navigation/use-create-navigation-tree.js +7 -0
- package/build/navigation/use-create-navigation-tree.js.map +1 -1
- package/build/navigation/use-navigation-tree-nodes.js +3 -5
- package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
- package/build/navigation/utils.js.map +1 -1
- package/build/navigator/navigator-screen/component.js +5 -3
- package/build/navigator/navigator-screen/component.js.map +1 -1
- package/build/number-control/index.js +1 -3
- package/build/number-control/index.js.map +1 -1
- package/build/palette-edit/index.js +67 -27
- package/build/palette-edit/index.js.map +1 -1
- package/build/palette-edit/types.js +6 -0
- package/build/palette-edit/types.js.map +1 -0
- package/build/panel/body.js +15 -17
- package/build/panel/body.js.map +1 -1
- package/build/placeholder/index.js.map +1 -1
- package/build/query-controls/author-select.js +0 -4
- package/build/query-controls/author-select.js.map +1 -1
- package/build/query-controls/category-select.js +0 -4
- package/build/query-controls/category-select.js.map +1 -1
- package/build/query-controls/terms.js +30 -15
- package/build/query-controls/terms.js.map +1 -1
- package/build/range-control/index.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/responsive-wrapper/index.js +12 -13
- package/build/responsive-wrapper/index.js.map +1 -1
- package/build/select-control/index.js +19 -16
- package/build/select-control/index.js.map +1 -1
- package/build/toolbar/toolbar-button/index.js +32 -10
- package/build/toolbar/toolbar-button/index.js.map +1 -1
- package/build/toolbar/toolbar-button/toolbar-button-container.js +12 -4
- package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
- package/build/toolbar/toolbar-button/types.js +6 -0
- package/build/toolbar/toolbar-button/types.js.map +1 -0
- package/build/toolbar/toolbar-context/index.js +4 -2
- package/build/toolbar/toolbar-context/index.js.map +1 -1
- package/build/tooltip/index.js +18 -6
- package/build/tooltip/index.js.map +1 -1
- package/build/tree-select/index.js.map +1 -1
- package/build/ui/context/get-styled-class-name-from-key.js +2 -2
- package/build/ui/context/get-styled-class-name-from-key.js.map +1 -1
- package/build/utils/font.js +3 -7
- package/build/utils/font.js.map +1 -1
- package/build/v-stack/hook.js +2 -0
- package/build/v-stack/hook.js.map +1 -1
- package/build-module/animate/index.js +3 -1
- package/build-module/animate/index.js.map +1 -1
- package/build-module/animation/index.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.js +6 -6
- package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
- package/build-module/autocomplete/get-default-use-items.js.map +1 -1
- package/build-module/autocomplete/index.js +28 -94
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/autocomplete/types.js +2 -0
- package/build-module/autocomplete/types.js.map +1 -0
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js +1 -0
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/index.js +1 -0
- package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/utils.js +2 -0
- package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
- package/build-module/custom-gradient-picker/index.js +1 -0
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/custom-gradient-picker/serializer.js +1 -0
- package/build-module/custom-gradient-picker/serializer.js.map +1 -1
- package/build-module/custom-gradient-picker/utils.js +2 -0
- package/build-module/custom-gradient-picker/utils.js.map +1 -1
- package/build-module/dimension-control/index.js +28 -3
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/dimension-control/sizes.js +6 -5
- package/build-module/dimension-control/sizes.js.map +1 -1
- package/build-module/dimension-control/types.js +2 -0
- package/build-module/dimension-control/types.js.map +1 -0
- package/build-module/flex/flex/hook.js +3 -3
- package/build-module/flex/flex/hook.js.map +1 -1
- package/build-module/font-size-picker/index.js +2 -1
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/form-token-field/index.js +1 -1
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/gradient-picker/index.js +1 -0
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/guide/icons.js.map +1 -1
- package/build-module/guide/index.js +45 -8
- package/build-module/guide/index.js.map +1 -1
- package/build-module/guide/page-control.js.map +1 -1
- package/build-module/guide/page.js +4 -0
- package/build-module/guide/page.js.map +1 -1
- package/build-module/guide/types.js +2 -0
- package/build-module/guide/types.js.map +1 -0
- package/build-module/h-stack/utils.js +5 -5
- package/build-module/h-stack/utils.js.map +1 -1
- package/build-module/higher-order/navigate-regions/index.js +33 -3
- package/build-module/higher-order/navigate-regions/index.js.map +1 -1
- package/build-module/higher-order/with-fallback-styles/index.js +2 -2
- package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
- package/build-module/higher-order/with-filters/index.js +31 -7
- package/build-module/higher-order/with-filters/index.js.map +1 -1
- package/build-module/higher-order/with-focus-return/index.js +10 -10
- package/build-module/higher-order/with-focus-return/index.js.map +1 -1
- package/build-module/higher-order/with-notices/index.js +29 -26
- package/build-module/higher-order/with-notices/index.js.map +1 -1
- package/build-module/higher-order/with-notices/types.js +2 -0
- package/build-module/higher-order/with-notices/types.js.map +1 -0
- package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
- package/build-module/icon/index.js +2 -9
- package/build-module/icon/index.js.map +1 -1
- package/build-module/index.native.js +1 -0
- package/build-module/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-text-control/index.native.js +4 -3
- package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build-module/navigation/back-button/index.js +4 -3
- package/build-module/navigation/back-button/index.js.map +1 -1
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/context.js +7 -4
- package/build-module/navigation/context.js.map +1 -1
- package/build-module/navigation/group/context.js +4 -0
- package/build-module/navigation/group/context.js.map +1 -1
- package/build-module/navigation/group/index.js +2 -1
- package/build-module/navigation/group/index.js.map +1 -1
- package/build-module/navigation/index.js +46 -3
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/item/base-content.js +0 -1
- package/build-module/navigation/item/base-content.js.map +1 -1
- package/build-module/navigation/item/base.js.map +1 -1
- package/build-module/navigation/item/index.js +2 -1
- package/build-module/navigation/item/index.js.map +1 -1
- package/build-module/navigation/item/use-navigation-tree-item.js +1 -1
- package/build-module/navigation/item/use-navigation-tree-item.js.map +1 -1
- package/build-module/navigation/menu/context.js +4 -0
- package/build-module/navigation/menu/context.js.map +1 -1
- package/build-module/navigation/menu/index.js +2 -1
- package/build-module/navigation/menu/index.js.map +1 -1
- package/build-module/navigation/menu/menu-title-search.js +8 -6
- package/build-module/navigation/menu/menu-title-search.js.map +1 -1
- package/build-module/navigation/menu/menu-title.js +4 -2
- package/build-module/navigation/menu/menu-title.js.map +1 -1
- package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
- package/build-module/navigation/menu/use-navigation-tree-menu.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js +36 -36
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/navigation/types.js +2 -0
- package/build-module/navigation/types.js.map +1 -0
- package/build-module/navigation/use-create-navigation-tree.js +7 -0
- package/build-module/navigation/use-create-navigation-tree.js.map +1 -1
- package/build-module/navigation/use-navigation-tree-nodes.js +2 -2
- package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
- package/build-module/navigation/utils.js.map +1 -1
- package/build-module/navigator/navigator-screen/component.js +5 -3
- package/build-module/navigator/navigator-screen/component.js.map +1 -1
- package/build-module/number-control/index.js +1 -3
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/palette-edit/index.js +65 -27
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/palette-edit/types.js +2 -0
- package/build-module/palette-edit/types.js.map +1 -0
- package/build-module/panel/body.js +12 -12
- package/build-module/panel/body.js.map +1 -1
- package/build-module/placeholder/index.js.map +1 -1
- package/build-module/query-controls/author-select.js +0 -4
- package/build-module/query-controls/author-select.js.map +1 -1
- package/build-module/query-controls/category-select.js +1 -5
- package/build-module/query-controls/category-select.js.map +1 -1
- package/build-module/query-controls/terms.js +29 -16
- package/build-module/query-controls/terms.js.map +1 -1
- package/build-module/range-control/index.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/responsive-wrapper/index.js +12 -12
- package/build-module/responsive-wrapper/index.js.map +1 -1
- package/build-module/select-control/index.js +20 -17
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/toolbar/toolbar-button/index.js +32 -9
- package/build-module/toolbar/toolbar-button/index.js.map +1 -1
- package/build-module/toolbar/toolbar-button/toolbar-button-container.js +12 -4
- package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
- package/build-module/toolbar/toolbar-button/types.js +2 -0
- package/build-module/toolbar/toolbar-button/types.js.map +1 -0
- package/build-module/toolbar/toolbar-context/index.js +4 -2
- package/build-module/toolbar/toolbar-context/index.js.map +1 -1
- package/build-module/tooltip/index.js +16 -6
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tree-select/index.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/utils/font.js +3 -6
- package/build-module/utils/font.js.map +1 -1
- package/build-module/v-stack/hook.js +2 -0
- package/build-module/v-stack/hook.js.map +1 -1
- package/build-style/style-rtl.css +14 -11
- package/build-style/style.css +14 -11
- package/build-types/alignment-matrix-control/types.d.ts +4 -4
- package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
- package/build-types/angle-picker-control/types.d.ts +2 -2
- package/build-types/angle-picker-control/types.d.ts.map +1 -1
- package/build-types/animate/index.d.ts +2 -2
- package/build-types/animate/index.d.ts.map +1 -1
- package/build-types/animation/index.d.ts +8 -1
- package/build-types/animation/index.d.ts.map +1 -1
- package/build-types/autocomplete/autocompleter-ui.d.ts +4 -0
- package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -0
- package/build-types/autocomplete/get-default-use-items.d.ts +3 -0
- package/build-types/autocomplete/get-default-use-items.d.ts.map +1 -0
- package/build-types/autocomplete/index.d.ts +23 -0
- package/build-types/autocomplete/index.d.ts.map +1 -0
- package/build-types/autocomplete/test/index.d.ts +2 -0
- package/build-types/autocomplete/test/index.d.ts.map +1 -0
- package/build-types/autocomplete/types.d.ts +201 -0
- package/build-types/autocomplete/types.d.ts.map +1 -0
- package/build-types/base-control/types.d.ts +2 -2
- package/build-types/base-control/types.d.ts.map +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/hook.d.ts.map +1 -1
- package/build-types/border-box-control/styles.d.ts +3 -3
- package/build-types/border-box-control/styles.d.ts.map +1 -1
- package/build-types/border-box-control/types.d.ts +8 -8
- package/build-types/border-box-control/types.d.ts.map +1 -1
- package/build-types/border-box-control/utils.d.ts +5 -5
- package/build-types/border-box-control/utils.d.ts.map +1 -1
- package/build-types/border-control/border-control/hook.d.ts +3 -3
- package/build-types/border-control/border-control/hook.d.ts.map +1 -1
- package/build-types/border-control/border-control-dropdown/hook.d.ts +2 -2
- package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
- package/build-types/border-control/styles.d.ts +4 -4
- package/build-types/border-control/styles.d.ts.map +1 -1
- package/build-types/border-control/types.d.ts +6 -6
- package/build-types/border-control/types.d.ts.map +1 -1
- package/build-types/box-control/types.d.ts +6 -6
- package/build-types/box-control/types.d.ts.map +1 -1
- package/build-types/button/deprecated.d.ts +6 -6
- package/build-types/button/types.d.ts +10 -10
- package/build-types/button/types.d.ts.map +1 -1
- package/build-types/button-group/types.d.ts +1 -1
- package/build-types/button-group/types.d.ts.map +1 -1
- package/build-types/card/card/hook.d.ts +1 -1
- package/build-types/card/card/hook.d.ts.map +1 -1
- package/build-types/card/types.d.ts +10 -10
- package/build-types/card/types.d.ts.map +1 -1
- package/build-types/checkbox-control/types.d.ts +1 -1
- package/build-types/checkbox-control/types.d.ts.map +1 -1
- package/build-types/circular-option-picker/types.d.ts +4 -4
- package/build-types/circular-option-picker/types.d.ts.map +1 -1
- package/build-types/color-indicator/types.d.ts +1 -1
- package/build-types/color-indicator/types.d.ts.map +1 -1
- package/build-types/color-list-picker/types.d.ts +2 -2
- package/build-types/color-list-picker/types.d.ts.map +1 -1
- package/build-types/color-palette/types.d.ts +7 -7
- package/build-types/color-palette/types.d.ts.map +1 -1
- package/build-types/color-palette/utils.d.ts +1 -1
- package/build-types/color-palette/utils.d.ts.map +1 -1
- package/build-types/color-picker/legacy-adapter.d.ts +1 -1
- package/build-types/color-picker/legacy-adapter.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +3 -3
- package/build-types/color-picker/types.d.ts +2 -2
- package/build-types/color-picker/types.d.ts.map +1 -1
- package/build-types/color-picker/use-deprecated-props.d.ts +2 -2
- package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
- package/build-types/combobox-control/types.d.ts +2 -2
- package/build-types/combobox-control/types.d.ts.map +1 -1
- package/build-types/confirm-dialog/component.d.ts +4 -4
- package/build-types/confirm-dialog/types.d.ts +5 -5
- package/build-types/confirm-dialog/types.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/constants.d.ts +25 -0
- package/build-types/custom-gradient-picker/constants.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/gradient-bar/constants.d.ts +8 -0
- package/build-types/custom-gradient-picker/gradient-bar/constants.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts +25 -0
- package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/gradient-bar/index.d.ts +10 -0
- package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/gradient-bar/utils.d.ts +138 -0
- package/build-types/custom-gradient-picker/gradient-bar/utils.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/index.d.ts +7 -0
- package/build-types/custom-gradient-picker/index.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/serializer.d.ts +17 -0
- package/build-types/custom-gradient-picker/serializer.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts +11 -0
- package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/utils.d.ts +5 -0
- package/build-types/custom-gradient-picker/utils.d.ts.map +1 -0
- package/build-types/custom-select-control/styles.d.ts +1 -1
- package/build-types/custom-select-control/styles.d.ts.map +1 -1
- package/build-types/dashicon/types.d.ts +2 -2
- package/build-types/dashicon/types.d.ts.map +1 -1
- package/build-types/date-time/date-time/styles.d.ts +1 -4
- package/build-types/date-time/date-time/styles.d.ts.map +1 -1
- package/build-types/date-time/time/styles.d.ts +1 -1
- package/build-types/date-time/types.d.ts +4 -4
- package/build-types/date-time/types.d.ts.map +1 -1
- package/build-types/dimension-control/index.d.ts +28 -0
- package/build-types/dimension-control/index.d.ts.map +1 -0
- package/build-types/dimension-control/sizes.d.ts +26 -0
- package/build-types/dimension-control/sizes.d.ts.map +1 -0
- package/build-types/dimension-control/stories/index.d.ts +12 -0
- package/build-types/dimension-control/stories/index.d.ts.map +1 -0
- package/build-types/dimension-control/types.d.ts +47 -0
- package/build-types/dimension-control/types.d.ts.map +1 -0
- package/build-types/divider/types.d.ts +1 -1
- package/build-types/divider/types.d.ts.map +1 -1
- package/build-types/draggable/types.d.ts +1 -1
- package/build-types/draggable/types.d.ts.map +1 -1
- package/build-types/drop-zone/types.d.ts +2 -2
- package/build-types/drop-zone/types.d.ts.map +1 -1
- package/build-types/dropdown/types.d.ts +3 -3
- package/build-types/dropdown/types.d.ts.map +1 -1
- package/build-types/elevation/types.d.ts +1 -1
- package/build-types/elevation/types.d.ts.map +1 -1
- package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
- package/build-types/external-link/types.d.ts +1 -1
- package/build-types/external-link/types.d.ts.map +1 -1
- package/build-types/flex/types.d.ts +4 -4
- package/build-types/flex/types.d.ts.map +1 -1
- package/build-types/focal-point-picker/types.d.ts +7 -7
- package/build-types/focal-point-picker/types.d.ts.map +1 -1
- package/build-types/font-size-picker/index.d.ts.map +1 -1
- package/build-types/font-size-picker/stories/index.d.ts.map +1 -1
- package/build-types/font-size-picker/types.d.ts +9 -5
- package/build-types/font-size-picker/types.d.ts.map +1 -1
- package/build-types/form-file-upload/types.d.ts +1 -1
- package/build-types/form-file-upload/types.d.ts.map +1 -1
- package/build-types/form-toggle/types.d.ts +1 -1
- package/build-types/form-toggle/types.d.ts.map +1 -1
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/stories/index.d.ts +6 -0
- package/build-types/form-token-field/stories/index.d.ts.map +1 -1
- package/build-types/form-token-field/styles.d.ts +1 -1
- package/build-types/form-token-field/styles.d.ts.map +1 -1
- package/build-types/form-token-field/types.d.ts +1 -1
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/gradient-picker/index.d.ts +12 -0
- package/build-types/gradient-picker/index.d.ts.map +1 -0
- package/build-types/grid/types.d.ts +2 -2
- package/build-types/grid/types.d.ts.map +1 -1
- package/build-types/guide/icons.d.ts +5 -0
- package/build-types/guide/icons.d.ts.map +1 -0
- package/build-types/guide/index.d.ts +37 -0
- package/build-types/guide/index.d.ts.map +1 -0
- package/build-types/guide/page-control.d.ts +4 -0
- package/build-types/guide/page-control.d.ts.map +1 -0
- package/build-types/guide/page.d.ts +7 -0
- package/build-types/guide/page.d.ts.map +1 -0
- package/build-types/guide/stories/index.d.ts +9 -0
- package/build-types/guide/stories/index.d.ts.map +1 -0
- package/build-types/guide/test/index.d.ts +2 -0
- package/build-types/guide/test/index.d.ts.map +1 -0
- package/build-types/guide/types.d.ts +65 -0
- package/build-types/guide/types.d.ts.map +1 -0
- package/build-types/h-stack/types.d.ts +6 -6
- package/build-types/h-stack/types.d.ts.map +1 -1
- package/build-types/heading/hook.d.ts +1 -1
- package/build-types/heading/types.d.ts +2 -2
- package/build-types/heading/types.d.ts.map +1 -1
- package/build-types/higher-order/navigate-regions/index.d.ts +46 -0
- package/build-types/higher-order/navigate-regions/index.d.ts.map +1 -0
- package/build-types/higher-order/with-fallback-styles/index.d.ts +44 -0
- package/build-types/higher-order/with-fallback-styles/index.d.ts.map +1 -0
- package/build-types/higher-order/with-filters/index.d.ts +89 -0
- package/build-types/higher-order/with-filters/index.d.ts.map +1 -0
- package/build-types/higher-order/with-filters/test/index.d.ts +2 -0
- package/build-types/higher-order/with-filters/test/index.d.ts.map +1 -0
- package/build-types/higher-order/with-focus-outside/index.d.ts +1 -1
- package/build-types/higher-order/with-focus-return/index.d.ts +20 -0
- package/build-types/higher-order/with-focus-return/index.d.ts.map +1 -0
- package/build-types/higher-order/with-focus-return/test/index.d.ts +2 -0
- package/build-types/higher-order/with-focus-return/test/index.d.ts.map +1 -0
- package/build-types/higher-order/with-notices/index.d.ts +37 -0
- package/build-types/higher-order/with-notices/index.d.ts.map +1 -0
- package/build-types/higher-order/with-notices/test/index.d.ts +2 -0
- package/build-types/higher-order/with-notices/test/index.d.ts.map +1 -0
- package/build-types/higher-order/with-notices/types.d.ts +34 -0
- package/build-types/higher-order/with-notices/types.d.ts.map +1 -0
- package/build-types/higher-order/with-spoken-messages/index.d.ts +13 -2
- package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -1
- package/build-types/higher-order/with-spoken-messages/test/index.d.ts +2 -0
- package/build-types/higher-order/with-spoken-messages/test/index.d.ts.map +1 -0
- package/build-types/icon/index.d.ts +10 -6
- package/build-types/icon/index.d.ts.map +1 -1
- package/build-types/icon/test/index.d.ts +2 -0
- package/build-types/icon/test/index.d.ts.map +1 -0
- package/build-types/input-control/reducer/actions.d.ts +15 -15
- package/build-types/input-control/reducer/actions.d.ts.map +1 -1
- package/build-types/input-control/reducer/state.d.ts +1 -1
- package/build-types/input-control/reducer/state.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts +4 -4
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +7 -7
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/item-group/item/hook.d.ts +1 -1
- package/build-types/item-group/types.d.ts +2 -2
- package/build-types/item-group/types.d.ts.map +1 -1
- package/build-types/keyboard-shortcuts/types.d.ts +3 -3
- package/build-types/keyboard-shortcuts/types.d.ts.map +1 -1
- package/build-types/menu-group/types.d.ts +1 -1
- package/build-types/menu-group/types.d.ts.map +1 -1
- package/build-types/menu-item/index.d.ts +1 -1
- package/build-types/menu-items-choice/types.d.ts +2 -2
- package/build-types/menu-items-choice/types.d.ts.map +1 -1
- package/build-types/modal/types.d.ts +1 -1
- package/build-types/modal/types.d.ts.map +1 -1
- package/build-types/navigable-container/container.d.ts +1 -1
- package/build-types/navigable-container/menu.d.ts +1 -1
- package/build-types/navigable-container/tabbable.d.ts +1 -1
- package/build-types/navigation/back-button/index.d.ts +5 -0
- package/build-types/navigation/back-button/index.d.ts.map +1 -0
- package/build-types/navigation/constants.d.ts +3 -0
- package/build-types/navigation/constants.d.ts.map +1 -0
- package/build-types/navigation/context.d.ts +5 -0
- package/build-types/navigation/context.d.ts.map +1 -0
- package/build-types/navigation/group/context.d.ts +8 -0
- package/build-types/navigation/group/context.d.ts.map +1 -0
- package/build-types/navigation/group/index.d.ts +5 -0
- package/build-types/navigation/group/index.d.ts.map +1 -0
- package/build-types/navigation/index.d.ts +46 -0
- package/build-types/navigation/index.d.ts.map +1 -0
- package/build-types/navigation/item/base-content.d.ts +4 -0
- package/build-types/navigation/item/base-content.d.ts.map +1 -0
- package/build-types/navigation/item/base.d.ts +4 -0
- package/build-types/navigation/item/base.d.ts.map +1 -0
- package/build-types/navigation/item/index.d.ts +5 -0
- package/build-types/navigation/item/index.d.ts.map +1 -0
- package/build-types/navigation/item/use-navigation-tree-item.d.ts +3 -0
- package/build-types/navigation/item/use-navigation-tree-item.d.ts.map +1 -0
- package/build-types/navigation/menu/context.d.ts +8 -0
- package/build-types/navigation/menu/context.d.ts.map +1 -0
- package/build-types/navigation/menu/index.d.ts +5 -0
- package/build-types/navigation/menu/index.d.ts.map +1 -0
- package/build-types/navigation/menu/menu-title-search.d.ts +4 -0
- package/build-types/navigation/menu/menu-title-search.d.ts.map +1 -0
- package/build-types/navigation/menu/menu-title.d.ts +4 -0
- package/build-types/navigation/menu/menu-title.d.ts.map +1 -0
- package/build-types/navigation/menu/search-no-results-found.d.ts +4 -0
- package/build-types/navigation/menu/search-no-results-found.d.ts.map +1 -0
- package/build-types/navigation/menu/use-navigation-tree-menu.d.ts +3 -0
- package/build-types/navigation/menu/use-navigation-tree-menu.d.ts.map +1 -0
- package/build-types/navigation/stories/index.d.ts +18 -0
- package/build-types/navigation/stories/index.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/controlled-state.d.ts +7 -0
- package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/default.d.ts +10 -0
- package/build-types/navigation/stories/utils/default.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/group.d.ts +10 -0
- package/build-types/navigation/stories/utils/group.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/hide-if-empty.d.ts +10 -0
- package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/more-examples.d.ts +10 -0
- package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/search.d.ts +10 -0
- package/build-types/navigation/stories/utils/search.d.ts.map +1 -0
- package/build-types/navigation/styles/navigation-styles.d.ts +58 -0
- package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -0
- package/build-types/navigation/test/index.d.ts +2 -0
- package/build-types/navigation/test/index.d.ts.map +1 -0
- package/build-types/navigation/types.d.ts +267 -0
- package/build-types/navigation/types.d.ts.map +1 -0
- package/build-types/navigation/use-create-navigation-tree.d.ts +15 -0
- package/build-types/navigation/use-create-navigation-tree.d.ts.map +1 -0
- package/build-types/navigation/use-navigation-tree-nodes.d.ts +11 -0
- package/build-types/navigation/use-navigation-tree-nodes.d.ts.map +1 -0
- package/build-types/navigation/utils.d.ts +3 -0
- package/build-types/navigation/utils.d.ts.map +1 -0
- package/build-types/navigator/navigator-back-button/component.d.ts +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +1 -1
- package/build-types/navigator/navigator-button/component.d.ts +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-to-parent-button/component.d.ts +1 -1
- package/build-types/navigator/types.d.ts +12 -12
- package/build-types/navigator/types.d.ts.map +1 -1
- package/build-types/notice/types.d.ts +7 -7
- package/build-types/notice/types.d.ts.map +1 -1
- package/build-types/number-control/index.d.ts.map +1 -1
- package/build-types/number-control/types.d.ts +1 -1
- package/build-types/number-control/types.d.ts.map +1 -1
- package/build-types/palette-edit/index.d.ts +37 -0
- package/build-types/palette-edit/index.d.ts.map +1 -0
- package/build-types/palette-edit/stories/index.d.ts +13 -0
- package/build-types/palette-edit/stories/index.d.ts.map +1 -0
- package/build-types/palette-edit/styles.d.ts +51 -0
- package/build-types/palette-edit/styles.d.ts.map +1 -0
- package/build-types/palette-edit/test/index.d.ts +2 -0
- package/build-types/palette-edit/test/index.d.ts.map +1 -0
- package/build-types/palette-edit/types.d.ts +114 -0
- package/build-types/palette-edit/types.d.ts.map +1 -0
- package/build-types/panel/body.d.ts +9 -0
- package/build-types/panel/body.d.ts.map +1 -0
- package/build-types/panel/stories/index.d.ts +19 -0
- package/build-types/panel/stories/index.d.ts.map +1 -0
- package/build-types/panel/test/body.d.ts +2 -0
- package/build-types/panel/test/body.d.ts.map +1 -0
- package/build-types/panel/types.d.ts +73 -3
- package/build-types/panel/types.d.ts.map +1 -1
- package/build-types/placeholder/index.d.ts +1 -1
- package/build-types/placeholder/index.d.ts.map +1 -1
- package/build-types/placeholder/types.d.ts +2 -2
- package/build-types/placeholder/types.d.ts.map +1 -1
- package/build-types/popover/limit-shift.d.ts +2 -2
- package/build-types/popover/limit-shift.d.ts.map +1 -1
- package/build-types/popover/types.d.ts +10 -10
- package/build-types/popover/types.d.ts.map +1 -1
- package/build-types/popover/utils.d.ts +2 -2
- package/build-types/popover/utils.d.ts.map +1 -1
- package/build-types/query-controls/author-select.d.ts.map +1 -1
- package/build-types/query-controls/category-select.d.ts.map +1 -1
- package/build-types/query-controls/terms.d.ts.map +1 -1
- package/build-types/query-controls/types.d.ts +12 -12
- package/build-types/query-controls/types.d.ts.map +1 -1
- package/build-types/radio-control/types.d.ts +1 -1
- package/build-types/radio-control/types.d.ts.map +1 -1
- package/build-types/radio-group/index.d.ts +1 -1
- package/build-types/radio-group/radio/index.d.ts +1 -1
- package/build-types/range-control/index.d.ts +2 -2
- package/build-types/range-control/index.d.ts.map +1 -1
- package/build-types/range-control/types.d.ts +17 -17
- package/build-types/range-control/types.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -1
- 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 +2 -2
- package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
- package/build-types/responsive-wrapper/index.d.ts.map +1 -1
- package/build-types/responsive-wrapper/stories/index.d.ts +10 -0
- package/build-types/responsive-wrapper/stories/index.d.ts.map +1 -1
- package/build-types/responsive-wrapper/types.d.ts +3 -3
- package/build-types/responsive-wrapper/types.d.ts.map +1 -1
- package/build-types/sandbox/types.d.ts +1 -1
- package/build-types/sandbox/types.d.ts.map +1 -1
- package/build-types/scrollable/types.d.ts +2 -2
- package/build-types/scrollable/types.d.ts.map +1 -1
- package/build-types/search-control/types.d.ts +1 -1
- package/build-types/search-control/types.d.ts.map +1 -1
- package/build-types/select-control/index.d.ts +2 -1
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/stories/index.d.ts +3 -3
- package/build-types/select-control/stories/index.d.ts.map +1 -1
- package/build-types/select-control/types.d.ts +44 -20
- package/build-types/select-control/types.d.ts.map +1 -1
- package/build-types/shortcut/types.d.ts +1 -1
- package/build-types/shortcut/types.d.ts.map +1 -1
- package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -1
- package/build-types/slot-fill/provider.d.ts +1 -0
- package/build-types/slot-fill/provider.d.ts.map +1 -1
- package/build-types/snackbar/types.d.ts +3 -3
- package/build-types/snackbar/types.d.ts.map +1 -1
- package/build-types/spacer/types.d.ts +1 -1
- package/build-types/spacer/types.d.ts.map +1 -1
- package/build-types/spinner/index.d.ts +1 -1
- package/build-types/style-provider/types.d.ts +1 -1
- package/build-types/style-provider/types.d.ts.map +1 -1
- package/build-types/surface/types.d.ts +2 -2
- package/build-types/surface/types.d.ts.map +1 -1
- package/build-types/tab-panel/types.d.ts +5 -5
- package/build-types/tab-panel/types.d.ts.map +1 -1
- package/build-types/text/types.d.ts +3 -3
- package/build-types/text/types.d.ts.map +1 -1
- package/build-types/text-control/types.d.ts +1 -1
- package/build-types/text-control/types.d.ts.map +1 -1
- package/build-types/text-highlight/types.d.ts +1 -1
- package/build-types/text-highlight/types.d.ts.map +1 -1
- package/build-types/textarea-control/types.d.ts +1 -1
- package/build-types/textarea-control/types.d.ts.map +1 -1
- package/build-types/theme/types.d.ts +3 -3
- package/build-types/theme/types.d.ts.map +1 -1
- package/build-types/tip/types.d.ts +1 -1
- package/build-types/tip/types.d.ts.map +1 -1
- package/build-types/toggle-control/types.d.ts +1 -1
- package/build-types/toggle-control/types.d.ts.map +1 -1
- package/build-types/toggle-group-control/types.d.ts +10 -10
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/toolbar/toolbar/types.d.ts +1 -1
- package/build-types/toolbar/toolbar/types.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-button/index.d.ts +165 -11
- package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts +6 -1
- package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-button/types.d.ts +45 -0
- package/build-types/toolbar/toolbar-button/types.d.ts.map +1 -0
- package/build-types/toolbar/toolbar-context/index.d.ts +6 -1
- package/build-types/toolbar/toolbar-context/index.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +1 -1
- package/build-types/toolbar/toolbar-item/index.d.ts +1 -1
- package/build-types/tools-panel/types.d.ts +11 -11
- package/build-types/tools-panel/types.d.ts.map +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/tree-grid/types.d.ts +5 -5
- package/build-types/tree-grid/types.d.ts.map +1 -1
- package/build-types/tree-select/index.d.ts.map +1 -1
- package/build-types/tree-select/types.d.ts +4 -10
- package/build-types/tree-select/types.d.ts.map +1 -1
- package/build-types/truncate/types.d.ts +2 -2
- package/build-types/truncate/types.d.ts.map +1 -1
- package/build-types/ui/context/context-connect.d.ts +1 -1
- package/build-types/ui/context/context-connect.d.ts.map +1 -1
- package/build-types/ui/context/wordpress-component.d.ts +3 -3
- package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
- package/build-types/ui/control-group/types.d.ts +2 -2
- package/build-types/ui/control-group/types.d.ts.map +1 -1
- package/build-types/ui/control-label/types.d.ts +1 -1
- package/build-types/ui/control-label/types.d.ts.map +1 -1
- package/build-types/ui/form-group/form-group-content.d.ts +1 -1
- package/build-types/ui/form-group/form-group-help.d.ts +1 -1
- package/build-types/ui/form-group/form-group-label.d.ts +1 -1
- package/build-types/ui/form-group/types.d.ts +5 -5
- package/build-types/ui/form-group/types.d.ts.map +1 -1
- package/build-types/ui/form-group/use-form-group.d.ts +3 -3
- package/build-types/ui/spinner/component.d.ts +1 -1
- package/build-types/ui/tooltip/content.d.ts +1 -1
- package/build-types/ui/tooltip/types.d.ts +2 -2
- package/build-types/ui/tooltip/types.d.ts.map +1 -1
- package/build-types/ui/utils/font-size.d.ts +1 -1
- package/build-types/ui/utils/font-size.d.ts.map +1 -1
- package/build-types/ui/utils/space.d.ts +1 -1
- package/build-types/ui/utils/space.d.ts.map +1 -1
- package/build-types/ui/utils/types.d.ts +4 -4
- package/build-types/ui/utils/types.d.ts.map +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
- package/build-types/unit-control/types.d.ts +5 -5
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/utils/breakpoint-values.d.ts +1 -1
- package/build-types/utils/colors-values.d.ts +1 -1
- package/build-types/utils/config-values.d.ts +9 -9
- package/build-types/utils/events.d.ts +1 -1
- package/build-types/utils/events.d.ts.map +1 -1
- package/build-types/utils/font-values.d.ts +1 -1
- package/build-types/utils/font.d.ts.map +1 -1
- package/build-types/utils/hooks/use-controlled-value.d.ts +1 -1
- package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
- package/build-types/utils/types.d.ts +4 -4
- package/build-types/utils/types.d.ts.map +1 -1
- package/build-types/v-stack/component.d.ts +1 -4
- package/build-types/v-stack/component.d.ts.map +1 -1
- package/build-types/v-stack/hook.d.ts.map +1 -1
- package/build-types/v-stack/stories/index.d.ts +1 -4
- package/build-types/v-stack/stories/index.d.ts.map +1 -1
- package/build-types/v-stack/types.d.ts +5 -3
- package/build-types/v-stack/types.d.ts.map +1 -1
- package/build-types/view/types.d.ts +1 -1
- package/build-types/view/types.d.ts.map +1 -1
- package/build-types/visually-hidden/types.d.ts +1 -1
- package/build-types/visually-hidden/types.d.ts.map +1 -1
- package/build-types/z-stack/types.d.ts +1 -1
- package/build-types/z-stack/types.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/animate/index.js +3 -1
- package/src/autocomplete/README.md +51 -0
- package/src/autocomplete/{autocompleter-ui.js → autocompleter-ui.tsx} +21 -10
- package/src/autocomplete/{get-default-use-items.js → get-default-use-items.tsx} +11 -6
- package/src/autocomplete/{index.js → index.tsx} +77 -111
- package/src/autocomplete/test/{index.js → index.tsx} +31 -20
- package/src/autocomplete/types.ts +220 -0
- package/src/border-control/test/index.js +0 -2
- package/src/button/style.scss +12 -1
- package/src/button/types.ts +2 -2
- package/src/circular-option-picker/types.ts +1 -1
- package/src/color-palette/test/__snapshots__/index.tsx.snap +16 -14
- package/src/custom-gradient-picker/gradient-bar/control-points.js +2 -0
- package/src/custom-gradient-picker/gradient-bar/index.js +2 -0
- package/src/custom-gradient-picker/gradient-bar/utils.js +2 -0
- package/src/custom-gradient-picker/index.js +2 -0
- package/src/custom-gradient-picker/serializer.js +2 -0
- package/src/custom-gradient-picker/utils.js +2 -0
- package/src/dimension-control/README.md +22 -55
- package/src/dimension-control/index.tsx +101 -0
- package/src/dimension-control/{sizes.js → sizes.ts} +8 -5
- package/src/dimension-control/stories/index.tsx +48 -0
- package/src/dimension-control/types.ts +48 -0
- package/src/flex/flex/hook.ts +2 -2
- package/src/font-size-picker/README.md +26 -20
- package/src/font-size-picker/index.tsx +2 -1
- package/src/font-size-picker/stories/index.tsx +1 -0
- package/src/font-size-picker/test/index.tsx +23 -0
- package/src/font-size-picker/types.ts +4 -0
- package/src/form-token-field/index.tsx +4 -1
- package/src/form-token-field/stories/index.tsx +13 -0
- package/src/form-token-field/test/index.tsx +80 -0
- package/src/gradient-picker/index.js +2 -0
- package/src/guide/README.md +17 -15
- package/src/guide/{icons.js → icons.tsx} +1 -1
- package/src/guide/{index.js → index.tsx} +47 -7
- package/src/guide/{page-control.js → page-control.tsx} +2 -1
- package/src/guide/{page.js → page.tsx} +8 -1
- package/src/guide/stories/{index.js → index.tsx} +11 -5
- package/src/guide/test/{index.js → index.tsx} +22 -4
- package/src/guide/types.ts +68 -0
- package/src/h-stack/README.md +2 -2
- package/src/h-stack/types.ts +2 -2
- package/src/h-stack/utils.ts +3 -3
- package/src/higher-order/navigate-regions/{index.js → index.tsx} +47 -11
- package/src/higher-order/with-fallback-styles/{index.js → index.tsx} +22 -5
- package/src/higher-order/with-filters/{index.js → index.tsx} +44 -12
- package/src/higher-order/with-filters/test/{index.js → index.tsx} +5 -1
- package/src/higher-order/with-focus-return/index.tsx +74 -0
- package/src/higher-order/with-focus-return/test/{index.js → index.tsx} +2 -2
- package/src/higher-order/with-notices/README.md +4 -1
- package/src/higher-order/with-notices/index.tsx +116 -0
- package/src/higher-order/with-notices/test/{index.js → index.tsx} +11 -6
- package/src/higher-order/with-notices/types.ts +35 -0
- package/src/higher-order/with-spoken-messages/test/{index.js → index.tsx} +2 -1
- package/src/icon/index.tsx +11 -15
- package/src/icon/test/{index.js → index.tsx} +6 -2
- package/src/index.native.js +1 -0
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +1 -1
- package/src/mobile/bottom-sheet/cell.native.js +1 -1
- package/src/mobile/bottom-sheet-text-control/README.md +8 -1
- package/src/mobile/bottom-sheet-text-control/index.native.js +2 -1
- package/src/mobile/link-settings/test/link-settings-navigation.native.js +1 -1
- package/src/navigation/README.md +16 -2
- package/src/navigation/back-button/{index.js → index.tsx} +22 -6
- package/src/navigation/{context.js → context.tsx} +8 -5
- package/src/navigation/group/context.tsx +15 -0
- package/src/navigation/group/{index.js → index.tsx} +9 -1
- package/src/navigation/{index.js → index.tsx} +63 -7
- package/src/navigation/item/{base-content.js → base-content.tsx} +5 -2
- package/src/navigation/item/{base.js → base.tsx} +3 -1
- package/src/navigation/item/{index.js → index.tsx} +8 -2
- package/src/navigation/item/{use-navigation-tree-item.js → use-navigation-tree-item.tsx} +9 -2
- package/src/navigation/menu/context.tsx +18 -0
- package/src/navigation/menu/{index.js → index.tsx} +5 -1
- package/src/navigation/menu/{menu-title-search.js → menu-title-search.tsx} +11 -7
- package/src/navigation/menu/{menu-title.js → menu-title.tsx} +5 -3
- package/src/navigation/menu/{search-no-results-found.js → search-no-results-found.tsx} +5 -1
- package/src/navigation/menu/{use-navigation-tree-menu.js → use-navigation-tree-menu.tsx} +3 -1
- package/src/navigation/stories/index.tsx +53 -0
- package/src/navigation/stories/utils/{controlled-state.js → controlled-state.tsx} +32 -13
- package/src/navigation/stories/utils/{default.js → default.tsx} +20 -6
- package/src/navigation/stories/utils/{group.js → group.tsx} +21 -7
- package/src/navigation/stories/utils/{hide-if-empty.js → hide-if-empty.tsx} +19 -6
- package/src/navigation/stories/utils/{more-examples.js → more-examples.tsx} +30 -12
- package/src/navigation/stories/utils/{search.js → search.tsx} +21 -7
- package/src/navigation/test/{index.js → index.tsx} +17 -4
- package/src/navigation/types.ts +325 -0
- package/src/navigation/{use-create-navigation-tree.js → use-create-navigation-tree.tsx} +37 -25
- package/src/navigation/{use-navigation-tree-nodes.js → use-navigation-tree-nodes.tsx} +10 -6
- package/src/navigation/{utils.js → utils.tsx} +2 -2
- package/src/navigator/navigator-screen/component.tsx +13 -7
- package/src/navigator/test/index.tsx +65 -22
- package/src/number-control/index.tsx +0 -2
- package/src/palette-edit/{index.js → index.tsx} +115 -48
- package/src/palette-edit/stories/index.tsx +82 -0
- package/src/palette-edit/test/{index.js → index.tsx} +15 -3
- package/src/palette-edit/types.ts +126 -0
- package/src/panel/README.md +53 -35
- package/src/panel/{body.js → body.tsx} +31 -17
- package/src/panel/stories/{index.js → index.tsx} +16 -6
- package/src/panel/test/{body.js → body.tsx} +12 -17
- package/src/panel/types.ts +78 -0
- package/src/placeholder/index.tsx +2 -6
- package/src/placeholder/test/index.tsx +1 -1
- package/src/placeholder/types.ts +2 -2
- package/src/popover/test/index.tsx +5 -2
- package/src/query-controls/author-select.tsx +1 -6
- package/src/query-controls/category-select.tsx +1 -6
- package/src/query-controls/terms.ts +29 -18
- package/src/range-control/index.tsx +2 -6
- package/src/range-control/types.ts +3 -3
- package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -1
- package/src/responsive-wrapper/README.md +8 -2
- package/src/responsive-wrapper/index.tsx +18 -17
- package/src/responsive-wrapper/stories/index.tsx +41 -0
- package/src/responsive-wrapper/style.scss +5 -11
- package/src/responsive-wrapper/types.ts +2 -2
- package/src/select-control/index.tsx +16 -16
- package/src/select-control/stories/index.tsx +24 -12
- package/src/select-control/types.ts +68 -40
- package/src/tab-panel/types.ts +4 -4
- package/src/toolbar/toolbar-button/README.md +13 -1
- package/src/toolbar/toolbar-button/{index.js → index.tsx} +55 -20
- package/src/toolbar/toolbar-button/toolbar-button-container.tsx +13 -0
- package/src/toolbar/toolbar-button/types.ts +46 -0
- package/src/toolbar/toolbar-context/index.ts +15 -0
- package/src/tooltip/index.js +11 -1
- package/src/tree-select/index.tsx +5 -2
- package/src/tree-select/types.ts +6 -13
- package/src/ui/context/get-styled-class-name-from-key.ts +1 -1
- package/src/utils/font.js +1 -6
- package/src/v-stack/README.md +2 -2
- package/src/v-stack/hook.ts +6 -4
- package/src/v-stack/stories/index.tsx +28 -7
- package/src/v-stack/test/__snapshots__/index.tsx.snap +20 -18
- package/src/v-stack/types.ts +5 -3
- package/tsconfig.json +1 -14
- package/tsconfig.tsbuildinfo +1 -1
- package/src/dimension-control/index.js +0 -73
- package/src/higher-order/with-focus-return/index.js +0 -64
- package/src/higher-order/with-notices/index.js +0 -104
- package/src/navigation/group/context.js +0 -9
- package/src/navigation/menu/context.js +0 -11
- package/src/navigation/stories/index.js +0 -33
- package/src/toolbar/toolbar-button/toolbar-button-container.js +0 -6
- package/src/toolbar/toolbar-context/index.js +0 -10
- /package/src/animation/{index.js → index.tsx} +0 -0
- /package/src/higher-order/with-filters/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
- /package/src/higher-order/with-spoken-messages/{index.js → index.tsx} +0 -0
- /package/src/navigation/{constants.js → constants.tsx} +0 -0
- /package/src/navigation/styles/{navigation-styles.js → navigation-styles.tsx} +0 -0
- /package/src/panel/test/__snapshots__/{body.js.snap → body.tsx.snap} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/components",
|
|
3
|
-
"version": "23.
|
|
3
|
+
"version": "23.6.0",
|
|
4
4
|
"description": "UI components for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -37,24 +37,24 @@
|
|
|
37
37
|
"@emotion/styled": "^11.6.0",
|
|
38
38
|
"@emotion/utils": "^1.0.0",
|
|
39
39
|
"@floating-ui/react-dom": "1.0.0",
|
|
40
|
-
"@use-gesture/react": "^10.2.
|
|
41
|
-
"@wordpress/a11y": "^3.
|
|
42
|
-
"@wordpress/compose": "^6.
|
|
43
|
-
"@wordpress/date": "^4.
|
|
44
|
-
"@wordpress/deprecated": "^3.
|
|
45
|
-
"@wordpress/dom": "^3.
|
|
46
|
-
"@wordpress/element": "^5.
|
|
47
|
-
"@wordpress/escape-html": "^2.
|
|
48
|
-
"@wordpress/hooks": "^3.
|
|
49
|
-
"@wordpress/html-entities": "^3.
|
|
50
|
-
"@wordpress/i18n": "^4.
|
|
51
|
-
"@wordpress/icons": "^9.
|
|
52
|
-
"@wordpress/is-shallow-equal": "^4.
|
|
53
|
-
"@wordpress/keycodes": "^3.
|
|
54
|
-
"@wordpress/primitives": "^3.
|
|
55
|
-
"@wordpress/private-apis": "^0.
|
|
56
|
-
"@wordpress/rich-text": "^6.
|
|
57
|
-
"@wordpress/warning": "^2.
|
|
40
|
+
"@use-gesture/react": "^10.2.24",
|
|
41
|
+
"@wordpress/a11y": "^3.29.0",
|
|
42
|
+
"@wordpress/compose": "^6.6.0",
|
|
43
|
+
"@wordpress/date": "^4.29.0",
|
|
44
|
+
"@wordpress/deprecated": "^3.29.0",
|
|
45
|
+
"@wordpress/dom": "^3.29.0",
|
|
46
|
+
"@wordpress/element": "^5.6.0",
|
|
47
|
+
"@wordpress/escape-html": "^2.29.0",
|
|
48
|
+
"@wordpress/hooks": "^3.29.0",
|
|
49
|
+
"@wordpress/html-entities": "^3.29.0",
|
|
50
|
+
"@wordpress/i18n": "^4.29.0",
|
|
51
|
+
"@wordpress/icons": "^9.20.0",
|
|
52
|
+
"@wordpress/is-shallow-equal": "^4.29.0",
|
|
53
|
+
"@wordpress/keycodes": "^3.29.0",
|
|
54
|
+
"@wordpress/primitives": "^3.27.0",
|
|
55
|
+
"@wordpress/private-apis": "^0.11.0",
|
|
56
|
+
"@wordpress/rich-text": "^6.6.0",
|
|
57
|
+
"@wordpress/warning": "^2.29.0",
|
|
58
58
|
"change-case": "^4.1.2",
|
|
59
59
|
"classnames": "^2.3.1",
|
|
60
60
|
"colord": "^2.7.0",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"publishConfig": {
|
|
86
86
|
"access": "public"
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "9534a7b3bbf07c1d40b94fdb7a3d091f297bfb06"
|
|
89
89
|
}
|
package/src/animate/index.js
CHANGED
|
@@ -25,7 +25,7 @@ function getDefaultOrigin( type ) {
|
|
|
25
25
|
/**
|
|
26
26
|
* @param {GetAnimateOptions} options
|
|
27
27
|
*
|
|
28
|
-
* @return {string |
|
|
28
|
+
* @return {string | undefined} ClassName that applies the animations
|
|
29
29
|
*/
|
|
30
30
|
export function getAnimateClassName( options ) {
|
|
31
31
|
if ( options.type === 'loading' ) {
|
|
@@ -48,6 +48,8 @@ export function getAnimateClassName( options ) {
|
|
|
48
48
|
'is-from-' + origin
|
|
49
49
|
);
|
|
50
50
|
}
|
|
51
|
+
|
|
52
|
+
return undefined;
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
// @ts-ignore Reason: Planned for deprecation
|
|
@@ -2,6 +2,57 @@
|
|
|
2
2
|
|
|
3
3
|
This component is used to provide autocompletion support for a child input component.
|
|
4
4
|
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
The following props are used to control the behavior of the component.
|
|
8
|
+
|
|
9
|
+
### record
|
|
10
|
+
|
|
11
|
+
The rich text value object the autocomleter is being applied to.
|
|
12
|
+
|
|
13
|
+
- Required: Yes
|
|
14
|
+
- Type: `RichTextValue`
|
|
15
|
+
|
|
16
|
+
### onChange
|
|
17
|
+
|
|
18
|
+
A function to be called when an option is selected to insert into the existing text.
|
|
19
|
+
|
|
20
|
+
- Required: Yes
|
|
21
|
+
- Type: `( value: string ) => void`
|
|
22
|
+
|
|
23
|
+
A function to be called when an option is selected to replace the existing text.
|
|
24
|
+
|
|
25
|
+
- Required: Yes
|
|
26
|
+
- Type: `( arg: [ OptionCompletion[ 'value' ] ] ) => void;`
|
|
27
|
+
|
|
28
|
+
### completers
|
|
29
|
+
|
|
30
|
+
An array of all of the completers to apply to the current element.
|
|
31
|
+
|
|
32
|
+
- Required: Yes
|
|
33
|
+
- Type: `Array< WPCompleter >`
|
|
34
|
+
|
|
35
|
+
### contentRef
|
|
36
|
+
|
|
37
|
+
A ref containing the editable element that will serve as the anchor for `Autocomplete`'s `Popover`.
|
|
38
|
+
|
|
39
|
+
- Required: Yes
|
|
40
|
+
- `MutableRefObject< HTMLElement | undefined >`
|
|
41
|
+
|
|
42
|
+
### children
|
|
43
|
+
|
|
44
|
+
A function that returns nodes to be rendered within the Autocomplete.
|
|
45
|
+
|
|
46
|
+
- Required: Yes
|
|
47
|
+
- Type: `Function`
|
|
48
|
+
|
|
49
|
+
### isSelected
|
|
50
|
+
|
|
51
|
+
Whether or not the Autocomplte componenet is selected, and if its `Popover` should be displayed.
|
|
52
|
+
|
|
53
|
+
- Required: Yes
|
|
54
|
+
- Type: `Boolean`
|
|
55
|
+
|
|
5
56
|
## Autocompleters
|
|
6
57
|
|
|
7
58
|
Autocompleters enable us to offer users options for completing text input. For example, Gutenberg includes a user autocompleter that provides a list of user names and completes a selection with a user mention like `@mary`.
|
|
@@ -12,6 +12,8 @@ import {
|
|
|
12
12
|
useEffect,
|
|
13
13
|
useState,
|
|
14
14
|
} from '@wordpress/element';
|
|
15
|
+
// Error expected because `@wordpress/rich-text` is not yet fully typed.
|
|
16
|
+
// @ts-expect-error
|
|
15
17
|
import { useAnchor } from '@wordpress/rich-text';
|
|
16
18
|
import { useMergeRefs, useRefEffect } from '@wordpress/compose';
|
|
17
19
|
|
|
@@ -23,8 +25,9 @@ import Button from '../button';
|
|
|
23
25
|
import Popover from '../popover';
|
|
24
26
|
import { VisuallyHidden } from '../visually-hidden';
|
|
25
27
|
import { createPortal } from 'react-dom';
|
|
28
|
+
import type { AutocompleterUIProps, WPCompleter } from './types';
|
|
26
29
|
|
|
27
|
-
export function getAutoCompleterUI( autocompleter ) {
|
|
30
|
+
export function getAutoCompleterUI( autocompleter: WPCompleter ) {
|
|
28
31
|
const useItems = autocompleter.useItems
|
|
29
32
|
? autocompleter.useItems
|
|
30
33
|
: getDefaultUseItems( autocompleter );
|
|
@@ -39,17 +42,15 @@ export function getAutoCompleterUI( autocompleter ) {
|
|
|
39
42
|
onSelect,
|
|
40
43
|
onReset,
|
|
41
44
|
reset,
|
|
42
|
-
value,
|
|
43
45
|
contentRef,
|
|
44
|
-
} ) {
|
|
46
|
+
}: AutocompleterUIProps ) {
|
|
45
47
|
const [ items ] = useItems( filterValue );
|
|
46
48
|
const popoverAnchor = useAnchor( {
|
|
47
49
|
editableContentElement: contentRef.current,
|
|
48
|
-
value,
|
|
49
50
|
} );
|
|
50
51
|
|
|
51
52
|
const [ needsA11yCompat, setNeedsA11yCompat ] = useState( false );
|
|
52
|
-
const popoverRef = useRef();
|
|
53
|
+
const popoverRef = useRef< HTMLElement >( null );
|
|
53
54
|
const popoverRefs = useMergeRefs( [
|
|
54
55
|
popoverRef,
|
|
55
56
|
useRefEffect(
|
|
@@ -77,11 +78,15 @@ export function getAutoCompleterUI( autocompleter ) {
|
|
|
77
78
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
78
79
|
}, [ items ] );
|
|
79
80
|
|
|
80
|
-
if (
|
|
81
|
+
if ( items.length === 0 ) {
|
|
81
82
|
return null;
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
const ListBox = ( {
|
|
85
|
+
const ListBox = ( {
|
|
86
|
+
Component = 'div',
|
|
87
|
+
}: {
|
|
88
|
+
Component?: React.ElementType;
|
|
89
|
+
} ) => (
|
|
85
90
|
<Component
|
|
86
91
|
id={ listBoxId }
|
|
87
92
|
role="listbox"
|
|
@@ -134,11 +139,17 @@ export function getAutoCompleterUI( autocompleter ) {
|
|
|
134
139
|
return AutocompleterUI;
|
|
135
140
|
}
|
|
136
141
|
|
|
137
|
-
function useOnClickOutside(
|
|
142
|
+
function useOnClickOutside(
|
|
143
|
+
ref: React.RefObject< HTMLElement >,
|
|
144
|
+
handler: AutocompleterUIProps[ 'reset' ]
|
|
145
|
+
) {
|
|
138
146
|
useEffect( () => {
|
|
139
|
-
const listener = ( event ) => {
|
|
147
|
+
const listener = ( event: MouseEvent | TouchEvent ) => {
|
|
140
148
|
// Do nothing if clicking ref's element or descendent elements, or if the ref is not referencing an element
|
|
141
|
-
if (
|
|
149
|
+
if (
|
|
150
|
+
! ref.current ||
|
|
151
|
+
ref.current.contains( event.target as Node )
|
|
152
|
+
) {
|
|
142
153
|
return;
|
|
143
154
|
}
|
|
144
155
|
handler( event );
|
|
@@ -13,8 +13,13 @@ import { useLayoutEffect, useState } from '@wordpress/element';
|
|
|
13
13
|
* Internal dependencies
|
|
14
14
|
*/
|
|
15
15
|
import { escapeRegExp } from '../utils/strings';
|
|
16
|
+
import type { CancelablePromise, KeyedOption, WPCompleter } from './types';
|
|
16
17
|
|
|
17
|
-
function filterOptions(
|
|
18
|
+
function filterOptions(
|
|
19
|
+
search: RegExp,
|
|
20
|
+
options: Array< KeyedOption > = [],
|
|
21
|
+
maxResults = 10
|
|
22
|
+
) {
|
|
18
23
|
const filtered = [];
|
|
19
24
|
for ( let i = 0; i < options.length; i++ ) {
|
|
20
25
|
const option = options[ i ];
|
|
@@ -43,9 +48,9 @@ function filterOptions( search, options = [], maxResults = 10 ) {
|
|
|
43
48
|
return filtered;
|
|
44
49
|
}
|
|
45
50
|
|
|
46
|
-
export default function getDefaultUseItems( autocompleter ) {
|
|
47
|
-
return ( filterValue ) => {
|
|
48
|
-
const [ items, setItems ] = useState( [] );
|
|
51
|
+
export default function getDefaultUseItems( autocompleter: WPCompleter ) {
|
|
52
|
+
return ( filterValue: string ) => {
|
|
53
|
+
const [ items, setItems ] = useState< Array< KeyedOption > >( [] );
|
|
49
54
|
/*
|
|
50
55
|
* We support both synchronous and asynchronous retrieval of completer options
|
|
51
56
|
* but internally treat all as async so we maintain a single, consistent code path.
|
|
@@ -61,7 +66,7 @@ export default function getDefaultUseItems( autocompleter ) {
|
|
|
61
66
|
const { options, isDebounced } = autocompleter;
|
|
62
67
|
const loadOptions = debounce(
|
|
63
68
|
() => {
|
|
64
|
-
const promise = Promise.resolve(
|
|
69
|
+
const promise: CancelablePromise = Promise.resolve(
|
|
65
70
|
typeof options === 'function'
|
|
66
71
|
? options( filterValue )
|
|
67
72
|
: options
|
|
@@ -112,6 +117,6 @@ export default function getDefaultUseItems( autocompleter ) {
|
|
|
112
117
|
};
|
|
113
118
|
}, [ filterValue ] );
|
|
114
119
|
|
|
115
|
-
return [ items ];
|
|
120
|
+
return [ items ] as const;
|
|
116
121
|
};
|
|
117
122
|
}
|
|
@@ -26,6 +26,8 @@ import {
|
|
|
26
26
|
insert,
|
|
27
27
|
isCollapsed,
|
|
28
28
|
getTextContent,
|
|
29
|
+
// Error expected because `@wordpress/rich-text` is not yet fully typed.
|
|
30
|
+
// @ts-expect-error
|
|
29
31
|
} from '@wordpress/rich-text';
|
|
30
32
|
import { speak } from '@wordpress/a11y';
|
|
31
33
|
|
|
@@ -34,102 +36,48 @@ import { speak } from '@wordpress/a11y';
|
|
|
34
36
|
*/
|
|
35
37
|
import { getAutoCompleterUI } from './autocompleter-ui';
|
|
36
38
|
import { escapeRegExp } from '../utils/strings';
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* @callback FnGetOptionKeywords
|
|
54
|
-
* @param {CompleterOption} option a completer option.
|
|
55
|
-
*
|
|
56
|
-
* @return {string[]} list of key words to search.
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* @callback FnIsOptionDisabled
|
|
61
|
-
* @param {CompleterOption} option a completer option.
|
|
62
|
-
*
|
|
63
|
-
* @return {string[]} whether or not the given option is disabled.
|
|
64
|
-
*/
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* @callback FnGetOptionLabel
|
|
68
|
-
* @param {CompleterOption} option a completer option.
|
|
69
|
-
*
|
|
70
|
-
* @return {(string|Array.<(string|WPElement)>)} list of react components to render.
|
|
71
|
-
*/
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* @callback FnAllowContext
|
|
75
|
-
* @param {string} before the string before the auto complete trigger and query.
|
|
76
|
-
* @param {string} after the string after the autocomplete trigger and query.
|
|
77
|
-
*
|
|
78
|
-
* @return {boolean} true if the completer can handle.
|
|
79
|
-
*/
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* @typedef {Object} OptionCompletion
|
|
83
|
-
* @property {'insert-at-caret'|'replace'} action the intended placement of the completion.
|
|
84
|
-
* @property {OptionCompletionValue} value the completion value.
|
|
85
|
-
*/
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* A completion value.
|
|
89
|
-
*
|
|
90
|
-
* @typedef {(string|WPElement|Object)} OptionCompletionValue
|
|
91
|
-
*/
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* @callback FnGetOptionCompletion
|
|
95
|
-
* @param {CompleterOption} value the value of the completer option.
|
|
96
|
-
* @param {string} query the text value of the autocomplete query.
|
|
97
|
-
*
|
|
98
|
-
* @return {(OptionCompletion|OptionCompletionValue)} the completion for the given option. If an
|
|
99
|
-
* OptionCompletionValue is returned, the
|
|
100
|
-
* completion action defaults to `insert-at-caret`.
|
|
101
|
-
*/
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* @typedef {Object} WPCompleter
|
|
105
|
-
* @property {string} name a way to identify a completer, useful for selective overriding.
|
|
106
|
-
* @property {?string} className A class to apply to the popup menu.
|
|
107
|
-
* @property {string} triggerPrefix the prefix that will display the menu.
|
|
108
|
-
* @property {(CompleterOption[]|FnGetOptions)} options the completer options or a function to get them.
|
|
109
|
-
* @property {?FnGetOptionKeywords} getOptionKeywords get the keywords for a given option.
|
|
110
|
-
* @property {?FnIsOptionDisabled} isOptionDisabled get whether or not the given option is disabled.
|
|
111
|
-
* @property {FnGetOptionLabel} getOptionLabel get the label for a given option.
|
|
112
|
-
* @property {?FnAllowContext} allowContext filter the context under which the autocomplete activates.
|
|
113
|
-
* @property {FnGetOptionCompletion} getOptionCompletion get the completion associated with a given option.
|
|
114
|
-
*/
|
|
115
|
-
|
|
116
|
-
function useAutocomplete( {
|
|
39
|
+
import type {
|
|
40
|
+
AutocompleteProps,
|
|
41
|
+
AutocompleterUIProps,
|
|
42
|
+
InsertOption,
|
|
43
|
+
KeyedOption,
|
|
44
|
+
OptionCompletion,
|
|
45
|
+
ReplaceOption,
|
|
46
|
+
UseAutocompleteProps,
|
|
47
|
+
WPCompleter,
|
|
48
|
+
} from './types';
|
|
49
|
+
|
|
50
|
+
const EMPTY_FILTERED_OPTIONS: KeyedOption[] = [];
|
|
51
|
+
|
|
52
|
+
export function useAutocomplete( {
|
|
117
53
|
record,
|
|
118
54
|
onChange,
|
|
119
55
|
onReplace,
|
|
120
56
|
completers,
|
|
121
57
|
contentRef,
|
|
122
|
-
} ) {
|
|
58
|
+
}: UseAutocompleteProps ) {
|
|
123
59
|
const debouncedSpeak = useDebounce( speak, 500 );
|
|
124
60
|
const instanceId = useInstanceId( useAutocomplete );
|
|
125
61
|
const [ selectedIndex, setSelectedIndex ] = useState( 0 );
|
|
126
|
-
|
|
127
|
-
const [
|
|
128
|
-
|
|
129
|
-
|
|
62
|
+
|
|
63
|
+
const [ filteredOptions, setFilteredOptions ] = useState<
|
|
64
|
+
Array< KeyedOption >
|
|
65
|
+
>( EMPTY_FILTERED_OPTIONS );
|
|
66
|
+
const [ filterValue, setFilterValue ] =
|
|
67
|
+
useState< AutocompleterUIProps[ 'filterValue' ] >( '' );
|
|
68
|
+
const [ autocompleter, setAutocompleter ] = useState< WPCompleter | null >(
|
|
69
|
+
null
|
|
70
|
+
);
|
|
71
|
+
const [ AutocompleterUI, setAutocompleterUI ] = useState<
|
|
72
|
+
( ( props: AutocompleterUIProps ) => JSX.Element | null ) | null
|
|
73
|
+
>( null );
|
|
74
|
+
|
|
130
75
|
const backspacing = useRef( false );
|
|
131
76
|
|
|
132
|
-
function insertCompletion( replacement ) {
|
|
77
|
+
function insertCompletion( replacement: React.ReactNode ) {
|
|
78
|
+
if ( autocompleter === null ) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
133
81
|
const end = record.start;
|
|
134
82
|
const start =
|
|
135
83
|
end - autocompleter.triggerPrefix.length - filterValue.length;
|
|
@@ -138,7 +86,7 @@ function useAutocomplete( {
|
|
|
138
86
|
onChange( insert( record, toInsert, start, end ) );
|
|
139
87
|
}
|
|
140
88
|
|
|
141
|
-
function select( option ) {
|
|
89
|
+
function select( option: KeyedOption ) {
|
|
142
90
|
const { getOptionCompletion } = autocompleter || {};
|
|
143
91
|
|
|
144
92
|
if ( option.isDisabled ) {
|
|
@@ -148,19 +96,33 @@ function useAutocomplete( {
|
|
|
148
96
|
if ( getOptionCompletion ) {
|
|
149
97
|
const completion = getOptionCompletion( option.value, filterValue );
|
|
150
98
|
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
99
|
+
const isCompletionObject = (
|
|
100
|
+
obj: OptionCompletion
|
|
101
|
+
): obj is InsertOption | ReplaceOption => {
|
|
102
|
+
return (
|
|
103
|
+
obj !== null &&
|
|
104
|
+
typeof obj === 'object' &&
|
|
105
|
+
'action' in obj &&
|
|
106
|
+
obj.action !== undefined &&
|
|
107
|
+
'value' in obj &&
|
|
108
|
+
obj.value !== undefined
|
|
109
|
+
);
|
|
110
|
+
};
|
|
156
111
|
|
|
157
|
-
|
|
158
|
-
|
|
112
|
+
const completionObject = isCompletionObject( completion )
|
|
113
|
+
? completion
|
|
114
|
+
: ( {
|
|
115
|
+
action: 'insert-at-caret',
|
|
116
|
+
value: completion,
|
|
117
|
+
} as InsertOption );
|
|
118
|
+
|
|
119
|
+
if ( 'replace' === completionObject.action ) {
|
|
120
|
+
onReplace( [ completionObject.value ] );
|
|
159
121
|
// When replacing, the component will unmount, so don't reset
|
|
160
122
|
// state (below) on an unmounted component.
|
|
161
123
|
return;
|
|
162
|
-
} else if ( 'insert-at-caret' === action ) {
|
|
163
|
-
insertCompletion( value );
|
|
124
|
+
} else if ( 'insert-at-caret' === completionObject.action ) {
|
|
125
|
+
insertCompletion( completionObject.value );
|
|
164
126
|
}
|
|
165
127
|
}
|
|
166
128
|
|
|
@@ -171,13 +133,13 @@ function useAutocomplete( {
|
|
|
171
133
|
|
|
172
134
|
function reset() {
|
|
173
135
|
setSelectedIndex( 0 );
|
|
174
|
-
setFilteredOptions(
|
|
136
|
+
setFilteredOptions( EMPTY_FILTERED_OPTIONS );
|
|
175
137
|
setFilterValue( '' );
|
|
176
138
|
setAutocompleter( null );
|
|
177
139
|
setAutocompleterUI( null );
|
|
178
140
|
}
|
|
179
141
|
|
|
180
|
-
function announce( options ) {
|
|
142
|
+
function announce( options: Array< KeyedOption > ) {
|
|
181
143
|
if ( ! debouncedSpeak ) {
|
|
182
144
|
return;
|
|
183
145
|
}
|
|
@@ -204,7 +166,7 @@ function useAutocomplete( {
|
|
|
204
166
|
*
|
|
205
167
|
* @param {Array} options
|
|
206
168
|
*/
|
|
207
|
-
function onChangeOptions( options ) {
|
|
169
|
+
function onChangeOptions( options: Array< KeyedOption > ) {
|
|
208
170
|
setSelectedIndex(
|
|
209
171
|
options.length === filteredOptions.length ? selectedIndex : 0
|
|
210
172
|
);
|
|
@@ -212,7 +174,7 @@ function useAutocomplete( {
|
|
|
212
174
|
announce( options );
|
|
213
175
|
}
|
|
214
176
|
|
|
215
|
-
function handleKeyDown( event ) {
|
|
177
|
+
function handleKeyDown( event: KeyboardEvent ) {
|
|
216
178
|
backspacing.current = event.key === 'Backspace';
|
|
217
179
|
|
|
218
180
|
if ( ! autocompleter ) {
|
|
@@ -380,7 +342,7 @@ function useAutocomplete( {
|
|
|
380
342
|
? getAutoCompleterUI( completer )
|
|
381
343
|
: AutocompleterUI
|
|
382
344
|
);
|
|
383
|
-
setFilterValue( query );
|
|
345
|
+
setFilterValue( query === null ? '' : query );
|
|
384
346
|
// Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.
|
|
385
347
|
// See https://github.com/WordPress/gutenberg/pull/41820
|
|
386
348
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -391,7 +353,7 @@ function useAutocomplete( {
|
|
|
391
353
|
const isExpanded = !! autocompleter && filteredOptions.length > 0;
|
|
392
354
|
const listBoxId = isExpanded
|
|
393
355
|
? `components-autocomplete-listbox-${ instanceId }`
|
|
394
|
-
:
|
|
356
|
+
: undefined;
|
|
395
357
|
const activeId = isExpanded
|
|
396
358
|
? `components-autocomplete-item-${ instanceId }-${ selectedKey }`
|
|
397
359
|
: null;
|
|
@@ -418,8 +380,8 @@ function useAutocomplete( {
|
|
|
418
380
|
};
|
|
419
381
|
}
|
|
420
382
|
|
|
421
|
-
function useLastDifferentValue( value ) {
|
|
422
|
-
const history = useRef( new Set() );
|
|
383
|
+
function useLastDifferentValue( value: UseAutocompleteProps[ 'record' ] ) {
|
|
384
|
+
const history = useRef< Set< typeof value > >( new Set() );
|
|
423
385
|
|
|
424
386
|
history.current.add( value );
|
|
425
387
|
|
|
@@ -431,9 +393,9 @@ function useLastDifferentValue( value ) {
|
|
|
431
393
|
return Array.from( history.current )[ 0 ];
|
|
432
394
|
}
|
|
433
395
|
|
|
434
|
-
export function useAutocompleteProps( options ) {
|
|
435
|
-
const ref = useRef();
|
|
436
|
-
const onKeyDownRef = useRef();
|
|
396
|
+
export function useAutocompleteProps( options: UseAutocompleteProps ) {
|
|
397
|
+
const ref = useRef< HTMLElement >( null );
|
|
398
|
+
const onKeyDownRef = useRef< ( event: KeyboardEvent ) => void >();
|
|
437
399
|
const { record } = options;
|
|
438
400
|
const previousRecord = useLastDifferentValue( record );
|
|
439
401
|
const { popover, listBoxId, activeId, onKeyDown } = useAutocomplete( {
|
|
@@ -444,9 +406,9 @@ export function useAutocompleteProps( options ) {
|
|
|
444
406
|
|
|
445
407
|
const mergedRefs = useMergeRefs( [
|
|
446
408
|
ref,
|
|
447
|
-
useRefEffect( ( element ) => {
|
|
448
|
-
function _onKeyDown( event ) {
|
|
449
|
-
onKeyDownRef.current( event );
|
|
409
|
+
useRefEffect( ( element: HTMLElement ) => {
|
|
410
|
+
function _onKeyDown( event: KeyboardEvent ) {
|
|
411
|
+
onKeyDownRef.current?.( event );
|
|
450
412
|
}
|
|
451
413
|
element.addEventListener( 'keydown', _onKeyDown );
|
|
452
414
|
return () => {
|
|
@@ -471,7 +433,11 @@ export function useAutocompleteProps( options ) {
|
|
|
471
433
|
};
|
|
472
434
|
}
|
|
473
435
|
|
|
474
|
-
export default function Autocomplete( {
|
|
436
|
+
export default function Autocomplete( {
|
|
437
|
+
children,
|
|
438
|
+
isSelected,
|
|
439
|
+
...options
|
|
440
|
+
}: AutocompleteProps ) {
|
|
475
441
|
const { popover, ...props } = useAutocomplete( options );
|
|
476
442
|
return (
|
|
477
443
|
<>
|
|
@@ -14,6 +14,8 @@ import { useRef } from '@wordpress/element';
|
|
|
14
14
|
*/
|
|
15
15
|
import { getAutoCompleterUI } from '../autocompleter-ui';
|
|
16
16
|
|
|
17
|
+
type FruitOption = { visual: string; name: string; id: number };
|
|
18
|
+
|
|
17
19
|
describe( 'AutocompleterUI', () => {
|
|
18
20
|
describe( 'click outside behavior', () => {
|
|
19
21
|
it( 'should call reset function when a click on another element occurs', async () => {
|
|
@@ -23,25 +25,35 @@ describe( 'AutocompleterUI', () => {
|
|
|
23
25
|
|
|
24
26
|
const autocompleter = {
|
|
25
27
|
name: 'fruit',
|
|
28
|
+
options: [
|
|
29
|
+
{ visual: '🍎', name: 'Apple', id: 1 },
|
|
30
|
+
{ visual: '🍊', name: 'Orange', id: 2 },
|
|
31
|
+
{ visual: '🍇', name: 'Grapes', id: 3 },
|
|
32
|
+
],
|
|
26
33
|
// The prefix that triggers this completer
|
|
27
34
|
triggerPrefix: '~',
|
|
35
|
+
getOptionLabel: ( option: FruitOption ) => (
|
|
36
|
+
<span>
|
|
37
|
+
<span className="icon">{ option.visual }</span>
|
|
38
|
+
{ option.name }
|
|
39
|
+
</span>
|
|
40
|
+
),
|
|
28
41
|
// Mock useItems function to return a autocomplete item.
|
|
29
|
-
useItems: () => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
];
|
|
42
|
+
useItems: ( filterValue: string ) => {
|
|
43
|
+
const options = autocompleter.options;
|
|
44
|
+
const keyedOptions = options.map(
|
|
45
|
+
( optionData, optionIndex ) => ( {
|
|
46
|
+
key: `${ autocompleter.name }-${ optionIndex }`,
|
|
47
|
+
value: optionData,
|
|
48
|
+
label: autocompleter.getOptionLabel( optionData ),
|
|
49
|
+
keywords: [],
|
|
50
|
+
isDisabled: false,
|
|
51
|
+
} )
|
|
52
|
+
);
|
|
53
|
+
const filteredOptions = keyedOptions.filter( ( option ) =>
|
|
54
|
+
option.value.name.includes( filterValue )
|
|
55
|
+
);
|
|
56
|
+
return [ filteredOptions ] as const;
|
|
45
57
|
},
|
|
46
58
|
};
|
|
47
59
|
|
|
@@ -50,19 +62,18 @@ describe( 'AutocompleterUI', () => {
|
|
|
50
62
|
const OtherElement = <div>Other Element</div>;
|
|
51
63
|
|
|
52
64
|
const Container = () => {
|
|
53
|
-
const contentRef = useRef();
|
|
65
|
+
const contentRef = useRef< HTMLElement >( null );
|
|
54
66
|
|
|
55
67
|
return (
|
|
56
68
|
<div>
|
|
57
69
|
<AutocompleterUI
|
|
58
70
|
className={ 'test' }
|
|
59
|
-
filterValue={ '
|
|
60
|
-
instanceId={
|
|
71
|
+
filterValue={ 'Apple' }
|
|
72
|
+
instanceId={ 1 }
|
|
61
73
|
listBoxId={ '1' }
|
|
62
74
|
selectedIndex={ 0 }
|
|
63
75
|
onChangeOptions={ () => {} }
|
|
64
76
|
onSelect={ () => {} }
|
|
65
|
-
value={ { visual: '🍎', name: 'Apple', id: 1 } }
|
|
66
77
|
contentRef={ contentRef }
|
|
67
78
|
reset={ resetSpy }
|
|
68
79
|
/>
|