@wordpress/components 16.0.1-next.5df0cd52b7.0 → 19.0.1
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 +71 -4
- package/CONTRIBUTING.md +398 -6
- package/README.md +9 -1
- package/build/angle-picker-control/index.js +29 -24
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +10 -13
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/animate/index.js +1 -1
- package/build/animate/index.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.native.js +5 -4
- package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
- package/build/base-control/index.js +2 -2
- package/build/base-control/index.js.map +1 -1
- package/build/base-field/hook.js +1 -1
- package/build/base-field/hook.js.map +1 -1
- package/build/button/index.js +4 -1
- package/build/button/index.js.map +1 -1
- package/build/card/card/component.js +3 -3
- package/build/card/card/component.js.map +1 -1
- package/build/card/card/hook.js +4 -5
- package/build/card/card/hook.js.map +1 -1
- package/build/card/card-body/component.js +2 -2
- package/build/card/card-body/component.js.map +1 -1
- package/build/card/card-body/hook.js +1 -1
- package/build/card/card-body/hook.js.map +1 -1
- package/build/card/card-divider/component.js +2 -2
- package/build/card/card-divider/component.js.map +1 -1
- package/build/card/card-divider/hook.js +1 -1
- package/build/card/card-divider/hook.js.map +1 -1
- package/build/card/card-footer/component.js +2 -2
- package/build/card/card-footer/component.js.map +1 -1
- package/build/card/card-footer/hook.js +1 -1
- package/build/card/card-footer/hook.js.map +1 -1
- package/build/card/card-header/component.js +2 -2
- package/build/card/card-header/component.js.map +1 -1
- package/build/card/card-header/hook.js +1 -1
- package/build/card/card-header/hook.js.map +1 -1
- package/build/card/card-media/component.js +23 -7
- package/build/card/card-media/component.js.map +1 -1
- package/build/card/card-media/hook.js +1 -1
- package/build/card/card-media/hook.js.map +1 -1
- package/build/color-edit/index.js +181 -201
- package/build/color-edit/index.js.map +1 -1
- package/build/color-edit/styles.js +112 -0
- package/build/color-edit/styles.js.map +1 -0
- package/build/color-list-picker/index.js +6 -1
- package/build/color-list-picker/index.js.map +1 -1
- package/build/color-palette/index.js +115 -42
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/styles.js +31 -0
- package/build/color-palette/styles.js.map +1 -0
- package/build/{ui/color-picker → color-picker}/color-display.js +36 -21
- package/build/color-picker/color-display.js.map +1 -0
- package/build/{ui/color-picker → color-picker}/color-input.js +0 -0
- package/build/color-picker/color-input.js.map +1 -0
- package/build/{ui/color-picker → color-picker}/component.js +37 -49
- package/build/color-picker/component.js.map +1 -0
- package/build/color-picker/hex-input.js +63 -0
- package/build/color-picker/hex-input.js.map +1 -0
- package/build/{ui/color-picker → color-picker}/hsl-input.js +40 -30
- package/build/color-picker/hsl-input.js.map +1 -0
- package/build/color-picker/index.js +6 -276
- package/build/color-picker/index.js.map +1 -1
- package/build/color-picker/index.native.js +16 -11
- package/build/color-picker/index.native.js.map +1 -1
- package/build/{ui/color-picker → color-picker}/input-with-slider.js +10 -13
- package/build/color-picker/input-with-slider.js.map +1 -0
- package/build/color-picker/legacy-adapter.js +24 -0
- package/build/color-picker/legacy-adapter.js.map +1 -0
- package/build/color-picker/picker.js +37 -0
- package/build/color-picker/picker.js.map +1 -0
- package/build/{ui/color-picker → color-picker}/rgb-input.js +10 -12
- package/build/color-picker/rgb-input.js.map +1 -0
- package/build/color-picker/styles.js +102 -0
- package/build/color-picker/styles.js.map +1 -0
- package/build/{segmented-control → color-picker}/types.js +0 -0
- package/build/color-picker/types.js.map +1 -0
- package/build/color-picker/use-deprecated-props.js +81 -0
- package/build/color-picker/use-deprecated-props.js.map +1 -0
- package/build/combobox-control/index.js +25 -5
- package/build/combobox-control/index.js.map +1 -1
- package/build/custom-gradient-bar/constants.js +2 -2
- package/build/custom-gradient-bar/constants.js.map +1 -1
- package/build/custom-gradient-bar/control-points.js +29 -53
- package/build/custom-gradient-bar/control-points.js.map +1 -1
- package/build/custom-gradient-picker/index.js +4 -3
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js +6 -6
- package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js.map +1 -1
- package/build/custom-gradient-picker/utils.js +8 -4
- package/build/custom-gradient-picker/utils.js.map +1 -1
- package/build/custom-select-control/index.js +32 -8
- package/build/custom-select-control/index.js.map +1 -1
- package/build/dashicon/index.native.js +39 -0
- package/build/dashicon/index.native.js.map +1 -0
- package/build/date-time/index.js +1 -1
- package/build/date-time/index.js.map +1 -1
- package/build/dimension-control/sizes.js +5 -5
- package/build/dimension-control/sizes.js.map +1 -1
- package/build/divider/component.js.map +1 -1
- package/build/drop-zone/index.js +54 -3
- package/build/drop-zone/index.js.map +1 -1
- package/build/dropdown/index.js +7 -1
- package/build/dropdown/index.js.map +1 -1
- package/build/dropdown-menu/index.js +21 -35
- package/build/dropdown-menu/index.js.map +1 -1
- package/build/dropdown-menu/index.native.js +2 -22
- package/build/dropdown-menu/index.native.js.map +1 -1
- package/build/duotone-picker/custom-duotone-bar.js +0 -1
- package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +1 -0
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/duotone-picker/utils.js +6 -3
- package/build/duotone-picker/utils.js.map +1 -1
- package/build/elevation/component.js +24 -8
- package/build/elevation/component.js.map +1 -1
- package/build/elevation/hook.js +5 -5
- package/build/elevation/hook.js.map +1 -1
- package/build/flex/flex/component.js +2 -2
- package/build/flex/flex/component.js.map +1 -1
- package/build/flex/flex/hook.js +26 -32
- package/build/flex/flex/hook.js.map +1 -1
- package/build/flex/flex-block/component.js +23 -7
- package/build/flex/flex-block/component.js.map +1 -1
- package/build/flex/flex-block/hook.js +1 -1
- package/build/flex/flex-block/hook.js.map +1 -1
- package/build/flex/flex-item/component.js +23 -7
- package/build/flex/flex-item/component.js.map +1 -1
- package/build/flex/flex-item/hook.js +2 -2
- package/build/flex/flex-item/hook.js.map +1 -1
- package/build/flyout/flyout/component.js +2 -2
- package/build/flyout/flyout/component.js.map +1 -1
- package/build/flyout/flyout/hook.js +1 -1
- package/build/flyout/flyout/hook.js.map +1 -1
- package/build/flyout/flyout-content/component.js +2 -2
- package/build/flyout/flyout-content/component.js.map +1 -1
- package/build/focal-point-picker/controls.js +1 -1
- package/build/focal-point-picker/controls.js.map +1 -1
- package/build/focusable-iframe/index.js +6 -28
- package/build/focusable-iframe/index.js.map +1 -1
- package/build/font-size-picker/index.js +107 -72
- package/build/font-size-picker/index.js.map +1 -1
- package/build/font-size-picker/index.native.js +162 -0
- package/build/font-size-picker/index.native.js.map +1 -0
- package/build/font-size-picker/utils.js +119 -0
- package/build/font-size-picker/utils.js.map +1 -0
- package/build/gradient-picker/index.js +69 -9
- package/build/gradient-picker/index.js.map +1 -1
- package/build/grid/component.js +21 -7
- package/build/grid/component.js.map +1 -1
- package/build/grid/hook.js +2 -2
- package/build/grid/hook.js.map +1 -1
- package/build/guide/index.js +10 -9
- package/build/guide/index.js.map +1 -1
- package/build/h-stack/component.js +23 -7
- package/build/h-stack/component.js.map +1 -1
- package/build/h-stack/hook.js +1 -1
- package/build/h-stack/hook.js.map +1 -1
- package/build/heading/component.js +25 -9
- package/build/heading/component.js.map +1 -1
- package/build/heading/hook.js +1 -1
- package/build/heading/hook.js.map +1 -1
- package/build/higher-order/navigate-regions/index.js +42 -29
- package/build/higher-order/navigate-regions/index.js.map +1 -1
- package/build/index.js +50 -16
- package/build/index.js.map +1 -1
- package/build/index.native.js +20 -2
- package/build/index.native.js.map +1 -1
- package/build/input-control/input-field.js.map +1 -1
- package/build/input-control/label.js.map +1 -1
- package/build/input-control/reducer/actions.js.map +1 -1
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/input-control/reducer/state.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +25 -25
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/item-group/item/component.js.map +1 -1
- package/build/item-group/item/hook.js +10 -3
- package/build/item-group/item/hook.js.map +1 -1
- package/build/item-group/item-group/component.js.map +1 -1
- package/build/item-group/item-group/hook.js.map +1 -1
- package/build/item-group/styles.js +18 -10
- package/build/item-group/styles.js.map +1 -1
- package/build/menu-group/index.js +9 -6
- package/build/menu-group/index.js.map +1 -1
- package/build/menu-item/index.js +20 -29
- package/build/menu-item/index.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +13 -4
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cell.native.js +11 -3
- package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +3 -3
- package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js +16 -4
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/link-cell.native.js +3 -2
- package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +42 -0
- package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -0
- package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +58 -0
- package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -0
- package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +115 -0
- package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -0
- package/build/mobile/bottom-sheet/nav-bar/heading.native.js +42 -0
- package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -0
- package/build/mobile/bottom-sheet/nav-bar/index.native.js +43 -0
- package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -0
- package/build/mobile/bottom-sheet/range-cell.native.js +14 -2
- package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/range-text-input.native.js +2 -1
- package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
- package/build/mobile/bottom-sheet-select-control/index.native.js +3 -4
- package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-text-control/index.native.js +5 -8
- package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build/mobile/color-settings/gradient-picker-screen.native.js +4 -5
- package/build/mobile/color-settings/gradient-picker-screen.native.js.map +1 -1
- package/build/mobile/color-settings/palette.screen.native.js +11 -7
- package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
- package/build/mobile/color-settings/picker-screen.native.js +2 -4
- package/build/mobile/color-settings/picker-screen.native.js.map +1 -1
- package/build/mobile/dashicons/index.native.js +31 -0
- package/build/mobile/dashicons/index.native.js.map +1 -0
- package/build/mobile/focal-point-settings-panel/index.native.js +6 -7
- package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/index.native.js +4 -2
- package/build/mobile/global-styles-context/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +118 -10
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/html-text-input/index.native.js +14 -4
- package/build/mobile/html-text-input/index.native.js.map +1 -1
- package/build/mobile/inserter-button/index.native.js +5 -4
- package/build/mobile/inserter-button/index.native.js.map +1 -1
- package/build/mobile/link-picker/index.native.js +6 -7
- package/build/mobile/link-picker/index.native.js.map +1 -1
- package/build/mobile/link-settings/image-link-destinations-screen.native.js +140 -0
- package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
- package/build/mobile/link-settings/index.native.js +3 -2
- package/build/mobile/link-settings/index.native.js.map +1 -1
- package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
- package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
- package/build/mobile/picker/index.android.js +4 -2
- package/build/mobile/picker/index.android.js.map +1 -1
- package/build/mobile/segmented-control/index.native.js +2 -1
- package/build/mobile/segmented-control/index.native.js.map +1 -1
- package/build/modal/index.js +111 -151
- package/build/modal/index.js.map +1 -1
- package/build/navigable-container/container.js +2 -0
- package/build/navigable-container/container.js.map +1 -1
- package/build/navigable-container/index.js.map +1 -1
- package/build/navigable-container/menu.js +2 -0
- package/build/navigable-container/menu.js.map +1 -1
- package/build/navigable-container/tabbable.js +2 -0
- package/build/navigable-container/tabbable.js.map +1 -1
- package/build/navigation/group/index.js +1 -2
- package/build/navigation/group/index.js.map +1 -1
- package/build/navigation/menu/index.js +1 -1
- package/build/navigation/menu/index.js.map +1 -1
- package/build/navigation/menu/menu-title-search.js +8 -27
- package/build/navigation/menu/menu-title-search.js.map +1 -1
- package/build/navigation/menu/menu-title.js +2 -2
- package/build/navigation/menu/menu-title.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js +43 -30
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/navigator/context.js +16 -0
- package/build/navigator/context.js.map +1 -0
- package/build/navigator/index.js +32 -0
- package/build/navigator/index.js.map +1 -0
- package/build/navigator/navigator-provider/component.js +106 -0
- package/build/navigator/navigator-provider/component.js.map +1 -0
- package/build/{ui/color-picker → navigator/navigator-provider}/index.js +1 -1
- package/build/navigator/navigator-provider/index.js.map +1 -0
- package/build/navigator/navigator-screen/component.js +160 -0
- package/build/navigator/navigator-screen/component.js.map +1 -0
- package/build/navigator/navigator-screen/index.js +16 -0
- package/build/navigator/navigator-screen/index.js.map +1 -0
- package/build/{ui/color-picker → navigator}/types.js +0 -0
- package/build/navigator/types.js.map +1 -0
- package/build/navigator/use-navigator.js +38 -0
- package/build/navigator/use-navigator.js.map +1 -0
- package/build/number-control/index.js +25 -30
- package/build/number-control/index.js.map +1 -1
- package/build/panel/body.native.js +1 -0
- package/build/panel/body.native.js.map +1 -1
- package/build/popover/index.js +14 -22
- package/build/popover/index.js.map +1 -1
- package/build/popover/utils.js +57 -35
- package/build/popover/utils.js.map +1 -1
- package/build/query-controls/index.native.js +2 -2
- package/build/query-controls/index.native.js.map +1 -1
- package/build/range-control/index.js +9 -2
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/input-range.js +0 -17
- package/build/range-control/input-range.js.map +1 -1
- package/build/range-control/rail.js +4 -0
- package/build/range-control/rail.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +51 -51
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/range-control/tooltip.js +11 -23
- package/build/range-control/tooltip.js.map +1 -1
- package/build/resizable-box/index.js +35 -32
- package/build/resizable-box/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/index.js +0 -2
- package/build/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/label.js +8 -4
- package/build/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -12
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build/resizable-box/resize-tooltip/utils.js +21 -30
- package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build/sandbox/index.js +3 -9
- package/build/sandbox/index.js.map +1 -1
- package/build/sandbox/index.native.js +75 -31
- package/build/sandbox/index.native.js.map +1 -1
- package/build/scrollable/component.js +24 -8
- package/build/scrollable/component.js.map +1 -1
- package/build/scrollable/hook.js +1 -1
- package/build/scrollable/hook.js.map +1 -1
- package/build/search-control/index.js +37 -14
- package/build/search-control/index.js.map +1 -1
- package/build/search-control/index.native.js +11 -2
- package/build/search-control/index.native.js.map +1 -1
- package/build/select-control/index.js +3 -2
- package/build/select-control/index.js.map +1 -1
- package/build/snackbar/index.js +5 -2
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/list.js +6 -2
- package/build/snackbar/list.js.map +1 -1
- package/build/spacer/component.js +24 -8
- package/build/spacer/component.js.map +1 -1
- package/build/spacer/hook.js +1 -1
- package/build/spacer/hook.js.map +1 -1
- package/build/surface/component.js +22 -6
- package/build/surface/component.js.map +1 -1
- package/build/surface/hook.js +1 -1
- package/build/surface/hook.js.map +1 -1
- package/build/text/component.js +23 -7
- package/build/text/component.js.map +1 -1
- package/build/text/hook.js +5 -5
- package/build/text/hook.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/toggle-control/index.native.js +9 -3
- package/build/toggle-control/index.native.js.map +1 -1
- package/build/toggle-group-control/context.js +20 -0
- package/build/toggle-group-control/context.js.map +1 -0
- package/build/toggle-group-control/index.js +22 -0
- package/build/toggle-group-control/index.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control/component.js +128 -0
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control/index.js +16 -0
- package/build/toggle-group-control/toggle-group-control/index.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control/styles.js +37 -0
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -0
- package/build/{segmented-control/segmented-control-backdrop.js → toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js} +21 -6
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option/component.js +104 -0
- package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option/index.js +16 -0
- package/build/toggle-group-control/toggle-group-control-option/index.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option/styles.js +73 -0
- package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -0
- package/build/toggle-group-control/types.js +2 -0
- package/build/toggle-group-control/types.js.map +1 -0
- package/build/tools-panel/context.js +15 -1
- package/build/tools-panel/context.js.map +1 -1
- package/build/tools-panel/index.js +8 -0
- package/build/tools-panel/index.js.map +1 -1
- package/build/tools-panel/styles.js +69 -9
- package/build/tools-panel/styles.js.map +1 -1
- package/build/tools-panel/tools-panel/component.js +16 -10
- package/build/tools-panel/tools-panel/component.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +123 -23
- package/build/tools-panel/tools-panel/hook.js.map +1 -1
- package/build/tools-panel/tools-panel/index.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +99 -22
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/hook.js +12 -2
- package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-header/index.js.map +1 -1
- package/build/tools-panel/tools-panel-item/component.js +9 -1
- package/build/tools-panel/tools-panel-item/component.js.map +1 -1
- package/build/tools-panel/tools-panel-item/hook.js +56 -20
- package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-item/index.js.map +1 -1
- package/build/tools-panel/types.js +2 -0
- package/build/tools-panel/types.js.map +1 -0
- package/build/tooltip/index.js +10 -4
- package/build/tooltip/index.js.map +1 -1
- package/build/tooltip/index.native.js +2 -1
- package/build/tooltip/index.native.js.map +1 -1
- package/build/tree-grid/index.js +3 -1
- package/build/tree-grid/index.js.map +1 -1
- package/build/truncate/component.js +23 -7
- package/build/truncate/component.js.map +1 -1
- package/build/truncate/hook.js +2 -2
- package/build/truncate/hook.js.map +1 -1
- package/build/ui/context/context-connect.js +3 -3
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/ui/context/index.js +4 -4
- package/build/ui/context/index.js.map +1 -1
- package/build/ui/context/use-context-system.js +1 -1
- package/build/ui/context/use-context-system.js.map +1 -1
- package/build/ui/context/wordpress-component.js +2 -0
- package/build/ui/context/wordpress-component.js.map +1 -0
- package/build/ui/control-group/component.js +2 -2
- package/build/ui/control-group/component.js.map +1 -1
- package/build/ui/control-group/hook.js +1 -1
- package/build/ui/control-group/hook.js.map +1 -1
- package/build/ui/control-label/component.js +25 -7
- package/build/ui/control-label/component.js.map +1 -1
- package/build/ui/control-label/hook.js +1 -1
- package/build/ui/control-label/hook.js.map +1 -1
- package/build/ui/form-group/form-group-content.js +1 -1
- package/build/ui/form-group/form-group-content.js.map +1 -1
- package/build/ui/form-group/form-group-label.js +1 -1
- package/build/ui/form-group/form-group-label.js.map +1 -1
- package/build/ui/form-group/form-group.js +2 -2
- package/build/ui/form-group/form-group.js.map +1 -1
- package/build/ui/form-group/use-form-group.js +1 -1
- package/build/ui/form-group/use-form-group.js.map +1 -1
- package/build/ui/shortcut/component.js.map +1 -1
- package/build/ui/spinner/component.js +2 -2
- package/build/ui/spinner/component.js.map +1 -1
- package/build/ui/tooltip/component.js +2 -2
- package/build/ui/tooltip/component.js.map +1 -1
- package/build/ui/tooltip/content.js +2 -2
- package/build/ui/tooltip/content.js.map +1 -1
- package/build/ui/tooltip/styles.js +4 -4
- package/build/ui/tooltip/styles.js.map +1 -1
- package/build/ui/utils/colors.js +6 -6
- package/build/ui/utils/colors.js.map +1 -1
- package/build/ui/utils/index.js +0 -8
- package/build/ui/utils/index.js.map +1 -1
- package/build/ui/utils/space.js +2 -2
- package/build/ui/utils/space.js.map +1 -1
- package/build/ui/utils/use-responsive-value.js +0 -4
- package/build/ui/utils/use-responsive-value.js.map +1 -1
- package/build/unit-control/index.js +34 -18
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/index.native.js +5 -1
- package/build/unit-control/index.native.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +17 -17
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/unit-control/types.js +2 -0
- package/build/unit-control/types.js.map +1 -0
- package/build/unit-control/unit-select-control.js +11 -28
- package/build/unit-control/unit-select-control.js.map +1 -1
- package/build/unit-control/utils.js +73 -45
- package/build/unit-control/utils.js.map +1 -1
- package/build/utils/colors.js +6 -8
- package/build/utils/colors.js.map +1 -1
- package/build/utils/config-values.js +8 -8
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/hooks/index.js +6 -6
- package/build/utils/hooks/index.js.map +1 -1
- package/build/utils/hooks/use-combined-ref.js +28 -0
- package/build/utils/hooks/use-combined-ref.js.map +1 -0
- package/build/v-stack/component.js +23 -7
- package/build/v-stack/component.js.map +1 -1
- package/build/v-stack/hook.js +1 -1
- package/build/v-stack/hook.js.map +1 -1
- package/build/view/component.js +2 -2
- package/build/view/component.js.map +1 -1
- package/build/visually-hidden/component.js +2 -2
- package/build/visually-hidden/component.js.map +1 -1
- package/build/z-stack/component.js.map +1 -1
- package/build-module/angle-picker-control/index.js +26 -21
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +8 -13
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/animate/index.js +1 -1
- package/build-module/animate/index.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.native.js +5 -4
- package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
- package/build-module/base-control/index.js +2 -2
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/base-field/hook.js +1 -1
- package/build-module/base-field/hook.js.map +1 -1
- package/build-module/button/index.js +4 -2
- package/build-module/button/index.js.map +1 -1
- package/build-module/card/card/component.js +3 -3
- package/build-module/card/card/component.js.map +1 -1
- package/build-module/card/card/hook.js +4 -5
- package/build-module/card/card/hook.js.map +1 -1
- package/build-module/card/card-body/component.js +2 -2
- package/build-module/card/card-body/component.js.map +1 -1
- package/build-module/card/card-body/hook.js +1 -1
- package/build-module/card/card-body/hook.js.map +1 -1
- package/build-module/card/card-divider/component.js +2 -2
- package/build-module/card/card-divider/component.js.map +1 -1
- package/build-module/card/card-divider/hook.js +1 -1
- package/build-module/card/card-divider/hook.js.map +1 -1
- package/build-module/card/card-footer/component.js +2 -2
- package/build-module/card/card-footer/component.js.map +1 -1
- package/build-module/card/card-footer/hook.js +1 -1
- package/build-module/card/card-footer/hook.js.map +1 -1
- package/build-module/card/card-header/component.js +2 -2
- package/build-module/card/card-header/component.js.map +1 -1
- package/build-module/card/card-header/hook.js +1 -1
- package/build-module/card/card-header/hook.js.map +1 -1
- package/build-module/card/card-media/component.js +19 -7
- package/build-module/card/card-media/component.js.map +1 -1
- package/build-module/card/card-media/hook.js +1 -1
- package/build-module/card/card-media/hook.js.map +1 -1
- package/build-module/color-edit/index.js +175 -202
- package/build-module/color-edit/index.js.map +1 -1
- package/build-module/color-edit/styles.js +90 -0
- package/build-module/color-edit/styles.js.map +1 -0
- package/build-module/color-list-picker/index.js +6 -1
- package/build-module/color-list-picker/index.js.map +1 -1
- package/build-module/color-palette/index.js +110 -42
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/styles.js +27 -0
- package/build-module/color-palette/styles.js.map +1 -0
- package/build-module/{ui/color-picker → color-picker}/color-display.js +38 -20
- package/build-module/color-picker/color-display.js.map +1 -0
- package/build-module/{ui/color-picker → color-picker}/color-input.js +0 -0
- package/build-module/color-picker/color-input.js.map +1 -0
- package/build-module/{ui/color-picker → color-picker}/component.js +36 -49
- package/build-module/color-picker/component.js.map +1 -0
- package/build-module/color-picker/hex-input.js +48 -0
- package/build-module/color-picker/hex-input.js.map +1 -0
- package/build-module/{ui/color-picker → color-picker}/hsl-input.js +40 -31
- package/build-module/color-picker/hsl-input.js.map +1 -0
- package/build-module/color-picker/index.js +1 -264
- package/build-module/color-picker/index.js.map +1 -1
- package/build-module/color-picker/index.native.js +14 -8
- package/build-module/color-picker/index.native.js.map +1 -1
- package/build-module/{ui/color-picker → color-picker}/input-with-slider.js +11 -11
- package/build-module/color-picker/input-with-slider.js.map +1 -0
- package/build-module/color-picker/legacy-adapter.js +11 -0
- package/build-module/color-picker/legacy-adapter.js.map +1 -0
- package/build-module/color-picker/picker.js +27 -0
- package/build-module/color-picker/picker.js.map +1 -0
- package/build-module/{ui/color-picker → color-picker}/rgb-input.js +10 -10
- package/build-module/color-picker/rgb-input.js.map +1 -0
- package/build-module/color-picker/styles.js +84 -0
- package/build-module/color-picker/styles.js.map +1 -0
- package/build-module/{segmented-control → color-picker}/types.js +0 -0
- package/build-module/{segmented-control → color-picker}/types.js.map +0 -0
- package/build-module/color-picker/use-deprecated-props.js +73 -0
- package/build-module/color-picker/use-deprecated-props.js.map +1 -0
- package/build-module/combobox-control/index.js +25 -5
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/custom-gradient-bar/constants.js +2 -2
- package/build-module/custom-gradient-bar/constants.js.map +1 -1
- package/build-module/custom-gradient-bar/control-points.js +25 -50
- package/build-module/custom-gradient-bar/control-points.js.map +1 -1
- package/build-module/custom-gradient-picker/index.js +5 -4
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/custom-gradient-picker/styles/custom-gradient-picker-styles.js +6 -6
- package/build-module/custom-gradient-picker/styles/custom-gradient-picker-styles.js.map +1 -1
- package/build-module/custom-gradient-picker/utils.js +5 -3
- package/build-module/custom-gradient-picker/utils.js.map +1 -1
- package/build-module/custom-select-control/index.js +31 -8
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/dashicon/index.native.js +24 -0
- package/build-module/dashicon/index.native.js.map +1 -0
- package/build-module/date-time/index.js +1 -1
- package/build-module/date-time/index.js.map +1 -1
- package/build-module/dimension-control/sizes.js +6 -6
- package/build-module/dimension-control/sizes.js.map +1 -1
- package/build-module/divider/component.js +1 -2
- package/build-module/divider/component.js.map +1 -1
- package/build-module/drop-zone/index.js +54 -4
- package/build-module/drop-zone/index.js.map +1 -1
- package/build-module/dropdown/index.js +6 -1
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/dropdown-menu/index.js +20 -34
- package/build-module/dropdown-menu/index.js.map +1 -1
- package/build-module/dropdown-menu/index.native.js +2 -21
- package/build-module/dropdown-menu/index.native.js.map +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js +0 -1
- package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +1 -0
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/duotone-picker/utils.js +4 -2
- package/build-module/duotone-picker/utils.js.map +1 -1
- package/build-module/elevation/component.js +19 -7
- package/build-module/elevation/component.js.map +1 -1
- package/build-module/elevation/hook.js +5 -5
- package/build-module/elevation/hook.js.map +1 -1
- package/build-module/flex/flex/component.js +2 -2
- package/build-module/flex/flex/component.js.map +1 -1
- package/build-module/flex/flex/hook.js +25 -31
- package/build-module/flex/flex/hook.js.map +1 -1
- package/build-module/flex/flex-block/component.js +19 -7
- package/build-module/flex/flex-block/component.js.map +1 -1
- package/build-module/flex/flex-block/hook.js +1 -1
- package/build-module/flex/flex-block/hook.js.map +1 -1
- package/build-module/flex/flex-item/component.js +19 -7
- package/build-module/flex/flex-item/component.js.map +1 -1
- package/build-module/flex/flex-item/hook.js +2 -2
- package/build-module/flex/flex-item/hook.js.map +1 -1
- package/build-module/flyout/flyout/component.js +2 -2
- package/build-module/flyout/flyout/component.js.map +1 -1
- package/build-module/flyout/flyout/hook.js +1 -1
- package/build-module/flyout/flyout/hook.js.map +1 -1
- package/build-module/flyout/flyout-content/component.js +2 -2
- package/build-module/flyout/flyout-content/component.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +1 -1
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/focusable-iframe/index.js +6 -30
- package/build-module/focusable-iframe/index.js.map +1 -1
- package/build-module/font-size-picker/index.js +108 -74
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/font-size-picker/index.native.js +144 -0
- package/build-module/font-size-picker/index.native.js.map +1 -0
- package/build-module/font-size-picker/utils.js +104 -0
- package/build-module/font-size-picker/utils.js.map +1 -0
- package/build-module/gradient-picker/index.js +67 -9
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/grid/component.js +19 -7
- package/build-module/grid/component.js.map +1 -1
- package/build-module/grid/hook.js +2 -2
- package/build-module/grid/hook.js.map +1 -1
- package/build-module/guide/index.js +9 -8
- package/build-module/guide/index.js.map +1 -1
- package/build-module/h-stack/component.js +19 -7
- package/build-module/h-stack/component.js.map +1 -1
- package/build-module/h-stack/hook.js +1 -1
- package/build-module/h-stack/hook.js.map +1 -1
- package/build-module/heading/component.js +21 -8
- package/build-module/heading/component.js.map +1 -1
- package/build-module/heading/hook.js +2 -3
- package/build-module/heading/hook.js.map +1 -1
- package/build-module/higher-order/navigate-regions/index.js +44 -31
- package/build-module/higher-order/navigate-regions/index.js.map +1 -1
- package/build-module/index.js +5 -3
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +4 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/input-control/input-field.js.map +1 -1
- package/build-module/input-control/label.js.map +1 -1
- package/build-module/input-control/reducer/actions.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/input-control/reducer/state.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +25 -25
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/item-group/item/component.js.map +1 -1
- package/build-module/item-group/item/hook.js +9 -3
- package/build-module/item-group/item/hook.js.map +1 -1
- package/build-module/item-group/item-group/component.js.map +1 -1
- package/build-module/item-group/item-group/hook.js.map +1 -1
- package/build-module/item-group/styles.js +18 -10
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/menu-group/index.js +8 -6
- package/build-module/menu-group/index.js.map +1 -1
- package/build-module/menu-item/index.js +19 -29
- package/build-module/menu-item/index.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +14 -5
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js +11 -3
- package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -3
- package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js +16 -4
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-cell.native.js +3 -2
- package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +30 -0
- package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -0
- package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +43 -0
- package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -0
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +99 -0
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -0
- package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +30 -0
- package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -0
- package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +29 -0
- package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -0
- package/build-module/mobile/bottom-sheet/range-cell.native.js +14 -2
- package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/range-text-input.native.js +2 -1
- package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +2 -2
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
- package/build-module/mobile/bottom-sheet-select-control/index.native.js +3 -4
- package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-text-control/index.native.js +5 -8
- package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build-module/mobile/color-settings/gradient-picker-screen.native.js +4 -5
- package/build-module/mobile/color-settings/gradient-picker-screen.native.js.map +1 -1
- package/build-module/mobile/color-settings/palette.screen.native.js +11 -7
- package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
- package/build-module/mobile/color-settings/picker-screen.native.js +1 -1
- package/build-module/mobile/color-settings/picker-screen.native.js.map +1 -1
- package/build-module/mobile/dashicons/index.native.js +21 -0
- package/build-module/mobile/dashicons/index.native.js.map +1 -0
- package/build-module/mobile/focal-point-settings-panel/index.native.js +6 -7
- package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/index.native.js +5 -3
- package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +113 -11
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/html-text-input/index.native.js +14 -4
- package/build-module/mobile/html-text-input/index.native.js.map +1 -1
- package/build-module/mobile/inserter-button/index.native.js +4 -4
- package/build-module/mobile/inserter-button/index.native.js.map +1 -1
- package/build-module/mobile/link-picker/index.native.js +6 -7
- package/build-module/mobile/link-picker/index.native.js.map +1 -1
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +121 -0
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
- package/build-module/mobile/link-settings/index.native.js +3 -2
- package/build-module/mobile/link-settings/index.native.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
- package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
- package/build-module/mobile/picker/index.android.js +4 -2
- package/build-module/mobile/picker/index.android.js.map +1 -1
- package/build-module/mobile/segmented-control/index.native.js +2 -1
- package/build-module/mobile/segmented-control/index.native.js.map +1 -1
- package/build-module/modal/index.js +109 -151
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigable-container/container.js +1 -0
- package/build-module/navigable-container/container.js.map +1 -1
- package/build-module/navigable-container/index.js +2 -0
- package/build-module/navigable-container/index.js.map +1 -1
- package/build-module/navigable-container/menu.js +1 -0
- package/build-module/navigable-container/menu.js.map +1 -1
- package/build-module/navigable-container/tabbable.js +1 -0
- package/build-module/navigable-container/tabbable.js.map +1 -1
- package/build-module/navigation/group/index.js +1 -2
- package/build-module/navigation/group/index.js.map +1 -1
- package/build-module/navigation/menu/index.js +1 -1
- package/build-module/navigation/menu/index.js.map +1 -1
- package/build-module/navigation/menu/menu-title-search.js +8 -24
- package/build-module/navigation/menu/menu-title-search.js.map +1 -1
- package/build-module/navigation/menu/menu-title.js +3 -3
- package/build-module/navigation/menu/menu-title.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js +41 -29
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/navigator/context.js +11 -0
- package/build-module/navigator/context.js.map +1 -0
- package/build-module/navigator/index.js +4 -0
- package/build-module/navigator/index.js.map +1 -0
- package/build-module/navigator/navigator-provider/component.js +104 -0
- package/build-module/navigator/navigator-provider/component.js.map +1 -0
- package/build-module/navigator/navigator-provider/index.js +2 -0
- package/build-module/navigator/navigator-provider/index.js.map +1 -0
- package/build-module/navigator/navigator-screen/component.js +155 -0
- package/build-module/navigator/navigator-screen/component.js.map +1 -0
- package/build-module/navigator/navigator-screen/index.js +2 -0
- package/build-module/navigator/navigator-screen/index.js.map +1 -0
- package/build-module/{ui/color-picker → navigator}/types.js +0 -0
- package/build-module/{ui/color-picker → navigator}/types.js.map +0 -0
- package/build-module/navigator/use-navigator.js +28 -0
- package/build-module/navigator/use-navigator.js.map +1 -0
- package/build-module/number-control/index.js +25 -29
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/panel/body.native.js +1 -0
- package/build-module/panel/body.native.js.map +1 -1
- package/build-module/popover/index.js +15 -22
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/utils.js +57 -35
- package/build-module/popover/utils.js.map +1 -1
- package/build-module/query-controls/index.native.js +3 -3
- package/build-module/query-controls/index.native.js.map +1 -1
- package/build-module/range-control/index.js +9 -2
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/input-range.js +0 -16
- package/build-module/range-control/input-range.js.map +1 -1
- package/build-module/range-control/rail.js +4 -0
- package/build-module/range-control/rail.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +51 -52
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/range-control/tooltip.js +11 -22
- package/build-module/range-control/tooltip.js.map +1 -1
- package/build-module/resizable-box/index.js +35 -33
- package/build-module/resizable-box/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/index.js +2 -4
- package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/label.js +8 -4
- package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -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 +20 -27
- package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build-module/sandbox/index.js +3 -7
- package/build-module/sandbox/index.js.map +1 -1
- package/build-module/sandbox/index.native.js +74 -31
- package/build-module/sandbox/index.native.js.map +1 -1
- package/build-module/scrollable/component.js +20 -8
- package/build-module/scrollable/component.js.map +1 -1
- package/build-module/scrollable/hook.js +1 -1
- package/build-module/scrollable/hook.js.map +1 -1
- package/build-module/search-control/index.js +36 -15
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/search-control/index.native.js +11 -3
- package/build-module/search-control/index.native.js.map +1 -1
- package/build-module/select-control/index.js +3 -2
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/snackbar/index.js +5 -2
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js +7 -2
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/spacer/component.js +20 -7
- package/build-module/spacer/component.js.map +1 -1
- package/build-module/spacer/hook.js +2 -3
- package/build-module/spacer/hook.js.map +1 -1
- package/build-module/surface/component.js +19 -6
- package/build-module/surface/component.js.map +1 -1
- package/build-module/surface/hook.js +1 -1
- package/build-module/surface/hook.js.map +1 -1
- package/build-module/text/component.js +21 -7
- package/build-module/text/component.js.map +1 -1
- package/build-module/text/hook.js +5 -5
- package/build-module/text/hook.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/toggle-control/index.native.js +8 -3
- package/build-module/toggle-control/index.native.js.map +1 -1
- package/build-module/toggle-group-control/context.js +12 -0
- package/build-module/toggle-group-control/context.js.map +1 -0
- package/build-module/toggle-group-control/index.js +3 -0
- package/build-module/toggle-group-control/index.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control/component.js +111 -0
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control/index.js +2 -0
- package/build-module/toggle-group-control/toggle-group-control/index.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control/styles.js +30 -0
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -0
- package/build-module/{segmented-control/segmented-control-backdrop.js → toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js} +21 -6
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option/component.js +89 -0
- package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option/index.js +2 -0
- package/build-module/toggle-group-control/toggle-group-control-option/index.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option/styles.js +61 -0
- package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -0
- package/build-module/toggle-group-control/types.js +2 -0
- package/{build/segmented-control → build-module/toggle-group-control}/types.js.map +0 -0
- package/build-module/tools-panel/context.js +19 -1
- package/build-module/tools-panel/context.js.map +1 -1
- package/build-module/tools-panel/index.js +1 -0
- package/build-module/tools-panel/index.js.map +1 -1
- package/build-module/tools-panel/styles.js +60 -8
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js +16 -9
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +124 -24
- package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel/index.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +99 -24
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/hook.js +12 -2
- package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/index.js.map +1 -1
- package/build-module/tools-panel/tools-panel-item/component.js +12 -3
- package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-item/hook.js +57 -21
- package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel-item/index.js.map +1 -1
- package/build-module/tools-panel/types.js +2 -0
- package/{build/ui/color-picker → build-module/tools-panel}/types.js.map +0 -0
- package/build-module/tooltip/index.js +9 -4
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tooltip/index.native.js +2 -1
- package/build-module/tooltip/index.native.js.map +1 -1
- package/build-module/tree-grid/index.js +3 -1
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/truncate/component.js +21 -7
- package/build-module/truncate/component.js.map +1 -1
- package/build-module/truncate/hook.js +2 -2
- package/build-module/truncate/hook.js.map +1 -1
- package/build-module/ui/context/context-connect.js +3 -3
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/ui/context/index.js +1 -1
- package/build-module/ui/context/index.js.map +1 -1
- package/build-module/ui/context/use-context-system.js +1 -1
- package/build-module/ui/context/use-context-system.js.map +1 -1
- package/build-module/ui/context/wordpress-component.js +2 -0
- package/build-module/ui/context/{polymorphic-component.js.map → wordpress-component.js.map} +0 -0
- package/build-module/ui/control-group/component.js +2 -2
- package/build-module/ui/control-group/component.js.map +1 -1
- package/build-module/ui/control-group/hook.js +1 -1
- package/build-module/ui/control-group/hook.js.map +1 -1
- package/build-module/ui/control-label/component.js +21 -7
- package/build-module/ui/control-label/component.js.map +1 -1
- package/build-module/ui/control-label/hook.js +1 -1
- package/build-module/ui/control-label/hook.js.map +1 -1
- package/build-module/ui/form-group/form-group-content.js +1 -1
- package/build-module/ui/form-group/form-group-content.js.map +1 -1
- package/build-module/ui/form-group/form-group-label.js +1 -1
- package/build-module/ui/form-group/form-group-label.js.map +1 -1
- package/build-module/ui/form-group/form-group.js +2 -2
- package/build-module/ui/form-group/form-group.js.map +1 -1
- package/build-module/ui/form-group/use-form-group.js +1 -1
- package/build-module/ui/form-group/use-form-group.js.map +1 -1
- package/build-module/ui/shortcut/component.js +1 -2
- package/build-module/ui/shortcut/component.js.map +1 -1
- package/build-module/ui/spinner/component.js +2 -2
- package/build-module/ui/spinner/component.js.map +1 -1
- package/build-module/ui/tooltip/component.js +2 -2
- package/build-module/ui/tooltip/component.js.map +1 -1
- package/build-module/ui/tooltip/content.js +2 -2
- package/build-module/ui/tooltip/content.js.map +1 -1
- package/build-module/ui/tooltip/styles.js +4 -4
- package/build-module/ui/tooltip/styles.js.map +1 -1
- package/build-module/ui/utils/colors.js +5 -4
- package/build-module/ui/utils/colors.js.map +1 -1
- package/build-module/ui/utils/index.js +0 -1
- package/build-module/ui/utils/index.js.map +1 -1
- package/build-module/ui/utils/space.js +2 -2
- package/build-module/ui/utils/space.js.map +1 -1
- package/build-module/ui/utils/use-responsive-value.js +0 -4
- package/build-module/ui/utils/use-responsive-value.js.map +1 -1
- package/build-module/unit-control/index.js +36 -16
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/index.native.js +5 -1
- package/build-module/unit-control/index.native.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +17 -17
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/unit-control/types.js +2 -0
- package/{build/ui/context/polymorphic-component.js.map → build-module/unit-control/types.js.map} +0 -0
- package/build-module/unit-control/unit-select-control.js +12 -28
- package/build-module/unit-control/unit-select-control.js.map +1 -1
- package/build-module/unit-control/utils.js +75 -44
- package/build-module/unit-control/utils.js.map +1 -1
- package/build-module/utils/colors.js +4 -7
- package/build-module/utils/colors.js.map +1 -1
- package/build-module/utils/config-values.js +8 -8
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/hooks/index.js +1 -1
- package/build-module/utils/hooks/index.js.map +1 -1
- package/build-module/utils/hooks/use-combined-ref.js +25 -0
- package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
- package/build-module/v-stack/component.js +19 -7
- package/build-module/v-stack/component.js.map +1 -1
- package/build-module/v-stack/hook.js +1 -1
- package/build-module/v-stack/hook.js.map +1 -1
- package/build-module/view/component.js +2 -2
- package/build-module/view/component.js.map +1 -1
- package/build-module/visually-hidden/component.js +2 -2
- package/build-module/visually-hidden/component.js.map +1 -1
- package/build-module/z-stack/component.js +1 -2
- package/build-module/z-stack/component.js.map +1 -1
- package/build-style/style-rtl.css +136 -367
- package/build-style/style.css +136 -372
- package/build-types/animate/index.d.ts +4 -4
- package/build-types/animate/index.d.ts.map +1 -1
- package/build-types/base-control/index.d.ts +12 -3
- package/build-types/base-control/index.d.ts.map +1 -1
- package/build-types/base-control/styles/base-control-styles.d.ts +4 -4
- package/build-types/base-field/hook.d.ts +222 -222
- package/build-types/base-field/hook.d.ts.map +1 -1
- package/build-types/button/index.d.ts.map +1 -1
- package/build-types/card/card/component.d.ts +1 -1
- package/build-types/card/card/component.d.ts.map +1 -1
- package/build-types/card/card/hook.d.ts +222 -222
- package/build-types/card/card/hook.d.ts.map +1 -1
- package/build-types/card/card-body/component.d.ts +1 -1
- package/build-types/card/card-body/component.d.ts.map +1 -1
- package/build-types/card/card-body/hook.d.ts +222 -222
- package/build-types/card/card-body/hook.d.ts.map +1 -1
- package/build-types/card/card-divider/component.d.ts +1 -1
- package/build-types/card/card-divider/component.d.ts.map +1 -1
- package/build-types/card/card-divider/hook.d.ts +225 -225
- package/build-types/card/card-divider/hook.d.ts.map +1 -1
- package/build-types/card/card-footer/component.d.ts +1 -1
- package/build-types/card/card-footer/component.d.ts.map +1 -1
- package/build-types/card/card-footer/hook.d.ts +223 -223
- package/build-types/card/card-footer/hook.d.ts.map +1 -1
- package/build-types/card/card-header/component.d.ts +2 -2
- package/build-types/card/card-header/hook.d.ts +222 -222
- package/build-types/card/card-header/hook.d.ts.map +1 -1
- package/build-types/card/card-media/component.d.ts +3 -3
- package/build-types/card/card-media/component.d.ts.map +1 -1
- package/build-types/card/card-media/hook.d.ts +222 -222
- package/build-types/card/card-media/hook.d.ts.map +1 -1
- package/build-types/dashicon/index.d.ts +1 -1
- package/build-types/dashicon/index.d.ts.map +1 -1
- package/build-types/disabled/styles/disabled-styles.d.ts +1 -1
- package/build-types/divider/component.d.ts +1 -1
- package/build-types/divider/component.d.ts.map +1 -1
- package/build-types/divider/styles.d.ts +1 -1
- package/build-types/dropdown/index.d.ts +14 -0
- package/build-types/dropdown/index.d.ts.map +1 -0
- package/build-types/dropdown-menu/index.d.ts +3 -0
- package/build-types/dropdown-menu/index.d.ts.map +1 -0
- package/build-types/elevation/component.d.ts +2 -2
- package/build-types/elevation/component.d.ts.map +1 -1
- package/build-types/elevation/hook.d.ts +221 -221
- package/build-types/elevation/hook.d.ts.map +1 -1
- package/build-types/flex/flex/component.d.ts +1 -1
- package/build-types/flex/flex/component.d.ts.map +1 -1
- package/build-types/flex/flex/hook.d.ts +222 -222
- package/build-types/flex/flex/hook.d.ts.map +1 -1
- package/build-types/flex/flex-block/component.d.ts +2 -2
- package/build-types/flex/flex-block/component.d.ts.map +1 -1
- package/build-types/flex/flex-block/hook.d.ts +222 -222
- package/build-types/flex/flex-block/hook.d.ts.map +1 -1
- package/build-types/flex/flex-item/component.d.ts +2 -2
- package/build-types/flex/flex-item/component.d.ts.map +1 -1
- package/build-types/flex/flex-item/hook.d.ts +222 -222
- package/build-types/flex/flex-item/hook.d.ts.map +1 -1
- package/build-types/flex/types.d.ts +0 -1
- package/build-types/flex/types.d.ts.map +1 -1
- package/build-types/flyout/flyout/component.d.ts +1 -1
- package/build-types/flyout/flyout/component.d.ts.map +1 -1
- package/build-types/flyout/flyout/hook.d.ts +223 -223
- package/build-types/flyout/flyout/hook.d.ts.map +1 -1
- package/build-types/flyout/flyout-content/component.d.ts +1 -1
- package/build-types/flyout/flyout-content/component.d.ts.map +1 -1
- package/build-types/flyout/styles.d.ts +6 -6
- package/build-types/grid/component.d.ts +2 -2
- package/build-types/grid/component.d.ts.map +1 -1
- package/build-types/grid/hook.d.ts +222 -222
- package/build-types/grid/hook.d.ts.map +1 -1
- package/build-types/h-stack/component.d.ts +2 -2
- package/build-types/h-stack/component.d.ts.map +1 -1
- package/build-types/h-stack/hook.d.ts +222 -222
- package/build-types/h-stack/hook.d.ts.map +1 -1
- package/build-types/heading/component.d.ts +4 -3
- package/build-types/heading/component.d.ts.map +1 -1
- package/build-types/heading/hook.d.ts +227 -224
- package/build-types/heading/hook.d.ts.map +1 -1
- package/build-types/input-control/index.d.ts +1 -1
- package/build-types/input-control/input-field.d.ts +5 -5
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/input-control/label.d.ts +2 -2
- package/build-types/input-control/label.d.ts.map +1 -1
- package/build-types/input-control/reducer/actions.d.ts +1 -1
- package/build-types/input-control/reducer/actions.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts +1 -1
- package/build-types/input-control/reducer/reducer.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 +13 -13
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +8 -7
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/item-group/item/component.d.ts +1 -1
- package/build-types/item-group/item/hook.d.ts +222 -225
- package/build-types/item-group/item/hook.d.ts.map +1 -1
- package/build-types/item-group/item-group/component.d.ts +1 -1
- package/build-types/item-group/item-group/hook.d.ts +222 -222
- package/build-types/item-group/item-group/hook.d.ts.map +1 -1
- package/build-types/item-group/styles.d.ts.map +1 -1
- package/build-types/item-group/types.d.ts +0 -6
- package/build-types/item-group/types.d.ts.map +1 -1
- package/build-types/menu-group/index.d.ts +3 -0
- package/build-types/menu-group/index.d.ts.map +1 -0
- package/build-types/menu-item/index.d.ts +4 -0
- package/build-types/menu-item/index.d.ts.map +1 -0
- package/build-types/navigable-container/container.d.ts +3 -0
- package/build-types/navigable-container/container.d.ts.map +1 -0
- package/build-types/navigable-container/index.d.ts +3 -0
- package/build-types/navigable-container/index.d.ts.map +1 -0
- package/build-types/navigable-container/menu.d.ts +12 -0
- package/build-types/navigable-container/menu.d.ts.map +1 -0
- package/build-types/navigable-container/tabbable.d.ts +10 -0
- package/build-types/navigable-container/tabbable.d.ts.map +1 -0
- package/build-types/navigator/context.d.ts +7 -0
- package/build-types/navigator/context.d.ts.map +1 -0
- package/build-types/navigator/index.d.ts +4 -0
- package/build-types/navigator/index.d.ts.map +1 -0
- package/build-types/navigator/navigator-provider/component.d.ts +49 -0
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -0
- package/build-types/navigator/navigator-provider/index.d.ts +2 -0
- package/build-types/navigator/navigator-provider/index.d.ts.map +1 -0
- package/build-types/navigator/navigator-screen/component.d.ts +55 -0
- package/build-types/navigator/navigator-screen/component.d.ts.map +1 -0
- package/build-types/navigator/navigator-screen/index.d.ts +2 -0
- package/build-types/navigator/navigator-screen/index.d.ts.map +1 -0
- package/build-types/navigator/types.d.ts +39 -0
- package/build-types/navigator/types.d.ts.map +1 -0
- package/build-types/navigator/use-navigator.d.ts +7 -0
- package/build-types/navigator/use-navigator.d.ts.map +1 -0
- package/build-types/number-control/index.d.ts.map +1 -1
- package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
- package/build-types/popover/index.d.ts +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/utils.d.ts +29 -29
- package/build-types/popover/utils.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts.map +1 -1
- package/build-types/range-control/input-range.d.ts +0 -6
- package/build-types/range-control/input-range.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +14 -14
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/range-control/tooltip.d.ts +2 -2
- package/build-types/range-control/tooltip.d.ts.map +1 -1
- package/build-types/range-control/utils.d.ts +5 -5
- package/build-types/resizable-box/index.d.ts +29 -0
- package/build-types/resizable-box/index.d.ts.map +1 -0
- package/build-types/resizable-box/resize-tooltip/index.d.ts +22 -0
- package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -0
- package/build-types/resizable-box/resize-tooltip/label.d.ts +12 -0
- package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -0
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +20 -0
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -0
- package/build-types/resizable-box/resize-tooltip/utils.d.ts +39 -0
- package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -0
- package/build-types/resizable-box/styles/resizable-box.styles.d.ts +1 -0
- package/build-types/resizable-box/styles/resizable-box.styles.d.ts.map +1 -0
- package/build-types/scrollable/component.d.ts +3 -3
- package/build-types/scrollable/component.d.ts.map +1 -1
- package/build-types/scrollable/hook.d.ts +222 -222
- package/build-types/scrollable/hook.d.ts.map +1 -1
- package/build-types/select-control/index.d.ts +6 -3
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts +2 -2
- package/build-types/shortcut/index.d.ts.map +1 -1
- package/build-types/spacer/component.d.ts +3 -2
- package/build-types/spacer/component.d.ts.map +1 -1
- package/build-types/spacer/hook.d.ts +225 -222
- package/build-types/spacer/hook.d.ts.map +1 -1
- package/build-types/spinner/styles/spinner-styles.d.ts +1 -1
- package/build-types/surface/component.d.ts +22 -2
- package/build-types/surface/component.d.ts.map +1 -1
- package/build-types/surface/hook.d.ts +222 -222
- package/build-types/surface/hook.d.ts.map +1 -1
- package/build-types/surface/styles.d.ts +4 -4
- package/build-types/text/component.d.ts +2 -2
- package/build-types/text/component.d.ts.map +1 -1
- package/build-types/text/hook.d.ts +223 -223
- package/build-types/text/hook.d.ts.map +1 -1
- package/build-types/text/utils.d.ts +1 -1
- package/build-types/toggle-group-control/context.d.ts +9 -0
- package/build-types/toggle-group-control/context.d.ts.map +1 -0
- package/build-types/toggle-group-control/index.d.ts +3 -0
- package/build-types/toggle-group-control/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts +30 -0
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control/index.d.ts +2 -0
- package/build-types/toggle-group-control/toggle-group-control/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +8 -0
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts +9 -0
- package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +25 -0
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option/index.d.ts +2 -0
- package/build-types/toggle-group-control/toggle-group-control-option/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +19 -0
- package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -0
- package/build-types/toggle-group-control/types.d.ts +73 -0
- package/build-types/toggle-group-control/types.d.ts.map +1 -0
- package/build-types/tools-panel/context.d.ts +8 -0
- package/build-types/tools-panel/context.d.ts.map +1 -0
- package/build-types/tools-panel/index.d.ts +4 -0
- package/build-types/tools-panel/index.d.ts.map +1 -0
- package/build-types/tools-panel/styles.d.ts +14 -0
- package/build-types/tools-panel/styles.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel/component.d.ts +4 -0
- package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel/hook.d.ts +279 -0
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel/index.d.ts +3 -0
- package/build-types/tools-panel/tools-panel/index.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel-header/component.d.ts +4 -0
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel-header/hook.d.ts +272 -0
- package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel-header/index.d.ts +2 -0
- package/build-types/tools-panel/tools-panel-header/index.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel-item/component.d.ts +4 -0
- package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel-item/hook.d.ts +266 -0
- package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -0
- package/build-types/tools-panel/tools-panel-item/index.d.ts +3 -0
- package/build-types/tools-panel/tools-panel-item/index.d.ts.map +1 -0
- package/build-types/tools-panel/types.d.ts +135 -0
- package/build-types/tools-panel/types.d.ts.map +1 -0
- package/build-types/tooltip/index.d.ts +2 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/truncate/component.d.ts +2 -2
- package/build-types/truncate/component.d.ts.map +1 -1
- package/build-types/truncate/hook.d.ts +222 -222
- package/build-types/truncate/hook.d.ts.map +1 -1
- package/build-types/ui/context/context-connect.d.ts +5 -5
- package/build-types/ui/context/context-connect.d.ts.map +1 -1
- package/build-types/ui/context/index.d.ts +1 -1
- package/build-types/ui/context/use-context-system.d.ts +1 -1
- package/build-types/ui/context/use-context-system.d.ts.map +1 -1
- package/build-types/ui/context/{polymorphic-component.d.ts → wordpress-component.d.ts} +6 -6
- package/build-types/ui/context/wordpress-component.d.ts.map +1 -0
- package/build-types/ui/control-group/component.d.ts +1 -1
- package/build-types/ui/control-group/component.d.ts.map +1 -1
- package/build-types/ui/control-group/hook.d.ts +224 -224
- package/build-types/ui/control-group/hook.d.ts.map +1 -1
- package/build-types/ui/control-label/component.d.ts +2 -2
- package/build-types/ui/control-label/component.d.ts.map +1 -1
- package/build-types/ui/control-label/hook.d.ts +224 -224
- package/build-types/ui/control-label/hook.d.ts.map +1 -1
- package/build-types/ui/form-group/form-group-content.d.ts +2 -2
- package/build-types/ui/form-group/form-group-content.d.ts.map +1 -1
- package/build-types/ui/form-group/form-group-context.d.ts +1 -1
- package/build-types/ui/form-group/form-group-context.d.ts.map +1 -1
- package/build-types/ui/form-group/form-group-label.d.ts +2 -2
- package/build-types/ui/form-group/form-group-label.d.ts.map +1 -1
- package/build-types/ui/form-group/form-group.d.ts +14 -14
- package/build-types/ui/form-group/use-form-group.d.ts +470 -470
- package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
- package/build-types/ui/shortcut/component.d.ts +1 -1
- package/build-types/ui/shortcut/component.d.ts.map +1 -1
- package/build-types/ui/spinner/component.d.ts +1 -1
- package/build-types/ui/spinner/styles.d.ts +3 -3
- package/build-types/ui/tooltip/component.d.ts +1 -1
- package/build-types/ui/tooltip/component.d.ts.map +1 -1
- package/build-types/ui/tooltip/content.d.ts +1 -1
- package/build-types/ui/tooltip/context.d.ts +1 -1
- package/build-types/ui/tooltip/styles.d.ts +4 -4
- package/build-types/ui/utils/colors.d.ts.map +1 -1
- package/build-types/ui/utils/index.d.ts +0 -1
- package/build-types/ui/utils/space.d.ts.map +1 -1
- package/build-types/ui/utils/use-responsive-value.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +35 -0
- package/build-types/unit-control/index.d.ts.map +1 -0
- package/build-types/unit-control/styles/unit-control-styles.d.ts +41 -0
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -0
- package/build-types/unit-control/types.d.ts +106 -0
- package/build-types/unit-control/types.d.ts.map +1 -0
- package/build-types/unit-control/unit-select-control.d.ts +8 -0
- package/build-types/unit-control/unit-select-control.d.ts.map +1 -0
- package/build-types/unit-control/utils.d.ts +102 -0
- package/build-types/unit-control/utils.d.ts.map +1 -0
- package/build-types/utils/colors.d.ts.map +1 -1
- package/build-types/utils/config-values.d.ts +9 -9
- package/build-types/utils/hooks/index.d.ts +1 -1
- package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
- package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
- 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/rtl.d.ts +12 -0
- package/build-types/utils/rtl.d.ts.map +1 -1
- package/build-types/v-stack/component.d.ts +2 -2
- package/build-types/v-stack/component.d.ts.map +1 -1
- package/build-types/v-stack/hook.d.ts +222 -222
- package/build-types/v-stack/hook.d.ts.map +1 -1
- package/build-types/view/component.d.ts +2 -2
- package/build-types/view/component.d.ts.map +1 -1
- package/build-types/visually-hidden/component.d.ts +1 -1
- package/build-types/visually-hidden/component.d.ts.map +1 -1
- package/build-types/z-stack/component.d.ts +1 -1
- package/build-types/z-stack/component.d.ts.map +1 -1
- package/build-types/z-stack/styles.d.ts +2 -2
- package/package.json +18 -18
- package/src/alignment-matrix-control/README.md +60 -2
- package/src/alignment-matrix-control/stories/index.js +3 -0
- package/src/angle-picker-control/index.js +42 -40
- package/src/angle-picker-control/styles/angle-picker-control-styles.js +10 -7
- package/src/animate/index.js +1 -1
- package/src/autocomplete/autocompleter-ui.native.js +4 -3
- package/src/base-control/index.js +2 -2
- package/src/base-control/stories/index.js +7 -1
- package/src/base-field/hook.js +1 -1
- package/src/base-field/test/__snapshots__/index.js.snap +1 -1
- package/src/button/index.js +7 -2
- package/src/button/stories/index.js +14 -9
- package/src/card/card/component.js +2 -2
- package/src/card/card/hook.js +3 -5
- package/src/card/card-body/component.js +2 -2
- package/src/card/card-body/hook.js +1 -1
- package/src/card/card-divider/component.js +2 -2
- package/src/card/card-divider/hook.js +1 -1
- package/src/card/card-footer/component.js +2 -2
- package/src/card/card-footer/hook.js +1 -1
- package/src/card/card-header/component.js +2 -2
- package/src/card/card-header/hook.js +1 -1
- package/src/card/card-media/component.js +14 -7
- package/src/card/card-media/hook.js +1 -1
- package/src/card/stories/index.js +3 -0
- package/src/card/test/__snapshots__/index.js.snap +25 -25
- package/src/checkbox-control/stories/index.js +3 -0
- package/src/circular-option-picker/style.scss +3 -5
- package/src/clipboard-button/README.md +41 -1
- package/src/color-edit/index.js +248 -275
- package/src/color-edit/style.scss +4 -45
- package/src/color-edit/styles.js +97 -0
- package/src/color-indicator/stories/index.js +3 -0
- package/src/color-list-picker/index.js +5 -0
- package/src/color-list-picker/style.scss +4 -0
- package/src/color-palette/index.js +131 -59
- package/src/color-palette/stories/index.js +7 -1
- package/src/color-palette/style.native.scss +1 -1
- package/src/color-palette/style.scss +18 -0
- package/src/color-palette/styles.js +19 -0
- package/src/color-palette/test/__snapshots__/index.js.snap +453 -496
- package/src/color-picker/README.md +41 -12
- package/src/{ui/color-picker → color-picker}/color-display.tsx +41 -27
- package/src/{ui/color-picker → color-picker}/color-input.tsx +3 -3
- package/src/color-picker/component.tsx +138 -0
- package/src/color-picker/hex-input.tsx +54 -0
- package/src/{ui/color-picker → color-picker}/hsl-input.tsx +42 -26
- package/src/color-picker/index.native.js +14 -9
- package/src/color-picker/index.ts +4 -0
- package/src/{ui/color-picker → color-picker}/input-with-slider.tsx +13 -10
- package/src/color-picker/legacy-adapter.tsx +11 -0
- package/src/color-picker/picker.tsx +31 -0
- package/src/{ui/color-picker → color-picker}/rgb-input.tsx +9 -9
- package/src/color-picker/stories/index.js +63 -12
- package/src/color-picker/styles.ts +123 -0
- package/src/color-picker/test/index.js +114 -87
- package/src/{ui/color-picker → color-picker}/types.ts +0 -0
- package/src/color-picker/use-deprecated-props.ts +148 -0
- package/src/combobox-control/index.js +27 -4
- package/src/custom-gradient-bar/constants.js +2 -2
- package/src/custom-gradient-bar/control-points.js +44 -56
- package/src/custom-gradient-picker/index.js +5 -7
- package/src/custom-gradient-picker/style.scss +41 -18
- package/src/custom-gradient-picker/styles/custom-gradient-picker-styles.js +1 -1
- package/src/custom-gradient-picker/utils.js +6 -3
- package/src/custom-select-control/README.md +7 -0
- package/src/custom-select-control/index.js +28 -9
- package/src/custom-select-control/style.scss +10 -4
- package/src/dashicon/index.native.js +18 -0
- package/src/date-time/README.md +0 -9
- package/src/date-time/index.js +2 -1
- package/src/date-time/stories/index.js +3 -0
- package/src/date-time/stories/time.js +7 -1
- package/src/date-time/style.scss +5 -0
- package/src/dimension-control/sizes.js +6 -6
- package/src/divider/component.tsx +6 -4
- package/src/divider/stories/index.js +3 -0
- package/src/drop-zone/index.js +63 -11
- package/src/drop-zone/style.scss +11 -20
- package/src/dropdown/README.md +13 -12
- package/src/dropdown/index.js +5 -0
- package/src/dropdown/style.scss +8 -2
- package/src/dropdown-menu/index.js +18 -32
- package/src/dropdown-menu/index.native.js +0 -19
- package/src/dropdown-menu/stories/index.js +24 -10
- package/src/dropdown-menu/style.scss +11 -10
- package/src/duotone-picker/README.md +6 -6
- package/src/duotone-picker/custom-duotone-bar.js +0 -1
- package/src/duotone-picker/duotone-picker.js +1 -0
- package/src/duotone-picker/utils.js +5 -2
- package/src/elevation/component.js +14 -7
- package/src/elevation/hook.js +1 -1
- package/src/elevation/stories/index.js +3 -0
- package/src/external-link/stories/index.js +7 -1
- package/src/flex/flex/README.md +0 -3
- package/src/flex/flex/component.js +2 -2
- package/src/flex/flex/hook.js +41 -31
- package/src/flex/flex-block/component.js +14 -7
- package/src/flex/flex-block/hook.js +1 -1
- package/src/flex/flex-item/component.js +14 -7
- package/src/flex/flex-item/hook.js +1 -1
- package/src/flex/stories/index.js +1 -1
- package/src/flex/test/__snapshots__/index.js.snap +1 -1
- package/src/flex/types.ts +0 -1
- package/src/flyout/flyout/component.js +2 -2
- package/src/flyout/flyout/hook.js +1 -1
- package/src/flyout/flyout-content/component.js +2 -2
- package/src/flyout/test/__snapshots__/index.js.snap +1 -1
- package/src/focal-point-picker/controls.js +1 -1
- package/src/focusable-iframe/README.md +2 -0
- package/src/focusable-iframe/index.js +6 -29
- package/src/font-size-picker/README.md +9 -0
- package/src/font-size-picker/index.js +196 -108
- package/src/font-size-picker/index.native.js +184 -0
- package/src/font-size-picker/stories/index.js +55 -3
- package/src/font-size-picker/style.native.scss +6 -0
- package/src/font-size-picker/style.scss +16 -11
- package/src/font-size-picker/test/index.js +8 -0
- package/src/font-size-picker/utils.js +101 -0
- package/src/form-token-field/stories/index.js +3 -0
- package/src/gradient-picker/index.js +79 -11
- package/src/gradient-picker/stories/index.js +3 -0
- package/src/grid/component.js +14 -7
- package/src/grid/hook.js +1 -1
- package/src/grid/stories/index.js +3 -0
- package/src/guide/index.js +8 -9
- package/src/guide/stories/index.js +7 -1
- package/src/h-stack/component.js +14 -7
- package/src/h-stack/hook.js +1 -1
- package/src/h-stack/stories/index.js +1 -1
- package/src/h-stack/test/__snapshots__/index.js.snap +3 -3
- package/src/heading/component.tsx +37 -0
- package/src/heading/hook.ts +7 -8
- package/src/heading/stories/index.js +1 -1
- package/src/heading/test/__snapshots__/index.js.snap +1 -1
- package/src/higher-order/navigate-regions/index.js +62 -36
- package/src/icon/stories/index.js +17 -11
- package/src/index.js +12 -5
- package/src/index.native.js +4 -1
- package/src/input-control/input-field.tsx +2 -2
- package/src/input-control/label.tsx +2 -2
- package/src/input-control/reducer/actions.ts +1 -4
- package/src/input-control/reducer/reducer.ts +1 -1
- package/src/input-control/reducer/state.ts +1 -1
- package/src/input-control/stories/index.js +3 -0
- package/src/input-control/styles/input-control-styles.tsx +2 -2
- package/src/input-control/types.ts +10 -8
- package/src/item-group/item/README.md +2 -3
- package/src/item-group/item/component.tsx +2 -2
- package/src/item-group/item/hook.ts +24 -12
- package/src/item-group/item-group/component.tsx +2 -2
- package/src/item-group/item-group/hook.ts +2 -2
- package/src/item-group/stories/index.js +98 -15
- package/src/item-group/styles.ts +5 -1
- package/src/item-group/test/__snapshots__/index.js.snap +11 -32
- package/src/item-group/test/index.js +28 -10
- package/src/item-group/types.ts +0 -6
- package/src/menu-group/index.js +3 -6
- package/src/menu-group/style.scss +1 -0
- package/src/menu-item/README.md +8 -0
- package/src/menu-item/index.js +13 -24
- package/src/menu-item/style.scss +17 -3
- package/src/menu-item/test/__snapshots__/index.js.snap +2 -2
- package/src/mobile/README.md +3 -0
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +17 -7
- package/src/mobile/bottom-sheet/cell.native.js +29 -3
- package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
- package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
- package/src/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +7 -6
- package/src/mobile/bottom-sheet/index.native.js +18 -5
- package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
- package/src/mobile/bottom-sheet/nav-bar/README.md +63 -0
- package/src/mobile/bottom-sheet/nav-bar/action-button.native.js +30 -0
- package/src/mobile/bottom-sheet/nav-bar/apply-button.native.js +53 -0
- package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +94 -0
- package/src/mobile/bottom-sheet/nav-bar/heading.native.js +33 -0
- package/src/mobile/bottom-sheet/nav-bar/index.native.js +23 -0
- package/src/mobile/bottom-sheet/nav-bar/styles.native.scss +69 -0
- package/src/mobile/bottom-sheet/range-cell.native.js +12 -2
- package/src/mobile/bottom-sheet/range-text-input.native.js +1 -0
- package/src/mobile/bottom-sheet/stepper-cell/stepper.ios.js +2 -2
- package/src/mobile/bottom-sheet/styles.native.scss +32 -14
- package/src/mobile/bottom-sheet/sub-sheet/README.md +4 -4
- package/src/mobile/bottom-sheet-select-control/index.native.js +6 -4
- package/src/mobile/bottom-sheet-text-control/index.native.js +8 -9
- package/src/mobile/color-settings/gradient-picker-screen.native.js +5 -5
- package/src/mobile/color-settings/palette.screen.native.js +25 -11
- package/src/mobile/color-settings/picker-screen.native.js +1 -1
- package/src/mobile/color-settings/style.native.scss +11 -0
- package/src/mobile/dashicons/index.native.js +22 -0
- package/src/mobile/focal-point-settings-panel/index.native.js +12 -7
- package/src/mobile/global-styles-context/index.native.js +15 -2
- package/src/mobile/global-styles-context/test/fixtures/theme.native.js +6 -0
- package/src/mobile/global-styles-context/test/utils.native.js +3 -3
- package/src/mobile/global-styles-context/utils.native.js +120 -7
- package/src/mobile/html-text-input/index.native.js +17 -10
- package/src/mobile/inserter-button/index.native.js +4 -7
- package/src/mobile/inserter-button/style.native.scss +0 -5
- package/src/mobile/link-picker/index.native.js +6 -7
- package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
- package/src/mobile/link-settings/index.native.js +3 -2
- package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
- package/src/mobile/link-settings/style.native.scss +17 -0
- package/src/mobile/picker/index.android.js +2 -1
- package/src/mobile/segmented-control/index.native.js +1 -0
- package/src/modal/README.md +8 -0
- package/src/modal/index.js +158 -150
- package/src/modal/stories/index.js +11 -4
- package/src/modal/style.scss +5 -0
- package/src/navigable-container/container.js +1 -0
- package/src/navigable-container/index.js +1 -0
- package/src/navigable-container/menu.js +1 -0
- package/src/navigable-container/tabbable.js +1 -0
- package/src/navigation/README.md +9 -0
- package/src/navigation/group/index.js +1 -2
- package/src/navigation/menu/index.js +9 -7
- package/src/navigation/menu/menu-title-search.js +11 -26
- package/src/navigation/menu/menu-title.js +4 -4
- package/src/navigation/styles/navigation-styles.js +59 -74
- package/src/navigator/context.ts +12 -0
- package/src/navigator/index.ts +3 -0
- package/src/navigator/navigator-provider/README.md +75 -0
- package/src/navigator/navigator-provider/component.tsx +107 -0
- package/src/{tools-panel/tools-panel-header/index.js → navigator/navigator-provider/index.ts} +0 -0
- package/src/navigator/navigator-screen/README.md +21 -0
- package/src/navigator/navigator-screen/component.tsx +185 -0
- package/src/navigator/navigator-screen/index.ts +1 -0
- package/src/navigator/stories/index.js +188 -0
- package/src/navigator/test/index.js +218 -0
- package/src/navigator/types.ts +45 -0
- package/src/navigator/use-navigator.ts +25 -0
- package/src/notice/stories/index.js +3 -0
- package/src/number-control/README.md +18 -2
- package/src/number-control/index.js +32 -34
- package/src/number-control/stories/index.js +4 -1
- package/src/number-control/test/index.js +40 -0
- package/src/panel/body.native.js +4 -1
- package/src/panel/stories/index.js +13 -2
- package/src/panel/style.scss +1 -2
- package/src/placeholder/stories/index.js +7 -1
- package/src/popover/index.js +14 -24
- package/src/popover/stories/index.js +7 -1
- package/src/popover/utils.js +69 -36
- package/src/query-controls/index.native.js +33 -31
- package/src/range-control/README.md +13 -7
- package/src/range-control/index.js +9 -2
- package/src/range-control/input-range.js +0 -17
- package/src/range-control/rail.js +3 -0
- package/src/range-control/stories/index.js +36 -8
- package/src/range-control/styles/range-control-styles.js +29 -24
- package/src/range-control/tooltip.js +11 -22
- package/src/resizable-box/index.tsx +128 -0
- package/src/resizable-box/resize-tooltip/{index.js → index.tsx} +19 -6
- package/src/resizable-box/resize-tooltip/{label.js → label.tsx} +23 -9
- package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
- package/src/resizable-box/resize-tooltip/{utils.js → utils.ts} +51 -30
- package/src/resizable-box/stories/index.js +7 -1
- package/src/resizable-box/style.scss +9 -1
- package/src/sandbox/index.js +3 -7
- package/src/sandbox/index.native.js +75 -25
- package/src/sandbox/style.native.scss +4 -0
- package/src/scrollable/README.md +1 -1
- package/src/scrollable/component.js +15 -8
- package/src/scrollable/hook.js +1 -1
- package/src/scrollable/stories/index.js +3 -0
- package/src/search-control/index.js +47 -23
- package/src/search-control/index.native.js +14 -5
- package/src/search-control/platform-style.android.scss +1 -4
- package/src/search-control/platform-style.ios.scss +0 -3
- package/src/search-control/stories/index.js +3 -0
- package/src/search-control/style.native.scss +1 -3
- package/src/search-control/style.scss +1 -1
- package/src/select-control/README.md +36 -4
- package/src/select-control/index.tsx +21 -19
- package/src/select-control/stories/index.js +38 -1
- package/src/select-control/test/select-control.js +82 -0
- package/src/slot-fill/stories/index.js +3 -0
- package/src/snackbar/index.js +4 -0
- package/src/snackbar/list.js +4 -1
- package/src/snackbar/stories/index.js +7 -1
- package/src/spacer/{component.ts → component.tsx} +20 -7
- package/src/spacer/hook.ts +2 -4
- package/src/spacer/stories/index.js +3 -0
- package/src/style.scss +1 -1
- package/src/surface/README.md +1 -1
- package/src/surface/component.js +15 -6
- package/src/surface/hook.js +1 -1
- package/src/surface/stories/index.js +3 -0
- package/src/tab-panel/stories/index.js +7 -1
- package/src/text/component.js +14 -7
- package/src/text/hook.js +1 -1
- package/src/text/styles.js +1 -1
- package/src/text/test/__snapshots__/index.js.snap +2 -2
- package/src/text-control/stories/index.js +3 -0
- package/src/text-highlight/stories/index.js +7 -1
- package/src/textarea-control/stories/index.js +3 -0
- package/src/tip/stories/index.js +7 -1
- package/src/toggle-control/index.native.js +8 -2
- package/src/toggle-control/stories/index.js +7 -1
- package/src/toggle-group-control/context.ts +16 -0
- package/src/toggle-group-control/index.ts +2 -0
- package/src/toggle-group-control/stories/index.js +142 -0
- package/src/{segmented-control → toggle-group-control}/test/__snapshots__/index.js.snap +95 -117
- package/src/toggle-group-control/test/index.js +41 -0
- package/src/toggle-group-control/toggle-group-control/README.md +76 -0
- package/src/toggle-group-control/toggle-group-control/component.tsx +150 -0
- package/src/toggle-group-control/toggle-group-control/index.ts +1 -0
- package/src/toggle-group-control/toggle-group-control/styles.ts +52 -0
- package/src/{segmented-control/segmented-control-backdrop.tsx → toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx} +18 -7
- package/src/toggle-group-control/toggle-group-control-option/README.md +40 -0
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +104 -0
- package/src/toggle-group-control/toggle-group-control-option/index.ts +1 -0
- package/src/{segmented-control → toggle-group-control/toggle-group-control-option}/styles.ts +2 -55
- package/src/{segmented-control → toggle-group-control}/types.ts +19 -24
- package/src/toolbar-button/stories/index.js +13 -3
- package/src/tools-panel/context.ts +25 -0
- package/src/tools-panel/{index.js → index.ts} +1 -0
- package/src/tools-panel/stories/index.js +166 -8
- package/src/tools-panel/stories/typography-panel.js +215 -0
- package/src/tools-panel/styles.ts +118 -0
- package/src/tools-panel/test/index.js +288 -38
- package/src/tools-panel/tools-panel/README.md +23 -10
- package/src/tools-panel/tools-panel/component.tsx +49 -0
- package/src/tools-panel/tools-panel/hook.ts +220 -0
- package/src/tools-panel/tools-panel/{index.js → index.ts} +0 -0
- package/src/tools-panel/tools-panel-header/README.md +6 -11
- package/src/tools-panel/tools-panel-header/component.tsx +194 -0
- package/src/tools-panel/tools-panel-header/hook.ts +51 -0
- package/src/tools-panel/tools-panel-header/index.ts +1 -0
- package/src/tools-panel/tools-panel-item/README.md +38 -2
- package/src/tools-panel/tools-panel-item/component.tsx +46 -0
- package/src/tools-panel/tools-panel-item/hook.ts +129 -0
- package/src/tools-panel/tools-panel-item/{index.js → index.ts} +0 -0
- package/src/tools-panel/types.ts +142 -0
- package/src/tooltip/README.md +8 -0
- package/src/tooltip/index.js +14 -3
- package/src/tooltip/index.native.js +1 -0
- package/src/tooltip/stories/index.js +40 -2
- package/src/tooltip/test/index.js +54 -0
- package/src/tooltip/test/index.native.js +103 -0
- package/src/tree-grid/index.js +3 -1
- package/src/tree-select/stories/index.js +3 -0
- package/src/truncate/component.js +14 -7
- package/src/truncate/hook.js +1 -1
- package/src/truncate/stories/index.js +4 -1
- package/src/ui/context/context-connect.js +3 -3
- package/src/ui/context/index.js +1 -1
- package/src/ui/context/stories/ComponentsProvider.stories.js +1 -1
- package/src/ui/context/use-context-system.js +1 -1
- package/src/ui/context/{polymorphic-component.ts → wordpress-component.ts} +7 -7
- package/src/ui/control-group/component.js +2 -2
- package/src/ui/control-group/hook.js +1 -1
- package/src/ui/control-group/test/__snapshots__/index.js.snap +1 -1
- package/src/ui/control-label/component.js +14 -7
- package/src/ui/control-label/hook.js +1 -1
- package/src/ui/control-label/stories/index.js +1 -1
- package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
- package/src/ui/form-group/form-group-content.js +1 -1
- package/src/ui/form-group/form-group-label.js +1 -1
- package/src/ui/form-group/form-group.js +2 -2
- package/src/ui/form-group/stories/index.js +1 -1
- package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
- package/src/ui/form-group/use-form-group.js +1 -1
- package/src/ui/shortcut/component.tsx +6 -4
- package/src/ui/spinner/component.js +2 -2
- package/src/ui/spinner/stories/index.js +1 -1
- package/src/ui/tooltip/component.js +2 -2
- package/src/ui/tooltip/content.js +2 -2
- package/src/ui/tooltip/stories/index.js +1 -1
- package/src/ui/tooltip/styles.js +1 -1
- package/src/ui/tooltip/test/__snapshots__/index.js.snap +1 -1
- package/src/ui/utils/colors.js +6 -7
- package/src/ui/utils/index.js +0 -1
- package/src/ui/utils/space.ts +2 -1
- package/src/ui/utils/use-responsive-value.ts +0 -3
- package/src/unit-control/README.md +21 -24
- package/src/unit-control/index.native.js +4 -0
- package/src/unit-control/{index.js → index.tsx} +73 -28
- package/src/unit-control/stories/index.js +47 -3
- package/src/unit-control/styles/{unit-control-styles.js → unit-control-styles.ts} +18 -7
- package/src/unit-control/test/index.js +18 -0
- package/src/unit-control/test/utils.js +123 -1
- package/src/unit-control/types.ts +115 -0
- package/src/unit-control/unit-select-control.tsx +62 -0
- package/src/unit-control/{utils.js → utils.ts} +121 -51
- package/src/utils/colors.js +5 -3
- package/src/utils/config-values.js +9 -8
- package/src/utils/hooks/index.js +1 -1
- package/src/utils/hooks/use-combined-ref.ts +29 -0
- package/src/utils/test/colors.js +11 -0
- package/src/v-stack/component.js +14 -7
- package/src/v-stack/hook.js +1 -1
- package/src/v-stack/test/__snapshots__/index.js.snap +3 -3
- package/src/view/component.js +1 -1
- package/src/visually-hidden/component.js +2 -2
- package/src/z-stack/component.tsx +2 -3
- package/src/z-stack/stories/index.js +3 -0
- package/tsconfig.json +15 -2
- package/tsconfig.tsbuildinfo +1 -10694
- package/build/color-picker/alpha.js +0 -202
- package/build/color-picker/alpha.js.map +0 -1
- package/build/color-picker/hue.js +0 -202
- package/build/color-picker/hue.js.map +0 -1
- package/build/color-picker/inputs.js +0 -345
- package/build/color-picker/inputs.js.map +0 -1
- package/build/color-picker/saturation.js +0 -209
- package/build/color-picker/saturation.js.map +0 -1
- package/build/color-picker/utils.js +0 -253
- package/build/color-picker/utils.js.map +0 -1
- package/build/mobile/bottom-sheet/navigation-header.native.js +0 -106
- package/build/mobile/bottom-sheet/navigation-header.native.js.map +0 -1
- package/build/modal/frame.js +0 -109
- package/build/modal/frame.js.map +0 -1
- package/build/modal/header.js +0 -53
- package/build/modal/header.js.map +0 -1
- package/build/segmented-control/component.js +0 -94
- package/build/segmented-control/component.js.map +0 -1
- package/build/segmented-control/index.js +0 -24
- package/build/segmented-control/index.js.map +0 -1
- package/build/segmented-control/segmented-control-backdrop.js.map +0 -1
- package/build/segmented-control/segmented-control-button.js +0 -85
- package/build/segmented-control/segmented-control-button.js.map +0 -1
- package/build/segmented-control/segmented-control-context.js +0 -20
- package/build/segmented-control/segmented-control-context.js.map +0 -1
- package/build/segmented-control/segmented-control-option.js +0 -70
- package/build/segmented-control/segmented-control-option.js.map +0 -1
- package/build/segmented-control/styles.js +0 -99
- package/build/segmented-control/styles.js.map +0 -1
- package/build/ui/color-picker/color-display.js.map +0 -1
- package/build/ui/color-picker/color-input.js.map +0 -1
- package/build/ui/color-picker/component.js.map +0 -1
- package/build/ui/color-picker/hex-input.js +0 -65
- package/build/ui/color-picker/hex-input.js.map +0 -1
- package/build/ui/color-picker/hsl-input.js.map +0 -1
- package/build/ui/color-picker/index.js.map +0 -1
- package/build/ui/color-picker/input-with-slider.js.map +0 -1
- package/build/ui/color-picker/picker.js +0 -36
- package/build/ui/color-picker/picker.js.map +0 -1
- package/build/ui/color-picker/rgb-input.js.map +0 -1
- package/build/ui/color-picker/styles.js +0 -51
- package/build/ui/color-picker/styles.js.map +0 -1
- package/build/ui/context/polymorphic-component.js +0 -2
- package/build/ui/utils/create-component.js +0 -59
- package/build/ui/utils/create-component.js.map +0 -1
- package/build/utils/hooks/use-jump-step.js +0 -57
- package/build/utils/hooks/use-jump-step.js.map +0 -1
- package/build-module/color-picker/alpha.js +0 -183
- package/build-module/color-picker/alpha.js.map +0 -1
- package/build-module/color-picker/hue.js +0 -182
- package/build-module/color-picker/hue.js.map +0 -1
- package/build-module/color-picker/inputs.js +0 -320
- package/build-module/color-picker/inputs.js.map +0 -1
- package/build-module/color-picker/saturation.js +0 -188
- package/build-module/color-picker/saturation.js.map +0 -1
- package/build-module/color-picker/utils.js +0 -232
- package/build-module/color-picker/utils.js.map +0 -1
- package/build-module/mobile/bottom-sheet/navigation-header.native.js +0 -91
- package/build-module/mobile/bottom-sheet/navigation-header.native.js.map +0 -1
- package/build-module/modal/frame.js +0 -96
- package/build-module/modal/frame.js.map +0 -1
- package/build-module/modal/header.js +0 -41
- package/build-module/modal/header.js.map +0 -1
- package/build-module/segmented-control/component.js +0 -77
- package/build-module/segmented-control/component.js.map +0 -1
- package/build-module/segmented-control/index.js +0 -3
- package/build-module/segmented-control/index.js.map +0 -1
- package/build-module/segmented-control/segmented-control-backdrop.js.map +0 -1
- package/build-module/segmented-control/segmented-control-button.js +0 -68
- package/build-module/segmented-control/segmented-control-button.js.map +0 -1
- package/build-module/segmented-control/segmented-control-context.js +0 -12
- package/build-module/segmented-control/segmented-control-context.js.map +0 -1
- package/build-module/segmented-control/segmented-control-option.js +0 -55
- package/build-module/segmented-control/segmented-control-option.js.map +0 -1
- package/build-module/segmented-control/styles.js +0 -83
- package/build-module/segmented-control/styles.js.map +0 -1
- package/build-module/ui/color-picker/color-display.js.map +0 -1
- package/build-module/ui/color-picker/color-input.js.map +0 -1
- package/build-module/ui/color-picker/component.js.map +0 -1
- package/build-module/ui/color-picker/hex-input.js +0 -48
- package/build-module/ui/color-picker/hex-input.js.map +0 -1
- package/build-module/ui/color-picker/hsl-input.js.map +0 -1
- package/build-module/ui/color-picker/index.js +0 -2
- package/build-module/ui/color-picker/index.js.map +0 -1
- package/build-module/ui/color-picker/input-with-slider.js.map +0 -1
- package/build-module/ui/color-picker/picker.js +0 -26
- package/build-module/ui/color-picker/picker.js.map +0 -1
- package/build-module/ui/color-picker/rgb-input.js.map +0 -1
- package/build-module/ui/color-picker/styles.js +0 -42
- package/build-module/ui/color-picker/styles.js.map +0 -1
- package/build-module/ui/context/polymorphic-component.js +0 -2
- package/build-module/ui/utils/create-component.js +0 -46
- package/build-module/ui/utils/create-component.js.map +0 -1
- package/build-module/utils/hooks/use-jump-step.js +0 -48
- package/build-module/utils/hooks/use-jump-step.js.map +0 -1
- package/build-types/segmented-control/component.d.ts +0 -4
- package/build-types/segmented-control/component.d.ts.map +0 -1
- package/build-types/segmented-control/index.d.ts +0 -3
- package/build-types/segmented-control/index.d.ts.map +0 -1
- package/build-types/segmented-control/segmented-control-backdrop.d.ts +0 -9
- package/build-types/segmented-control/segmented-control-backdrop.d.ts.map +0 -1
- package/build-types/segmented-control/segmented-control-button.d.ts +0 -6
- package/build-types/segmented-control/segmented-control-button.d.ts.map +0 -1
- package/build-types/segmented-control/segmented-control-context.d.ts +0 -9
- package/build-types/segmented-control/segmented-control-context.d.ts.map +0 -1
- package/build-types/segmented-control/segmented-control-option.d.ts +0 -4
- package/build-types/segmented-control/segmented-control-option.d.ts.map +0 -1
- package/build-types/segmented-control/styles.d.ts +0 -29
- package/build-types/segmented-control/styles.d.ts.map +0 -1
- package/build-types/segmented-control/types.d.ts +0 -77
- package/build-types/segmented-control/types.d.ts.map +0 -1
- package/build-types/ui/color-picker/color-display.d.ts +0 -14
- package/build-types/ui/color-picker/color-display.d.ts.map +0 -1
- package/build-types/ui/color-picker/color-input.d.ts +0 -14
- package/build-types/ui/color-picker/color-input.d.ts.map +0 -1
- package/build-types/ui/color-picker/component.d.ts +0 -12
- package/build-types/ui/color-picker/component.d.ts.map +0 -1
- package/build-types/ui/color-picker/hex-input.d.ts +0 -13
- package/build-types/ui/color-picker/hex-input.d.ts.map +0 -1
- package/build-types/ui/color-picker/hsl-input.d.ts +0 -13
- package/build-types/ui/color-picker/hsl-input.d.ts.map +0 -1
- package/build-types/ui/color-picker/index.d.ts +0 -2
- package/build-types/ui/color-picker/index.d.ts.map +0 -1
- package/build-types/ui/color-picker/input-with-slider.d.ts +0 -12
- package/build-types/ui/color-picker/input-with-slider.d.ts.map +0 -1
- package/build-types/ui/color-picker/picker.d.ts +0 -13
- package/build-types/ui/color-picker/picker.d.ts.map +0 -1
- package/build-types/ui/color-picker/rgb-input.d.ts +0 -13
- package/build-types/ui/color-picker/rgb-input.d.ts.map +0 -1
- package/build-types/ui/color-picker/styles.d.ts +0 -43
- package/build-types/ui/color-picker/styles.d.ts.map +0 -1
- package/build-types/ui/color-picker/types.d.ts +0 -2
- package/build-types/ui/color-picker/types.d.ts.map +0 -1
- package/build-types/ui/context/polymorphic-component.d.ts.map +0 -1
- package/build-types/ui/utils/create-component.d.ts +0 -22
- package/build-types/ui/utils/create-component.d.ts.map +0 -1
- package/build-types/utils/hooks/use-jump-step.d.ts +0 -25
- package/build-types/utils/hooks/use-jump-step.d.ts.map +0 -1
- package/src/color-picker/alpha.js +0 -184
- package/src/color-picker/hue.js +0 -184
- package/src/color-picker/index.js +0 -264
- package/src/color-picker/inputs.js +0 -305
- package/src/color-picker/saturation.js +0 -190
- package/src/color-picker/style.scss +0 -269
- package/src/color-picker/test/__snapshots__/index.js.snap +0 -817
- package/src/color-picker/test/input.js +0 -174
- package/src/color-picker/utils.js +0 -214
- package/src/focusable-iframe/stories/index.js +0 -19
- package/src/heading/component.ts +0 -25
- package/src/mobile/bottom-sheet/navigation-header.native.js +0 -137
- package/src/modal/frame.js +0 -111
- package/src/modal/header.js +0 -53
- package/src/resizable-box/index.js +0 -114
- package/src/segmented-control/README.md +0 -70
- package/src/segmented-control/component.tsx +0 -103
- package/src/segmented-control/index.ts +0 -2
- package/src/segmented-control/segmented-control-button.tsx +0 -72
- package/src/segmented-control/segmented-control-context.ts +0 -16
- package/src/segmented-control/segmented-control-option.tsx +0 -71
- package/src/segmented-control/stories/index.js +0 -59
- package/src/segmented-control/test/index.js +0 -42
- package/src/tools-panel/context.js +0 -7
- package/src/tools-panel/styles.js +0 -64
- package/src/tools-panel/tools-panel/component.js +0 -38
- package/src/tools-panel/tools-panel/hook.js +0 -79
- package/src/tools-panel/tools-panel-header/component.js +0 -81
- package/src/tools-panel/tools-panel-header/hook.js +0 -34
- package/src/tools-panel/tools-panel-item/component.js +0 -31
- package/src/tools-panel/tools-panel-item/hook.js +0 -67
- package/src/ui/color-picker/README.md +0 -57
- package/src/ui/color-picker/component.tsx +0 -141
- package/src/ui/color-picker/hex-input.tsx +0 -55
- package/src/ui/color-picker/index.ts +0 -1
- package/src/ui/color-picker/picker.tsx +0 -26
- package/src/ui/color-picker/stories/index.js +0 -59
- package/src/ui/color-picker/styles.ts +0 -61
- package/src/ui/utils/create-component.tsx +0 -59
- package/src/ui/utils/test/create-component.js +0 -70
- package/src/unit-control/unit-select-control.js +0 -70
- package/src/utils/hooks/test/use-jump-step.js +0 -127
- package/src/utils/hooks/use-jump-step.js +0 -51
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { usePrevious } from '@wordpress/compose';
|
|
5
|
-
import { useEffect, useMemo } from '@wordpress/element';
|
|
5
|
+
import { useCallback, useEffect, useMemo } from '@wordpress/element';
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
@@ -12,50 +12,86 @@ import { useToolsPanelContext } from '../context';
|
|
|
12
12
|
import { useContextSystem } from '../../ui/context';
|
|
13
13
|
import { useCx } from '../../utils/hooks/use-cx';
|
|
14
14
|
export function useToolsPanelItem(props) {
|
|
15
|
+
var _menuItems$menuGroup, _menuItems$menuGroup2;
|
|
16
|
+
|
|
15
17
|
const {
|
|
16
18
|
className,
|
|
17
19
|
hasValue,
|
|
18
20
|
isShownByDefault,
|
|
19
21
|
label,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
panelId,
|
|
23
|
+
resetAllFilter,
|
|
24
|
+
onDeselect,
|
|
25
|
+
onSelect,
|
|
22
26
|
...otherProps
|
|
23
27
|
} = useContextSystem(props, 'ToolsPanelItem');
|
|
24
|
-
const cx = useCx();
|
|
25
|
-
const classes = useMemo(() => {
|
|
26
|
-
return cx(styles.ToolsPanelItem, className);
|
|
27
|
-
});
|
|
28
28
|
const {
|
|
29
|
+
panelId: currentPanelId,
|
|
29
30
|
menuItems,
|
|
30
|
-
registerPanelItem
|
|
31
|
-
|
|
31
|
+
registerPanelItem,
|
|
32
|
+
deregisterPanelItem,
|
|
33
|
+
flagItemCustomization,
|
|
34
|
+
isResetting,
|
|
35
|
+
shouldRenderPlaceholderItems: shouldRenderPlaceholder
|
|
36
|
+
} = useToolsPanelContext();
|
|
37
|
+
const hasValueCallback = useCallback(hasValue, [panelId]);
|
|
38
|
+
const resetAllFilterCallback = useCallback(resetAllFilter, [panelId]); // Registering the panel item allows the panel to include it in its
|
|
32
39
|
// automatically generated menu and determine its initial checked status.
|
|
33
40
|
|
|
34
41
|
useEffect(() => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
if (currentPanelId === panelId) {
|
|
43
|
+
registerPanelItem({
|
|
44
|
+
hasValue: hasValueCallback,
|
|
45
|
+
isShownByDefault,
|
|
46
|
+
label,
|
|
47
|
+
resetAllFilter: resetAllFilterCallback,
|
|
48
|
+
panelId
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return () => deregisterPanelItem(label);
|
|
53
|
+
}, [currentPanelId, panelId, isShownByDefault, label, hasValueCallback, resetAllFilterCallback]);
|
|
54
|
+
const isValueSet = hasValue();
|
|
55
|
+
const wasValueSet = usePrevious(isValueSet); // If this item represents a default control it will need to notify the
|
|
56
|
+
// panel when a custom value has been set.
|
|
57
|
+
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (isShownByDefault && isValueSet && !wasValueSet) {
|
|
60
|
+
flagItemCustomization(label);
|
|
61
|
+
}
|
|
62
|
+
}, [isValueSet, wasValueSet, isShownByDefault, label]); // Note: `label` is used as a key when building menu item state in
|
|
42
63
|
// `ToolsPanel`.
|
|
43
64
|
|
|
44
|
-
const
|
|
65
|
+
const menuGroup = isShownByDefault ? 'default' : 'optional';
|
|
66
|
+
const isMenuItemChecked = menuItems === null || menuItems === void 0 ? void 0 : (_menuItems$menuGroup = menuItems[menuGroup]) === null || _menuItems$menuGroup === void 0 ? void 0 : _menuItems$menuGroup[label];
|
|
45
67
|
const wasMenuItemChecked = usePrevious(isMenuItemChecked); // Determine if the panel item's corresponding menu is being toggled and
|
|
46
68
|
// trigger appropriate callback if it is.
|
|
47
69
|
|
|
48
70
|
useEffect(() => {
|
|
71
|
+
if (isResetting || currentPanelId !== panelId) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
49
75
|
if (isMenuItemChecked && !isValueSet && !wasMenuItemChecked) {
|
|
50
|
-
onSelect();
|
|
76
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect();
|
|
51
77
|
}
|
|
52
78
|
|
|
53
79
|
if (!isMenuItemChecked && wasMenuItemChecked) {
|
|
54
|
-
onDeselect();
|
|
80
|
+
onDeselect === null || onDeselect === void 0 ? void 0 : onDeselect();
|
|
55
81
|
}
|
|
56
|
-
}, [isMenuItemChecked,
|
|
82
|
+
}, [currentPanelId, isMenuItemChecked, isResetting, isValueSet, panelId, wasMenuItemChecked]); // The item is shown if it is a default control regardless of whether it
|
|
83
|
+
// has a value. Optional items are shown when they are checked or have
|
|
84
|
+
// a value.
|
|
85
|
+
|
|
86
|
+
const isShown = isShownByDefault ? (menuItems === null || menuItems === void 0 ? void 0 : (_menuItems$menuGroup2 = menuItems[menuGroup]) === null || _menuItems$menuGroup2 === void 0 ? void 0 : _menuItems$menuGroup2[label]) !== undefined : isMenuItemChecked;
|
|
87
|
+
const cx = useCx();
|
|
88
|
+
const classes = useMemo(() => {
|
|
89
|
+
const placeholderStyle = shouldRenderPlaceholder && !isShown && styles.ToolsPanelItemPlaceholder;
|
|
90
|
+
return cx(styles.ToolsPanelItem, placeholderStyle, className);
|
|
91
|
+
}, [isShown, shouldRenderPlaceholder, className]);
|
|
57
92
|
return { ...otherProps,
|
|
58
|
-
isShown
|
|
93
|
+
isShown,
|
|
94
|
+
shouldRenderPlaceholder,
|
|
59
95
|
className: classes
|
|
60
96
|
};
|
|
61
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.ts"],"names":["usePrevious","useCallback","useEffect","useMemo","styles","useToolsPanelContext","useContextSystem","useCx","useToolsPanelItem","props","className","hasValue","isShownByDefault","label","panelId","resetAllFilter","onDeselect","onSelect","otherProps","currentPanelId","menuItems","registerPanelItem","deregisterPanelItem","flagItemCustomization","isResetting","shouldRenderPlaceholderItems","shouldRenderPlaceholder","hasValueCallback","resetAllFilterCallback","isValueSet","wasValueSet","menuGroup","isMenuItemChecked","wasMenuItemChecked","isShown","undefined","cx","classes","placeholderStyle","ToolsPanelItemPlaceholder","ToolsPanelItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious } from '@wordpress/compose';\nimport { useCallback, useEffect, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useToolsPanelContext } from '../context';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ToolsPanelItemProps } from '../types';\n\nexport function useToolsPanelItem(\n\tprops: WordPressComponentProps< ToolsPanelItemProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\thasValue,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\tpanelId,\n\t\tresetAllFilter,\n\t\tonDeselect,\n\t\tonSelect,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanelItem' );\n\n\tconst {\n\t\tpanelId: currentPanelId,\n\t\tmenuItems,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tisResetting,\n\t\tshouldRenderPlaceholderItems: shouldRenderPlaceholder,\n\t} = useToolsPanelContext();\n\n\tconst hasValueCallback = useCallback( hasValue, [ panelId ] );\n\tconst resetAllFilterCallback = useCallback( resetAllFilter, [ panelId ] );\n\n\t// Registering the panel item allows the panel to include it in its\n\t// automatically generated menu and determine its initial checked status.\n\tuseEffect( () => {\n\t\tif ( currentPanelId === panelId ) {\n\t\t\tregisterPanelItem( {\n\t\t\t\thasValue: hasValueCallback,\n\t\t\t\tisShownByDefault,\n\t\t\t\tlabel,\n\t\t\t\tresetAllFilter: resetAllFilterCallback,\n\t\t\t\tpanelId,\n\t\t\t} );\n\t\t}\n\n\t\treturn () => deregisterPanelItem( label );\n\t}, [\n\t\tcurrentPanelId,\n\t\tpanelId,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\thasValueCallback,\n\t\tresetAllFilterCallback,\n\t] );\n\n\tconst isValueSet = hasValue();\n\tconst wasValueSet = usePrevious( isValueSet );\n\n\t// If this item represents a default control it will need to notify the\n\t// panel when a custom value has been set.\n\tuseEffect( () => {\n\t\tif ( isShownByDefault && isValueSet && ! wasValueSet ) {\n\t\t\tflagItemCustomization( label );\n\t\t}\n\t}, [ isValueSet, wasValueSet, isShownByDefault, label ] );\n\n\t// Note: `label` is used as a key when building menu item state in\n\t// `ToolsPanel`.\n\tconst menuGroup = isShownByDefault ? 'default' : 'optional';\n\tconst isMenuItemChecked = menuItems?.[ menuGroup ]?.[ label ];\n\tconst wasMenuItemChecked = usePrevious( isMenuItemChecked );\n\n\t// Determine if the panel item's corresponding menu is being toggled and\n\t// trigger appropriate callback if it is.\n\tuseEffect( () => {\n\t\tif ( isResetting || currentPanelId !== panelId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isMenuItemChecked && ! isValueSet && ! wasMenuItemChecked ) {\n\t\t\tonSelect?.();\n\t\t}\n\n\t\tif ( ! isMenuItemChecked && wasMenuItemChecked ) {\n\t\t\tonDeselect?.();\n\t\t}\n\t}, [\n\t\tcurrentPanelId,\n\t\tisMenuItemChecked,\n\t\tisResetting,\n\t\tisValueSet,\n\t\tpanelId,\n\t\twasMenuItemChecked,\n\t] );\n\n\t// The item is shown if it is a default control regardless of whether it\n\t// has a value. Optional items are shown when they are checked or have\n\t// a value.\n\tconst isShown = isShownByDefault\n\t\t? menuItems?.[ menuGroup ]?.[ label ] !== undefined\n\t\t: isMenuItemChecked;\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst placeholderStyle =\n\t\t\tshouldRenderPlaceholder &&\n\t\t\t! isShown &&\n\t\t\tstyles.ToolsPanelItemPlaceholder;\n\t\treturn cx( styles.ToolsPanelItem, placeholderStyle, className );\n\t}, [ isShown, shouldRenderPlaceholder, className ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName: classes,\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/index.
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/index.ts"],"names":["default","useToolsPanelItem"],"mappings":"AAAA,SAASA,OAAT,QAAwB,aAAxB;AACA,SAASC,iBAAT,QAAkC,QAAlC","sourcesContent":["export { default } from './component';\nexport { useToolsPanelItem } from './hook';\n"]}
|
|
File without changes
|
|
@@ -36,7 +36,7 @@ const getDisabledElement = ({
|
|
|
36
36
|
className: "disabled-element-wrapper"
|
|
37
37
|
}, cloneElement(eventCatcher, eventHandlers), cloneElement(child, {
|
|
38
38
|
children: childrenWithPopover
|
|
39
|
-
})
|
|
39
|
+
})), eventHandlers);
|
|
40
40
|
|
|
41
41
|
const getRegularElement = ({
|
|
42
42
|
child,
|
|
@@ -69,7 +69,11 @@ const emitToChild = (children, eventName, event) => {
|
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
const child = Children.only(children);
|
|
72
|
+
const child = Children.only(children); // If the underlying element is disabled, do not emit the event.
|
|
73
|
+
|
|
74
|
+
if (child.props.disabled) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
73
77
|
|
|
74
78
|
if (typeof child.props[eventName] === 'function') {
|
|
75
79
|
child.props[eventName](event);
|
|
@@ -80,7 +84,8 @@ function Tooltip({
|
|
|
80
84
|
children,
|
|
81
85
|
position,
|
|
82
86
|
text,
|
|
83
|
-
shortcut
|
|
87
|
+
shortcut,
|
|
88
|
+
delay = TOOLTIP_DELAY
|
|
84
89
|
}) {
|
|
85
90
|
/**
|
|
86
91
|
* Whether a mouse is currently pressed, used in determining whether
|
|
@@ -90,7 +95,7 @@ function Tooltip({
|
|
|
90
95
|
*/
|
|
91
96
|
const [isMouseDown, setIsMouseDown] = useState(false);
|
|
92
97
|
const [isOver, setIsOver] = useState(false);
|
|
93
|
-
const delayedSetIsOver = useDebounce(setIsOver,
|
|
98
|
+
const delayedSetIsOver = useDebounce(setIsOver, delay);
|
|
94
99
|
|
|
95
100
|
const createMouseDown = event => {
|
|
96
101
|
// Preserve original child callback behavior
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["includes","Children","cloneElement","concatChildren","useEffect","useState","useDebounce","Popover","Shortcut","TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","children","getRegularElement","addPopoverToGrandchildren","grandchildren","isOver","position","text","shortcut","emitToChild","eventName","event","count","only","props","Tooltip","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","createMouseDown","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","disabled","cancel","_isOver","clearOnUnmount","process","env","NODE_ENV","console","error","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","onMouseDown","getElementWithPopover","popoverData"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {number}\n */\nexport const TOOLTIP_DELAY = 700;\n\nconst eventCatcher = <div className=\"event-catcher\" />;\n\nconst getDisabledElement = ( { eventHandlers, child, childrenWithPopover } ) =>\n\tcloneElement(\n\t\t<span className=\"disabled-element-wrapper\">\n\t\t\t{ cloneElement( eventCatcher, eventHandlers ) }\n\t\t\t{ cloneElement( child, {\n\t\t\t\tchildren: childrenWithPopover,\n\t\t\t} ) }\n\t\t\t,\n\t\t</span>,\n\t\teventHandlers\n\t);\n\nconst getRegularElement = ( { child, eventHandlers, childrenWithPopover } ) =>\n\tcloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t} );\n\nconst addPopoverToGrandchildren = ( {\n\tgrandchildren,\n\tisOver,\n\tposition,\n\ttext,\n\tshortcut,\n} ) =>\n\tconcatChildren(\n\t\tgrandchildren,\n\t\tisOver && (\n\t\t\t<Popover\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\tposition={ position }\n\t\t\t\tclassName=\"components-tooltip\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tanimate={ false }\n\t\t\t\tnoArrow={ true }\n\t\t\t>\n\t\t\t\t{ text }\n\t\t\t\t<Shortcut\n\t\t\t\t\tclassName=\"components-tooltip__shortcut\"\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t)\n\t);\n\nconst emitToChild = ( children, eventName, event ) => {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn;\n\t}\n\n\tconst child = Children.only( children );\n\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\tchild.props[ eventName ]( event );\n\t}\n};\n\nfunction Tooltip( { children, position, text, shortcut } ) {\n\t/**\n\t * Whether a mouse is currently pressed, used in determining whether\n\t * to handle a focus event as displaying the tooltip immediately.\n\t *\n\t * @type {boolean}\n\t */\n\tconst [ isMouseDown, setIsMouseDown ] = useState( false );\n\tconst [ isOver, setIsOver ] = useState( false );\n\tconst delayedSetIsOver = useDebounce( setIsOver, TOOLTIP_DELAY );\n\n\tconst createMouseDown = ( event ) => {\n\t\t// Preserve original child callback behavior\n\t\temitToChild( children, 'onMouseDown', event );\n\n\t\t// On mouse down, the next `mouseup` should revert the value of the\n\t\t// instance property and remove its own event handler. The bind is\n\t\t// made on the document since the `mouseup` might not occur within\n\t\t// the bounds of the element.\n\t\tdocument.addEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( true );\n\t};\n\n\tconst createMouseUp = ( event ) => {\n\t\temitToChild( children, 'onMouseUp', event );\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( false );\n\t};\n\n\tconst createMouseEvent = ( type ) => {\n\t\tif ( type === 'mouseUp' ) return createMouseUp;\n\t\tif ( type === 'mouseDown' ) return createMouseDown;\n\t};\n\n\t/**\n\t * Prebound `isInMouseDown` handler, created as a constant reference to\n\t * assure ability to remove in component unmount.\n\t *\n\t * @type {Function}\n\t */\n\tconst cancelIsMouseDown = createMouseEvent( 'mouseUp' );\n\n\tconst createToggleIsOver = ( eventName, isDelayed ) => {\n\t\treturn ( event ) => {\n\t\t\t// Preserve original child callback behavior\n\t\t\temitToChild( children, eventName, event );\n\n\t\t\t// Mouse events behave unreliably in React for disabled elements,\n\t\t\t// firing on mouseenter but not mouseleave. Further, the default\n\t\t\t// behavior for disabled elements in some browsers is to ignore\n\t\t\t// mouse events. Don't bother trying to to handle them.\n\t\t\t//\n\t\t\t// See: https://github.com/facebook/react/issues/4251\n\t\t\tif ( event.currentTarget.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// A focus event will occur as a result of a mouse click, but it\n\t\t\t// should be disambiguated between interacting with the button and\n\t\t\t// using an explicit focus shift as a cue to display the tooltip.\n\t\t\tif ( 'focus' === event.type && isMouseDown ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Needed in case unsetting is over while delayed set pending, i.e.\n\t\t\t// quickly blur/mouseleave before delayedSetIsOver is called\n\t\t\tdelayedSetIsOver.cancel();\n\n\t\t\tconst _isOver = includes( [ 'focus', 'mouseenter' ], event.type );\n\t\t\tif ( _isOver === isOver ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isDelayed ) {\n\t\t\t\tdelayedSetIsOver( _isOver );\n\t\t\t} else {\n\t\t\t\tsetIsOver( _isOver );\n\t\t\t}\n\t\t};\n\t};\n\tconst clearOnUnmount = () => {\n\t\tdelayedSetIsOver.cancel();\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t};\n\n\tuseEffect( () => clearOnUnmount, [] );\n\n\tif ( Children.count( children ) !== 1 ) {\n\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'Tooltip should be called with only a single child element.'\n\t\t\t);\n\t\t}\n\n\t\treturn children;\n\t}\n\n\tconst eventHandlers = {\n\t\tonMouseEnter: createToggleIsOver( 'onMouseEnter', true ),\n\t\tonMouseLeave: createToggleIsOver( 'onMouseLeave' ),\n\t\tonClick: createToggleIsOver( 'onClick' ),\n\t\tonFocus: createToggleIsOver( 'onFocus' ),\n\t\tonBlur: createToggleIsOver( 'onBlur' ),\n\t\tonMouseDown: createMouseEvent( 'mouseDown' ),\n\t};\n\n\tconst child = Children.only( children );\n\tconst { children: grandchildren, disabled } = child.props;\n\tconst getElementWithPopover = disabled\n\t\t? getDisabledElement\n\t\t: getRegularElement;\n\n\tconst popoverData = {\n\t\tisOver,\n\t\tposition,\n\t\ttext,\n\t\tshortcut,\n\t};\n\tconst childrenWithPopover = addPopoverToGrandchildren( {\n\t\tgrandchildren,\n\t\t...popoverData,\n\t} );\n\n\treturn getElementWithPopover( {\n\t\tchild,\n\t\teventHandlers,\n\t\tchildrenWithPopover,\n\t} );\n}\n\nexport default Tooltip;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["includes","Children","cloneElement","concatChildren","useEffect","useState","useDebounce","Popover","Shortcut","TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","children","getRegularElement","addPopoverToGrandchildren","grandchildren","isOver","position","text","shortcut","emitToChild","eventName","event","count","only","props","disabled","Tooltip","delay","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","createMouseDown","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","cancel","_isOver","clearOnUnmount","process","env","NODE_ENV","console","error","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","onMouseDown","getElementWithPopover","popoverData"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {number}\n */\nexport const TOOLTIP_DELAY = 700;\n\nconst eventCatcher = <div className=\"event-catcher\" />;\n\nconst getDisabledElement = ( { eventHandlers, child, childrenWithPopover } ) =>\n\tcloneElement(\n\t\t<span className=\"disabled-element-wrapper\">\n\t\t\t{ cloneElement( eventCatcher, eventHandlers ) }\n\t\t\t{ cloneElement( child, {\n\t\t\t\tchildren: childrenWithPopover,\n\t\t\t} ) }\n\t\t</span>,\n\t\teventHandlers\n\t);\n\nconst getRegularElement = ( { child, eventHandlers, childrenWithPopover } ) =>\n\tcloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t} );\n\nconst addPopoverToGrandchildren = ( {\n\tgrandchildren,\n\tisOver,\n\tposition,\n\ttext,\n\tshortcut,\n} ) =>\n\tconcatChildren(\n\t\tgrandchildren,\n\t\tisOver && (\n\t\t\t<Popover\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\tposition={ position }\n\t\t\t\tclassName=\"components-tooltip\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tanimate={ false }\n\t\t\t\tnoArrow={ true }\n\t\t\t>\n\t\t\t\t{ text }\n\t\t\t\t<Shortcut\n\t\t\t\t\tclassName=\"components-tooltip__shortcut\"\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t)\n\t);\n\nconst emitToChild = ( children, eventName, event ) => {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn;\n\t}\n\n\tconst child = Children.only( children );\n\n\t// If the underlying element is disabled, do not emit the event.\n\tif ( child.props.disabled ) {\n\t\treturn;\n\t}\n\n\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\tchild.props[ eventName ]( event );\n\t}\n};\n\nfunction Tooltip( {\n\tchildren,\n\tposition,\n\ttext,\n\tshortcut,\n\tdelay = TOOLTIP_DELAY,\n} ) {\n\t/**\n\t * Whether a mouse is currently pressed, used in determining whether\n\t * to handle a focus event as displaying the tooltip immediately.\n\t *\n\t * @type {boolean}\n\t */\n\tconst [ isMouseDown, setIsMouseDown ] = useState( false );\n\tconst [ isOver, setIsOver ] = useState( false );\n\tconst delayedSetIsOver = useDebounce( setIsOver, delay );\n\n\tconst createMouseDown = ( event ) => {\n\t\t// Preserve original child callback behavior\n\t\temitToChild( children, 'onMouseDown', event );\n\n\t\t// On mouse down, the next `mouseup` should revert the value of the\n\t\t// instance property and remove its own event handler. The bind is\n\t\t// made on the document since the `mouseup` might not occur within\n\t\t// the bounds of the element.\n\t\tdocument.addEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( true );\n\t};\n\n\tconst createMouseUp = ( event ) => {\n\t\temitToChild( children, 'onMouseUp', event );\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( false );\n\t};\n\n\tconst createMouseEvent = ( type ) => {\n\t\tif ( type === 'mouseUp' ) return createMouseUp;\n\t\tif ( type === 'mouseDown' ) return createMouseDown;\n\t};\n\n\t/**\n\t * Prebound `isInMouseDown` handler, created as a constant reference to\n\t * assure ability to remove in component unmount.\n\t *\n\t * @type {Function}\n\t */\n\tconst cancelIsMouseDown = createMouseEvent( 'mouseUp' );\n\n\tconst createToggleIsOver = ( eventName, isDelayed ) => {\n\t\treturn ( event ) => {\n\t\t\t// Preserve original child callback behavior\n\t\t\temitToChild( children, eventName, event );\n\n\t\t\t// Mouse events behave unreliably in React for disabled elements,\n\t\t\t// firing on mouseenter but not mouseleave. Further, the default\n\t\t\t// behavior for disabled elements in some browsers is to ignore\n\t\t\t// mouse events. Don't bother trying to to handle them.\n\t\t\t//\n\t\t\t// See: https://github.com/facebook/react/issues/4251\n\t\t\tif ( event.currentTarget.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// A focus event will occur as a result of a mouse click, but it\n\t\t\t// should be disambiguated between interacting with the button and\n\t\t\t// using an explicit focus shift as a cue to display the tooltip.\n\t\t\tif ( 'focus' === event.type && isMouseDown ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Needed in case unsetting is over while delayed set pending, i.e.\n\t\t\t// quickly blur/mouseleave before delayedSetIsOver is called\n\t\t\tdelayedSetIsOver.cancel();\n\n\t\t\tconst _isOver = includes( [ 'focus', 'mouseenter' ], event.type );\n\t\t\tif ( _isOver === isOver ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isDelayed ) {\n\t\t\t\tdelayedSetIsOver( _isOver );\n\t\t\t} else {\n\t\t\t\tsetIsOver( _isOver );\n\t\t\t}\n\t\t};\n\t};\n\tconst clearOnUnmount = () => {\n\t\tdelayedSetIsOver.cancel();\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t};\n\n\tuseEffect( () => clearOnUnmount, [] );\n\n\tif ( Children.count( children ) !== 1 ) {\n\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'Tooltip should be called with only a single child element.'\n\t\t\t);\n\t\t}\n\n\t\treturn children;\n\t}\n\n\tconst eventHandlers = {\n\t\tonMouseEnter: createToggleIsOver( 'onMouseEnter', true ),\n\t\tonMouseLeave: createToggleIsOver( 'onMouseLeave' ),\n\t\tonClick: createToggleIsOver( 'onClick' ),\n\t\tonFocus: createToggleIsOver( 'onFocus' ),\n\t\tonBlur: createToggleIsOver( 'onBlur' ),\n\t\tonMouseDown: createMouseEvent( 'mouseDown' ),\n\t};\n\n\tconst child = Children.only( children );\n\tconst { children: grandchildren, disabled } = child.props;\n\tconst getElementWithPopover = disabled\n\t\t? getDisabledElement\n\t\t: getRegularElement;\n\n\tconst popoverData = {\n\t\tisOver,\n\t\tposition,\n\t\ttext,\n\t\tshortcut,\n\t};\n\tconst childrenWithPopover = addPopoverToGrandchildren( {\n\t\tgrandchildren,\n\t\t...popoverData,\n\t} );\n\n\treturn getElementWithPopover( {\n\t\tchild,\n\t\teventHandlers,\n\t\tchildrenWithPopover,\n\t} );\n}\n\nexport default Tooltip;\n"]}
|
|
@@ -241,7 +241,8 @@ const TooltipSlot = ({
|
|
|
241
241
|
}, createElement(View, {
|
|
242
242
|
onTouchStart: typeof handleScreenTouch === 'function' ? handleTouchStart : undefined,
|
|
243
243
|
pointerEvents: "box-none",
|
|
244
|
-
style: StyleSheet.absoluteFill
|
|
244
|
+
style: StyleSheet.absoluteFill,
|
|
245
|
+
testID: "tooltip-overlay"
|
|
245
246
|
}, children, createElement(Slot, rest)));
|
|
246
247
|
};
|
|
247
248
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tooltip/index.native.js"],"names":["Animated","Easing","Keyboard","Platform","StyleSheet","Text","View","cloneElement","createContext","useContext","useEffect","useMemo","useRef","useState","usePrevious","createSlotFill","styles","RIGHT_ALIGN_ARROW_OFFSET","TOOLTIP_VERTICAL_OFFSET","TooltipContext","onHandleScreenTouch","Fill","Slot","useKeyboardVisibility","keyboardVisible","setKeyboardVisible","previousKeyboardVisible","showListener","addListener","keyboardHideEvent","select","android","ios","hideListener","remove","Tooltip","children","position","text","visible","initialVisible","referenceElementRef","animationValue","Value","current","horizontalPosition","split","setVisible","animating","setAnimating","hidden","previousVisible","referenceLayout","setReferenceLayout","height","width","x","y","tooltipLayout","setTooltipLayout","startAnimation","getReferenceElementPosition","frameListener","timing","toValue","duration","useNativeDriver","delay","easing","out","quad","start","tooltipStyles","tooltip","left","Math","floor","top","tooltipBoxStyles","tooltip__box","elevation","opacity","shadowColor","tooltip__shadow","color","shadowOffset","shadowOpacity","shadowRadius","transform","translateY","interpolate","inputRange","outputRange","arrowStyles","tooltip__arrow","requestAnimationFrame","measure","_x","_y","pageX","pageY","getTooltipLayout","nativeEvent","layout","ref","onLayout","tooltip__text","TooltipSlot","rest","handleScreenTouch","setHandleScreenTouch","callback","handleTouchStart","value","undefined","absoluteFill"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tAnimated,\n\tEasing,\n\tKeyboard,\n\tPlatform,\n\tStyleSheet,\n\tText,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcloneElement,\n\tcreateContext,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { createSlotFill } from '../slot-fill';\nimport styles from './style.scss';\n\nconst RIGHT_ALIGN_ARROW_OFFSET = 16;\nconst TOOLTIP_VERTICAL_OFFSET = 2;\n\nconst TooltipContext = createContext( {\n\tonHandleScreenTouch: () => {},\n} );\nconst { Fill, Slot } = createSlotFill( 'Tooltip' );\n\nconst useKeyboardVisibility = () => {\n\tconst [ keyboardVisible, setKeyboardVisible ] = useState( false );\n\tconst previousKeyboardVisible = usePrevious( keyboardVisible );\n\n\tuseEffect( () => {\n\t\tconst showListener = Keyboard.addListener( 'keyboardDidShow', () => {\n\t\t\tif ( previousKeyboardVisible !== true ) {\n\t\t\t\tsetKeyboardVisible( true );\n\t\t\t}\n\t\t} );\n\t\tconst keyboardHideEvent = Platform.select( {\n\t\t\tandroid: 'keyboardDidHide',\n\t\t\tios: 'keyboardWillHide',\n\t\t} );\n\t\tconst hideListener = Keyboard.addListener( keyboardHideEvent, () => {\n\t\t\tif ( previousKeyboardVisible !== false ) {\n\t\t\t\tsetKeyboardVisible( false );\n\t\t\t}\n\t\t} );\n\t\treturn () => {\n\t\t\tshowListener.remove();\n\t\t\thideListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn keyboardVisible;\n};\n\nconst Tooltip = ( {\n\tchildren,\n\tposition = 'top',\n\ttext,\n\tvisible: initialVisible = false,\n} ) => {\n\tconst referenceElementRef = useRef( null );\n\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\tconst [ , horizontalPosition = 'center' ] = position.split( ' ' );\n\tconst [ visible, setVisible ] = useState( initialVisible );\n\tconst [ animating, setAnimating ] = useState( false );\n\tconst hidden = ! visible && ! animating;\n\tconst previousVisible = usePrevious( visible );\n\tconst [ referenceLayout, setReferenceLayout ] = useState( {\n\t\theight: 0,\n\t\twidth: 0,\n\t\tx: 0,\n\t\ty: 0,\n\t} );\n\tconst [ tooltipLayout, setTooltipLayout ] = useState( {\n\t\theight: 0,\n\t\twidth: 0,\n\t} );\n\tconst { onHandleScreenTouch } = useContext( TooltipContext );\n\tconst keyboardVisible = useKeyboardVisibility();\n\n\t// Register callback to dismiss the tooltip whenever the screen is touched\n\tuseEffect( () => {\n\t\tif ( visible ) {\n\t\t\tonHandleScreenTouch( () => {\n\t\t\t\tsetAnimating( true );\n\t\t\t\tsetVisible( false );\n\t\t\t} );\n\t\t}\n\t\treturn () => onHandleScreenTouch( null );\n\t}, [ visible ] );\n\n\t// Manage visibility animation\n\tuseEffect( () => {\n\t\tif (\n\t\t\t// Initial render and visibility enabled, animate show\n\t\t\t( typeof previousVisible === 'undefined' && visible ) ||\n\t\t\t// Previously visible, animate hide\n\t\t\t( previousVisible && previousVisible !== visible )\n\t\t) {\n\t\t\tsetAnimating( true );\n\t\t\tstartAnimation();\n\t\t}\n\t}, [ visible ] );\n\n\t// Manage tooltip visibility and position in relation to keyboard\n\tuseEffect( () => {\n\t\tif ( ! visible ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update tooltip position if keyboard is visible\n\t\tif ( keyboardVisible ) {\n\t\t\tgetReferenceElementPosition();\n\t\t}\n\n\t\t// Hide tooltip if keyboard hides\n\t\tif ( typeof previousVisible !== 'undefined' && ! keyboardVisible ) {\n\t\t\tsetAnimating( true );\n\t\t\tsetVisible( false );\n\t\t}\n\t}, [ visible, keyboardVisible ] );\n\n\t// Manage tooltip position during keyboard frame changes\n\tuseEffect( () => {\n\t\tconst frameListener = Keyboard.addListener(\n\t\t\t'keyboardWillChangeFrame',\n\t\t\t() => {\n\t\t\t\tif ( visible ) {\n\t\t\t\t\tgetReferenceElementPosition();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tframeListener.remove();\n\t\t};\n\t}, [ visible ] );\n\n\tconst startAnimation = () => {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: visible ? 1 : 0,\n\t\t\tduration: visible ? 300 : 150,\n\t\t\tuseNativeDriver: true,\n\t\t\tdelay: visible ? 500 : 0,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start( () => {\n\t\t\tsetAnimating( false );\n\t\t} );\n\t};\n\n\tconst tooltipStyles = [\n\t\tstyles.tooltip,\n\t\t{\n\t\t\tleft:\n\t\t\t\treferenceLayout.x +\n\t\t\t\tMath.floor( referenceLayout.width / 2 ) -\n\t\t\t\t( horizontalPosition === 'right'\n\t\t\t\t\t? RIGHT_ALIGN_ARROW_OFFSET\n\t\t\t\t\t: Math.floor( tooltipLayout.width / 2 ) ),\n\t\t\ttop:\n\t\t\t\treferenceLayout.y -\n\t\t\t\ttooltipLayout.height -\n\t\t\t\tTOOLTIP_VERTICAL_OFFSET,\n\t\t},\n\t];\n\tconst tooltipBoxStyles = [\n\t\tstyles.tooltip__box,\n\t\thorizontalPosition === 'right' && styles[ 'tooltip--rightAlign' ],\n\t\t{\n\t\t\televation: 2,\n\t\t\topacity: animationValue,\n\t\t\tshadowColor: styles.tooltip__shadow?.color,\n\t\t\tshadowOffset: { height: 2, width: 0 },\n\t\t\tshadowOpacity: 0.25,\n\t\t\tshadowRadius: 2,\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\toutputRange: [ visible ? 4 : -8, -8 ],\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t];\n\tconst arrowStyles = [\n\t\tstyles.tooltip__arrow,\n\t\thorizontalPosition === 'right' &&\n\t\t\tstyles[ 'tooltip__arrow--rightAlign' ],\n\t];\n\n\tconst getReferenceElementPosition = () => {\n\t\t// rAF allows render to complete before calculating layout\n\t\t// eslint-disable-next-line no-undef\n\t\trequestAnimationFrame( () => {\n\t\t\tif ( ! referenceElementRef.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treferenceElementRef.current.measure(\n\t\t\t\t( _x, _y, width, height, pageX, pageY ) => {\n\t\t\t\t\tsetReferenceLayout( {\n\t\t\t\t\t\theight,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tx: pageX,\n\t\t\t\t\t\ty: pageY,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} );\n\t};\n\tconst getTooltipLayout = ( { nativeEvent } ) => {\n\t\tconst { height, width } = nativeEvent.layout;\n\t\tsetTooltipLayout( { height, width } );\n\t};\n\n\tif ( hidden ) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ cloneElement( children, {\n\t\t\t\tref: referenceElementRef,\n\t\t\t\tonLayout: getReferenceElementPosition,\n\t\t\t} ) }\n\t\t\t<Fill>\n\t\t\t\t<View onLayout={ getTooltipLayout } style={ tooltipStyles }>\n\t\t\t\t\t<Animated.View style={ tooltipBoxStyles }>\n\t\t\t\t\t\t<Text style={ styles.tooltip__text }>{ text }</Text>\n\t\t\t\t\t\t<View style={ arrowStyles } />\n\t\t\t\t\t</Animated.View>\n\t\t\t\t</View>\n\t\t\t</Fill>\n\t\t</>\n\t);\n};\n\nconst TooltipSlot = ( { children, ...rest } ) => {\n\tconst [ handleScreenTouch, setHandleScreenTouch ] = useState( null );\n\tconst onHandleScreenTouch = ( callback ) => {\n\t\t// Must use function to set state below as `callback` is a function itself\n\t\tsetHandleScreenTouch( () => callback );\n\t};\n\tconst handleTouchStart = () => {\n\t\thandleScreenTouch();\n\t\tsetHandleScreenTouch( null );\n\t};\n\t// Memoize context value to avoid unnecessary rerenders of the Provider's children\n\tconst value = useMemo( () => ( { onHandleScreenTouch } ) );\n\n\treturn (\n\t\t<TooltipContext.Provider value={ value }>\n\t\t\t<View\n\t\t\t\tonTouchStart={\n\t\t\t\t\ttypeof handleScreenTouch === 'function'\n\t\t\t\t\t\t? handleTouchStart\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\tstyle={ StyleSheet.absoluteFill }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t\t<Slot { ...rest } />\n\t\t\t</View>\n\t\t</TooltipContext.Provider>\n\t);\n};\n\nTooltip.Slot = TooltipSlot;\n\nexport default Tooltip;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tooltip/index.native.js"],"names":["Animated","Easing","Keyboard","Platform","StyleSheet","Text","View","cloneElement","createContext","useContext","useEffect","useMemo","useRef","useState","usePrevious","createSlotFill","styles","RIGHT_ALIGN_ARROW_OFFSET","TOOLTIP_VERTICAL_OFFSET","TooltipContext","onHandleScreenTouch","Fill","Slot","useKeyboardVisibility","keyboardVisible","setKeyboardVisible","previousKeyboardVisible","showListener","addListener","keyboardHideEvent","select","android","ios","hideListener","remove","Tooltip","children","position","text","visible","initialVisible","referenceElementRef","animationValue","Value","current","horizontalPosition","split","setVisible","animating","setAnimating","hidden","previousVisible","referenceLayout","setReferenceLayout","height","width","x","y","tooltipLayout","setTooltipLayout","startAnimation","getReferenceElementPosition","frameListener","timing","toValue","duration","useNativeDriver","delay","easing","out","quad","start","tooltipStyles","tooltip","left","Math","floor","top","tooltipBoxStyles","tooltip__box","elevation","opacity","shadowColor","tooltip__shadow","color","shadowOffset","shadowOpacity","shadowRadius","transform","translateY","interpolate","inputRange","outputRange","arrowStyles","tooltip__arrow","requestAnimationFrame","measure","_x","_y","pageX","pageY","getTooltipLayout","nativeEvent","layout","ref","onLayout","tooltip__text","TooltipSlot","rest","handleScreenTouch","setHandleScreenTouch","callback","handleTouchStart","value","undefined","absoluteFill"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tAnimated,\n\tEasing,\n\tKeyboard,\n\tPlatform,\n\tStyleSheet,\n\tText,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcloneElement,\n\tcreateContext,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { createSlotFill } from '../slot-fill';\nimport styles from './style.scss';\n\nconst RIGHT_ALIGN_ARROW_OFFSET = 16;\nconst TOOLTIP_VERTICAL_OFFSET = 2;\n\nconst TooltipContext = createContext( {\n\tonHandleScreenTouch: () => {},\n} );\nconst { Fill, Slot } = createSlotFill( 'Tooltip' );\n\nconst useKeyboardVisibility = () => {\n\tconst [ keyboardVisible, setKeyboardVisible ] = useState( false );\n\tconst previousKeyboardVisible = usePrevious( keyboardVisible );\n\n\tuseEffect( () => {\n\t\tconst showListener = Keyboard.addListener( 'keyboardDidShow', () => {\n\t\t\tif ( previousKeyboardVisible !== true ) {\n\t\t\t\tsetKeyboardVisible( true );\n\t\t\t}\n\t\t} );\n\t\tconst keyboardHideEvent = Platform.select( {\n\t\t\tandroid: 'keyboardDidHide',\n\t\t\tios: 'keyboardWillHide',\n\t\t} );\n\t\tconst hideListener = Keyboard.addListener( keyboardHideEvent, () => {\n\t\t\tif ( previousKeyboardVisible !== false ) {\n\t\t\t\tsetKeyboardVisible( false );\n\t\t\t}\n\t\t} );\n\t\treturn () => {\n\t\t\tshowListener.remove();\n\t\t\thideListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn keyboardVisible;\n};\n\nconst Tooltip = ( {\n\tchildren,\n\tposition = 'top',\n\ttext,\n\tvisible: initialVisible = false,\n} ) => {\n\tconst referenceElementRef = useRef( null );\n\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\tconst [ , horizontalPosition = 'center' ] = position.split( ' ' );\n\tconst [ visible, setVisible ] = useState( initialVisible );\n\tconst [ animating, setAnimating ] = useState( false );\n\tconst hidden = ! visible && ! animating;\n\tconst previousVisible = usePrevious( visible );\n\tconst [ referenceLayout, setReferenceLayout ] = useState( {\n\t\theight: 0,\n\t\twidth: 0,\n\t\tx: 0,\n\t\ty: 0,\n\t} );\n\tconst [ tooltipLayout, setTooltipLayout ] = useState( {\n\t\theight: 0,\n\t\twidth: 0,\n\t} );\n\tconst { onHandleScreenTouch } = useContext( TooltipContext );\n\tconst keyboardVisible = useKeyboardVisibility();\n\n\t// Register callback to dismiss the tooltip whenever the screen is touched\n\tuseEffect( () => {\n\t\tif ( visible ) {\n\t\t\tonHandleScreenTouch( () => {\n\t\t\t\tsetAnimating( true );\n\t\t\t\tsetVisible( false );\n\t\t\t} );\n\t\t}\n\t\treturn () => onHandleScreenTouch( null );\n\t}, [ visible ] );\n\n\t// Manage visibility animation\n\tuseEffect( () => {\n\t\tif (\n\t\t\t// Initial render and visibility enabled, animate show\n\t\t\t( typeof previousVisible === 'undefined' && visible ) ||\n\t\t\t// Previously visible, animate hide\n\t\t\t( previousVisible && previousVisible !== visible )\n\t\t) {\n\t\t\tsetAnimating( true );\n\t\t\tstartAnimation();\n\t\t}\n\t}, [ visible ] );\n\n\t// Manage tooltip visibility and position in relation to keyboard\n\tuseEffect( () => {\n\t\tif ( ! visible ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update tooltip position if keyboard is visible\n\t\tif ( keyboardVisible ) {\n\t\t\tgetReferenceElementPosition();\n\t\t}\n\n\t\t// Hide tooltip if keyboard hides\n\t\tif ( typeof previousVisible !== 'undefined' && ! keyboardVisible ) {\n\t\t\tsetAnimating( true );\n\t\t\tsetVisible( false );\n\t\t}\n\t}, [ visible, keyboardVisible ] );\n\n\t// Manage tooltip position during keyboard frame changes\n\tuseEffect( () => {\n\t\tconst frameListener = Keyboard.addListener(\n\t\t\t'keyboardWillChangeFrame',\n\t\t\t() => {\n\t\t\t\tif ( visible ) {\n\t\t\t\t\tgetReferenceElementPosition();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tframeListener.remove();\n\t\t};\n\t}, [ visible ] );\n\n\tconst startAnimation = () => {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: visible ? 1 : 0,\n\t\t\tduration: visible ? 300 : 150,\n\t\t\tuseNativeDriver: true,\n\t\t\tdelay: visible ? 500 : 0,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start( () => {\n\t\t\tsetAnimating( false );\n\t\t} );\n\t};\n\n\tconst tooltipStyles = [\n\t\tstyles.tooltip,\n\t\t{\n\t\t\tleft:\n\t\t\t\treferenceLayout.x +\n\t\t\t\tMath.floor( referenceLayout.width / 2 ) -\n\t\t\t\t( horizontalPosition === 'right'\n\t\t\t\t\t? RIGHT_ALIGN_ARROW_OFFSET\n\t\t\t\t\t: Math.floor( tooltipLayout.width / 2 ) ),\n\t\t\ttop:\n\t\t\t\treferenceLayout.y -\n\t\t\t\ttooltipLayout.height -\n\t\t\t\tTOOLTIP_VERTICAL_OFFSET,\n\t\t},\n\t];\n\tconst tooltipBoxStyles = [\n\t\tstyles.tooltip__box,\n\t\thorizontalPosition === 'right' && styles[ 'tooltip--rightAlign' ],\n\t\t{\n\t\t\televation: 2,\n\t\t\topacity: animationValue,\n\t\t\tshadowColor: styles.tooltip__shadow?.color,\n\t\t\tshadowOffset: { height: 2, width: 0 },\n\t\t\tshadowOpacity: 0.25,\n\t\t\tshadowRadius: 2,\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\toutputRange: [ visible ? 4 : -8, -8 ],\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t];\n\tconst arrowStyles = [\n\t\tstyles.tooltip__arrow,\n\t\thorizontalPosition === 'right' &&\n\t\t\tstyles[ 'tooltip__arrow--rightAlign' ],\n\t];\n\n\tconst getReferenceElementPosition = () => {\n\t\t// rAF allows render to complete before calculating layout\n\t\t// eslint-disable-next-line no-undef\n\t\trequestAnimationFrame( () => {\n\t\t\tif ( ! referenceElementRef.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treferenceElementRef.current.measure(\n\t\t\t\t( _x, _y, width, height, pageX, pageY ) => {\n\t\t\t\t\tsetReferenceLayout( {\n\t\t\t\t\t\theight,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tx: pageX,\n\t\t\t\t\t\ty: pageY,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} );\n\t};\n\tconst getTooltipLayout = ( { nativeEvent } ) => {\n\t\tconst { height, width } = nativeEvent.layout;\n\t\tsetTooltipLayout( { height, width } );\n\t};\n\n\tif ( hidden ) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ cloneElement( children, {\n\t\t\t\tref: referenceElementRef,\n\t\t\t\tonLayout: getReferenceElementPosition,\n\t\t\t} ) }\n\t\t\t<Fill>\n\t\t\t\t<View onLayout={ getTooltipLayout } style={ tooltipStyles }>\n\t\t\t\t\t<Animated.View style={ tooltipBoxStyles }>\n\t\t\t\t\t\t<Text style={ styles.tooltip__text }>{ text }</Text>\n\t\t\t\t\t\t<View style={ arrowStyles } />\n\t\t\t\t\t</Animated.View>\n\t\t\t\t</View>\n\t\t\t</Fill>\n\t\t</>\n\t);\n};\n\nconst TooltipSlot = ( { children, ...rest } ) => {\n\tconst [ handleScreenTouch, setHandleScreenTouch ] = useState( null );\n\tconst onHandleScreenTouch = ( callback ) => {\n\t\t// Must use function to set state below as `callback` is a function itself\n\t\tsetHandleScreenTouch( () => callback );\n\t};\n\tconst handleTouchStart = () => {\n\t\thandleScreenTouch();\n\t\tsetHandleScreenTouch( null );\n\t};\n\t// Memoize context value to avoid unnecessary rerenders of the Provider's children\n\tconst value = useMemo( () => ( { onHandleScreenTouch } ) );\n\n\treturn (\n\t\t<TooltipContext.Provider value={ value }>\n\t\t\t<View\n\t\t\t\tonTouchStart={\n\t\t\t\t\ttypeof handleScreenTouch === 'function'\n\t\t\t\t\t\t? handleTouchStart\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\tstyle={ StyleSheet.absoluteFill }\n\t\t\t\ttestID=\"tooltip-overlay\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t\t<Slot { ...rest } />\n\t\t\t</View>\n\t\t</TooltipContext.Provider>\n\t);\n};\n\nTooltip.Slot = TooltipSlot;\n\nexport default Tooltip;\n"]}
|
|
@@ -27,7 +27,9 @@ import RovingTabIndexContainer from './roving-tab-index';
|
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
function getRowFocusables(rowElement) {
|
|
30
|
-
const focusablesInRow = focus.focusable.find(rowElement
|
|
30
|
+
const focusablesInRow = focus.focusable.find(rowElement, {
|
|
31
|
+
sequential: true
|
|
32
|
+
});
|
|
31
33
|
|
|
32
34
|
if (!focusablesInRow || !focusablesInRow.length) {
|
|
33
35
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tree-grid/index.js"],"names":["includes","focus","forwardRef","useCallback","UP","DOWN","LEFT","RIGHT","RovingTabIndexContainer","getRowFocusables","rowElement","focusablesInRow","focusable","find","length","filter","closest","TreeGrid","children","onExpandRow","onCollapseRow","props","ref","onKeyDown","event","keyCode","metaKey","ctrlKey","altKey","shiftKey","hasModifierKeyPressed","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","nextIndex","Math","max","min","ariaExpanded","preventDefault","level","parseInt","ariaLevel","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","focusableItems","nextRowIndex","focusablesInNextRow","default","TreeGridRow","TreeGridCell","TreeGridItem"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param {Element} rowElement The DOM element representing the row.\n *\n * @return {?Array} The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement );\n\n\tif ( ! focusablesInRow || ! focusablesInRow.length ) {\n\t\treturn;\n\t}\n\n\treturn focusablesInRow.filter( ( focusable ) => {\n\t\treturn focusable.closest( '[role=\"row\"]' ) === rowElement;\n\t} );\n}\n\n/**\n * Renders both a table and tbody element, used to create a tree hierarchy.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/components/src/tree-grid/README.md\n * @param {Object} props Component props.\n * @param {WPElement} props.children Children to be rendered.\n * @param {Function} props.onExpandRow Callback to fire when row is expanded.\n * @param {Function} props.onCollapseRow Callback to fire when row is collapsed.\n * @param {Object} ref A ref to the underlying DOM table element.\n */\nfunction TreeGrid(\n\t{ children, onExpandRow = () => {}, onCollapseRow = () => {}, ...props },\n\tref\n) {\n\tconst onKeyDown = useCallback( ( event ) => {\n\t\tconst { keyCode, metaKey, ctrlKey, altKey, shiftKey } = event;\n\n\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey || shiftKey;\n\n\t\tif (\n\t\t\thasModifierKeyPressed ||\n\t\t\t! includes( [ UP, DOWN, LEFT, RIGHT ], keyCode )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The event will be handled, stop propagation.\n\t\tevent.stopPropagation();\n\n\t\tconst { activeElement } = document;\n\t\tconst { currentTarget: treeGridElement } = event;\n\t\tif ( ! treeGridElement.contains( activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate the columnIndex of the active element.\n\t\tconst activeRow = activeElement.closest( '[role=\"row\"]' );\n\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\tconst currentColumnIndex = focusablesInRow.indexOf( activeElement );\n\n\t\tif ( includes( [ LEFT, RIGHT ], keyCode ) ) {\n\t\t\t// Calculate to the next element.\n\t\t\tlet nextIndex;\n\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t} else {\n\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Focus is either at the left or right edge of the grid.\n\t\t\tif ( nextIndex === currentColumnIndex ) {\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t// Left:\n\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\tif ( activeRow?.ariaExpanded === 'true' ) {\n\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// If a row is focused, and it is collapsed, moves to the parent row (if there is one).\n\t\t\t\t\tconst level = Math.max(\n\t\t\t\t\t\tparseInt( activeRow?.ariaLevel ?? 1, 10 ) - 1,\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t\t);\n\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tif ( parseInt( rows[ i ].ariaLevel, 10 ) === level ) {\n\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// Right:\n\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\tif ( activeRow?.ariaExpanded === 'false' ) {\n\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// If a row is focused, and it is expanded, focuses the rightmost cell in the row.\n\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\tfocusableItems[ focusableItems.length - 1 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t// keys.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Focus the next element.\n\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t// doesn't try to handle key navigation.\n\t\t\tevent.preventDefault();\n\t\t} else if ( includes( [ UP, DOWN ], keyCode ) ) {\n\t\t\t// Calculate the rowIndex of the next row.\n\t\t\tconst rows = Array.from(\n\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t);\n\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\tlet nextRowIndex;\n\n\t\t\tif ( keyCode === UP ) {\n\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t} else {\n\t\t\t\tnextRowIndex = Math.min( currentRowIndex + 1, rows.length - 1 );\n\t\t\t}\n\n\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t// bounds of a table.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Get the focusables in the next row.\n\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\trows[ nextRowIndex ]\n\t\t\t);\n\n\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\tconst nextIndex = Math.min(\n\t\t\t\tcurrentColumnIndex,\n\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t);\n\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t// doesn't try to handle key navigation.\n\t\t\tevent.preventDefault();\n\t\t}\n\t}, [] );\n\n\t/* Disable reason: A treegrid is implemented using a table element. */\n\t/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<RovingTabIndexContainer>\n\t\t\t<table\n\t\t\t\t{ ...props }\n\t\t\t\trole=\"treegrid\"\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t</table>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( TreeGrid );\nexport { default as TreeGridRow } from './row';\nexport { default as TreeGridCell } from './cell';\nexport { default as TreeGridItem } from './item';\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tree-grid/index.js"],"names":["includes","focus","forwardRef","useCallback","UP","DOWN","LEFT","RIGHT","RovingTabIndexContainer","getRowFocusables","rowElement","focusablesInRow","focusable","find","sequential","length","filter","closest","TreeGrid","children","onExpandRow","onCollapseRow","props","ref","onKeyDown","event","keyCode","metaKey","ctrlKey","altKey","shiftKey","hasModifierKeyPressed","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","nextIndex","Math","max","min","ariaExpanded","preventDefault","level","parseInt","ariaLevel","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","focusableItems","nextRowIndex","focusablesInNextRow","default","TreeGridRow","TreeGridCell","TreeGridItem"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param {Element} rowElement The DOM element representing the row.\n *\n * @return {?Array} The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement, {\n\t\tsequential: true,\n\t} );\n\n\tif ( ! focusablesInRow || ! focusablesInRow.length ) {\n\t\treturn;\n\t}\n\n\treturn focusablesInRow.filter( ( focusable ) => {\n\t\treturn focusable.closest( '[role=\"row\"]' ) === rowElement;\n\t} );\n}\n\n/**\n * Renders both a table and tbody element, used to create a tree hierarchy.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/components/src/tree-grid/README.md\n * @param {Object} props Component props.\n * @param {WPElement} props.children Children to be rendered.\n * @param {Function} props.onExpandRow Callback to fire when row is expanded.\n * @param {Function} props.onCollapseRow Callback to fire when row is collapsed.\n * @param {Object} ref A ref to the underlying DOM table element.\n */\nfunction TreeGrid(\n\t{ children, onExpandRow = () => {}, onCollapseRow = () => {}, ...props },\n\tref\n) {\n\tconst onKeyDown = useCallback( ( event ) => {\n\t\tconst { keyCode, metaKey, ctrlKey, altKey, shiftKey } = event;\n\n\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey || shiftKey;\n\n\t\tif (\n\t\t\thasModifierKeyPressed ||\n\t\t\t! includes( [ UP, DOWN, LEFT, RIGHT ], keyCode )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The event will be handled, stop propagation.\n\t\tevent.stopPropagation();\n\n\t\tconst { activeElement } = document;\n\t\tconst { currentTarget: treeGridElement } = event;\n\t\tif ( ! treeGridElement.contains( activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate the columnIndex of the active element.\n\t\tconst activeRow = activeElement.closest( '[role=\"row\"]' );\n\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\tconst currentColumnIndex = focusablesInRow.indexOf( activeElement );\n\n\t\tif ( includes( [ LEFT, RIGHT ], keyCode ) ) {\n\t\t\t// Calculate to the next element.\n\t\t\tlet nextIndex;\n\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t} else {\n\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Focus is either at the left or right edge of the grid.\n\t\t\tif ( nextIndex === currentColumnIndex ) {\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t// Left:\n\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\tif ( activeRow?.ariaExpanded === 'true' ) {\n\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// If a row is focused, and it is collapsed, moves to the parent row (if there is one).\n\t\t\t\t\tconst level = Math.max(\n\t\t\t\t\t\tparseInt( activeRow?.ariaLevel ?? 1, 10 ) - 1,\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t\t);\n\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tif ( parseInt( rows[ i ].ariaLevel, 10 ) === level ) {\n\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// Right:\n\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\tif ( activeRow?.ariaExpanded === 'false' ) {\n\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// If a row is focused, and it is expanded, focuses the rightmost cell in the row.\n\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\tfocusableItems[ focusableItems.length - 1 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t// keys.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Focus the next element.\n\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t// doesn't try to handle key navigation.\n\t\t\tevent.preventDefault();\n\t\t} else if ( includes( [ UP, DOWN ], keyCode ) ) {\n\t\t\t// Calculate the rowIndex of the next row.\n\t\t\tconst rows = Array.from(\n\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t);\n\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\tlet nextRowIndex;\n\n\t\t\tif ( keyCode === UP ) {\n\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t} else {\n\t\t\t\tnextRowIndex = Math.min( currentRowIndex + 1, rows.length - 1 );\n\t\t\t}\n\n\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t// bounds of a table.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Get the focusables in the next row.\n\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\trows[ nextRowIndex ]\n\t\t\t);\n\n\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\tconst nextIndex = Math.min(\n\t\t\t\tcurrentColumnIndex,\n\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t);\n\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t// doesn't try to handle key navigation.\n\t\t\tevent.preventDefault();\n\t\t}\n\t}, [] );\n\n\t/* Disable reason: A treegrid is implemented using a table element. */\n\t/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<RovingTabIndexContainer>\n\t\t\t<table\n\t\t\t\t{ ...props }\n\t\t\t\trole=\"treegrid\"\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t</table>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( TreeGrid );\nexport { default as TreeGridRow } from './row';\nexport { default as TreeGridCell } from './cell';\nexport { default as TreeGridItem } from './item';\n"]}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { createElement } from "@wordpress/element";
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* Internal dependencies
|
|
3
6
|
*/
|
|
4
|
-
import {
|
|
7
|
+
import { contextConnect } from '../ui/context';
|
|
8
|
+
import { View } from '../view';
|
|
5
9
|
import useTruncate from './hook';
|
|
10
|
+
/**
|
|
11
|
+
* @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props
|
|
12
|
+
* @param {import('react').Ref<any>} forwardedRef
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
function Truncate(props, forwardedRef) {
|
|
16
|
+
const truncateProps = useTruncate(props);
|
|
17
|
+
return createElement(View, _extends({
|
|
18
|
+
as: "span"
|
|
19
|
+
}, truncateProps, {
|
|
20
|
+
ref: forwardedRef
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
6
23
|
/**
|
|
7
24
|
* `Truncate` is a typography primitive that trims text content.
|
|
8
25
|
* For almost all cases, it is recommended that `Text`, `Heading`, or
|
|
@@ -25,10 +42,7 @@ import useTruncate from './hook';
|
|
|
25
42
|
* ```
|
|
26
43
|
*/
|
|
27
44
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
name: 'Truncate'
|
|
32
|
-
});
|
|
33
|
-
export default Truncate;
|
|
45
|
+
|
|
46
|
+
const ConnectedTruncate = contextConnect(Truncate, 'Truncate');
|
|
47
|
+
export default ConnectedTruncate;
|
|
34
48
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/truncate/component.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/truncate/component.js"],"names":["contextConnect","View","useTruncate","Truncate","props","forwardedRef","truncateProps","ConnectedTruncate"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,cAAT,QAA+B,eAA/B;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,OAAOC,WAAP,MAAwB,QAAxB;AAEA;AACA;AACA;AACA;;AACA,SAASC,QAAT,CAAmBC,KAAnB,EAA0BC,YAA1B,EAAyC;AACxC,QAAMC,aAAa,GAAGJ,WAAW,CAAEE,KAAF,CAAjC;AAEA,SAAO,cAAC,IAAD;AAAM,IAAA,EAAE,EAAC;AAAT,KAAqBE,aAArB;AAAqC,IAAA,GAAG,EAAGD;AAA3C,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,iBAAiB,GAAGP,cAAc,CAAEG,QAAF,EAAY,UAAZ,CAAxC;AAEA,eAAeI,iBAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../ui/context';\nimport { View } from '../view';\nimport useTruncate from './hook';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props\n * @param {import('react').Ref<any>} forwardedRef\n */\nfunction Truncate( props, forwardedRef ) {\n\tconst truncateProps = useTruncate( props );\n\n\treturn <View as=\"span\" { ...truncateProps } ref={ forwardedRef } />;\n}\n\n/**\n * `Truncate` is a typography primitive that trims text content.\n * For almost all cases, it is recommended that `Text`, `Heading`, or\n * `Subheading` is used to render text content. However,`Truncate` is\n * available for custom implementations.\n *\n * @example\n * ```jsx\n * import { __experimentalTruncate as Truncate } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<Truncate>\n * \t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ex\n * \t\t\tneque, vulputate a diam et, luctus convallis lacus. Vestibulum ac\n * \t\t\tmollis mi. Morbi id elementum massa.\n * \t\t</Truncate>\n * \t);\n * }\n * ```\n */\nconst ConnectedTruncate = contextConnect( Truncate, 'Truncate' );\n\nexport default ConnectedTruncate;\n"]}
|
|
@@ -16,7 +16,7 @@ import * as styles from './styles';
|
|
|
16
16
|
import { TRUNCATE_ELLIPSIS, TRUNCATE_TYPE, truncateContent } from './utils';
|
|
17
17
|
import { useCx } from '../utils/hooks/use-cx';
|
|
18
18
|
/**
|
|
19
|
-
* @param {import('../ui/context').
|
|
19
|
+
* @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
export default function useTruncate(props) {
|
|
@@ -41,7 +41,7 @@ export default function useTruncate(props) {
|
|
|
41
41
|
const shouldTruncate = ellipsizeMode === TRUNCATE_TYPE.auto;
|
|
42
42
|
const classes = useMemo(() => {
|
|
43
43
|
const sx = {};
|
|
44
|
-
sx.numberOfLines = /*#__PURE__*/css("-webkit-box-orient:vertical;-webkit-line-clamp:", numberOfLines, ";display:-webkit-box;overflow:hidden;" + (process.env.NODE_ENV === "production" ? "" : ";label:sx-numberOfLines;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
sx.numberOfLines = /*#__PURE__*/css("-webkit-box-orient:vertical;-webkit-line-clamp:", numberOfLines, ";display:-webkit-box;overflow:hidden;" + (process.env.NODE_ENV === "production" ? "" : ";label:sx-numberOfLines;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpRHdCIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdAd29yZHByZXNzL2VsZW1lbnQnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyB1c2VDb250ZXh0U3lzdGVtIH0gZnJvbSAnLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSAnLi9zdHlsZXMnO1xuaW1wb3J0IHsgVFJVTkNBVEVfRUxMSVBTSVMsIFRSVU5DQVRFX1RZUEUsIHRydW5jYXRlQ29udGVudCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlQ3ggfSBmcm9tICcuLi91dGlscy9ob29rcy91c2UtY3gnO1xuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi91aS9jb250ZXh0JykuV29yZFByZXNzQ29tcG9uZW50UHJvcHM8aW1wb3J0KCcuL3R5cGVzJykuUHJvcHMsICdzcGFuJz59IHByb3BzXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVRydW5jYXRlKCBwcm9wcyApIHtcblx0Y29uc3Qge1xuXHRcdGNsYXNzTmFtZSxcblx0XHRjaGlsZHJlbixcblx0XHRlbGxpcHNpcyA9IFRSVU5DQVRFX0VMTElQU0lTLFxuXHRcdGVsbGlwc2l6ZU1vZGUgPSBUUlVOQ0FURV9UWVBFLmF1dG8sXG5cdFx0bGltaXQgPSAwLFxuXHRcdG51bWJlck9mTGluZXMgPSAwLFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVHJ1bmNhdGUnICk7XG5cblx0Y29uc3QgY3ggPSB1c2VDeCgpO1xuXG5cdGNvbnN0IHRydW5jYXRlZENvbnRlbnQgPSB0cnVuY2F0ZUNvbnRlbnQoXG5cdFx0dHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJyA/IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoIGNoaWxkcmVuICkgOiAnJyxcblx0XHR7XG5cdFx0XHRlbGxpcHNpcyxcblx0XHRcdGVsbGlwc2l6ZU1vZGUsXG5cdFx0XHRsaW1pdCxcblx0XHRcdG51bWJlck9mTGluZXMsXG5cdFx0fVxuXHQpO1xuXG5cdGNvbnN0IHNob3VsZFRydW5jYXRlID0gZWxsaXBzaXplTW9kZSA9PT0gVFJVTkNBVEVfVFlQRS5hdXRvO1xuXG5cdGNvbnN0IGNsYXNzZXMgPSB1c2VNZW1vKCAoKSA9PiB7XG5cdFx0Y29uc3Qgc3ggPSB7fTtcblxuXHRcdHN4Lm51bWJlck9mTGluZXMgPSBjc3NgXG5cdFx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuXHRcdFx0LXdlYmtpdC1saW5lLWNsYW1wOiAkeyBudW1iZXJPZkxpbmVzIH07XG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YDtcblxuXHRcdHJldHVybiBjeChcblx0XHRcdHNob3VsZFRydW5jYXRlICYmICEgbnVtYmVyT2ZMaW5lcyAmJiBzdHlsZXMuVHJ1bmNhdGUsXG5cdFx0XHRzaG91bGRUcnVuY2F0ZSAmJiAhISBudW1iZXJPZkxpbmVzICYmIHN4Lm51bWJlck9mTGluZXMsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbIGNsYXNzTmFtZSwgbnVtYmVyT2ZMaW5lcywgc2hvdWxkVHJ1bmNhdGUgXSApO1xuXG5cdHJldHVybiB7IC4uLm90aGVyUHJvcHMsIGNsYXNzTmFtZTogY2xhc3NlcywgY2hpbGRyZW46IHRydW5jYXRlZENvbnRlbnQgfTtcbn1cbiJdfQ== */");
|
|
45
45
|
return cx(shouldTruncate && !numberOfLines && styles.Truncate, shouldTruncate && !!numberOfLines && sx.numberOfLines, className);
|
|
46
46
|
}, [className, numberOfLines, shouldTruncate]);
|
|
47
47
|
return { ...otherProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/truncate/hook.js"],"names":["css","useMemo","useContextSystem","styles","TRUNCATE_ELLIPSIS","TRUNCATE_TYPE","truncateContent","useCx","useTruncate","props","className","children","ellipsis","ellipsizeMode","auto","limit","numberOfLines","otherProps","cx","truncatedContent","shouldTruncate","classes","sx","Truncate"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,gBAApB;AAEA;AACA;AACA;;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,gBAAT,QAAiC,eAAjC;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;AACA,SAASC,iBAAT,EAA4BC,aAA5B,EAA2CC,eAA3C,QAAkE,SAAlE;AACA,SAASC,KAAT,QAAsB,uBAAtB;AAEA;AACA;AACA;;AACA,eAAe,SAASC,WAAT,CAAsBC,KAAtB,EAA8B;AAC5C,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,QAAQ,GAAGR,iBAHN;AAILS,IAAAA,aAAa,GAAGR,aAAa,CAACS,IAJzB;AAKLC,IAAAA,KAAK,GAAG,CALH;AAMLC,IAAAA,aAAa,GAAG,CANX;AAOL,OAAGC;AAPE,MAQFf,gBAAgB,CAAEO,KAAF,EAAS,UAAT,CARpB;AAUA,QAAMS,EAAE,GAAGX,KAAK,EAAhB;AAEA,QAAMY,gBAAgB,GAAGb,eAAe,CACvC,OAAOK,QAAP,KAAoB,QAApB;AAA+B;AAAwBA,EAAAA,QAAvD,GAAoE,EAD7B,EAEvC;AACCC,IAAAA,QADD;AAECC,IAAAA,aAFD;AAGCE,IAAAA,KAHD;AAICC,IAAAA;AAJD,GAFuC,CAAxC;AAUA,QAAMI,cAAc,GAAGP,aAAa,KAAKR,aAAa,CAACS,IAAvD;AAEA,QAAMO,OAAO,GAAGpB,OAAO,CAAE,MAAM;AAC9B,UAAMqB,EAAE,GAAG,EAAX;AAEAA,IAAAA,EAAE,CAACN,aAAH,gBAAmBhB,GAAnB,oDAEwBgB,aAFxB;AAOA,WAAOE,EAAE,CACRE,cAAc,IAAI,CAAEJ,aAApB,IAAqCb,MAAM,CAACoB,QADpC,EAERH,cAAc,IAAI,CAAC,CAAEJ,aAArB,IAAsCM,EAAE,CAACN,aAFjC,EAGRN,SAHQ,CAAT;AAKA,GAfsB,EAepB,CAAEA,SAAF,EAAaM,aAAb,EAA4BI,cAA5B,CAfoB,CAAvB;AAiBA,SAAO,EAAE,GAAGH,UAAL;AAAiBP,IAAAA,SAAS,EAAEW,OAA5B;AAAqCV,IAAAA,QAAQ,EAAEQ;AAA/C,GAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport * as styles from './styles';\nimport { TRUNCATE_ELLIPSIS, TRUNCATE_TYPE, truncateContent } from './utils';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/truncate/hook.js"],"names":["css","useMemo","useContextSystem","styles","TRUNCATE_ELLIPSIS","TRUNCATE_TYPE","truncateContent","useCx","useTruncate","props","className","children","ellipsis","ellipsizeMode","auto","limit","numberOfLines","otherProps","cx","truncatedContent","shouldTruncate","classes","sx","Truncate"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,gBAApB;AAEA;AACA;AACA;;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,gBAAT,QAAiC,eAAjC;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;AACA,SAASC,iBAAT,EAA4BC,aAA5B,EAA2CC,eAA3C,QAAkE,SAAlE;AACA,SAASC,KAAT,QAAsB,uBAAtB;AAEA;AACA;AACA;;AACA,eAAe,SAASC,WAAT,CAAsBC,KAAtB,EAA8B;AAC5C,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,QAAQ,GAAGR,iBAHN;AAILS,IAAAA,aAAa,GAAGR,aAAa,CAACS,IAJzB;AAKLC,IAAAA,KAAK,GAAG,CALH;AAMLC,IAAAA,aAAa,GAAG,CANX;AAOL,OAAGC;AAPE,MAQFf,gBAAgB,CAAEO,KAAF,EAAS,UAAT,CARpB;AAUA,QAAMS,EAAE,GAAGX,KAAK,EAAhB;AAEA,QAAMY,gBAAgB,GAAGb,eAAe,CACvC,OAAOK,QAAP,KAAoB,QAApB;AAA+B;AAAwBA,EAAAA,QAAvD,GAAoE,EAD7B,EAEvC;AACCC,IAAAA,QADD;AAECC,IAAAA,aAFD;AAGCE,IAAAA,KAHD;AAICC,IAAAA;AAJD,GAFuC,CAAxC;AAUA,QAAMI,cAAc,GAAGP,aAAa,KAAKR,aAAa,CAACS,IAAvD;AAEA,QAAMO,OAAO,GAAGpB,OAAO,CAAE,MAAM;AAC9B,UAAMqB,EAAE,GAAG,EAAX;AAEAA,IAAAA,EAAE,CAACN,aAAH,gBAAmBhB,GAAnB,oDAEwBgB,aAFxB;AAOA,WAAOE,EAAE,CACRE,cAAc,IAAI,CAAEJ,aAApB,IAAqCb,MAAM,CAACoB,QADpC,EAERH,cAAc,IAAI,CAAC,CAAEJ,aAArB,IAAsCM,EAAE,CAACN,aAFjC,EAGRN,SAHQ,CAAT;AAKA,GAfsB,EAepB,CAAEA,SAAF,EAAaM,aAAb,EAA4BI,cAA5B,CAfoB,CAAvB;AAiBA,SAAO,EAAE,GAAGH,UAAL;AAAiBP,IAAAA,SAAS,EAAEW,OAA5B;AAAqCV,IAAAA,QAAQ,EAAEQ;AAA/C,GAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport * as styles from './styles';\nimport { TRUNCATE_ELLIPSIS, TRUNCATE_TYPE, truncateContent } from './utils';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props\n */\nexport default function useTruncate( props ) {\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tellipsis = TRUNCATE_ELLIPSIS,\n\t\tellipsizeMode = TRUNCATE_TYPE.auto,\n\t\tlimit = 0,\n\t\tnumberOfLines = 0,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Truncate' );\n\n\tconst cx = useCx();\n\n\tconst truncatedContent = truncateContent(\n\t\ttypeof children === 'string' ? /** @type {string} */ ( children ) : '',\n\t\t{\n\t\t\tellipsis,\n\t\t\tellipsizeMode,\n\t\t\tlimit,\n\t\t\tnumberOfLines,\n\t\t}\n\t);\n\n\tconst shouldTruncate = ellipsizeMode === TRUNCATE_TYPE.auto;\n\n\tconst classes = useMemo( () => {\n\t\tconst sx = {};\n\n\t\tsx.numberOfLines = css`\n\t\t\t-webkit-box-orient: vertical;\n\t\t\t-webkit-line-clamp: ${ numberOfLines };\n\t\t\tdisplay: -webkit-box;\n\t\t\toverflow: hidden;\n\t\t`;\n\n\t\treturn cx(\n\t\t\tshouldTruncate && ! numberOfLines && styles.Truncate,\n\t\t\tshouldTruncate && !! numberOfLines && sx.numberOfLines,\n\t\t\tclassName\n\t\t);\n\t}, [ className, numberOfLines, shouldTruncate ] );\n\n\treturn { ...otherProps, className: classes, children: truncatedContent };\n}\n"]}
|
|
@@ -24,12 +24,12 @@ import { getStyledClassNameFromKey } from './get-styled-class-name-from-key';
|
|
|
24
24
|
* The hope is that we can improve render performance by removing functional
|
|
25
25
|
* component wrappers.
|
|
26
26
|
*
|
|
27
|
-
* @template {import('./
|
|
27
|
+
* @template {import('./wordpress-component').WordPressComponentProps<{}, any, any>} P
|
|
28
28
|
* @param {(props: P, ref: import('react').Ref<any>) => JSX.Element | null} Component The component to register into the Context system.
|
|
29
29
|
* @param {string} namespace The namespace to register the component under.
|
|
30
30
|
* @param {Object} options
|
|
31
31
|
* @param {boolean} [options.memo=false]
|
|
32
|
-
* @return {import('./
|
|
32
|
+
* @return {import('./wordpress-component').WordPressComponentFromProps<P>} The connected WordPressComponent
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
35
|
export function contextConnect(Component, namespace, options = {}) {
|
|
@@ -64,7 +64,7 @@ export function contextConnect(Component, namespace, options = {}) {
|
|
|
64
64
|
|
|
65
65
|
WrappedComponent.displayName = namespace; // @ts-ignore internal property
|
|
66
66
|
|
|
67
|
-
WrappedComponent[CONNECT_STATIC_NAMESPACE] = uniq(mergedNamespace); // @ts-ignore
|
|
67
|
+
WrappedComponent[CONNECT_STATIC_NAMESPACE] = uniq(mergedNamespace); // @ts-ignore WordPressComponent property
|
|
68
68
|
|
|
69
69
|
WrappedComponent.selector = `.${getStyledClassNameFromKey(namespace)}`; // @ts-ignore
|
|
70
70
|
|