@wordpress/components 24.0.0 → 25.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/CONTRIBUTING.md +10 -0
- package/build/alignment-matrix-control/cell.js +5 -6
- package/build/alignment-matrix-control/cell.js.map +1 -1
- package/build/alignment-matrix-control/icon.js +8 -9
- package/build/alignment-matrix-control/icon.js.map +1 -1
- package/build/alignment-matrix-control/index.js +10 -11
- package/build/alignment-matrix-control/index.js.map +1 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
- package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build/alignment-matrix-control/utils.js +1 -2
- package/build/alignment-matrix-control/utils.js.map +1 -1
- package/build/angle-picker-control/angle-circle.js +6 -9
- package/build/angle-picker-control/angle-circle.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/animate/index.js +5 -6
- package/build/animate/index.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.js +29 -33
- package/build/autocomplete/autocompleter-ui.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.native.js +15 -22
- package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
- package/build/autocomplete/background-view.android.js +3 -4
- package/build/autocomplete/background-view.android.js.map +1 -1
- package/build/autocomplete/background-view.ios.js +3 -4
- package/build/autocomplete/background-view.ios.js.map +1 -1
- package/build/autocomplete/get-default-use-items.js +1 -3
- package/build/autocomplete/get-default-use-items.js.map +1 -1
- package/build/autocomplete/index.js +18 -23
- package/build/autocomplete/index.js.map +1 -1
- package/build/base-control/index.js +14 -16
- package/build/base-control/index.js.map +1 -1
- package/build/base-control/index.native.js +5 -6
- package/build/base-control/index.native.js.map +1 -1
- package/build/base-control/styles/base-control-styles.js +6 -8
- package/build/base-control/styles/base-control-styles.js.map +1 -1
- package/build/border-box-control/border-box-control/hook.js +5 -5
- package/build/border-box-control/border-box-control/hook.js.map +1 -1
- package/build/border-box-control/border-box-control-split-controls/component.js +4 -4
- package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build/border-box-control/styles.js +3 -3
- package/build/border-box-control/styles.js.map +1 -1
- package/build/border-box-control/utils.js +5 -8
- package/build/border-box-control/utils.js.map +1 -1
- package/build/border-control/border-control/component.js +1 -1
- package/build/border-control/border-control/component.js.map +1 -1
- package/build/border-control/border-control/hook.js +5 -5
- package/build/border-control/border-control/hook.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js +70 -67
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/border-control/border-control-dropdown/hook.js +4 -4
- package/build/border-control/border-control-dropdown/hook.js.map +1 -1
- package/build/box-control/all-input-control.js +11 -12
- package/build/box-control/all-input-control.js.map +1 -1
- package/build/box-control/axial-input-controls.js +12 -14
- package/build/box-control/axial-input-controls.js.map +1 -1
- package/build/box-control/icon.js +7 -9
- package/build/box-control/icon.js.map +1 -1
- package/build/box-control/index.js +22 -24
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/input-controls.js +15 -18
- package/build/box-control/input-controls.js.map +1 -1
- package/build/box-control/linked-button.js +4 -5
- package/build/box-control/linked-button.js.map +1 -1
- package/build/box-control/styles/box-control-icon-styles.js +3 -4
- package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
- package/build/box-control/styles/box-control-styles.js +9 -12
- package/build/box-control/styles/box-control-styles.js.map +1 -1
- package/build/box-control/styles/box-control-visualizer-styles.js +7 -11
- package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build/box-control/unit-control.js +18 -22
- package/build/box-control/unit-control.js.map +1 -1
- package/build/box-control/utils.js +4 -10
- package/build/box-control/utils.js.map +1 -1
- package/build/button/deprecated.js +7 -8
- package/build/button/deprecated.js.map +1 -1
- package/build/button/index.js +15 -16
- package/build/button/index.js.map +1 -1
- package/build/button/index.native.js +5 -7
- package/build/button/index.native.js.map +1 -1
- package/build/card/card/hook.js +5 -6
- package/build/card/card/hook.js.map +1 -1
- package/build/circular-option-picker/index.js +27 -33
- package/build/circular-option-picker/index.js.map +1 -1
- package/build/clipboard-button/index.js +8 -9
- package/build/clipboard-button/index.js.map +1 -1
- package/build/color-control/index.native.js +7 -8
- package/build/color-control/index.native.js.map +1 -1
- package/build/color-indicator/index.native.js +10 -12
- package/build/color-indicator/index.native.js.map +1 -1
- package/build/color-palette/index.js +63 -72
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/index.native.js +33 -47
- package/build/color-palette/index.native.js.map +1 -1
- package/build/color-palette/utils.js +2 -5
- package/build/color-palette/utils.js.map +1 -1
- package/build/color-picker/color-input.js +6 -7
- package/build/color-picker/color-input.js.map +1 -1
- package/build/color-picker/hex-input.js +8 -12
- package/build/color-picker/hex-input.js.map +1 -1
- package/build/color-picker/hsl-input.js +5 -6
- package/build/color-picker/hsl-input.js.map +1 -1
- package/build/color-picker/index.native.js +23 -30
- package/build/color-picker/index.native.js.map +1 -1
- package/build/color-picker/input-with-slider.js +8 -10
- package/build/color-picker/input-with-slider.js.map +1 -1
- package/build/color-picker/picker.js +5 -6
- package/build/color-picker/picker.js.map +1 -1
- package/build/color-picker/rgb-input.js +5 -6
- package/build/color-picker/rgb-input.js.map +1 -1
- package/build/color-picker/styles.js +8 -8
- package/build/color-picker/styles.js.map +1 -1
- package/build/color-picker/use-deprecated-props.js +1 -3
- package/build/color-picker/use-deprecated-props.js.map +1 -1
- package/build/combobox-control/index.js +3 -6
- package/build/combobox-control/index.js.map +1 -1
- package/build/combobox-control/styles.js +3 -6
- package/build/combobox-control/styles.js.map +1 -1
- package/build/confirm-dialog/component.js +1 -1
- package/build/confirm-dialog/component.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/control-points.js +116 -131
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/index.js +12 -14
- package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/utils.js +4 -6
- package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
- package/build/custom-gradient-picker/index.js +19 -22
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/custom-gradient-picker/index.native.js +7 -8
- package/build/custom-gradient-picker/index.native.js.map +1 -1
- package/build/custom-gradient-picker/serializer.js +15 -21
- package/build/custom-gradient-picker/serializer.js.map +1 -1
- package/build/custom-gradient-picker/utils.js +6 -9
- package/build/custom-gradient-picker/utils.js.map +1 -1
- package/build/custom-select-control/index.js +14 -21
- package/build/custom-select-control/index.js.map +1 -1
- package/build/dashicon/index.js +7 -8
- package/build/dashicon/index.js.map +1 -1
- package/build/dashicon/index.native.js +4 -5
- package/build/dashicon/index.native.js.map +1 -1
- package/build/date-time/date/index.js +24 -26
- package/build/date-time/date/index.js.map +1 -1
- package/build/date-time/date-time/index.js +11 -93
- package/build/date-time/date-time/index.js.map +1 -1
- package/build/date-time/date-time/styles.js +4 -19
- package/build/date-time/date-time/styles.js.map +1 -1
- package/build/date-time/time/index.js +11 -14
- package/build/date-time/time/index.js.map +1 -1
- package/build/dimension-control/index.js +8 -11
- package/build/dimension-control/index.js.map +1 -1
- package/build/disabled/index.js +6 -7
- package/build/disabled/index.js.map +1 -1
- package/build/disabled/index.native.js +3 -4
- package/build/disabled/index.native.js.map +1 -1
- package/build/divider/styles.js +21 -29
- package/build/divider/styles.js.map +1 -1
- package/build/draggable/index.js +14 -19
- package/build/draggable/index.js.map +1 -1
- package/build/draggable/index.native.js +17 -19
- package/build/draggable/index.native.js.map +1 -1
- package/build/drop-zone/index.js +11 -16
- package/build/drop-zone/index.js.map +1 -1
- package/build/drop-zone/provider.js +3 -4
- package/build/drop-zone/provider.js.map +1 -1
- package/build/dropdown/index.js +19 -23
- package/build/dropdown/index.js.map +1 -1
- package/build/dropdown/styles.js +3 -4
- package/build/dropdown/styles.js.map +1 -1
- package/build/dropdown-menu/index.js +96 -26
- package/build/dropdown-menu/index.js.map +1 -1
- package/build/dropdown-menu/index.native.js +22 -30
- package/build/dropdown-menu/index.native.js.map +1 -1
- package/build/dropdown-menu/types.js +6 -0
- package/build/dropdown-menu/types.js.map +1 -0
- package/build/dropdown-menu-v2/index.js +230 -0
- package/build/dropdown-menu-v2/index.js.map +1 -0
- package/build/dropdown-menu-v2/styles.js +184 -0
- package/build/dropdown-menu-v2/styles.js.map +1 -0
- package/build/dropdown-menu-v2/types.js +6 -0
- package/build/dropdown-menu-v2/types.js.map +1 -0
- package/build/duotone-picker/color-list-picker/index.js +16 -18
- package/build/duotone-picker/color-list-picker/index.js.map +1 -1
- package/build/duotone-picker/custom-duotone-bar.js +4 -5
- package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +15 -17
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/duotone-picker/duotone-swatch.js +3 -4
- package/build/duotone-picker/duotone-swatch.js.map +1 -1
- package/build/duotone-picker/utils.js +14 -27
- package/build/duotone-picker/utils.js.map +1 -1
- package/build/external-link/index.js +1 -1
- package/build/external-link/index.js.map +1 -1
- package/build/external-link/index.native.js +4 -5
- package/build/external-link/index.native.js.map +1 -1
- package/build/focal-point-picker/controls.js +11 -10
- package/build/focal-point-picker/controls.js.map +1 -1
- package/build/focal-point-picker/focal-point.js +5 -6
- package/build/focal-point-picker/focal-point.js.map +1 -1
- package/build/focal-point-picker/focal-point.native.js +5 -6
- package/build/focal-point-picker/focal-point.native.js.map +1 -1
- package/build/focal-point-picker/grid.js +4 -5
- package/build/focal-point-picker/grid.js.map +1 -1
- package/build/focal-point-picker/index.js +33 -37
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/index.native.js +10 -12
- package/build/focal-point-picker/index.native.js.map +1 -1
- package/build/focal-point-picker/media.js +11 -13
- package/build/focal-point-picker/media.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-picker-style.js +9 -14
- package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-style.js +3 -6
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/focal-point-picker/tooltip/index.native.js +16 -21
- package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
- package/build/focal-point-picker/utils.js +2 -4
- package/build/focal-point-picker/utils.js.map +1 -1
- package/build/focusable-iframe/index.js +4 -5
- package/build/focusable-iframe/index.js.map +1 -1
- package/build/font-size-picker/font-size-picker-select.js +3 -5
- package/build/font-size-picker/font-size-picker-select.js.map +1 -1
- package/build/font-size-picker/index.js +13 -19
- package/build/font-size-picker/index.js.map +1 -1
- package/build/font-size-picker/index.native.js +6 -7
- package/build/font-size-picker/index.native.js.map +1 -1
- package/build/font-size-picker/styles.js +24 -8
- package/build/font-size-picker/styles.js.map +1 -1
- package/build/footer-message-control/index.native.js +2 -3
- package/build/footer-message-control/index.native.js.map +1 -1
- package/build/form-file-upload/index.js +10 -13
- package/build/form-file-upload/index.js.map +1 -1
- package/build/form-token-field/index.js +4 -19
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/styles.js +4 -7
- package/build/form-token-field/styles.js.map +1 -1
- package/build/form-token-field/suggestions-list.js +14 -15
- package/build/form-token-field/suggestions-list.js.map +1 -1
- package/build/form-token-field/token-input.js +2 -2
- package/build/form-token-field/token-input.js.map +1 -1
- package/build/form-token-field/token.js +14 -15
- package/build/form-token-field/token.js.map +1 -1
- package/build/gradient-picker/index.js +51 -58
- package/build/gradient-picker/index.js.map +1 -1
- package/build/guide/icons.js +13 -16
- package/build/guide/icons.js.map +1 -1
- package/build/guide/index.js +9 -12
- package/build/guide/index.js.map +1 -1
- package/build/guide/page-control.js +5 -6
- package/build/guide/page-control.js.map +1 -1
- package/build/h-stack/utils.js +1 -3
- package/build/h-stack/utils.js.map +1 -1
- package/build/higher-order/navigate-regions/index.js +16 -22
- package/build/higher-order/navigate-regions/index.js.map +1 -1
- package/build/higher-order/with-focus-outside/index.js +1 -1
- package/build/higher-order/with-focus-outside/index.js.map +1 -1
- package/build/higher-order/with-focus-outside/index.native.js +1 -1
- package/build/higher-order/with-focus-outside/index.native.js.map +1 -1
- package/build/higher-order/with-focus-return/index.js +13 -17
- package/build/higher-order/with-focus-return/index.js.map +1 -1
- package/build/icon/index.js +5 -7
- package/build/icon/index.js.map +1 -1
- package/build/index.native.js +0 -9
- package/build/index.native.js.map +1 -1
- package/build/input-control/backdrop.js +4 -5
- package/build/input-control/backdrop.js.map +1 -1
- package/build/input-control/index.js +22 -23
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/input-base.js +16 -17
- package/build/input-control/input-base.js.map +1 -1
- package/build/input-control/input-field.js +26 -29
- package/build/input-control/input-field.js.map +1 -1
- package/build/input-control/label.js +6 -7
- package/build/input-control/label.js.map +1 -1
- package/build/input-control/reducer/reducer.js +2 -6
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +62 -64
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/input-control/utils.js +1 -3
- package/build/input-control/utils.js.map +1 -1
- package/build/keyboard-shortcuts/index.js +21 -26
- package/build/keyboard-shortcuts/index.js.map +1 -1
- package/build/menu-items-choice/index.js +6 -7
- package/build/menu-items-choice/index.js.map +1 -1
- package/build/mobile/audio-player/index.native.js +7 -8
- package/build/mobile/audio-player/index.native.js.map +1 -1
- package/build/mobile/badge/index.native.js +5 -6
- package/build/mobile/badge/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build/mobile/bottom-sheet/button.native.js +18 -21
- package/build/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cell.native.js +23 -11
- package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/color-cell.native.js +3 -1
- package/build/mobile/bottom-sheet/color-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
- package/build/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
- package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js +19 -30
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/link-cell.native.js +6 -7
- package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
- package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/lock-icon/index.native.js +33 -0
- package/build/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
- package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
- package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
- package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
- package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
- package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
- package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/radio-cell.native.js +4 -3
- package/build/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/range-cell.native.js +7 -3
- package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/range-text-input.native.js +5 -6
- package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
- package/build/mobile/bottom-sheet/ripple.native.js +10 -11
- package/build/mobile/bottom-sheet/ripple.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
- package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
- package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
- package/build/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
- package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/switch-cell.native.js +8 -2
- package/build/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet-select-control/index.native.js +11 -10
- package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-text-control/index.native.js +13 -12
- package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build/mobile/color-settings/index.native.js +12 -13
- package/build/mobile/color-settings/index.native.js.map +1 -1
- package/build/mobile/color-settings/utils.native.js +2 -2
- package/build/mobile/color-settings/utils.native.js.map +1 -1
- package/build/mobile/cycle-select-control/index.native.js +11 -12
- package/build/mobile/cycle-select-control/index.native.js.map +1 -1
- 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 +6 -14
- package/build/mobile/global-styles-context/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +69 -112
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/gradient/index.native.js +26 -33
- package/build/mobile/gradient/index.native.js.map +1 -1
- package/build/mobile/html-text-input/index.native.js +3 -3
- package/build/mobile/html-text-input/index.native.js.map +1 -1
- package/build/mobile/image/image-editing-button.native.js +22 -26
- package/build/mobile/image/image-editing-button.native.js.map +1 -1
- package/build/mobile/image/index.native.js +31 -34
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/keyboard-avoiding-view/index.ios.js +22 -29
- package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.android.js +5 -6
- package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
- package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
- package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
- package/build/mobile/layout-animation/index.native.js +1 -3
- package/build/mobile/layout-animation/index.native.js.map +1 -1
- package/build/mobile/link-picker/index.native.js +12 -16
- package/build/mobile/link-picker/index.native.js.map +1 -1
- package/build/mobile/link-picker/link-picker-results.native.js +34 -48
- package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
- package/build/mobile/link-picker/link-picker-screen.native.js +7 -10
- package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
- package/build/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
- package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
- package/build/mobile/link-settings/index.native.js +57 -58
- package/build/mobile/link-settings/index.native.js.map +1 -1
- package/build/mobile/media-edit/index.native.js +2 -2
- package/build/mobile/media-edit/index.native.js.map +1 -1
- package/build/mobile/picker/index.ios.js +3 -6
- package/build/mobile/picker/index.ios.js.map +1 -1
- package/build/mobile/segmented-control/index.native.js +16 -20
- package/build/mobile/segmented-control/index.native.js.map +1 -1
- package/build/mobile/utils/alignments.native.js +2 -6
- package/build/mobile/utils/alignments.native.js.map +1 -1
- package/build/mobile/utils/index.native.js +1 -2
- package/build/mobile/utils/index.native.js.map +1 -1
- package/build/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
- package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
- package/build/modal/index.js +3 -4
- package/build/modal/index.js.map +1 -1
- package/build/navigable-container/container.js +2 -6
- package/build/navigable-container/container.js.map +1 -1
- package/build/navigable-container/menu.js +5 -7
- package/build/navigable-container/menu.js.map +1 -1
- package/build/navigable-container/tabbable.js +4 -6
- package/build/navigable-container/tabbable.js.map +1 -1
- package/build/navigation/back-button/index.js +8 -11
- package/build/navigation/back-button/index.js.map +1 -1
- package/build/navigation/group/index.js +5 -6
- package/build/navigation/group/index.js.map +1 -1
- package/build/navigation/index.js +8 -11
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/item/base.js +1 -3
- package/build/navigation/item/base.js.map +1 -1
- package/build/navigation/menu/menu-title-search.js +11 -14
- package/build/navigation/menu/menu-title-search.js.map +1 -1
- package/build/navigation/menu/menu-title.js +8 -11
- package/build/navigation/menu/menu-title.js.map +1 -1
- package/build/navigation/menu/search-no-results-found.js +3 -4
- package/build/navigation/menu/search-no-results-found.js.map +1 -1
- package/build/navigator/navigator-back-button/hook.js +1 -1
- package/build/navigator/navigator-back-button/hook.js.map +1 -1
- package/build/navigator/navigator-button/hook.js +1 -1
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/navigator/navigator-provider/component.js +2 -6
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/navigator/navigator-screen/component.js +1 -1
- package/build/navigator/navigator-screen/component.js.map +1 -1
- package/build/notice/index.js +25 -29
- package/build/notice/index.js.map +1 -1
- package/build/notice/index.native.js +13 -18
- package/build/notice/index.native.js.map +1 -1
- package/build/notice/list.js +6 -8
- package/build/notice/list.js.map +1 -1
- package/build/number-control/index.js +24 -26
- package/build/number-control/index.js.map +1 -1
- package/build/number-control/styles/number-control-styles.js +6 -10
- package/build/number-control/styles/number-control-styles.js.map +1 -1
- package/build/palette-edit/index.js +83 -94
- package/build/palette-edit/index.js.map +1 -1
- package/build/panel/actions.native.js +8 -10
- package/build/panel/actions.native.js.map +1 -1
- package/build/panel/body.js +7 -10
- package/build/panel/body.js.map +1 -1
- package/build/panel/body.native.js +6 -7
- package/build/panel/body.native.js.map +1 -1
- package/build/panel/bottom-separator-cover.native.js +3 -4
- package/build/panel/bottom-separator-cover.native.js.map +1 -1
- package/build/panel/header.js +4 -5
- package/build/panel/header.js.map +1 -1
- package/build/panel/index.js +5 -6
- package/build/panel/index.js.map +1 -1
- package/build/panel/row.js +4 -5
- package/build/panel/row.js.map +1 -1
- package/build/popover/index.js +27 -31
- package/build/popover/index.js.map +1 -1
- package/build/popover/limit-shift.js +70 -75
- package/build/popover/limit-shift.js.map +1 -1
- package/build/popover/overlay-middlewares.js +7 -9
- package/build/popover/overlay-middlewares.js.map +1 -1
- package/build/popover/utils.js +26 -34
- package/build/popover/utils.js.map +1 -1
- package/build/private-apis.js +16 -1
- package/build/private-apis.js.map +1 -1
- package/build/query-controls/author-select.js +7 -8
- package/build/query-controls/author-select.js.map +1 -1
- package/build/query-controls/category-select.js +8 -9
- package/build/query-controls/category-select.js.map +1 -1
- package/build/query-controls/index.js +16 -17
- package/build/query-controls/index.js.map +1 -1
- package/build/query-controls/index.native.js +13 -14
- package/build/query-controls/index.native.js.map +1 -1
- package/build/radio-control/index.js +1 -1
- package/build/radio-control/index.js.map +1 -1
- package/build/radio-control/index.native.js +6 -7
- package/build/radio-control/index.native.js.map +1 -1
- package/build/radio-group/index.js +8 -9
- package/build/radio-group/index.js.map +1 -1
- package/build/radio-group/radio/index.js +5 -6
- package/build/radio-group/radio/index.js.map +1 -1
- package/build/range-control/index.js +1 -3
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/index.native.js +23 -22
- package/build/range-control/index.native.js.map +1 -1
- package/build/range-control/rail.js +7 -9
- package/build/range-control/rail.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +37 -52
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/range-control/tooltip.js +4 -5
- package/build/range-control/tooltip.js.map +1 -1
- package/build/resizable-box/index.js +8 -9
- package/build/resizable-box/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/index.js +12 -13
- package/build/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/label.js +6 -7
- package/build/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build/resizable-box/resize-tooltip/utils.js +16 -19
- package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build/responsive-wrapper/index.js +6 -8
- package/build/responsive-wrapper/index.js.map +1 -1
- package/build/sandbox/index.js +16 -23
- package/build/sandbox/index.js.map +1 -1
- package/build/sandbox/index.native.js +20 -26
- package/build/sandbox/index.native.js.map +1 -1
- package/build/search-control/index.js +14 -17
- package/build/search-control/index.js.map +1 -1
- package/build/search-control/index.native.js +7 -8
- package/build/search-control/index.native.js.map +1 -1
- package/build/select-control/index.js +9 -19
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/index.native.js +11 -12
- package/build/select-control/index.native.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +19 -25
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/fill.js +4 -5
- package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
- package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/slot.js +6 -7
- package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
- package/build/slot-fill/fill.js +4 -5
- package/build/slot-fill/fill.js.map +1 -1
- package/build/slot-fill/index.js +8 -11
- package/build/slot-fill/index.js.map +1 -1
- package/build/slot-fill/index.native.js +4 -5
- package/build/slot-fill/index.native.js.map +1 -1
- package/build/slot-fill/provider.js +2 -2
- package/build/slot-fill/provider.js.map +1 -1
- package/build/slot-fill/slot.js +9 -12
- package/build/slot-fill/slot.js.map +1 -1
- package/build/snackbar/index.js +26 -31
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/list.js +7 -8
- package/build/snackbar/list.js.map +1 -1
- package/build/spinner/index.js +4 -5
- package/build/spinner/index.js.map +1 -1
- package/build/style-provider/index.native.js +3 -4
- package/build/style-provider/index.native.js.map +1 -1
- package/build/surface/styles.js +6 -7
- package/build/surface/styles.js.map +1 -1
- package/build/tab-panel/index.js +35 -40
- package/build/tab-panel/index.js.map +1 -1
- package/build/text/styles/text-mixins.native.js +1 -3
- package/build/text/styles/text-mixins.native.js.map +1 -1
- package/build/text/utils.js +16 -17
- package/build/text/utils.js.map +1 -1
- package/build/text-control/index.native.js +12 -13
- package/build/text-control/index.native.js.map +1 -1
- package/build/textarea-control/index.native.js +7 -8
- package/build/textarea-control/index.native.js.map +1 -1
- package/build/theme/color-algorithms.js +1 -2
- package/build/theme/color-algorithms.js.map +1 -1
- package/build/theme/index.js +6 -7
- package/build/theme/index.js.map +1 -1
- package/build/theme/styles.js +4 -8
- package/build/theme/styles.js.map +1 -1
- package/build/toggle-control/index.js +9 -11
- package/build/toggle-control/index.js.map +1 -1
- package/build/toggle-control/index.native.js +9 -10
- package/build/toggle-control/index.native.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
- package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +11 -14
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build/toolbar/toolbar/index.js +23 -9
- package/build/toolbar/toolbar/index.js.map +1 -1
- package/build/toolbar/toolbar/toolbar-container.js +4 -5
- package/build/toolbar/toolbar/toolbar-container.js.map +1 -1
- package/build/toolbar/toolbar/toolbar-container.native.js +3 -6
- package/build/toolbar/toolbar/toolbar-container.native.js.map +1 -1
- package/build/toolbar/toolbar-button/index.js +10 -11
- package/build/toolbar/toolbar-button/index.js.map +1 -1
- package/build/toolbar/toolbar-button/toolbar-button-container.js +6 -9
- package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
- package/build/toolbar/toolbar-group/index.js +9 -12
- package/build/toolbar/toolbar-group/index.js.map +1 -1
- package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
- package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
- package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
- package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
- package/build/toolbar/toolbar-group/toolbar-group-container.js +7 -10
- package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
- package/build/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
- package/build/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
- package/build/toolbar/toolbar-item/index.js +5 -6
- package/build/toolbar/toolbar-item/index.js.map +1 -1
- package/build/toolbar/toolbar-item/index.native.js +4 -6
- package/build/toolbar/toolbar-item/index.native.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +17 -25
- package/build/tools-panel/tools-panel/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +14 -24
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/tools-panel/tools-panel-item/hook.js +5 -7
- package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
- package/build/tooltip/index.js +36 -43
- package/build/tooltip/index.js.map +1 -1
- package/build/tooltip/index.native.js +14 -19
- package/build/tooltip/index.native.js.map +1 -1
- package/build/tree-grid/cell.js +5 -6
- package/build/tree-grid/cell.js.map +1 -1
- package/build/tree-grid/index.js +12 -15
- package/build/tree-grid/index.js.map +1 -1
- package/build/tree-grid/item.js +4 -5
- package/build/tree-grid/item.js.map +1 -1
- package/build/tree-grid/roving-tab-index-item.js +6 -7
- package/build/tree-grid/roving-tab-index-item.js.map +1 -1
- package/build/tree-grid/roving-tab-index.js +3 -4
- package/build/tree-grid/roving-tab-index.js.map +1 -1
- package/build/tree-grid/row.js +8 -9
- package/build/tree-grid/row.js.map +1 -1
- package/build/tree-select/index.js +9 -11
- package/build/tree-select/index.js.map +1 -1
- package/build/truncate/utils.js +1 -3
- package/build/truncate/utils.js.map +1 -1
- package/build/ui/context/context-connect.js +1 -1
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/ui/context/context-system-provider.js +7 -9
- package/build/ui/context/context-system-provider.js.map +1 -1
- package/build/ui/context/index.js +7 -0
- 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/control-group/hook.js +1 -1
- package/build/ui/control-group/hook.js.map +1 -1
- package/build/ui/form-group/form-group-content.js +12 -13
- package/build/ui/form-group/form-group-content.js.map +1 -1
- package/build/ui/form-group/form-group-help.js +3 -4
- package/build/ui/form-group/form-group-help.js.map +1 -1
- package/build/ui/form-group/form-group-label.js +7 -8
- package/build/ui/form-group/form-group-label.js.map +1 -1
- package/build/ui/tooltip/component.js +1 -1
- package/build/ui/tooltip/component.js.map +1 -1
- package/build/ui/utils/colors.js +1 -3
- package/build/ui/utils/colors.js.map +1 -1
- package/build/ui/utils/font-size.js +2 -6
- package/build/ui/utils/font-size.js.map +1 -1
- package/build/ui/utils/get-high-dpi.js +1 -5
- package/build/ui/utils/get-high-dpi.js.map +1 -1
- package/build/ui/utils/space.js +1 -3
- package/build/ui/utils/space.js.map +1 -1
- package/build/ui/utils/use-responsive-value.js +2 -4
- package/build/ui/utils/use-responsive-value.js.map +1 -1
- package/build/unit-control/index.js +8 -8
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/index.native.js +22 -23
- package/build/unit-control/index.native.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +6 -8
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/unit-control/unit-select-control.js +11 -13
- package/build/unit-control/unit-select-control.js.map +1 -1
- package/build/unit-control/utils.js +12 -19
- package/build/unit-control/utils.js.map +1 -1
- package/build/utils/browsers.js +2 -10
- package/build/utils/browsers.js.map +1 -1
- package/build/utils/colors.js +1 -3
- package/build/utils/colors.js.map +1 -1
- package/build/utils/config-values.js +1 -0
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/hooks/use-controlled-state.js +1 -2
- package/build/utils/hooks/use-controlled-state.js.map +1 -1
- package/build/utils/hooks/use-controlled-value.js +5 -6
- package/build/utils/hooks/use-controlled-value.js.map +1 -1
- package/build/utils/hooks/use-cx.js +1 -5
- package/build/utils/hooks/use-cx.js.map +1 -1
- package/build/utils/math.js +5 -17
- package/build/utils/math.js.map +1 -1
- package/build/utils/reduce-motion.js +1 -2
- package/build/utils/reduce-motion.js.map +1 -1
- package/build/utils/rtl.js +3 -9
- package/build/utils/rtl.js.map +1 -1
- package/build/utils/values.js +2 -6
- package/build/utils/values.js.map +1 -1
- package/build/z-stack/styles.js +14 -23
- package/build/z-stack/styles.js.map +1 -1
- package/build-module/alignment-matrix-control/cell.js +5 -6
- package/build-module/alignment-matrix-control/cell.js.map +1 -1
- package/build-module/alignment-matrix-control/icon.js +8 -9
- package/build-module/alignment-matrix-control/icon.js.map +1 -1
- package/build-module/alignment-matrix-control/index.js +10 -11
- package/build-module/alignment-matrix-control/index.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build-module/alignment-matrix-control/utils.js +1 -2
- package/build-module/alignment-matrix-control/utils.js.map +1 -1
- package/build-module/angle-picker-control/angle-circle.js +6 -9
- package/build-module/angle-picker-control/angle-circle.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/animate/index.js +5 -6
- package/build-module/animate/index.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.js +29 -33
- package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.native.js +15 -22
- package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
- package/build-module/autocomplete/background-view.android.js +3 -4
- package/build-module/autocomplete/background-view.android.js.map +1 -1
- package/build-module/autocomplete/background-view.ios.js +3 -4
- package/build-module/autocomplete/background-view.ios.js.map +1 -1
- package/build-module/autocomplete/get-default-use-items.js +1 -3
- package/build-module/autocomplete/get-default-use-items.js.map +1 -1
- package/build-module/autocomplete/index.js +18 -23
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/base-control/index.js +14 -16
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/base-control/index.native.js +5 -6
- package/build-module/base-control/index.native.js.map +1 -1
- package/build-module/base-control/styles/base-control-styles.js +6 -8
- package/build-module/base-control/styles/base-control-styles.js.map +1 -1
- package/build-module/border-box-control/border-box-control/hook.js +5 -5
- package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
- package/build-module/border-box-control/border-box-control-split-controls/component.js +4 -4
- package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build-module/border-box-control/styles.js +3 -3
- package/build-module/border-box-control/styles.js.map +1 -1
- package/build-module/border-box-control/utils.js +5 -8
- package/build-module/border-box-control/utils.js.map +1 -1
- package/build-module/border-control/border-control/component.js +1 -1
- package/build-module/border-control/border-control/component.js.map +1 -1
- package/build-module/border-control/border-control/hook.js +5 -5
- package/build-module/border-control/border-control/hook.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js +70 -67
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/hook.js +4 -4
- package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
- package/build-module/box-control/all-input-control.js +11 -12
- package/build-module/box-control/all-input-control.js.map +1 -1
- package/build-module/box-control/axial-input-controls.js +12 -14
- package/build-module/box-control/axial-input-controls.js.map +1 -1
- package/build-module/box-control/icon.js +7 -9
- package/build-module/box-control/icon.js.map +1 -1
- package/build-module/box-control/index.js +22 -24
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/input-controls.js +15 -18
- package/build-module/box-control/input-controls.js.map +1 -1
- package/build-module/box-control/linked-button.js +4 -5
- package/build-module/box-control/linked-button.js.map +1 -1
- package/build-module/box-control/styles/box-control-icon-styles.js +3 -4
- package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
- package/build-module/box-control/styles/box-control-styles.js +9 -12
- package/build-module/box-control/styles/box-control-styles.js.map +1 -1
- package/build-module/box-control/styles/box-control-visualizer-styles.js +7 -11
- package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build-module/box-control/unit-control.js +18 -22
- package/build-module/box-control/unit-control.js.map +1 -1
- package/build-module/box-control/utils.js +4 -10
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/button/deprecated.js +7 -8
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/index.js +15 -16
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/index.native.js +5 -7
- package/build-module/button/index.native.js.map +1 -1
- package/build-module/card/card/hook.js +5 -6
- package/build-module/card/card/hook.js.map +1 -1
- package/build-module/circular-option-picker/index.js +27 -33
- package/build-module/circular-option-picker/index.js.map +1 -1
- package/build-module/clipboard-button/index.js +8 -9
- package/build-module/clipboard-button/index.js.map +1 -1
- package/build-module/color-control/index.native.js +7 -8
- package/build-module/color-control/index.native.js.map +1 -1
- package/build-module/color-indicator/index.native.js +10 -12
- package/build-module/color-indicator/index.native.js.map +1 -1
- package/build-module/color-palette/index.js +63 -72
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/index.native.js +33 -47
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/color-palette/utils.js +2 -5
- package/build-module/color-palette/utils.js.map +1 -1
- package/build-module/color-picker/color-input.js +6 -7
- package/build-module/color-picker/color-input.js.map +1 -1
- package/build-module/color-picker/hex-input.js +8 -12
- package/build-module/color-picker/hex-input.js.map +1 -1
- package/build-module/color-picker/hsl-input.js +5 -6
- package/build-module/color-picker/hsl-input.js.map +1 -1
- package/build-module/color-picker/index.native.js +23 -30
- package/build-module/color-picker/index.native.js.map +1 -1
- package/build-module/color-picker/input-with-slider.js +8 -10
- package/build-module/color-picker/input-with-slider.js.map +1 -1
- package/build-module/color-picker/picker.js +5 -6
- package/build-module/color-picker/picker.js.map +1 -1
- package/build-module/color-picker/rgb-input.js +5 -6
- package/build-module/color-picker/rgb-input.js.map +1 -1
- package/build-module/color-picker/styles.js +8 -8
- package/build-module/color-picker/styles.js.map +1 -1
- package/build-module/color-picker/use-deprecated-props.js +1 -3
- package/build-module/color-picker/use-deprecated-props.js.map +1 -1
- package/build-module/combobox-control/index.js +3 -6
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/combobox-control/styles.js +3 -6
- package/build-module/combobox-control/styles.js.map +1 -1
- package/build-module/confirm-dialog/component.js +1 -1
- package/build-module/confirm-dialog/component.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js +114 -129
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/index.js +12 -14
- package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/utils.js +4 -6
- package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
- package/build-module/custom-gradient-picker/index.js +19 -22
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/custom-gradient-picker/index.native.js +7 -8
- package/build-module/custom-gradient-picker/index.native.js.map +1 -1
- package/build-module/custom-gradient-picker/serializer.js +15 -21
- package/build-module/custom-gradient-picker/serializer.js.map +1 -1
- package/build-module/custom-gradient-picker/utils.js +6 -9
- package/build-module/custom-gradient-picker/utils.js.map +1 -1
- package/build-module/custom-select-control/index.js +14 -21
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/dashicon/index.js +7 -8
- package/build-module/dashicon/index.js.map +1 -1
- package/build-module/dashicon/index.native.js +4 -5
- package/build-module/dashicon/index.native.js.map +1 -1
- package/build-module/date-time/date/index.js +24 -26
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/date-time/date-time/index.js +14 -90
- package/build-module/date-time/date-time/index.js.map +1 -1
- package/build-module/date-time/date-time/styles.js +3 -17
- package/build-module/date-time/date-time/styles.js.map +1 -1
- package/build-module/date-time/time/index.js +11 -14
- package/build-module/date-time/time/index.js.map +1 -1
- package/build-module/dimension-control/index.js +8 -11
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/disabled/index.js +6 -7
- package/build-module/disabled/index.js.map +1 -1
- package/build-module/disabled/index.native.js +3 -4
- package/build-module/disabled/index.native.js.map +1 -1
- package/build-module/divider/styles.js +21 -29
- package/build-module/divider/styles.js.map +1 -1
- package/build-module/draggable/index.js +14 -19
- package/build-module/draggable/index.js.map +1 -1
- package/build-module/draggable/index.native.js +17 -19
- package/build-module/draggable/index.native.js.map +1 -1
- package/build-module/drop-zone/index.js +11 -16
- package/build-module/drop-zone/index.js.map +1 -1
- package/build-module/drop-zone/provider.js +3 -4
- package/build-module/drop-zone/provider.js.map +1 -1
- package/build-module/dropdown/index.js +19 -23
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/dropdown/styles.js +3 -4
- package/build-module/dropdown/styles.js.map +1 -1
- package/build-module/dropdown-menu/index.js +96 -25
- package/build-module/dropdown-menu/index.js.map +1 -1
- package/build-module/dropdown-menu/index.native.js +22 -30
- package/build-module/dropdown-menu/index.native.js.map +1 -1
- package/build-module/dropdown-menu/types.js +2 -0
- package/build-module/dropdown-menu/types.js.map +1 -0
- package/build-module/dropdown-menu-v2/index.js +182 -0
- package/build-module/dropdown-menu-v2/index.js.map +1 -0
- package/build-module/dropdown-menu-v2/styles.js +161 -0
- package/build-module/dropdown-menu-v2/styles.js.map +1 -0
- package/build-module/dropdown-menu-v2/types.js +2 -0
- package/build-module/dropdown-menu-v2/types.js.map +1 -0
- package/build-module/duotone-picker/color-list-picker/index.js +16 -18
- package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js +4 -5
- package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +15 -17
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/duotone-picker/duotone-swatch.js +3 -4
- package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
- package/build-module/duotone-picker/utils.js +14 -27
- package/build-module/duotone-picker/utils.js.map +1 -1
- package/build-module/external-link/index.js +1 -1
- package/build-module/external-link/index.js.map +1 -1
- package/build-module/external-link/index.native.js +4 -5
- package/build-module/external-link/index.native.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +11 -10
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/focal-point-picker/focal-point.js +5 -6
- package/build-module/focal-point-picker/focal-point.js.map +1 -1
- package/build-module/focal-point-picker/focal-point.native.js +5 -6
- package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
- package/build-module/focal-point-picker/grid.js +4 -5
- package/build-module/focal-point-picker/grid.js.map +1 -1
- package/build-module/focal-point-picker/index.js +33 -37
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/index.native.js +10 -12
- package/build-module/focal-point-picker/index.native.js.map +1 -1
- package/build-module/focal-point-picker/media.js +11 -13
- package/build-module/focal-point-picker/media.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js +9 -14
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-style.js +3 -6
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/focal-point-picker/tooltip/index.native.js +16 -21
- package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
- package/build-module/focal-point-picker/utils.js +2 -4
- package/build-module/focal-point-picker/utils.js.map +1 -1
- package/build-module/focusable-iframe/index.js +4 -5
- package/build-module/focusable-iframe/index.js.map +1 -1
- package/build-module/font-size-picker/font-size-picker-select.js +3 -5
- package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
- package/build-module/font-size-picker/index.js +14 -18
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/font-size-picker/index.native.js +6 -7
- package/build-module/font-size-picker/index.native.js.map +1 -1
- package/build-module/font-size-picker/styles.js +20 -7
- package/build-module/font-size-picker/styles.js.map +1 -1
- package/build-module/footer-message-control/index.native.js +2 -3
- package/build-module/footer-message-control/index.native.js.map +1 -1
- package/build-module/form-file-upload/index.js +10 -13
- package/build-module/form-file-upload/index.js.map +1 -1
- package/build-module/form-token-field/index.js +4 -19
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/styles.js +4 -7
- package/build-module/form-token-field/styles.js.map +1 -1
- package/build-module/form-token-field/suggestions-list.js +14 -15
- package/build-module/form-token-field/suggestions-list.js.map +1 -1
- package/build-module/form-token-field/token-input.js +2 -2
- package/build-module/form-token-field/token-input.js.map +1 -1
- package/build-module/form-token-field/token.js +14 -15
- package/build-module/form-token-field/token.js.map +1 -1
- package/build-module/gradient-picker/index.js +51 -58
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/guide/icons.js +13 -16
- package/build-module/guide/icons.js.map +1 -1
- package/build-module/guide/index.js +9 -12
- package/build-module/guide/index.js.map +1 -1
- package/build-module/guide/page-control.js +5 -6
- package/build-module/guide/page-control.js.map +1 -1
- package/build-module/h-stack/utils.js +1 -3
- package/build-module/h-stack/utils.js.map +1 -1
- package/build-module/higher-order/navigate-regions/index.js +16 -22
- package/build-module/higher-order/navigate-regions/index.js.map +1 -1
- package/build-module/higher-order/with-focus-outside/index.js +1 -1
- package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
- package/build-module/higher-order/with-focus-outside/index.native.js +1 -1
- package/build-module/higher-order/with-focus-outside/index.native.js.map +1 -1
- package/build-module/higher-order/with-focus-return/index.js +13 -17
- package/build-module/higher-order/with-focus-return/index.js.map +1 -1
- package/build-module/icon/index.js +5 -7
- package/build-module/icon/index.js.map +1 -1
- package/build-module/index.native.js +0 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/input-control/backdrop.js +4 -5
- package/build-module/input-control/backdrop.js.map +1 -1
- package/build-module/input-control/index.js +22 -23
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/input-base.js +16 -17
- package/build-module/input-control/input-base.js.map +1 -1
- package/build-module/input-control/input-field.js +26 -29
- package/build-module/input-control/input-field.js.map +1 -1
- package/build-module/input-control/label.js +6 -7
- package/build-module/input-control/label.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +2 -6
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +62 -64
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/input-control/utils.js +1 -3
- package/build-module/input-control/utils.js.map +1 -1
- package/build-module/keyboard-shortcuts/index.js +21 -26
- package/build-module/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/menu-items-choice/index.js +6 -7
- package/build-module/menu-items-choice/index.js.map +1 -1
- package/build-module/mobile/audio-player/index.native.js +7 -8
- package/build-module/mobile/audio-player/index.native.js.map +1 -1
- package/build-module/mobile/badge/index.native.js +5 -6
- package/build-module/mobile/badge/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/button.native.js +18 -21
- package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js +22 -11
- package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/color-cell.native.js +3 -1
- package/build-module/mobile/bottom-sheet/color-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
- package/build-module/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
- 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 +19 -30
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-cell.native.js +6 -7
- package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
- package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/lock-icon/index.native.js +21 -0
- package/build-module/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
- package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
- package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
- package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
- package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
- package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/radio-cell.native.js +3 -2
- package/build-module/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/range-cell.native.js +6 -3
- package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/range-text-input.native.js +5 -6
- package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/ripple.native.js +10 -11
- package/build-module/mobile/bottom-sheet/ripple.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
- package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
- package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
- package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/switch-cell.native.js +7 -2
- package/build-module/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-select-control/index.native.js +11 -10
- 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 +13 -12
- package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build-module/mobile/color-settings/index.native.js +12 -13
- package/build-module/mobile/color-settings/index.native.js.map +1 -1
- package/build-module/mobile/color-settings/utils.native.js +2 -2
- package/build-module/mobile/color-settings/utils.native.js.map +1 -1
- package/build-module/mobile/cycle-select-control/index.native.js +11 -12
- package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
- 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 +6 -14
- package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +69 -112
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/gradient/index.native.js +26 -33
- package/build-module/mobile/gradient/index.native.js.map +1 -1
- package/build-module/mobile/html-text-input/index.native.js +3 -3
- package/build-module/mobile/html-text-input/index.native.js.map +1 -1
- package/build-module/mobile/image/image-editing-button.native.js +22 -26
- package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +31 -34
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/keyboard-avoiding-view/index.ios.js +22 -29
- package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.android.js +5 -6
- package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
- package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
- package/build-module/mobile/layout-animation/index.native.js +1 -2
- package/build-module/mobile/layout-animation/index.native.js.map +1 -1
- package/build-module/mobile/link-picker/index.native.js +12 -16
- package/build-module/mobile/link-picker/index.native.js.map +1 -1
- package/build-module/mobile/link-picker/link-picker-results.native.js +34 -48
- package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
- package/build-module/mobile/link-picker/link-picker-screen.native.js +7 -9
- package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
- package/build-module/mobile/link-settings/index.native.js +57 -58
- package/build-module/mobile/link-settings/index.native.js.map +1 -1
- package/build-module/mobile/media-edit/index.native.js +2 -2
- package/build-module/mobile/media-edit/index.native.js.map +1 -1
- package/build-module/mobile/picker/index.ios.js +3 -6
- package/build-module/mobile/picker/index.ios.js.map +1 -1
- package/build-module/mobile/segmented-control/index.native.js +16 -20
- package/build-module/mobile/segmented-control/index.native.js.map +1 -1
- package/build-module/mobile/utils/alignments.native.js +2 -6
- package/build-module/mobile/utils/alignments.native.js.map +1 -1
- package/build-module/mobile/utils/index.native.js +1 -2
- package/build-module/mobile/utils/index.native.js.map +1 -1
- package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
- package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
- package/build-module/modal/index.js +3 -4
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigable-container/container.js +2 -6
- package/build-module/navigable-container/container.js.map +1 -1
- package/build-module/navigable-container/menu.js +5 -7
- package/build-module/navigable-container/menu.js.map +1 -1
- package/build-module/navigable-container/tabbable.js +4 -6
- package/build-module/navigable-container/tabbable.js.map +1 -1
- package/build-module/navigation/back-button/index.js +8 -11
- package/build-module/navigation/back-button/index.js.map +1 -1
- package/build-module/navigation/group/index.js +5 -6
- package/build-module/navigation/group/index.js.map +1 -1
- package/build-module/navigation/index.js +8 -11
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/item/base.js +1 -3
- package/build-module/navigation/item/base.js.map +1 -1
- package/build-module/navigation/menu/menu-title-search.js +11 -14
- package/build-module/navigation/menu/menu-title-search.js.map +1 -1
- package/build-module/navigation/menu/menu-title.js +8 -11
- package/build-module/navigation/menu/menu-title.js.map +1 -1
- package/build-module/navigation/menu/search-no-results-found.js +3 -4
- package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
- package/build-module/navigator/navigator-back-button/hook.js +1 -1
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js +1 -1
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-provider/component.js +2 -6
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/navigator/navigator-screen/component.js +1 -1
- package/build-module/navigator/navigator-screen/component.js.map +1 -1
- package/build-module/notice/index.js +25 -29
- package/build-module/notice/index.js.map +1 -1
- package/build-module/notice/index.native.js +13 -18
- package/build-module/notice/index.native.js.map +1 -1
- package/build-module/notice/list.js +6 -8
- package/build-module/notice/list.js.map +1 -1
- package/build-module/number-control/index.js +24 -26
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/number-control/styles/number-control-styles.js +6 -10
- package/build-module/number-control/styles/number-control-styles.js.map +1 -1
- package/build-module/palette-edit/index.js +83 -94
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/panel/actions.native.js +8 -10
- package/build-module/panel/actions.native.js.map +1 -1
- package/build-module/panel/body.js +7 -10
- package/build-module/panel/body.js.map +1 -1
- package/build-module/panel/body.native.js +6 -7
- package/build-module/panel/body.native.js.map +1 -1
- package/build-module/panel/bottom-separator-cover.native.js +3 -4
- package/build-module/panel/bottom-separator-cover.native.js.map +1 -1
- package/build-module/panel/header.js +4 -5
- package/build-module/panel/header.js.map +1 -1
- package/build-module/panel/index.js +5 -6
- package/build-module/panel/index.js.map +1 -1
- package/build-module/panel/row.js +4 -5
- package/build-module/panel/row.js.map +1 -1
- package/build-module/popover/index.js +25 -31
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/limit-shift.js +66 -71
- package/build-module/popover/limit-shift.js.map +1 -1
- package/build-module/popover/overlay-middlewares.js +7 -9
- package/build-module/popover/overlay-middlewares.js.map +1 -1
- package/build-module/popover/utils.js +26 -34
- package/build-module/popover/utils.js.map +1 -1
- package/build-module/private-apis.js +14 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/query-controls/author-select.js +7 -8
- package/build-module/query-controls/author-select.js.map +1 -1
- package/build-module/query-controls/category-select.js +8 -9
- package/build-module/query-controls/category-select.js.map +1 -1
- package/build-module/query-controls/index.js +16 -17
- package/build-module/query-controls/index.js.map +1 -1
- package/build-module/query-controls/index.native.js +13 -14
- package/build-module/query-controls/index.native.js.map +1 -1
- package/build-module/radio-control/index.js +1 -1
- package/build-module/radio-control/index.js.map +1 -1
- package/build-module/radio-control/index.native.js +6 -7
- package/build-module/radio-control/index.native.js.map +1 -1
- package/build-module/radio-group/index.js +8 -9
- package/build-module/radio-group/index.js.map +1 -1
- package/build-module/radio-group/radio/index.js +5 -6
- package/build-module/radio-group/radio/index.js.map +1 -1
- package/build-module/range-control/index.js +1 -3
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/index.native.js +23 -22
- package/build-module/range-control/index.native.js.map +1 -1
- package/build-module/range-control/rail.js +7 -9
- package/build-module/range-control/rail.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +37 -52
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/range-control/tooltip.js +4 -5
- package/build-module/range-control/tooltip.js.map +1 -1
- package/build-module/resizable-box/index.js +8 -9
- package/build-module/resizable-box/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/index.js +12 -13
- package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/label.js +6 -7
- package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/utils.js +16 -19
- package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build-module/responsive-wrapper/index.js +6 -8
- package/build-module/responsive-wrapper/index.js.map +1 -1
- package/build-module/sandbox/index.js +16 -23
- package/build-module/sandbox/index.js.map +1 -1
- package/build-module/sandbox/index.native.js +20 -26
- package/build-module/sandbox/index.native.js.map +1 -1
- package/build-module/search-control/index.js +14 -17
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/search-control/index.native.js +7 -8
- package/build-module/search-control/index.native.js.map +1 -1
- package/build-module/select-control/index.js +9 -19
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/index.native.js +11 -12
- package/build-module/select-control/index.native.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +19 -25
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/fill.js +4 -5
- package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
- package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot.js +6 -7
- package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
- package/build-module/slot-fill/fill.js +4 -5
- package/build-module/slot-fill/fill.js.map +1 -1
- package/build-module/slot-fill/index.js +8 -11
- package/build-module/slot-fill/index.js.map +1 -1
- package/build-module/slot-fill/index.native.js +4 -5
- package/build-module/slot-fill/index.native.js.map +1 -1
- package/build-module/slot-fill/provider.js +2 -2
- package/build-module/slot-fill/provider.js.map +1 -1
- package/build-module/slot-fill/slot.js +9 -12
- package/build-module/slot-fill/slot.js.map +1 -1
- package/build-module/snackbar/index.js +26 -31
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js +7 -8
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/spinner/index.js +4 -5
- package/build-module/spinner/index.js.map +1 -1
- package/build-module/style-provider/index.native.js +3 -4
- package/build-module/style-provider/index.native.js.map +1 -1
- package/build-module/surface/styles.js +6 -7
- package/build-module/surface/styles.js.map +1 -1
- package/build-module/tab-panel/index.js +36 -40
- package/build-module/tab-panel/index.js.map +1 -1
- package/build-module/text/styles/text-mixins.native.js +1 -3
- package/build-module/text/styles/text-mixins.native.js.map +1 -1
- package/build-module/text/utils.js +16 -17
- package/build-module/text/utils.js.map +1 -1
- package/build-module/text-control/index.native.js +12 -13
- package/build-module/text-control/index.native.js.map +1 -1
- package/build-module/textarea-control/index.native.js +7 -8
- package/build-module/textarea-control/index.native.js.map +1 -1
- package/build-module/theme/color-algorithms.js +1 -2
- package/build-module/theme/color-algorithms.js.map +1 -1
- package/build-module/theme/index.js +6 -7
- package/build-module/theme/index.js.map +1 -1
- package/build-module/theme/styles.js +4 -8
- package/build-module/theme/styles.js.map +1 -1
- package/build-module/toggle-control/index.js +9 -11
- package/build-module/toggle-control/index.js.map +1 -1
- package/build-module/toggle-control/index.native.js +9 -10
- package/build-module/toggle-control/index.native.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
- package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +11 -14
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build-module/toolbar/toolbar/index.js +20 -8
- package/build-module/toolbar/toolbar/index.js.map +1 -1
- package/build-module/toolbar/toolbar/toolbar-container.js +4 -5
- package/build-module/toolbar/toolbar/toolbar-container.js.map +1 -1
- package/build-module/toolbar/toolbar/toolbar-container.native.js +3 -6
- package/build-module/toolbar/toolbar/toolbar-container.native.js.map +1 -1
- package/build-module/toolbar/toolbar-button/index.js +10 -11
- package/build-module/toolbar/toolbar-button/index.js.map +1 -1
- package/build-module/toolbar/toolbar-button/toolbar-button-container.js +6 -9
- package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
- package/build-module/toolbar/toolbar-group/index.js +9 -12
- package/build-module/toolbar/toolbar-group/index.js.map +1 -1
- package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
- package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
- package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
- package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
- package/build-module/toolbar/toolbar-group/toolbar-group-container.js +7 -10
- package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
- package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
- package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
- package/build-module/toolbar/toolbar-item/index.js +5 -6
- package/build-module/toolbar/toolbar-item/index.js.map +1 -1
- package/build-module/toolbar/toolbar-item/index.native.js +4 -6
- package/build-module/toolbar/toolbar-item/index.native.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +17 -25
- package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +14 -24
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-item/hook.js +5 -7
- package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
- package/build-module/tooltip/index.js +36 -43
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tooltip/index.native.js +14 -19
- package/build-module/tooltip/index.native.js.map +1 -1
- package/build-module/tree-grid/cell.js +5 -6
- package/build-module/tree-grid/cell.js.map +1 -1
- package/build-module/tree-grid/index.js +12 -15
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/tree-grid/item.js +4 -5
- package/build-module/tree-grid/item.js.map +1 -1
- package/build-module/tree-grid/roving-tab-index-item.js +6 -7
- package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
- package/build-module/tree-grid/roving-tab-index.js +3 -4
- package/build-module/tree-grid/roving-tab-index.js.map +1 -1
- package/build-module/tree-grid/row.js +8 -9
- package/build-module/tree-grid/row.js.map +1 -1
- package/build-module/tree-select/index.js +9 -11
- package/build-module/tree-select/index.js.map +1 -1
- package/build-module/truncate/utils.js +1 -3
- package/build-module/truncate/utils.js.map +1 -1
- package/build-module/ui/context/context-connect.js +1 -1
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/ui/context/context-system-provider.js +7 -9
- package/build-module/ui/context/context-system-provider.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/control-group/hook.js +1 -1
- package/build-module/ui/control-group/hook.js.map +1 -1
- package/build-module/ui/form-group/form-group-content.js +12 -13
- package/build-module/ui/form-group/form-group-content.js.map +1 -1
- package/build-module/ui/form-group/form-group-help.js +3 -4
- package/build-module/ui/form-group/form-group-help.js.map +1 -1
- package/build-module/ui/form-group/form-group-label.js +7 -8
- package/build-module/ui/form-group/form-group-label.js.map +1 -1
- package/build-module/ui/tooltip/component.js +1 -1
- package/build-module/ui/tooltip/component.js.map +1 -1
- package/build-module/ui/utils/colors.js +1 -3
- package/build-module/ui/utils/colors.js.map +1 -1
- package/build-module/ui/utils/font-size.js +2 -6
- package/build-module/ui/utils/font-size.js.map +1 -1
- package/build-module/ui/utils/get-high-dpi.js +1 -5
- package/build-module/ui/utils/get-high-dpi.js.map +1 -1
- package/build-module/ui/utils/space.js +1 -3
- package/build-module/ui/utils/space.js.map +1 -1
- package/build-module/ui/utils/use-responsive-value.js +2 -4
- package/build-module/ui/utils/use-responsive-value.js.map +1 -1
- package/build-module/unit-control/index.js +8 -8
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/index.native.js +22 -23
- package/build-module/unit-control/index.native.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +6 -8
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/unit-control/unit-select-control.js +11 -13
- package/build-module/unit-control/unit-select-control.js.map +1 -1
- package/build-module/unit-control/utils.js +12 -19
- package/build-module/unit-control/utils.js.map +1 -1
- package/build-module/utils/browsers.js +2 -10
- package/build-module/utils/browsers.js.map +1 -1
- package/build-module/utils/colors.js +1 -3
- package/build-module/utils/colors.js.map +1 -1
- package/build-module/utils/config-values.js +1 -0
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/hooks/use-controlled-state.js +1 -2
- package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
- package/build-module/utils/hooks/use-controlled-value.js +5 -6
- package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
- package/build-module/utils/hooks/use-cx.js +1 -5
- package/build-module/utils/hooks/use-cx.js.map +1 -1
- package/build-module/utils/math.js +5 -17
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/reduce-motion.js +1 -2
- package/build-module/utils/reduce-motion.js.map +1 -1
- package/build-module/utils/rtl.js +3 -9
- package/build-module/utils/rtl.js.map +1 -1
- package/build-module/utils/values.js +2 -6
- package/build-module/utils/values.js.map +1 -1
- package/build-module/z-stack/styles.js +14 -23
- package/build-module/z-stack/styles.js.map +1 -1
- package/build-style/style-rtl.css +57 -27
- package/build-style/style.css +59 -29
- package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
- package/build-types/button/deprecated.d.ts +6 -0
- package/build-types/button/deprecated.d.ts.map +1 -1
- package/build-types/button/index.d.ts.map +1 -1
- package/build-types/button/stories/e2e/index.d.ts +14 -0
- package/build-types/button/stories/e2e/index.d.ts.map +1 -0
- package/build-types/button/types.d.ts +9 -0
- package/build-types/button/types.d.ts.map +1 -1
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/date-time/date-time/index.d.ts +3 -4
- package/build-types/date-time/date-time/index.d.ts.map +1 -1
- package/build-types/date-time/date-time/styles.d.ts +0 -4
- package/build-types/date-time/date-time/styles.d.ts.map +1 -1
- package/build-types/date-time/stories/date-time.d.ts.map +1 -1
- package/build-types/date-time/types.d.ts +0 -14
- package/build-types/date-time/types.d.ts.map +1 -1
- package/build-types/dropdown-menu/index.d.ts +83 -1
- package/build-types/dropdown-menu/index.d.ts.map +1 -1
- package/build-types/dropdown-menu/stories/index.d.ts +13 -0
- package/build-types/dropdown-menu/stories/index.d.ts.map +1 -0
- package/build-types/dropdown-menu/test/index.d.ts +2 -0
- package/build-types/dropdown-menu/test/index.d.ts.map +1 -0
- package/build-types/dropdown-menu/types.d.ts +134 -0
- package/build-types/dropdown-menu/types.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/index.d.ts +17 -0
- package/build-types/dropdown-menu-v2/index.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/stories/index.d.ts +11 -0
- package/build-types/dropdown-menu-v2/stories/index.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/styles.d.ts +42 -0
- package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/test/index.d.ts +2 -0
- package/build-types/dropdown-menu-v2/test/index.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/types.d.ts +252 -0
- package/build-types/dropdown-menu-v2/types.d.ts.map +1 -0
- package/build-types/focal-point-picker/controls.d.ts.map +1 -1
- package/build-types/font-size-picker/index.d.ts.map +1 -1
- package/build-types/font-size-picker/styles.d.ts +11 -0
- package/build-types/font-size-picker/styles.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/modal/index.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/component.d.ts +1 -0
- package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +1 -0
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/component.d.ts +1 -0
- package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +1 -0
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-to-parent-button/component.d.ts +1 -0
- package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
- package/build-types/popover/index.d.ts +6 -0
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/tab-panel/index.d.ts +1 -38
- package/build-types/tab-panel/index.d.ts.map +1 -1
- package/build-types/tab-panel/stories/index.d.ts +4 -3
- package/build-types/tab-panel/stories/index.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
- package/build-types/toolbar/stories/index.d.ts.map +1 -1
- package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-button/index.d.ts +6 -0
- package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
- package/build-types/ui/context/get-styled-class-name-from-key.d.ts +1 -10
- package/build-types/ui/context/get-styled-class-name-from-key.d.ts.map +1 -1
- package/build-types/ui/context/index.d.ts +1 -1
- package/build-types/ui/context/index.d.ts.map +1 -1
- package/build-types/utils/config-values.d.ts +1 -0
- package/package.json +21 -20
- package/src/border-control/border-control-dropdown/component.tsx +23 -12
- package/src/border-control/test/index.js +6 -6
- package/src/button/index.tsx +2 -0
- package/src/button/stories/e2e/index.tsx +58 -0
- package/src/button/style.scss +17 -15
- package/src/button/types.ts +9 -0
- package/src/color-palette/index.tsx +47 -46
- package/src/color-palette/style.scss +57 -19
- package/src/color-palette/test/__snapshots__/index.tsx.snap +66 -50
- package/src/color-palette/test/index.tsx +76 -13
- package/src/color-picker/styles.ts +7 -2
- package/src/date-time/README.md +0 -16
- package/src/date-time/date-time/index.tsx +17 -155
- package/src/date-time/date-time/styles.ts +0 -4
- package/src/date-time/stories/date-time.tsx +0 -4
- package/src/date-time/types.ts +0 -16
- package/src/dropdown-menu/README.md +12 -22
- package/src/dropdown-menu/{index.js → index.tsx} +111 -25
- package/src/dropdown-menu/stories/{index.js → index.tsx} +14 -22
- package/src/dropdown-menu/test/{index.js → index.tsx} +6 -5
- package/src/dropdown-menu/types.ts +143 -0
- package/src/dropdown-menu-v2/README.md +392 -0
- package/src/dropdown-menu-v2/index.tsx +293 -0
- package/src/dropdown-menu-v2/stories/index.tsx +217 -0
- package/src/dropdown-menu-v2/styles.ts +276 -0
- package/src/dropdown-menu-v2/test/index.tsx +816 -0
- package/src/dropdown-menu-v2/types.ts +265 -0
- package/src/focal-point-picker/controls.tsx +2 -0
- package/src/focal-point-picker/test/index.js +9 -3
- package/src/font-size-picker/index.tsx +5 -5
- package/src/font-size-picker/styles.ts +9 -0
- package/src/index.native.js +0 -1
- package/src/input-control/styles/input-control-styles.tsx +7 -0
- package/src/mobile/bottom-sheet/cell.native.js +34 -5
- package/src/mobile/bottom-sheet/color-cell.native.js +3 -2
- package/src/mobile/bottom-sheet/lock-icon/index.native.js +19 -0
- package/src/mobile/bottom-sheet/lock-icon/styles.native.scss +8 -0
- package/src/mobile/bottom-sheet/radio-cell.native.js +2 -1
- package/src/mobile/bottom-sheet/range-cell.native.js +5 -1
- package/src/mobile/bottom-sheet/stepper-cell/index.native.js +2 -0
- package/src/mobile/bottom-sheet/styles.native.scss +15 -1
- package/src/mobile/bottom-sheet/switch-cell.native.js +10 -2
- package/src/mobile/bottom-sheet-select-control/index.native.js +3 -1
- package/src/mobile/bottom-sheet-text-control/index.native.js +3 -1
- package/src/modal/index.tsx +1 -6
- package/src/popover/index.tsx +1 -1
- package/src/private-apis.ts +24 -0
- package/src/range-control/index.native.js +3 -0
- package/src/search-control/style.scss +2 -0
- package/src/slot-fill/README.md +26 -1
- package/src/tab-panel/index.tsx +18 -12
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +6 -2
- package/src/toggle-group-control/toggle-group-control/styles.ts +6 -1
- package/src/toolbar/stories/index.tsx +25 -28
- package/src/toolbar/toolbar/index.tsx +24 -7
- package/src/tooltip/style.scss +2 -2
- package/src/ui/context/index.ts +1 -0
- package/src/utils/config-values.js +1 -0
- package/src/view/README.md +2 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/mobile/readable-content-view/index.native.js +0 -97
- package/build/mobile/readable-content-view/index.native.js.map +0 -1
- package/build-module/mobile/readable-content-view/index.native.js +0 -81
- package/build-module/mobile/readable-content-view/index.native.js.map +0 -1
- package/src/mobile/readable-content-view/index.native.js +0 -85
- package/src/mobile/readable-content-view/style.native.scss +0 -30
|
@@ -11,13 +11,12 @@ import { useContextSystem } from '../../ui/context';
|
|
|
11
11
|
import { useCx } from '../../utils/hooks/use-cx';
|
|
12
12
|
const DEFAULT_COLUMNS = 2;
|
|
13
13
|
|
|
14
|
-
const generateMenuItems =
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
} = _ref;
|
|
14
|
+
const generateMenuItems = ({
|
|
15
|
+
panelItems,
|
|
16
|
+
shouldReset,
|
|
17
|
+
currentMenuItems,
|
|
18
|
+
menuItemOrder
|
|
19
|
+
}) => {
|
|
21
20
|
const newMenuItems = {
|
|
22
21
|
default: {},
|
|
23
22
|
optional: {}
|
|
@@ -26,19 +25,16 @@ const generateMenuItems = _ref => {
|
|
|
26
25
|
default: {},
|
|
27
26
|
optional: {}
|
|
28
27
|
};
|
|
29
|
-
panelItems.forEach(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
isShownByDefault,
|
|
35
|
-
label
|
|
36
|
-
} = _ref2;
|
|
28
|
+
panelItems.forEach(({
|
|
29
|
+
hasValue,
|
|
30
|
+
isShownByDefault,
|
|
31
|
+
label
|
|
32
|
+
}) => {
|
|
37
33
|
const group = isShownByDefault ? 'default' : 'optional'; // If a menu item for this label has already been flagged as customized
|
|
38
34
|
// (for default controls), or toggled on (for optional controls), do not
|
|
39
35
|
// overwrite its value as those controls would lose that state.
|
|
40
36
|
|
|
41
|
-
const existingItemValue = currentMenuItems
|
|
37
|
+
const existingItemValue = currentMenuItems?.[group]?.[label];
|
|
42
38
|
const value = existingItemValue ? existingItemValue : hasValue();
|
|
43
39
|
newMenuItems[group][label] = shouldReset ? false : value;
|
|
44
40
|
}); // Loop the known, previously registered items first to maintain menu order.
|
|
@@ -169,8 +165,7 @@ export function useToolsPanel(props) {
|
|
|
169
165
|
// separately to optional items and have different display states,
|
|
170
166
|
// we need to update that when their value is customized.
|
|
171
167
|
|
|
172
|
-
const flagItemCustomization = useCallback(
|
|
173
|
-
let group = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
|
|
168
|
+
const flagItemCustomization = useCallback((label, group = 'default') => {
|
|
174
169
|
setMenuItems(items => {
|
|
175
170
|
const newState = { ...items,
|
|
176
171
|
[group]: { ...items[group],
|
|
@@ -186,18 +181,15 @@ export function useToolsPanel(props) {
|
|
|
186
181
|
|
|
187
182
|
const [areAllOptionalControlsHidden, setAreAllOptionalControlsHidden] = useState(false);
|
|
188
183
|
useEffect(() => {
|
|
189
|
-
if (isMenuItemTypeEmpty(menuItems
|
|
190
|
-
const allControlsHidden = !Object.entries(menuItems.optional).some(
|
|
191
|
-
let [, isSelected] = _ref3;
|
|
192
|
-
return isSelected;
|
|
193
|
-
});
|
|
184
|
+
if (isMenuItemTypeEmpty(menuItems?.default) && !isMenuItemTypeEmpty(menuItems?.optional)) {
|
|
185
|
+
const allControlsHidden = !Object.entries(menuItems.optional).some(([, isSelected]) => isSelected);
|
|
194
186
|
setAreAllOptionalControlsHidden(allControlsHidden);
|
|
195
187
|
}
|
|
196
188
|
}, [menuItems, setAreAllOptionalControlsHidden]);
|
|
197
189
|
const cx = useCx();
|
|
198
190
|
const classes = useMemo(() => {
|
|
199
191
|
const wrapperStyle = hasInnerWrapper && styles.ToolsPanelWithInnerWrapper(DEFAULT_COLUMNS);
|
|
200
|
-
const emptyStyle = isMenuItemTypeEmpty(menuItems
|
|
192
|
+
const emptyStyle = isMenuItemTypeEmpty(menuItems?.default) && areAllOptionalControlsHidden && styles.ToolsPanelHiddenInnerWrapper;
|
|
201
193
|
return cx(styles.ToolsPanel(DEFAULT_COLUMNS), wrapperStyle, emptyStyle, className);
|
|
202
194
|
}, [areAllOptionalControlsHidden, className, cx, hasInnerWrapper, menuItems]); // Toggle the checked state of a menu item which is then used to determine
|
|
203
195
|
// display of the item within the panel.
|
|
@@ -237,7 +229,7 @@ export function useToolsPanel(props) {
|
|
|
237
229
|
const getFirstVisibleItemLabel = items => {
|
|
238
230
|
const optionalItems = menuItems.optional || {};
|
|
239
231
|
const firstItem = items.find(item => item.isShownByDefault || !!optionalItems[item.label]);
|
|
240
|
-
return firstItem
|
|
232
|
+
return firstItem?.label;
|
|
241
233
|
};
|
|
242
234
|
|
|
243
235
|
const firstDisplayedItem = getFirstVisibleItemLabel(panelItems);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel/hook.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","styles","useContextSystem","useCx","DEFAULT_COLUMNS","generateMenuItems","panelItems","shouldReset","currentMenuItems","menuItemOrder","newMenuItems","default","optional","menuItems","forEach","hasValue","isShownByDefault","label","group","existingItemValue","value","key","hasOwnProperty","Object","keys","isMenuItemTypeEmpty","obj","length","useToolsPanel","props","className","headingLevel","resetAll","panelId","hasInnerWrapper","shouldRenderPlaceholderItems","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","otherProps","isResetting","wasResetting","current","setPanelItems","setMenuItemOrder","resetAllFilters","setResetAllFilters","registerPanelItem","item","items","newItems","existingIndex","findIndex","oldItem","splice","includes","deregisterPanelItem","index","registerResetAllFilter","newFilter","filters","deregisterResetAllFilter","filterToRemove","filter","setMenuItems","prevState","flagItemCustomization","newState","areAllOptionalControlsHidden","setAreAllOptionalControlsHidden","allControlsHidden","entries","some","isSelected","cx","classes","wrapperStyle","ToolsPanelWithInnerWrapper","emptyStyle","ToolsPanelHiddenInnerWrapper","ToolsPanel","toggleItem","currentItem","find","menuGroup","resetAllItems","resetMenuItems","getFirstVisibleItemLabel","optionalItems","firstItem","firstDisplayedItem","lastDisplayedItem","reverse","panelContext","hasMenuItems"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type {\n\tToolsPanelItem,\n\tToolsPanelMenuItemKey,\n\tToolsPanelMenuItems,\n\tToolsPanelMenuItemsConfig,\n\tToolsPanelProps,\n\tResetAllFilter,\n} from '../types';\n\nconst DEFAULT_COLUMNS = 2;\n\nconst generateMenuItems = ( {\n\tpanelItems,\n\tshouldReset,\n\tcurrentMenuItems,\n\tmenuItemOrder,\n}: ToolsPanelMenuItemsConfig ) => {\n\tconst newMenuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\tconst menuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\n\tpanelItems.forEach( ( { hasValue, isShownByDefault, label } ) => {\n\t\tconst group = isShownByDefault ? 'default' : 'optional';\n\n\t\t// If a menu item for this label has already been flagged as customized\n\t\t// (for default controls), or toggled on (for optional controls), do not\n\t\t// overwrite its value as those controls would lose that state.\n\t\tconst existingItemValue = currentMenuItems?.[ group ]?.[ label ];\n\t\tconst value = existingItemValue ? existingItemValue : hasValue();\n\n\t\tnewMenuItems[ group ][ label ] = shouldReset ? false : value;\n\t} );\n\n\t// Loop the known, previously registered items first to maintain menu order.\n\tmenuItemOrder.forEach( ( key ) => {\n\t\tif ( newMenuItems.default.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.default[ key ] = newMenuItems.default[ key ];\n\t\t}\n\n\t\tif ( newMenuItems.optional.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.optional[ key ] = newMenuItems.optional[ key ];\n\t\t}\n\t} );\n\n\t// Loop newMenuItems object adding any that aren't in the known items order.\n\tObject.keys( newMenuItems.default ).forEach( ( key ) => {\n\t\tif ( ! menuItems.default.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.default[ key ] = newMenuItems.default[ key ];\n\t\t}\n\t} );\n\n\tObject.keys( newMenuItems.optional ).forEach( ( key ) => {\n\t\tif ( ! menuItems.optional.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.optional[ key ] = newMenuItems.optional[ key ];\n\t\t}\n\t} );\n\n\treturn menuItems;\n};\n\nconst isMenuItemTypeEmpty = (\n\tobj?: ToolsPanelMenuItems[ ToolsPanelMenuItemKey ]\n) => obj && Object.keys( obj ).length === 0;\n\nexport function useToolsPanel(\n\tprops: WordPressComponentProps< ToolsPanelProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\theadingLevel = 2,\n\t\tresetAll,\n\t\tpanelId,\n\t\thasInnerWrapper = false,\n\t\tshouldRenderPlaceholderItems = false,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanel' );\n\n\tconst isResetting = useRef( false );\n\tconst wasResetting = isResetting.current;\n\n\t// `isResetting` is cleared via this hook to effectively batch together\n\t// the resetAll task. Without this, the flag is cleared after the first\n\t// control updates and forces a rerender with subsequent controls then\n\t// believing they need to reset, unfortunately using stale data.\n\tuseEffect( () => {\n\t\tif ( wasResetting ) {\n\t\t\tisResetting.current = false;\n\t\t}\n\t}, [ wasResetting ] );\n\n\t// Allow panel items to register themselves.\n\tconst [ panelItems, setPanelItems ] = useState< ToolsPanelItem[] >( [] );\n\tconst [ menuItemOrder, setMenuItemOrder ] = useState< string[] >( [] );\n\tconst [ resetAllFilters, setResetAllFilters ] = useState<\n\t\tResetAllFilter[]\n\t>( [] );\n\n\tconst registerPanelItem = useCallback(\n\t\t( item: ToolsPanelItem ) => {\n\t\t\t// Add item to panel items.\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\t// If an item with this label has already been registered, remove it\n\t\t\t\t// first. This can happen when an item is moved between the default\n\t\t\t\t// and optional groups.\n\t\t\t\tconst existingIndex = newItems.findIndex(\n\t\t\t\t\t( oldItem ) => oldItem.label === item.label\n\t\t\t\t);\n\t\t\t\tif ( existingIndex !== -1 ) {\n\t\t\t\t\tnewItems.splice( existingIndex, 1 );\n\t\t\t\t}\n\t\t\t\treturn [ ...newItems, item ];\n\t\t\t} );\n\n\t\t\t// Track the initial order of item registration. This is used for\n\t\t\t// maintaining menu item order later.\n\t\t\tsetMenuItemOrder( ( items ) => {\n\t\t\t\tif ( items.includes( item.label ) ) {\n\t\t\t\t\treturn items;\n\t\t\t\t}\n\n\t\t\t\treturn [ ...items, item.label ];\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems, setMenuItemOrder ]\n\t);\n\n\t// Panels need to deregister on unmount to avoid orphans in menu state.\n\t// This is an issue when panel items are being injected via SlotFills.\n\tconst deregisterPanelItem = useCallback(\n\t\t( label: string ) => {\n\t\t\t// When switching selections between components injecting matching\n\t\t\t// controls, e.g. both panels have a \"padding\" control, the\n\t\t\t// deregistration of the first panel doesn't occur until after the\n\t\t\t// registration of the next.\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\tconst index = newItems.findIndex(\n\t\t\t\t\t( item ) => item.label === label\n\t\t\t\t);\n\t\t\t\tif ( index !== -1 ) {\n\t\t\t\t\tnewItems.splice( index, 1 );\n\t\t\t\t}\n\t\t\t\treturn newItems;\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems ]\n\t);\n\n\tconst registerResetAllFilter = useCallback(\n\t\t( newFilter: ResetAllFilter ) => {\n\t\t\tsetResetAllFilters( ( filters ) => {\n\t\t\t\treturn [ ...filters, newFilter ];\n\t\t\t} );\n\t\t},\n\t\t[ setResetAllFilters ]\n\t);\n\n\tconst deregisterResetAllFilter = useCallback(\n\t\t( filterToRemove: ResetAllFilter ) => {\n\t\t\tsetResetAllFilters( ( filters ) => {\n\t\t\t\treturn filters.filter(\n\t\t\t\t\t( filter ) => filter !== filterToRemove\n\t\t\t\t);\n\t\t\t} );\n\t\t},\n\t\t[ setResetAllFilters ]\n\t);\n\n\t// Manage and share display state of menu items representing child controls.\n\tconst [ menuItems, setMenuItems ] = useState< ToolsPanelMenuItems >( {\n\t\tdefault: {},\n\t\toptional: {},\n\t} );\n\n\t// Setup menuItems state as panel items register themselves.\n\tuseEffect( () => {\n\t\tsetMenuItems( ( prevState ) => {\n\t\t\tconst items = generateMenuItems( {\n\t\t\t\tpanelItems,\n\t\t\t\tshouldReset: false,\n\t\t\t\tcurrentMenuItems: prevState,\n\t\t\t\tmenuItemOrder,\n\t\t\t} );\n\t\t\treturn items;\n\t\t} );\n\t}, [ panelItems, setMenuItems, menuItemOrder ] );\n\n\t// Force a menu item to be checked.\n\t// This is intended for use with default panel items. They are displayed\n\t// separately to optional items and have different display states,\n\t// we need to update that when their value is customized.\n\tconst flagItemCustomization = useCallback(\n\t\t( label: string, group: ToolsPanelMenuItemKey = 'default' ) => {\n\t\t\tsetMenuItems( ( items ) => {\n\t\t\t\tconst newState = {\n\t\t\t\t\t...items,\n\t\t\t\t\t[ group ]: {\n\t\t\t\t\t\t...items[ group ],\n\t\t\t\t\t\t[ label ]: true,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treturn newState;\n\t\t\t} );\n\t\t},\n\t\t[ setMenuItems ]\n\t);\n\n\t// Whether all optional menu items are hidden or not must be tracked\n\t// in order to later determine if the panel display is empty and handle\n\t// conditional display of a plus icon to indicate the presence of further\n\t// menu items.\n\tconst [ areAllOptionalControlsHidden, setAreAllOptionalControlsHidden ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisMenuItemTypeEmpty( menuItems?.default ) &&\n\t\t\t! isMenuItemTypeEmpty( menuItems?.optional )\n\t\t) {\n\t\t\tconst allControlsHidden = ! Object.entries(\n\t\t\t\tmenuItems.optional\n\t\t\t).some( ( [ , isSelected ] ) => isSelected );\n\t\t\tsetAreAllOptionalControlsHidden( allControlsHidden );\n\t\t}\n\t}, [ menuItems, setAreAllOptionalControlsHidden ] );\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst wrapperStyle =\n\t\t\thasInnerWrapper &&\n\t\t\tstyles.ToolsPanelWithInnerWrapper( DEFAULT_COLUMNS );\n\t\tconst emptyStyle =\n\t\t\tisMenuItemTypeEmpty( menuItems?.default ) &&\n\t\t\tareAllOptionalControlsHidden &&\n\t\t\tstyles.ToolsPanelHiddenInnerWrapper;\n\n\t\treturn cx(\n\t\t\tstyles.ToolsPanel( DEFAULT_COLUMNS ),\n\t\t\twrapperStyle,\n\t\t\temptyStyle,\n\t\t\tclassName\n\t\t);\n\t}, [\n\t\tareAllOptionalControlsHidden,\n\t\tclassName,\n\t\tcx,\n\t\thasInnerWrapper,\n\t\tmenuItems,\n\t] );\n\n\t// Toggle the checked state of a menu item which is then used to determine\n\t// display of the item within the panel.\n\tconst toggleItem = useCallback(\n\t\t( label: string ) => {\n\t\t\tconst currentItem = panelItems.find(\n\t\t\t\t( item ) => item.label === label\n\t\t\t);\n\n\t\t\tif ( ! currentItem ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menuGroup = currentItem.isShownByDefault\n\t\t\t\t? 'default'\n\t\t\t\t: 'optional';\n\n\t\t\tconst newMenuItems = {\n\t\t\t\t...menuItems,\n\t\t\t\t[ menuGroup ]: {\n\t\t\t\t\t...menuItems[ menuGroup ],\n\t\t\t\t\t[ label ]: ! menuItems[ menuGroup ][ label ],\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tsetMenuItems( newMenuItems );\n\t\t},\n\t\t[ menuItems, panelItems, setMenuItems ]\n\t);\n\n\t// Resets display of children and executes resetAll callback if available.\n\tconst resetAllItems = useCallback( () => {\n\t\tif ( typeof resetAll === 'function' ) {\n\t\t\tisResetting.current = true;\n\t\t\tresetAll( resetAllFilters );\n\t\t}\n\n\t\t// Turn off display of all non-default items.\n\t\tconst resetMenuItems = generateMenuItems( {\n\t\t\tpanelItems,\n\t\t\tmenuItemOrder,\n\t\t\tshouldReset: true,\n\t\t} );\n\t\tsetMenuItems( resetMenuItems );\n\t}, [ panelItems, resetAllFilters, resetAll, setMenuItems, menuItemOrder ] );\n\n\t// Assist ItemGroup styling when there are potentially hidden placeholder\n\t// items by identifying first & last items that are toggled on for display.\n\tconst getFirstVisibleItemLabel = ( items: ToolsPanelItem[] ) => {\n\t\tconst optionalItems = menuItems.optional || {};\n\t\tconst firstItem = items.find(\n\t\t\t( item ) => item.isShownByDefault || !! optionalItems[ item.label ]\n\t\t);\n\n\t\treturn firstItem?.label;\n\t};\n\n\tconst firstDisplayedItem = getFirstVisibleItemLabel( panelItems );\n\tconst lastDisplayedItem = getFirstVisibleItemLabel(\n\t\t[ ...panelItems ].reverse()\n\t);\n\n\tconst panelContext = useMemo(\n\t\t() => ( {\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tderegisterResetAllFilter,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\thasMenuItems: !! panelItems.length,\n\t\t\tisResetting: isResetting.current,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tregisterPanelItem,\n\t\t\tregisterResetAllFilter,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t} ),\n\t\t[\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tderegisterResetAllFilter,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tpanelItems,\n\t\t\tregisterResetAllFilter,\n\t\t\tregisterPanelItem,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t]\n\t);\n\n\treturn {\n\t\t...otherProps,\n\t\theadingLevel,\n\t\tpanelContext,\n\t\tresetAllItems,\n\t\ttoggleItem,\n\t\tclassName: classes,\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel/hook.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","styles","useContextSystem","useCx","DEFAULT_COLUMNS","generateMenuItems","panelItems","shouldReset","currentMenuItems","menuItemOrder","newMenuItems","default","optional","menuItems","forEach","hasValue","isShownByDefault","label","group","existingItemValue","value","key","hasOwnProperty","Object","keys","isMenuItemTypeEmpty","obj","length","useToolsPanel","props","className","headingLevel","resetAll","panelId","hasInnerWrapper","shouldRenderPlaceholderItems","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","otherProps","isResetting","wasResetting","current","setPanelItems","setMenuItemOrder","resetAllFilters","setResetAllFilters","registerPanelItem","item","items","newItems","existingIndex","findIndex","oldItem","splice","includes","deregisterPanelItem","index","registerResetAllFilter","newFilter","filters","deregisterResetAllFilter","filterToRemove","filter","setMenuItems","prevState","flagItemCustomization","newState","areAllOptionalControlsHidden","setAreAllOptionalControlsHidden","allControlsHidden","entries","some","isSelected","cx","classes","wrapperStyle","ToolsPanelWithInnerWrapper","emptyStyle","ToolsPanelHiddenInnerWrapper","ToolsPanel","toggleItem","currentItem","find","menuGroup","resetAllItems","resetMenuItems","getFirstVisibleItemLabel","optionalItems","firstItem","firstDisplayedItem","lastDisplayedItem","reverse","panelContext","hasMenuItems"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type {\n\tToolsPanelItem,\n\tToolsPanelMenuItemKey,\n\tToolsPanelMenuItems,\n\tToolsPanelMenuItemsConfig,\n\tToolsPanelProps,\n\tResetAllFilter,\n} from '../types';\n\nconst DEFAULT_COLUMNS = 2;\n\nconst generateMenuItems = ( {\n\tpanelItems,\n\tshouldReset,\n\tcurrentMenuItems,\n\tmenuItemOrder,\n}: ToolsPanelMenuItemsConfig ) => {\n\tconst newMenuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\tconst menuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\n\tpanelItems.forEach( ( { hasValue, isShownByDefault, label } ) => {\n\t\tconst group = isShownByDefault ? 'default' : 'optional';\n\n\t\t// If a menu item for this label has already been flagged as customized\n\t\t// (for default controls), or toggled on (for optional controls), do not\n\t\t// overwrite its value as those controls would lose that state.\n\t\tconst existingItemValue = currentMenuItems?.[ group ]?.[ label ];\n\t\tconst value = existingItemValue ? existingItemValue : hasValue();\n\n\t\tnewMenuItems[ group ][ label ] = shouldReset ? false : value;\n\t} );\n\n\t// Loop the known, previously registered items first to maintain menu order.\n\tmenuItemOrder.forEach( ( key ) => {\n\t\tif ( newMenuItems.default.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.default[ key ] = newMenuItems.default[ key ];\n\t\t}\n\n\t\tif ( newMenuItems.optional.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.optional[ key ] = newMenuItems.optional[ key ];\n\t\t}\n\t} );\n\n\t// Loop newMenuItems object adding any that aren't in the known items order.\n\tObject.keys( newMenuItems.default ).forEach( ( key ) => {\n\t\tif ( ! menuItems.default.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.default[ key ] = newMenuItems.default[ key ];\n\t\t}\n\t} );\n\n\tObject.keys( newMenuItems.optional ).forEach( ( key ) => {\n\t\tif ( ! menuItems.optional.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.optional[ key ] = newMenuItems.optional[ key ];\n\t\t}\n\t} );\n\n\treturn menuItems;\n};\n\nconst isMenuItemTypeEmpty = (\n\tobj?: ToolsPanelMenuItems[ ToolsPanelMenuItemKey ]\n) => obj && Object.keys( obj ).length === 0;\n\nexport function useToolsPanel(\n\tprops: WordPressComponentProps< ToolsPanelProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\theadingLevel = 2,\n\t\tresetAll,\n\t\tpanelId,\n\t\thasInnerWrapper = false,\n\t\tshouldRenderPlaceholderItems = false,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanel' );\n\n\tconst isResetting = useRef( false );\n\tconst wasResetting = isResetting.current;\n\n\t// `isResetting` is cleared via this hook to effectively batch together\n\t// the resetAll task. Without this, the flag is cleared after the first\n\t// control updates and forces a rerender with subsequent controls then\n\t// believing they need to reset, unfortunately using stale data.\n\tuseEffect( () => {\n\t\tif ( wasResetting ) {\n\t\t\tisResetting.current = false;\n\t\t}\n\t}, [ wasResetting ] );\n\n\t// Allow panel items to register themselves.\n\tconst [ panelItems, setPanelItems ] = useState< ToolsPanelItem[] >( [] );\n\tconst [ menuItemOrder, setMenuItemOrder ] = useState< string[] >( [] );\n\tconst [ resetAllFilters, setResetAllFilters ] = useState<\n\t\tResetAllFilter[]\n\t>( [] );\n\n\tconst registerPanelItem = useCallback(\n\t\t( item: ToolsPanelItem ) => {\n\t\t\t// Add item to panel items.\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\t// If an item with this label has already been registered, remove it\n\t\t\t\t// first. This can happen when an item is moved between the default\n\t\t\t\t// and optional groups.\n\t\t\t\tconst existingIndex = newItems.findIndex(\n\t\t\t\t\t( oldItem ) => oldItem.label === item.label\n\t\t\t\t);\n\t\t\t\tif ( existingIndex !== -1 ) {\n\t\t\t\t\tnewItems.splice( existingIndex, 1 );\n\t\t\t\t}\n\t\t\t\treturn [ ...newItems, item ];\n\t\t\t} );\n\n\t\t\t// Track the initial order of item registration. This is used for\n\t\t\t// maintaining menu item order later.\n\t\t\tsetMenuItemOrder( ( items ) => {\n\t\t\t\tif ( items.includes( item.label ) ) {\n\t\t\t\t\treturn items;\n\t\t\t\t}\n\n\t\t\t\treturn [ ...items, item.label ];\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems, setMenuItemOrder ]\n\t);\n\n\t// Panels need to deregister on unmount to avoid orphans in menu state.\n\t// This is an issue when panel items are being injected via SlotFills.\n\tconst deregisterPanelItem = useCallback(\n\t\t( label: string ) => {\n\t\t\t// When switching selections between components injecting matching\n\t\t\t// controls, e.g. both panels have a \"padding\" control, the\n\t\t\t// deregistration of the first panel doesn't occur until after the\n\t\t\t// registration of the next.\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\tconst index = newItems.findIndex(\n\t\t\t\t\t( item ) => item.label === label\n\t\t\t\t);\n\t\t\t\tif ( index !== -1 ) {\n\t\t\t\t\tnewItems.splice( index, 1 );\n\t\t\t\t}\n\t\t\t\treturn newItems;\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems ]\n\t);\n\n\tconst registerResetAllFilter = useCallback(\n\t\t( newFilter: ResetAllFilter ) => {\n\t\t\tsetResetAllFilters( ( filters ) => {\n\t\t\t\treturn [ ...filters, newFilter ];\n\t\t\t} );\n\t\t},\n\t\t[ setResetAllFilters ]\n\t);\n\n\tconst deregisterResetAllFilter = useCallback(\n\t\t( filterToRemove: ResetAllFilter ) => {\n\t\t\tsetResetAllFilters( ( filters ) => {\n\t\t\t\treturn filters.filter(\n\t\t\t\t\t( filter ) => filter !== filterToRemove\n\t\t\t\t);\n\t\t\t} );\n\t\t},\n\t\t[ setResetAllFilters ]\n\t);\n\n\t// Manage and share display state of menu items representing child controls.\n\tconst [ menuItems, setMenuItems ] = useState< ToolsPanelMenuItems >( {\n\t\tdefault: {},\n\t\toptional: {},\n\t} );\n\n\t// Setup menuItems state as panel items register themselves.\n\tuseEffect( () => {\n\t\tsetMenuItems( ( prevState ) => {\n\t\t\tconst items = generateMenuItems( {\n\t\t\t\tpanelItems,\n\t\t\t\tshouldReset: false,\n\t\t\t\tcurrentMenuItems: prevState,\n\t\t\t\tmenuItemOrder,\n\t\t\t} );\n\t\t\treturn items;\n\t\t} );\n\t}, [ panelItems, setMenuItems, menuItemOrder ] );\n\n\t// Force a menu item to be checked.\n\t// This is intended for use with default panel items. They are displayed\n\t// separately to optional items and have different display states,\n\t// we need to update that when their value is customized.\n\tconst flagItemCustomization = useCallback(\n\t\t( label: string, group: ToolsPanelMenuItemKey = 'default' ) => {\n\t\t\tsetMenuItems( ( items ) => {\n\t\t\t\tconst newState = {\n\t\t\t\t\t...items,\n\t\t\t\t\t[ group ]: {\n\t\t\t\t\t\t...items[ group ],\n\t\t\t\t\t\t[ label ]: true,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treturn newState;\n\t\t\t} );\n\t\t},\n\t\t[ setMenuItems ]\n\t);\n\n\t// Whether all optional menu items are hidden or not must be tracked\n\t// in order to later determine if the panel display is empty and handle\n\t// conditional display of a plus icon to indicate the presence of further\n\t// menu items.\n\tconst [ areAllOptionalControlsHidden, setAreAllOptionalControlsHidden ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisMenuItemTypeEmpty( menuItems?.default ) &&\n\t\t\t! isMenuItemTypeEmpty( menuItems?.optional )\n\t\t) {\n\t\t\tconst allControlsHidden = ! Object.entries(\n\t\t\t\tmenuItems.optional\n\t\t\t).some( ( [ , isSelected ] ) => isSelected );\n\t\t\tsetAreAllOptionalControlsHidden( allControlsHidden );\n\t\t}\n\t}, [ menuItems, setAreAllOptionalControlsHidden ] );\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst wrapperStyle =\n\t\t\thasInnerWrapper &&\n\t\t\tstyles.ToolsPanelWithInnerWrapper( DEFAULT_COLUMNS );\n\t\tconst emptyStyle =\n\t\t\tisMenuItemTypeEmpty( menuItems?.default ) &&\n\t\t\tareAllOptionalControlsHidden &&\n\t\t\tstyles.ToolsPanelHiddenInnerWrapper;\n\n\t\treturn cx(\n\t\t\tstyles.ToolsPanel( DEFAULT_COLUMNS ),\n\t\t\twrapperStyle,\n\t\t\temptyStyle,\n\t\t\tclassName\n\t\t);\n\t}, [\n\t\tareAllOptionalControlsHidden,\n\t\tclassName,\n\t\tcx,\n\t\thasInnerWrapper,\n\t\tmenuItems,\n\t] );\n\n\t// Toggle the checked state of a menu item which is then used to determine\n\t// display of the item within the panel.\n\tconst toggleItem = useCallback(\n\t\t( label: string ) => {\n\t\t\tconst currentItem = panelItems.find(\n\t\t\t\t( item ) => item.label === label\n\t\t\t);\n\n\t\t\tif ( ! currentItem ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menuGroup = currentItem.isShownByDefault\n\t\t\t\t? 'default'\n\t\t\t\t: 'optional';\n\n\t\t\tconst newMenuItems = {\n\t\t\t\t...menuItems,\n\t\t\t\t[ menuGroup ]: {\n\t\t\t\t\t...menuItems[ menuGroup ],\n\t\t\t\t\t[ label ]: ! menuItems[ menuGroup ][ label ],\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tsetMenuItems( newMenuItems );\n\t\t},\n\t\t[ menuItems, panelItems, setMenuItems ]\n\t);\n\n\t// Resets display of children and executes resetAll callback if available.\n\tconst resetAllItems = useCallback( () => {\n\t\tif ( typeof resetAll === 'function' ) {\n\t\t\tisResetting.current = true;\n\t\t\tresetAll( resetAllFilters );\n\t\t}\n\n\t\t// Turn off display of all non-default items.\n\t\tconst resetMenuItems = generateMenuItems( {\n\t\t\tpanelItems,\n\t\t\tmenuItemOrder,\n\t\t\tshouldReset: true,\n\t\t} );\n\t\tsetMenuItems( resetMenuItems );\n\t}, [ panelItems, resetAllFilters, resetAll, setMenuItems, menuItemOrder ] );\n\n\t// Assist ItemGroup styling when there are potentially hidden placeholder\n\t// items by identifying first & last items that are toggled on for display.\n\tconst getFirstVisibleItemLabel = ( items: ToolsPanelItem[] ) => {\n\t\tconst optionalItems = menuItems.optional || {};\n\t\tconst firstItem = items.find(\n\t\t\t( item ) => item.isShownByDefault || !! optionalItems[ item.label ]\n\t\t);\n\n\t\treturn firstItem?.label;\n\t};\n\n\tconst firstDisplayedItem = getFirstVisibleItemLabel( panelItems );\n\tconst lastDisplayedItem = getFirstVisibleItemLabel(\n\t\t[ ...panelItems ].reverse()\n\t);\n\n\tconst panelContext = useMemo(\n\t\t() => ( {\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tderegisterResetAllFilter,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\thasMenuItems: !! panelItems.length,\n\t\t\tisResetting: isResetting.current,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tregisterPanelItem,\n\t\t\tregisterResetAllFilter,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t} ),\n\t\t[\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tderegisterResetAllFilter,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tpanelItems,\n\t\t\tregisterResetAllFilter,\n\t\t\tregisterPanelItem,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t]\n\t);\n\n\treturn {\n\t\t...otherProps,\n\t\theadingLevel,\n\t\tpanelContext,\n\t\tresetAllItems,\n\t\ttoggleItem,\n\t\tclassName: classes,\n\t};\n}\n"]}
|
|
@@ -24,13 +24,11 @@ import { useToolsPanelHeader } from './hook';
|
|
|
24
24
|
import { contextConnect } from '../../ui/context';
|
|
25
25
|
import { ResetLabel } from '../styles';
|
|
26
26
|
|
|
27
|
-
const DefaultControlsGroup =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
} = _ref;
|
|
33
|
-
|
|
27
|
+
const DefaultControlsGroup = ({
|
|
28
|
+
itemClassName,
|
|
29
|
+
items,
|
|
30
|
+
toggleItem
|
|
31
|
+
}) => {
|
|
34
32
|
if (!items.length) {
|
|
35
33
|
return null;
|
|
36
34
|
}
|
|
@@ -40,9 +38,7 @@ const DefaultControlsGroup = _ref => {
|
|
|
40
38
|
}, __('Reset'));
|
|
41
39
|
return createElement(MenuGroup, {
|
|
42
40
|
label: __('Defaults')
|
|
43
|
-
}, items.map(
|
|
44
|
-
let [label, hasValue] = _ref2;
|
|
45
|
-
|
|
41
|
+
}, items.map(([label, hasValue]) => {
|
|
46
42
|
if (hasValue) {
|
|
47
43
|
return createElement(MenuItem, {
|
|
48
44
|
key: label,
|
|
@@ -69,20 +65,17 @@ const DefaultControlsGroup = _ref => {
|
|
|
69
65
|
}));
|
|
70
66
|
};
|
|
71
67
|
|
|
72
|
-
const OptionalControlsGroup =
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
} = _ref3;
|
|
77
|
-
|
|
68
|
+
const OptionalControlsGroup = ({
|
|
69
|
+
items,
|
|
70
|
+
toggleItem
|
|
71
|
+
}) => {
|
|
78
72
|
if (!items.length) {
|
|
79
73
|
return null;
|
|
80
74
|
}
|
|
81
75
|
|
|
82
76
|
return createElement(MenuGroup, {
|
|
83
77
|
label: __('Tools')
|
|
84
|
-
}, items.map(
|
|
85
|
-
let [label, isSelected] = _ref4;
|
|
78
|
+
}, items.map(([label, isSelected]) => {
|
|
86
79
|
const itemLabel = isSelected ? sprintf( // translators: %s: The name of the control being hidden and reset e.g. "Padding".
|
|
87
80
|
__('Hide and reset %s'), label) : sprintf( // translators: %s: The name of the control to display e.g. "Padding".
|
|
88
81
|
__('Show %s'), label);
|
|
@@ -126,16 +119,13 @@ const ToolsPanelHeader = (props, forwardedRef) => {
|
|
|
126
119
|
return null;
|
|
127
120
|
}
|
|
128
121
|
|
|
129
|
-
const defaultItems = Object.entries(
|
|
130
|
-
const optionalItems = Object.entries(
|
|
122
|
+
const defaultItems = Object.entries(menuItems?.default || {});
|
|
123
|
+
const optionalItems = Object.entries(menuItems?.optional || {});
|
|
131
124
|
const dropDownMenuIcon = areAllOptionalControlsHidden ? plus : moreVertical;
|
|
132
125
|
const dropDownMenuLabelText = sprintf( // translators: %s: The name of the tool e.g. "Color" or "Typography".
|
|
133
126
|
_x('%s options', 'Button label to reveal tool panel options'), labelText);
|
|
134
127
|
const dropdownMenuDescriptionText = areAllOptionalControlsHidden ? __('All options are currently hidden') : undefined;
|
|
135
|
-
const canResetAll = [...defaultItems, ...optionalItems].some(
|
|
136
|
-
let [, isSelected] = _ref5;
|
|
137
|
-
return isSelected;
|
|
138
|
-
});
|
|
128
|
+
const canResetAll = [...defaultItems, ...optionalItems].some(([, isSelected]) => isSelected);
|
|
139
129
|
return createElement(HStack, _extends({}, headerProps, {
|
|
140
130
|
ref: forwardedRef
|
|
141
131
|
}), createElement(Heading, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-header/component.tsx"],"names":["speak","check","moreVertical","plus","__","_x","sprintf","DropdownMenu","MenuGroup","MenuItem","HStack","Heading","useToolsPanelHeader","contextConnect","ResetLabel","DefaultControlsGroup","itemClassName","items","toggleItem","length","resetSuffix","map","label","hasValue","OptionalControlsGroup","isSelected","itemLabel","ToolsPanelHeader","props","forwardedRef","areAllOptionalControlsHidden","defaultControlsItemClassName","dropdownMenuClassName","hasMenuItems","headingClassName","headingLevel","labelText","menuItems","resetAll","headerProps","defaultItems","Object","entries","default","optionalItems","optional","dropDownMenuIcon","dropDownMenuLabelText","dropdownMenuDescriptionText","undefined","canResetAll","some","className","isSmall","describedBy","ConnectedToolsPanelHeader"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { check, moreVertical, plus } from '@wordpress/icons';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport DropdownMenu from '../../dropdown-menu';\nimport MenuGroup from '../../menu-group';\nimport MenuItem from '../../menu-item';\nimport { HStack } from '../../h-stack';\nimport { Heading } from '../../heading';\nimport { useToolsPanelHeader } from './hook';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { ResetLabel } from '../styles';\nimport type {\n\tToolsPanelControlsGroupProps,\n\tToolsPanelHeaderProps,\n} from '../types';\n\nconst DefaultControlsGroup = ( {\n\titemClassName,\n\titems,\n\ttoggleItem,\n}: ToolsPanelControlsGroupProps ) => {\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\tconst resetSuffix = <ResetLabel aria-hidden>{ __( 'Reset' ) }</ResetLabel>;\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Defaults' ) }>\n\t\t\t{ items.map( ( [ label, hasValue ] ) => {\n\t\t\t\tif ( hasValue ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\tclassName={ itemClassName }\n\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The name of the control being reset e.g. \"Padding\".\n\t\t\t\t\t\t\t\t__( 'Reset %s' ),\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\ttoggleItem( label );\n\t\t\t\t\t\t\t\tspeak(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The name of the control being reset e.g. \"Padding\".\n\t\t\t\t\t\t\t\t\t\t__( '%s reset to default' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t'assertive'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsuffix={ resetSuffix }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\tclassName={ itemClassName }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\tisSelected\n\t\t\t\t\t\taria-disabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</MenuGroup>\n\t);\n};\n\nconst OptionalControlsGroup = ( {\n\titems,\n\ttoggleItem,\n}: ToolsPanelControlsGroupProps ) => {\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t{ items.map( ( [ label, isSelected ] ) => {\n\t\t\t\tconst itemLabel = isSelected\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: The name of the control being hidden and reset e.g. \"Padding\".\n\t\t\t\t\t\t\t__( 'Hide and reset %s' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s: The name of the control to display e.g. \"Padding\".\n\t\t\t\t\t\t\t__( 'Show %s' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t );\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\ticon={ isSelected && check }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tlabel={ itemLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( isSelected ) {\n\t\t\t\t\t\t\t\tspeak(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The name of the control being reset e.g. \"Padding\".\n\t\t\t\t\t\t\t\t\t\t__( '%s hidden and reset to default' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t'assertive'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tspeak(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The name of the control being reset e.g. \"Padding\".\n\t\t\t\t\t\t\t\t\t\t__( '%s is now visible' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t'assertive'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttoggleItem( label );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</MenuGroup>\n\t);\n};\n\nconst ToolsPanelHeader = (\n\tprops: WordPressComponentProps< ToolsPanelHeaderProps, 'h2' >,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\tareAllOptionalControlsHidden,\n\t\tdefaultControlsItemClassName,\n\t\tdropdownMenuClassName,\n\t\thasMenuItems,\n\t\theadingClassName,\n\t\theadingLevel = 2,\n\t\tlabel: labelText,\n\t\tmenuItems,\n\t\tresetAll,\n\t\ttoggleItem,\n\t\t...headerProps\n\t} = useToolsPanelHeader( props );\n\n\tif ( ! labelText ) {\n\t\treturn null;\n\t}\n\n\tconst defaultItems = Object.entries( menuItems?.default || {} );\n\tconst optionalItems = Object.entries( menuItems?.optional || {} );\n\tconst dropDownMenuIcon = areAllOptionalControlsHidden ? plus : moreVertical;\n\tconst dropDownMenuLabelText = sprintf(\n\t\t// translators: %s: The name of the tool e.g. \"Color\" or \"Typography\".\n\t\t_x( '%s options', 'Button label to reveal tool panel options' ),\n\t\tlabelText\n\t);\n\tconst dropdownMenuDescriptionText = areAllOptionalControlsHidden\n\t\t? __( 'All options are currently hidden' )\n\t\t: undefined;\n\n\tconst canResetAll = [ ...defaultItems, ...optionalItems ].some(\n\t\t( [ , isSelected ] ) => isSelected\n\t);\n\n\treturn (\n\t\t<HStack { ...headerProps } ref={ forwardedRef }>\n\t\t\t<Heading level={ headingLevel } className={ headingClassName }>\n\t\t\t\t{ labelText }\n\t\t\t</Heading>\n\t\t\t{ hasMenuItems && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ dropDownMenuIcon }\n\t\t\t\t\tlabel={ dropDownMenuLabelText }\n\t\t\t\t\tmenuProps={ { className: dropdownMenuClassName } }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\tdescribedBy: dropdownMenuDescriptionText,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ () => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DefaultControlsGroup\n\t\t\t\t\t\t\t\titems={ defaultItems }\n\t\t\t\t\t\t\t\ttoggleItem={ toggleItem }\n\t\t\t\t\t\t\t\titemClassName={ defaultControlsItemClassName }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<OptionalControlsGroup\n\t\t\t\t\t\t\t\titems={ optionalItems }\n\t\t\t\t\t\t\t\ttoggleItem={ toggleItem }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\taria-disabled={ ! canResetAll }\n\t\t\t\t\t\t\t\t\tvariant={ 'tertiary' }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tif ( canResetAll ) {\n\t\t\t\t\t\t\t\t\t\t\tresetAll();\n\t\t\t\t\t\t\t\t\t\t\tspeak(\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'All options reset' ),\n\t\t\t\t\t\t\t\t\t\t\t\t'assertive'\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Reset all' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</HStack>\n\t);\n};\n\nconst ConnectedToolsPanelHeader = contextConnect(\n\tToolsPanelHeader,\n\t'ToolsPanelHeader'\n);\n\nexport default ConnectedToolsPanelHeader;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-header/component.tsx"],"names":["speak","check","moreVertical","plus","__","_x","sprintf","DropdownMenu","MenuGroup","MenuItem","HStack","Heading","useToolsPanelHeader","contextConnect","ResetLabel","DefaultControlsGroup","itemClassName","items","toggleItem","length","resetSuffix","map","label","hasValue","OptionalControlsGroup","isSelected","itemLabel","ToolsPanelHeader","props","forwardedRef","areAllOptionalControlsHidden","defaultControlsItemClassName","dropdownMenuClassName","hasMenuItems","headingClassName","headingLevel","labelText","menuItems","resetAll","headerProps","defaultItems","Object","entries","default","optionalItems","optional","dropDownMenuIcon","dropDownMenuLabelText","dropdownMenuDescriptionText","undefined","canResetAll","some","className","isSmall","describedBy","ConnectedToolsPanelHeader"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { check, moreVertical, plus } from '@wordpress/icons';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport DropdownMenu from '../../dropdown-menu';\nimport MenuGroup from '../../menu-group';\nimport MenuItem from '../../menu-item';\nimport { HStack } from '../../h-stack';\nimport { Heading } from '../../heading';\nimport { useToolsPanelHeader } from './hook';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { ResetLabel } from '../styles';\nimport type {\n\tToolsPanelControlsGroupProps,\n\tToolsPanelHeaderProps,\n} from '../types';\n\nconst DefaultControlsGroup = ( {\n\titemClassName,\n\titems,\n\ttoggleItem,\n}: ToolsPanelControlsGroupProps ) => {\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\tconst resetSuffix = <ResetLabel aria-hidden>{ __( 'Reset' ) }</ResetLabel>;\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Defaults' ) }>\n\t\t\t{ items.map( ( [ label, hasValue ] ) => {\n\t\t\t\tif ( hasValue ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\tclassName={ itemClassName }\n\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The name of the control being reset e.g. \"Padding\".\n\t\t\t\t\t\t\t\t__( 'Reset %s' ),\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\ttoggleItem( label );\n\t\t\t\t\t\t\t\tspeak(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The name of the control being reset e.g. \"Padding\".\n\t\t\t\t\t\t\t\t\t\t__( '%s reset to default' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t'assertive'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsuffix={ resetSuffix }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\tclassName={ itemClassName }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\tisSelected\n\t\t\t\t\t\taria-disabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</MenuGroup>\n\t);\n};\n\nconst OptionalControlsGroup = ( {\n\titems,\n\ttoggleItem,\n}: ToolsPanelControlsGroupProps ) => {\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t{ items.map( ( [ label, isSelected ] ) => {\n\t\t\t\tconst itemLabel = isSelected\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: The name of the control being hidden and reset e.g. \"Padding\".\n\t\t\t\t\t\t\t__( 'Hide and reset %s' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s: The name of the control to display e.g. \"Padding\".\n\t\t\t\t\t\t\t__( 'Show %s' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t );\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\ticon={ isSelected && check }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tlabel={ itemLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( isSelected ) {\n\t\t\t\t\t\t\t\tspeak(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The name of the control being reset e.g. \"Padding\".\n\t\t\t\t\t\t\t\t\t\t__( '%s hidden and reset to default' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t'assertive'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tspeak(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The name of the control being reset e.g. \"Padding\".\n\t\t\t\t\t\t\t\t\t\t__( '%s is now visible' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t'assertive'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttoggleItem( label );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</MenuGroup>\n\t);\n};\n\nconst ToolsPanelHeader = (\n\tprops: WordPressComponentProps< ToolsPanelHeaderProps, 'h2' >,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\tareAllOptionalControlsHidden,\n\t\tdefaultControlsItemClassName,\n\t\tdropdownMenuClassName,\n\t\thasMenuItems,\n\t\theadingClassName,\n\t\theadingLevel = 2,\n\t\tlabel: labelText,\n\t\tmenuItems,\n\t\tresetAll,\n\t\ttoggleItem,\n\t\t...headerProps\n\t} = useToolsPanelHeader( props );\n\n\tif ( ! labelText ) {\n\t\treturn null;\n\t}\n\n\tconst defaultItems = Object.entries( menuItems?.default || {} );\n\tconst optionalItems = Object.entries( menuItems?.optional || {} );\n\tconst dropDownMenuIcon = areAllOptionalControlsHidden ? plus : moreVertical;\n\tconst dropDownMenuLabelText = sprintf(\n\t\t// translators: %s: The name of the tool e.g. \"Color\" or \"Typography\".\n\t\t_x( '%s options', 'Button label to reveal tool panel options' ),\n\t\tlabelText\n\t);\n\tconst dropdownMenuDescriptionText = areAllOptionalControlsHidden\n\t\t? __( 'All options are currently hidden' )\n\t\t: undefined;\n\n\tconst canResetAll = [ ...defaultItems, ...optionalItems ].some(\n\t\t( [ , isSelected ] ) => isSelected\n\t);\n\n\treturn (\n\t\t<HStack { ...headerProps } ref={ forwardedRef }>\n\t\t\t<Heading level={ headingLevel } className={ headingClassName }>\n\t\t\t\t{ labelText }\n\t\t\t</Heading>\n\t\t\t{ hasMenuItems && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ dropDownMenuIcon }\n\t\t\t\t\tlabel={ dropDownMenuLabelText }\n\t\t\t\t\tmenuProps={ { className: dropdownMenuClassName } }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\tdescribedBy: dropdownMenuDescriptionText,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ () => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DefaultControlsGroup\n\t\t\t\t\t\t\t\titems={ defaultItems }\n\t\t\t\t\t\t\t\ttoggleItem={ toggleItem }\n\t\t\t\t\t\t\t\titemClassName={ defaultControlsItemClassName }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<OptionalControlsGroup\n\t\t\t\t\t\t\t\titems={ optionalItems }\n\t\t\t\t\t\t\t\ttoggleItem={ toggleItem }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\taria-disabled={ ! canResetAll }\n\t\t\t\t\t\t\t\t\tvariant={ 'tertiary' }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tif ( canResetAll ) {\n\t\t\t\t\t\t\t\t\t\t\tresetAll();\n\t\t\t\t\t\t\t\t\t\t\tspeak(\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'All options reset' ),\n\t\t\t\t\t\t\t\t\t\t\t\t'assertive'\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Reset all' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</HStack>\n\t);\n};\n\nconst ConnectedToolsPanelHeader = contextConnect(\n\tToolsPanelHeader,\n\t'ToolsPanelHeader'\n);\n\nexport default ConnectedToolsPanelHeader;\n"]}
|
|
@@ -15,8 +15,6 @@ import { useCx } from '../../utils/hooks/use-cx';
|
|
|
15
15
|
const noop = () => {};
|
|
16
16
|
|
|
17
17
|
export function useToolsPanelItem(props) {
|
|
18
|
-
var _menuItems$menuGroup, _menuItems$menuGroup2, _menuItems$menuGroup3;
|
|
19
|
-
|
|
20
18
|
const {
|
|
21
19
|
className,
|
|
22
20
|
hasValue,
|
|
@@ -79,9 +77,9 @@ export function useToolsPanelItem(props) {
|
|
|
79
77
|
// `ToolsPanel`.
|
|
80
78
|
|
|
81
79
|
const menuGroup = isShownByDefault ? 'default' : 'optional';
|
|
82
|
-
const isMenuItemChecked = menuItems
|
|
80
|
+
const isMenuItemChecked = menuItems?.[menuGroup]?.[label];
|
|
83
81
|
const wasMenuItemChecked = usePrevious(isMenuItemChecked);
|
|
84
|
-
const isRegistered =
|
|
82
|
+
const isRegistered = menuItems?.[menuGroup]?.[label] !== undefined;
|
|
85
83
|
const isValueSet = hasValue();
|
|
86
84
|
const wasValueSet = usePrevious(isValueSet);
|
|
87
85
|
const newValueSet = isValueSet && !wasValueSet; // Notify the panel when an item's value has been set.
|
|
@@ -111,17 +109,17 @@ export function useToolsPanelItem(props) {
|
|
|
111
109
|
}
|
|
112
110
|
|
|
113
111
|
if (isMenuItemChecked && !isValueSet && !wasMenuItemChecked) {
|
|
114
|
-
onSelect
|
|
112
|
+
onSelect?.();
|
|
115
113
|
}
|
|
116
114
|
|
|
117
115
|
if (!isMenuItemChecked && wasMenuItemChecked) {
|
|
118
|
-
onDeselect
|
|
116
|
+
onDeselect?.();
|
|
119
117
|
}
|
|
120
118
|
}, [hasMatchingPanel, isMenuItemChecked, isRegistered, isResetting, isValueSet, wasMenuItemChecked, onSelect, onDeselect]); // The item is shown if it is a default control regardless of whether it
|
|
121
119
|
// has a value. Optional items are shown when they are checked or have
|
|
122
120
|
// a value.
|
|
123
121
|
|
|
124
|
-
const isShown = isShownByDefault ?
|
|
122
|
+
const isShown = isShownByDefault ? menuItems?.[menuGroup]?.[label] !== undefined : isMenuItemChecked;
|
|
125
123
|
const cx = useCx();
|
|
126
124
|
const classes = useMemo(() => {
|
|
127
125
|
const placeholderStyle = shouldRenderPlaceholder && !isShown && styles.ToolsPanelItemPlaceholder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.ts"],"names":["usePrevious","useCallback","useEffect","useMemo","styles","useToolsPanelContext","useContextSystem","useCx","noop","useToolsPanelItem","props","className","hasValue","isShownByDefault","label","panelId","resetAllFilter","onDeselect","onSelect","otherProps","currentPanelId","menuItems","registerResetAllFilter","deregisterResetAllFilter","registerPanelItem","deregisterPanelItem","flagItemCustomization","isResetting","shouldRenderPlaceholderItems","shouldRenderPlaceholder","firstDisplayedItem","lastDisplayedItem","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","hasValueCallback","resetAllFilterCallback","previousPanelId","hasMatchingPanel","menuGroup","isMenuItemChecked","wasMenuItemChecked","isRegistered","undefined","isValueSet","wasValueSet","newValueSet","isShown","cx","classes","placeholderStyle","ToolsPanelItemPlaceholder","firstItemStyle","lastItemStyle","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\nconst noop = () => {};\n\nexport function useToolsPanelItem(\n\tprops: WordPressComponentProps< ToolsPanelItemProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\thasValue,\n\t\tisShownByDefault = false,\n\t\tlabel,\n\t\tpanelId,\n\t\tresetAllFilter = noop,\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\tregisterResetAllFilter,\n\t\tderegisterResetAllFilter,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tisResetting,\n\t\tshouldRenderPlaceholderItems: shouldRenderPlaceholder,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t} = useToolsPanelContext();\n\n\tconst hasValueCallback = useCallback( hasValue, [ panelId, hasValue ] );\n\tconst resetAllFilterCallback = useCallback( resetAllFilter, [\n\t\tpanelId,\n\t\tresetAllFilter,\n\t] );\n\tconst previousPanelId = usePrevious( currentPanelId );\n\n\tconst hasMatchingPanel =\n\t\tcurrentPanelId === panelId || currentPanelId === null;\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 ( hasMatchingPanel && previousPanelId !== null ) {\n\t\t\tregisterPanelItem( {\n\t\t\t\thasValue: hasValueCallback,\n\t\t\t\tisShownByDefault,\n\t\t\t\tlabel,\n\t\t\t\tpanelId,\n\t\t\t} );\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\t( previousPanelId === null && !! currentPanelId ) ||\n\t\t\t\tcurrentPanelId === panelId\n\t\t\t) {\n\t\t\t\tderegisterPanelItem( label );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tcurrentPanelId,\n\t\thasMatchingPanel,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\thasValueCallback,\n\t\tpanelId,\n\t\tpreviousPanelId,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( hasMatchingPanel ) {\n\t\t\tregisterResetAllFilter( resetAllFilterCallback );\n\t\t}\n\t\treturn () => {\n\t\t\tif ( hasMatchingPanel ) {\n\t\t\t\tderegisterResetAllFilter( resetAllFilterCallback );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tregisterResetAllFilter,\n\t\tderegisterResetAllFilter,\n\t\tresetAllFilterCallback,\n\t\thasMatchingPanel,\n\t] );\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\tconst isRegistered = menuItems?.[ menuGroup ]?.[ label ] !== undefined;\n\n\tconst isValueSet = hasValue();\n\tconst wasValueSet = usePrevious( isValueSet );\n\tconst newValueSet = isValueSet && ! wasValueSet;\n\n\t// Notify the panel when an item's value has been set.\n\t//\n\t// 1. For default controls, this is so \"reset\" appears beside its menu item.\n\t// 2. For optional controls, when the panel ID is `null`, it allows the\n\t// panel to ensure the item is toggled on for display in the menu, given the\n\t// value has been set external to the control.\n\tuseEffect( () => {\n\t\tif ( ! newValueSet ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isShownByDefault || currentPanelId === null ) {\n\t\t\tflagItemCustomization( label, menuGroup );\n\t\t}\n\t}, [\n\t\tcurrentPanelId,\n\t\tnewValueSet,\n\t\tisShownByDefault,\n\t\tmenuGroup,\n\t\tlabel,\n\t\tflagItemCustomization,\n\t] );\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\t// We check whether this item is currently registered as items rendered\n\t\t// via fills can persist through the parent panel being remounted.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45673\n\t\tif ( ! isRegistered || isResetting || ! hasMatchingPanel ) {\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\thasMatchingPanel,\n\t\tisMenuItemChecked,\n\t\tisRegistered,\n\t\tisResetting,\n\t\tisValueSet,\n\t\twasMenuItemChecked,\n\t\tonSelect,\n\t\tonDeselect,\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\tconst firstItemStyle =\n\t\t\tfirstDisplayedItem === label && __experimentalFirstVisibleItemClass;\n\t\tconst lastItemStyle =\n\t\t\tlastDisplayedItem === label && __experimentalLastVisibleItemClass;\n\t\treturn cx(\n\t\t\tstyles.ToolsPanelItem,\n\t\t\tplaceholderStyle,\n\t\t\tclassName,\n\t\t\tfirstItemStyle,\n\t\t\tlastItemStyle\n\t\t);\n\t}, [\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName,\n\t\tcx,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\tlabel,\n\t] );\n\n\treturn {\n\t\t...otherProps,\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName: classes,\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.ts"],"names":["usePrevious","useCallback","useEffect","useMemo","styles","useToolsPanelContext","useContextSystem","useCx","noop","useToolsPanelItem","props","className","hasValue","isShownByDefault","label","panelId","resetAllFilter","onDeselect","onSelect","otherProps","currentPanelId","menuItems","registerResetAllFilter","deregisterResetAllFilter","registerPanelItem","deregisterPanelItem","flagItemCustomization","isResetting","shouldRenderPlaceholderItems","shouldRenderPlaceholder","firstDisplayedItem","lastDisplayedItem","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","hasValueCallback","resetAllFilterCallback","previousPanelId","hasMatchingPanel","menuGroup","isMenuItemChecked","wasMenuItemChecked","isRegistered","undefined","isValueSet","wasValueSet","newValueSet","isShown","cx","classes","placeholderStyle","ToolsPanelItemPlaceholder","firstItemStyle","lastItemStyle","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\nconst noop = () => {};\n\nexport function useToolsPanelItem(\n\tprops: WordPressComponentProps< ToolsPanelItemProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\thasValue,\n\t\tisShownByDefault = false,\n\t\tlabel,\n\t\tpanelId,\n\t\tresetAllFilter = noop,\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\tregisterResetAllFilter,\n\t\tderegisterResetAllFilter,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tisResetting,\n\t\tshouldRenderPlaceholderItems: shouldRenderPlaceholder,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t} = useToolsPanelContext();\n\n\tconst hasValueCallback = useCallback( hasValue, [ panelId, hasValue ] );\n\tconst resetAllFilterCallback = useCallback( resetAllFilter, [\n\t\tpanelId,\n\t\tresetAllFilter,\n\t] );\n\tconst previousPanelId = usePrevious( currentPanelId );\n\n\tconst hasMatchingPanel =\n\t\tcurrentPanelId === panelId || currentPanelId === null;\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 ( hasMatchingPanel && previousPanelId !== null ) {\n\t\t\tregisterPanelItem( {\n\t\t\t\thasValue: hasValueCallback,\n\t\t\t\tisShownByDefault,\n\t\t\t\tlabel,\n\t\t\t\tpanelId,\n\t\t\t} );\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\t( previousPanelId === null && !! currentPanelId ) ||\n\t\t\t\tcurrentPanelId === panelId\n\t\t\t) {\n\t\t\t\tderegisterPanelItem( label );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tcurrentPanelId,\n\t\thasMatchingPanel,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\thasValueCallback,\n\t\tpanelId,\n\t\tpreviousPanelId,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( hasMatchingPanel ) {\n\t\t\tregisterResetAllFilter( resetAllFilterCallback );\n\t\t}\n\t\treturn () => {\n\t\t\tif ( hasMatchingPanel ) {\n\t\t\t\tderegisterResetAllFilter( resetAllFilterCallback );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tregisterResetAllFilter,\n\t\tderegisterResetAllFilter,\n\t\tresetAllFilterCallback,\n\t\thasMatchingPanel,\n\t] );\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\tconst isRegistered = menuItems?.[ menuGroup ]?.[ label ] !== undefined;\n\n\tconst isValueSet = hasValue();\n\tconst wasValueSet = usePrevious( isValueSet );\n\tconst newValueSet = isValueSet && ! wasValueSet;\n\n\t// Notify the panel when an item's value has been set.\n\t//\n\t// 1. For default controls, this is so \"reset\" appears beside its menu item.\n\t// 2. For optional controls, when the panel ID is `null`, it allows the\n\t// panel to ensure the item is toggled on for display in the menu, given the\n\t// value has been set external to the control.\n\tuseEffect( () => {\n\t\tif ( ! newValueSet ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isShownByDefault || currentPanelId === null ) {\n\t\t\tflagItemCustomization( label, menuGroup );\n\t\t}\n\t}, [\n\t\tcurrentPanelId,\n\t\tnewValueSet,\n\t\tisShownByDefault,\n\t\tmenuGroup,\n\t\tlabel,\n\t\tflagItemCustomization,\n\t] );\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\t// We check whether this item is currently registered as items rendered\n\t\t// via fills can persist through the parent panel being remounted.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45673\n\t\tif ( ! isRegistered || isResetting || ! hasMatchingPanel ) {\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\thasMatchingPanel,\n\t\tisMenuItemChecked,\n\t\tisRegistered,\n\t\tisResetting,\n\t\tisValueSet,\n\t\twasMenuItemChecked,\n\t\tonSelect,\n\t\tonDeselect,\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\tconst firstItemStyle =\n\t\t\tfirstDisplayedItem === label && __experimentalFirstVisibleItemClass;\n\t\tconst lastItemStyle =\n\t\t\tlastDisplayedItem === label && __experimentalLastVisibleItemClass;\n\t\treturn cx(\n\t\t\tstyles.ToolsPanelItem,\n\t\t\tplaceholderStyle,\n\t\t\tclassName,\n\t\t\tfirstItemStyle,\n\t\t\tlastItemStyle\n\t\t);\n\t}, [\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName,\n\t\tcx,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\tlabel,\n\t] );\n\n\treturn {\n\t\t...otherProps,\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName: classes,\n\t};\n}\n"]}
|
|
@@ -29,13 +29,12 @@ const eventCatcher = createElement("div", {
|
|
|
29
29
|
className: "event-catcher"
|
|
30
30
|
});
|
|
31
31
|
|
|
32
|
-
const getDisabledElement =
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
} = _ref;
|
|
32
|
+
const getDisabledElement = ({
|
|
33
|
+
eventHandlers,
|
|
34
|
+
child,
|
|
35
|
+
childrenWithPopover,
|
|
36
|
+
mergedRefs
|
|
37
|
+
}) => {
|
|
39
38
|
return cloneElement(createElement("span", {
|
|
40
39
|
className: "disabled-element-wrapper"
|
|
41
40
|
}, cloneElement(eventCatcher, eventHandlers), cloneElement(child, {
|
|
@@ -45,45 +44,41 @@ const getDisabledElement = _ref => {
|
|
|
45
44
|
});
|
|
46
45
|
};
|
|
47
46
|
|
|
48
|
-
const getRegularElement =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
} = _ref2;
|
|
47
|
+
const getRegularElement = ({
|
|
48
|
+
child,
|
|
49
|
+
eventHandlers,
|
|
50
|
+
childrenWithPopover,
|
|
51
|
+
mergedRefs
|
|
52
|
+
}) => {
|
|
55
53
|
return cloneElement(child, { ...eventHandlers,
|
|
56
54
|
children: childrenWithPopover,
|
|
57
55
|
ref: mergedRefs
|
|
58
56
|
});
|
|
59
57
|
};
|
|
60
58
|
|
|
61
|
-
const addPopoverToGrandchildren =
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
shortcut: shortcut
|
|
85
|
-
})));
|
|
86
|
-
};
|
|
59
|
+
const addPopoverToGrandchildren = ({
|
|
60
|
+
anchor,
|
|
61
|
+
grandchildren,
|
|
62
|
+
isOver,
|
|
63
|
+
offset,
|
|
64
|
+
position,
|
|
65
|
+
shortcut,
|
|
66
|
+
text,
|
|
67
|
+
className,
|
|
68
|
+
...props
|
|
69
|
+
}) => concatChildren(grandchildren, isOver && createElement(Popover, _extends({
|
|
70
|
+
focusOnMount: false,
|
|
71
|
+
position: position,
|
|
72
|
+
className: classNames('components-tooltip', className),
|
|
73
|
+
"aria-hidden": "true",
|
|
74
|
+
animate: false,
|
|
75
|
+
offset: offset,
|
|
76
|
+
anchor: anchor,
|
|
77
|
+
shift: true
|
|
78
|
+
}, props), text, createElement(Shortcut, {
|
|
79
|
+
className: "components-tooltip__shortcut",
|
|
80
|
+
shortcut: shortcut
|
|
81
|
+
})));
|
|
87
82
|
|
|
88
83
|
const emitToChild = (children, eventName, event) => {
|
|
89
84
|
if (Children.count(children) !== 1) {
|
|
@@ -102,8 +97,6 @@ const emitToChild = (children, eventName, event) => {
|
|
|
102
97
|
};
|
|
103
98
|
|
|
104
99
|
function Tooltip(props) {
|
|
105
|
-
var _Children$toArray$;
|
|
106
|
-
|
|
107
100
|
const {
|
|
108
101
|
children,
|
|
109
102
|
position = 'bottom middle',
|
|
@@ -128,7 +121,7 @@ function Tooltip(props) {
|
|
|
128
121
|
// so that the Tooltip can be correctly positioned. Also, merge with the
|
|
129
122
|
// existing ref for the first child, so that its ref is preserved.
|
|
130
123
|
|
|
131
|
-
const existingChildRef =
|
|
124
|
+
const existingChildRef = Children.toArray(children)[0]?.ref;
|
|
132
125
|
const mergedChildRefs = useMergeRefs([setPopoverAnchor, existingChildRef]);
|
|
133
126
|
|
|
134
127
|
const createMouseDown = event => {
|