@wordpress/block-editor 15.23.0 → 16.0.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 +33 -0
- package/build/autocompleters/block.cjs +10 -2
- package/build/autocompleters/block.cjs.map +2 -2
- package/build/components/background-image-control/index.cjs +0 -2
- package/build/components/background-image-control/index.cjs.map +2 -2
- package/build/components/block-canvas/index.cjs +6 -1
- package/build/components/block-canvas/index.cjs.map +2 -2
- package/build/components/block-controls/groups.cjs +3 -1
- package/build/components/block-controls/groups.cjs.map +2 -2
- package/build/components/block-edit/edit.cjs +10 -18
- package/build/components/block-edit/edit.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs +3 -0
- package/build/components/block-inspector/edit-contents.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +2 -3
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-list/block-invalid-warning.cjs +8 -19
- package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
- package/build/components/block-list/block.cjs +9 -3
- package/build/components/block-list/block.cjs.map +3 -3
- package/build/components/block-list/index.cjs +1 -3
- package/build/components/block-list/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/index.cjs +3 -1
- package/build/components/block-list/use-block-props/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-handler.cjs +12 -4
- package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
- package/build/components/block-styles/use-styles-for-block.cjs +2 -1
- package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
- package/build/components/block-title/use-block-display-title.cjs +7 -2
- package/build/components/block-title/use-block-display-title.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-icon.cjs +10 -14
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
- package/build/components/block-toolbar/index.cjs +43 -24
- package/build/components/block-toolbar/index.cjs.map +2 -2
- package/build/components/block-tools/index.cjs +7 -2
- package/build/components/block-tools/index.cjs.map +2 -2
- package/build/components/block-variation-transforms/index.cjs +0 -1
- package/build/components/block-variation-transforms/index.cjs.map +2 -2
- package/build/components/block-visibility/modal.cjs +20 -6
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/use-block-visibility.cjs +16 -6
- package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
- package/build/components/block-visibility/utils.cjs +15 -2
- package/build/components/block-visibility/utils.cjs.map +3 -3
- package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
- package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
- package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
- package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs +0 -6
- package/build/components/child-layout-control/index.cjs.map +2 -2
- package/build/components/colors-gradients/control.cjs +5 -5
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/date-format-picker/index.cjs +0 -1
- package/build/components/date-format-picker/index.cjs.map +2 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs +0 -1
- package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/width-height-tool.cjs +2 -4
- package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
- package/build/components/font-appearance-control/index.cjs +6 -25
- package/build/components/font-appearance-control/index.cjs.map +3 -3
- package/build/components/font-family/index.cjs +6 -15
- package/build/components/font-family/index.cjs.map +3 -3
- package/build/components/font-sizes/font-size-picker.cjs +1 -2
- package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
- package/build/components/global-styles/border-panel.cjs +0 -1
- package/build/components/global-styles/border-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +0 -3
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/state-control-badges.cjs +39 -3
- package/build/components/global-styles/state-control-badges.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs +4 -11
- package/build/components/global-styles/typography-panel.cjs.map +2 -2
- package/build/components/height-control/index.cjs +0 -2
- package/build/components/height-control/index.cjs.map +2 -2
- package/build/components/html-element-control/index.cjs +0 -1
- package/build/components/html-element-control/index.cjs.map +2 -2
- package/build/components/image-editor/index.cjs +5 -0
- package/build/components/image-editor/index.cjs.map +3 -3
- package/build/components/image-editor/zoom-dropdown.cjs +0 -1
- package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
- package/build/components/image-size-control/index.cjs +3 -7
- package/build/components/image-size-control/index.cjs.map +2 -2
- package/build/components/inner-content/index.cjs +107 -0
- package/build/components/inner-content/index.cjs.map +7 -0
- package/build/components/inserter/hooks/use-block-types-state.cjs +10 -2
- package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
- package/build/components/inserter/media-tab/hooks.cjs +67 -12
- package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-list.cjs +3 -1
- package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-panel.cjs +287 -28
- package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
- package/build/components/inserter/media-tab/media-preview.cjs +32 -17
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-tab.cjs +26 -6
- package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
- package/build/components/inserter/mobile-tab-navigation.cjs +6 -1
- package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
- package/build/components/inserter/no-results.cjs +2 -2
- package/build/components/inserter/no-results.cjs.map +2 -2
- package/build/components/inserter/preview-panel.cjs +2 -1
- package/build/components/inserter/preview-panel.cjs.map +2 -2
- package/build/components/inserter-list-item/index.cjs +8 -2
- package/build/components/inserter-list-item/index.cjs.map +2 -2
- package/build/components/keyboard-shortcuts/index.cjs +19 -11
- package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
- package/build/components/letter-spacing-control/index.cjs +0 -24
- package/build/components/letter-spacing-control/index.cjs.map +3 -3
- package/build/components/line-height-control/index.cjs +6 -22
- package/build/components/line-height-control/index.cjs.map +3 -3
- package/build/components/list-view/block-select-button.cjs +90 -84
- package/build/components/list-view/block-select-button.cjs.map +2 -2
- package/build/components/list-view/block.cjs +61 -21
- package/build/components/list-view/block.cjs.map +2 -2
- package/build/components/list-view/expander.cjs +1 -1
- package/build/components/list-view/expander.cjs.map +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
- package/build/components/media-placeholder/index.cjs +0 -1
- package/build/components/media-placeholder/index.cjs.map +2 -2
- package/build/components/observe-typing/index.cjs +4 -3
- package/build/components/observe-typing/index.cjs.map +2 -2
- package/build/components/preset-input-control/custom-value-controls.cjs +1 -3
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/preset-input-control/index.cjs +1 -3
- package/build/components/preset-input-control/index.cjs.map +2 -2
- package/build/components/resolution-tool/index.cjs +1 -2
- package/build/components/resolution-tool/index.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/before-input-rules.cjs +3 -4
- package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/delete.cjs +2 -3
- package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/enter.cjs +3 -2
- package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
- package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-rules.cjs +3 -4
- package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/paste-handler.cjs +2 -1
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
- package/build/components/rich-text/index.cjs +66 -17
- package/build/components/rich-text/index.cjs.map +2 -2
- package/build/components/text-alignment-control/index.cjs +0 -1
- package/build/components/text-alignment-control/index.cjs.map +2 -2
- package/build/components/text-decoration-control/index.cjs +0 -1
- package/build/components/text-decoration-control/index.cjs.map +2 -2
- package/build/components/text-indent-control/index.cjs +0 -8
- package/build/components/text-indent-control/index.cjs.map +2 -2
- package/build/components/text-transform-control/index.cjs +0 -1
- package/build/components/text-transform-control/index.cjs.map +2 -2
- package/build/components/typewriter/index.cjs +129 -136
- package/build/components/typewriter/index.cjs.map +3 -3
- package/build/components/use-block-commands/index.cjs +21 -17
- package/build/components/use-block-commands/index.cjs.map +2 -2
- package/build/components/use-block-display-information/index.cjs +10 -8
- package/build/components/use-block-display-information/index.cjs.map +2 -2
- package/build/components/use-on-block-drop/index.cjs +3 -7
- package/build/components/use-on-block-drop/index.cjs.map +2 -2
- package/build/components/writing-flow/index.cjs +12 -1
- package/build/components/writing-flow/index.cjs.map +3 -3
- package/build/components/writing-flow/use-arrow-nav.cjs +18 -5
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-click-selection.cjs +2 -2
- package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-clipboard-handler.cjs +4 -1
- package/build/components/writing-flow/use-clipboard-handler.cjs.map +2 -2
- package/build/components/writing-flow/use-drag-selection.cjs +3 -8
- package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root.cjs +112 -0
- package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
- package/build/components/writing-flow/use-home-end.cjs +64 -0
- package/build/components/writing-flow/use-home-end.cjs.map +7 -0
- package/build/components/writing-flow/use-input.cjs +15 -5
- package/build/components/writing-flow/use-input.cjs.map +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-select-all.cjs +14 -2
- package/build/components/writing-flow/use-select-all.cjs.map +2 -2
- package/build/components/writing-flow/use-selection-observer.cjs +126 -20
- package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
- package/build/components/writing-flow/utils.cjs +39 -2
- package/build/components/writing-flow/utils.cjs.map +2 -2
- package/build/components/writing-mode-control/index.cjs +0 -1
- package/build/components/writing-mode-control/index.cjs.map +2 -2
- package/build/hooks/background.cjs +3 -2
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-fields/rich-text/index.cjs +2 -3
- package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
- package/build/hooks/elements.cjs +1 -1
- package/build/hooks/elements.cjs.map +2 -2
- package/build/hooks/font-size.cjs +1 -2
- package/build/hooks/font-size.cjs.map +2 -2
- package/build/hooks/grid-visualizer.cjs +5 -3
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +22 -12
- package/build/hooks/layout-child.cjs.map +3 -3
- package/build/hooks/layout.cjs +33 -16
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/position.cjs +36 -16
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/states.cjs +29 -12
- package/build/hooks/states.cjs.map +3 -3
- package/build/hooks/style.cjs +31 -9
- package/build/hooks/style.cjs.map +3 -3
- package/build/hooks/text-align.cjs +36 -6
- package/build/hooks/text-align.cjs.map +3 -3
- package/build/hooks/typography.cjs +1 -1
- package/build/hooks/typography.cjs.map +2 -2
- package/build/layouts/constrained.cjs +35 -27
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +27 -22
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/grid.cjs +51 -11
- package/build/layouts/grid.cjs.map +2 -2
- package/build/private-apis.cjs +4 -1
- package/build/private-apis.cjs.map +3 -3
- package/build/store/actions.cjs +2 -2
- package/build/store/actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +3 -0
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +85 -6
- package/build/store/private-selectors.cjs.map +3 -3
- package/build/store/selectors.cjs +13 -0
- package/build/store/selectors.cjs.map +2 -2
- package/build/utils/block-bindings.cjs +29 -0
- package/build/utils/block-bindings.cjs.map +2 -2
- package/build/utils/dom.cjs +14 -0
- package/build/utils/dom.cjs.map +2 -2
- package/build-module/autocompleters/block.mjs +10 -2
- package/build-module/autocompleters/block.mjs.map +2 -2
- package/build-module/components/background-image-control/index.mjs +0 -2
- package/build-module/components/background-image-control/index.mjs.map +2 -2
- package/build-module/components/block-canvas/index.mjs +7 -2
- package/build-module/components/block-canvas/index.mjs.map +2 -2
- package/build-module/components/block-controls/groups.mjs +3 -1
- package/build-module/components/block-controls/groups.mjs.map +2 -2
- package/build-module/components/block-edit/edit.mjs +11 -18
- package/build-module/components/block-edit/edit.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs +4 -1
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +2 -3
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
- package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
- package/build-module/components/block-list/block.mjs +9 -3
- package/build-module/components/block-list/block.mjs.map +3 -3
- package/build-module/components/block-list/index.mjs +1 -3
- package/build-module/components/block-list/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/index.mjs +3 -1
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +12 -4
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
- package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
- package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
- package/build-module/components/block-title/use-block-display-title.mjs +7 -2
- package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
- package/build-module/components/block-toolbar/index.mjs +43 -24
- package/build-module/components/block-toolbar/index.mjs.map +2 -2
- package/build-module/components/block-tools/index.mjs +7 -2
- package/build-module/components/block-tools/index.mjs.map +2 -2
- package/build-module/components/block-variation-transforms/index.mjs +0 -1
- package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
- package/build-module/components/block-visibility/modal.mjs +22 -10
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/use-block-visibility.mjs +17 -7
- package/build-module/components/block-visibility/use-block-visibility.mjs.map +2 -2
- package/build-module/components/block-visibility/utils.mjs +18 -3
- package/build-module/components/block-visibility/utils.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
- package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
- package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +0 -6
- package/build-module/components/child-layout-control/index.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs +5 -5
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/date-format-picker/index.mjs +0 -1
- package/build-module/components/date-format-picker/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
- package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
- package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
- package/build-module/components/font-appearance-control/index.mjs +6 -15
- package/build-module/components/font-appearance-control/index.mjs.map +2 -2
- package/build-module/components/font-family/index.mjs +6 -15
- package/build-module/components/font-family/index.mjs.map +2 -2
- package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
- package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +0 -1
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/state-control-badges.mjs +41 -5
- package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs +4 -11
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/height-control/index.mjs +0 -2
- package/build-module/components/height-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/index.mjs +0 -1
- package/build-module/components/html-element-control/index.mjs.map +2 -2
- package/build-module/components/image-editor/index.mjs +5 -0
- package/build-module/components/image-editor/index.mjs.map +2 -2
- package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
- package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
- package/build-module/components/image-size-control/index.mjs +3 -7
- package/build-module/components/image-size-control/index.mjs.map +2 -2
- package/build-module/components/inner-content/index.mjs +82 -0
- package/build-module/components/inner-content/index.mjs.map +7 -0
- package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
- package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/hooks.mjs +66 -12
- package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
- package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-panel.mjs +297 -32
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
- package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
- package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
- package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
- package/build-module/components/inserter/no-results.mjs +2 -2
- package/build-module/components/inserter/no-results.mjs.map +2 -2
- package/build-module/components/inserter/preview-panel.mjs +2 -1
- package/build-module/components/inserter/preview-panel.mjs.map +2 -2
- package/build-module/components/inserter-list-item/index.mjs +8 -2
- package/build-module/components/inserter-list-item/index.mjs.map +2 -2
- package/build-module/components/keyboard-shortcuts/index.mjs +19 -11
- package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
- package/build-module/components/letter-spacing-control/index.mjs +0 -14
- package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
- package/build-module/components/line-height-control/index.mjs +6 -12
- package/build-module/components/line-height-control/index.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +90 -84
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +61 -21
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/list-view/expander.mjs +1 -1
- package/build-module/components/list-view/expander.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
- package/build-module/components/media-placeholder/index.mjs +0 -1
- package/build-module/components/media-placeholder/index.mjs.map +2 -2
- package/build-module/components/observe-typing/index.mjs +4 -3
- package/build-module/components/observe-typing/index.mjs.map +2 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs +1 -3
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/resolution-tool/index.mjs +1 -2
- package/build-module/components/resolution-tool/index.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +8 -5
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
- package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-rules.mjs +8 -5
- package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
- package/build-module/components/rich-text/index.mjs +64 -13
- package/build-module/components/rich-text/index.mjs.map +2 -2
- package/build-module/components/text-alignment-control/index.mjs +0 -1
- package/build-module/components/text-alignment-control/index.mjs.map +2 -2
- package/build-module/components/text-decoration-control/index.mjs +0 -1
- package/build-module/components/text-decoration-control/index.mjs.map +2 -2
- package/build-module/components/text-indent-control/index.mjs +0 -8
- package/build-module/components/text-indent-control/index.mjs.map +2 -2
- package/build-module/components/text-transform-control/index.mjs +0 -1
- package/build-module/components/text-transform-control/index.mjs.map +2 -2
- package/build-module/components/typewriter/index.mjs +129 -136
- package/build-module/components/typewriter/index.mjs.map +2 -2
- package/build-module/components/use-block-commands/index.mjs +21 -17
- package/build-module/components/use-block-commands/index.mjs.map +2 -2
- package/build-module/components/use-block-display-information/index.mjs +10 -8
- package/build-module/components/use-block-display-information/index.mjs.map +2 -2
- package/build-module/components/use-on-block-drop/index.mjs +4 -7
- package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
- package/build-module/components/writing-flow/index.mjs +12 -1
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +19 -6
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs +5 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
- package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root.mjs +86 -0
- package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
- package/build-module/components/writing-flow/use-home-end.mjs +43 -0
- package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
- package/build-module/components/writing-flow/use-input.mjs +15 -5
- package/build-module/components/writing-flow/use-input.mjs.map +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-select-all.mjs +19 -3
- package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
- package/build-module/components/writing-flow/use-selection-observer.mjs +128 -19
- package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
- package/build-module/components/writing-flow/utils.mjs +35 -1
- package/build-module/components/writing-flow/utils.mjs.map +2 -2
- package/build-module/components/writing-mode-control/index.mjs +0 -1
- package/build-module/components/writing-mode-control/index.mjs.map +2 -2
- package/build-module/hooks/background.mjs +3 -2
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
- package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
- package/build-module/hooks/elements.mjs +1 -1
- package/build-module/hooks/elements.mjs.map +2 -2
- package/build-module/hooks/font-size.mjs +1 -2
- package/build-module/hooks/font-size.mjs.map +2 -2
- package/build-module/hooks/grid-visualizer.mjs +5 -3
- package/build-module/hooks/grid-visualizer.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +22 -12
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +32 -16
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/position.mjs +38 -18
- package/build-module/hooks/position.mjs.map +2 -2
- package/build-module/hooks/states.mjs +29 -12
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs +40 -11
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/text-align.mjs +39 -10
- package/build-module/hooks/text-align.mjs.map +2 -2
- package/build-module/hooks/typography.mjs +1 -1
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +35 -27
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +27 -22
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +52 -11
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/private-apis.mjs +5 -1
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +3 -3
- package/build-module/store/actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +2 -0
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +84 -6
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/selectors.mjs +13 -0
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-module/utils/block-bindings.mjs +28 -0
- package/build-module/utils/block-bindings.mjs.map +2 -2
- package/build-module/utils/dom.mjs +13 -0
- package/build-module/utils/dom.mjs.map +2 -2
- package/build-style/content-rtl.css +15 -14
- package/build-style/content.css +15 -14
- package/build-style/default-editor-styles-rtl.css +1 -1
- package/build-style/default-editor-styles.css +1 -1
- package/build-style/style-rtl.css +144 -47
- package/build-style/style.css +144 -47
- package/build-types/components/block-context/index.d.ts +7 -0
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/utils/block-bindings.d.ts +19 -0
- package/build-types/utils/block-bindings.d.ts.map +1 -1
- package/build-types/utils/dom.d.ts +11 -0
- package/build-types/utils/dom.d.ts.map +1 -1
- package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
- package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
- package/build-types/utils/pasting.d.ts +1 -1
- package/build-types/utils/pasting.d.ts.map +1 -1
- package/package.json +46 -44
- package/src/autocompleters/block.js +10 -3
- package/src/autocompleters/test/block.js +53 -0
- package/src/components/background-image-control/index.js +0 -2
- package/src/components/block-canvas/index.js +9 -2
- package/src/components/block-card/style.scss +1 -1
- package/src/components/block-controls/groups.js +2 -0
- package/src/components/block-edit/edit.js +13 -31
- package/src/components/block-inspector/edit-contents.js +5 -1
- package/src/components/block-inspector/index.js +3 -2
- package/src/components/block-list/block-invalid-warning.js +8 -19
- package/src/components/block-list/block.js +6 -0
- package/src/components/block-list/index.js +0 -2
- package/src/components/block-list/use-block-props/index.js +2 -0
- package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -4
- package/src/components/block-list/use-block-props/use-focus-handler.js +34 -9
- package/src/components/block-lock/style.scss +1 -1
- package/src/components/block-manager/style.scss +1 -1
- package/src/components/block-navigation/style.scss +1 -1
- package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
- package/src/components/block-quick-navigation/style.scss +1 -3
- package/src/components/block-styles/style.scss +2 -2
- package/src/components/block-styles/use-styles-for-block.js +1 -0
- package/src/components/block-title/use-block-display-title.js +7 -2
- package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
- package/src/components/block-toolbar/index.js +41 -18
- package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
- package/src/components/block-tools/index.js +7 -0
- package/src/components/block-types-list/style.scss +0 -1
- package/src/components/block-variation-transforms/index.js +0 -1
- package/src/components/block-visibility/modal.js +24 -10
- package/src/components/block-visibility/style.scss +1 -1
- package/src/components/block-visibility/test/use-block-visibility.js +128 -35
- package/src/components/block-visibility/test/utils.js +11 -0
- package/src/components/block-visibility/use-block-visibility.js +33 -11
- package/src/components/block-visibility/utils.js +31 -6
- package/src/components/block-visibility/viewport-menu-item.js +10 -1
- package/src/components/block-visibility/viewport-toolbar.js +6 -0
- package/src/components/block-visibility/viewport-visibility-info.js +5 -1
- package/src/components/button-block-appender/content.scss +1 -7
- package/src/components/child-layout-control/index.js +0 -6
- package/src/components/color-palette/test/__snapshots__/control.js.snap +13 -108
- package/src/components/colors-gradients/control.js +4 -4
- package/src/components/colors-gradients/style.scss +2 -2
- package/src/components/date-format-picker/index.js +0 -1
- package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
- package/src/components/dimensions-tool/scale-tool.js +0 -1
- package/src/components/dimensions-tool/width-height-tool.js +0 -2
- package/src/components/font-appearance-control/index.js +6 -19
- package/src/components/font-family/README.md +0 -9
- package/src/components/font-family/index.js +6 -19
- package/src/components/font-family/stories/index.story.jsx +1 -2
- package/src/components/font-sizes/font-size-picker.js +0 -1
- package/src/components/global-styles/border-panel.js +0 -1
- package/src/components/global-styles/dimensions-panel.js +0 -3
- package/src/components/global-styles/state-control-badges.js +45 -6
- package/src/components/global-styles/style.scss +5 -0
- package/src/components/global-styles/test/state-control-badges.js +65 -0
- package/src/components/global-styles/typography-panel.js +0 -7
- package/src/components/height-control/index.js +0 -2
- package/src/components/html-element-control/index.js +0 -1
- package/src/components/iframe/content.scss +3 -3
- package/src/components/image-editor/index.js +22 -0
- package/src/components/image-editor/zoom-dropdown.js +0 -1
- package/src/components/image-size-control/index.js +0 -4
- package/src/components/inner-content/index.js +119 -0
- package/src/components/inner-content/test/index.js +81 -0
- package/src/components/inserter/hooks/use-block-types-state.js +10 -2
- package/src/components/inserter/media-tab/hooks.js +114 -16
- package/src/components/inserter/media-tab/media-list.js +2 -0
- package/src/components/inserter/media-tab/media-panel.js +354 -19
- package/src/components/inserter/media-tab/media-preview.js +34 -17
- package/src/components/inserter/media-tab/media-tab.js +20 -2
- package/src/components/inserter/media-tab/test/hooks.js +267 -0
- package/src/components/inserter/media-tab/test/media-panel.js +127 -0
- package/src/components/inserter/mobile-tab-navigation.js +6 -1
- package/src/components/inserter/no-results.js +2 -2
- package/src/components/inserter/preview-panel.js +1 -0
- package/src/components/inserter/style.scss +115 -3
- package/src/components/inserter-list-item/index.js +8 -2
- package/src/components/inserter-list-item/style.scss +0 -15
- package/src/components/keyboard-shortcuts/index.js +28 -11
- package/src/components/letter-spacing-control/README.md +0 -8
- package/src/components/letter-spacing-control/index.js +5 -23
- package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
- package/src/components/line-height-control/README.md +0 -8
- package/src/components/line-height-control/index.js +6 -16
- package/src/components/line-height-control/stories/index.story.jsx +0 -1
- package/src/components/line-height-control/test/index.js +1 -7
- package/src/components/link-control/style.scss +2 -2
- package/src/components/link-control/test/index.js +6 -6
- package/src/components/link-picker/style.scss +1 -2
- package/src/components/link-picker/test/index.js +3 -1
- package/src/components/list-view/block-select-button.js +5 -1
- package/src/components/list-view/block.js +69 -23
- package/src/components/list-view/expander.js +5 -1
- package/src/components/list-view/style.scss +23 -5
- package/src/components/list-view/use-list-view-client-ids.js +2 -2
- package/src/components/media-placeholder/index.js +0 -1
- package/src/components/multi-selection-inspector/style.scss +1 -1
- package/src/components/observe-typing/index.js +9 -4
- package/src/components/preset-input-control/custom-value-controls.js +0 -2
- package/src/components/preset-input-control/index.js +0 -2
- package/src/components/resolution-tool/index.js +0 -1
- package/src/components/responsive-block-control/style.scss +1 -1
- package/src/components/responsive-block-control/test/index.js +1 -5
- package/src/components/rich-text/event-listeners/before-input-rules.js +8 -5
- package/src/components/rich-text/event-listeners/delete.js +7 -4
- package/src/components/rich-text/event-listeners/enter.js +10 -4
- package/src/components/rich-text/event-listeners/input-events.js +4 -3
- package/src/components/rich-text/event-listeners/input-rules.js +8 -5
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +4 -3
- package/src/components/rich-text/event-listeners/paste-handler.js +15 -3
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +4 -3
- package/src/components/rich-text/event-listeners/shortcuts.js +4 -3
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +4 -3
- package/src/components/rich-text/index.js +94 -25
- package/src/components/skip-to-selected-block/style.scss +1 -1
- package/src/components/text-alignment-control/index.js +0 -1
- package/src/components/text-decoration-control/index.js +0 -1
- package/src/components/text-indent-control/index.js +7 -16
- package/src/components/text-transform-control/index.js +0 -1
- package/src/components/typewriter/index.js +228 -224
- package/src/components/use-block-commands/index.js +27 -17
- package/src/components/use-block-display-information/index.js +9 -13
- package/src/components/use-block-display-information/test/index.js +47 -9
- package/src/components/use-on-block-drop/index.js +4 -7
- package/src/components/writing-flow/index.js +15 -1
- package/src/components/writing-flow/use-arrow-nav.js +39 -12
- package/src/components/writing-flow/use-click-selection.js +2 -3
- package/src/components/writing-flow/use-clipboard-handler.js +5 -2
- package/src/components/writing-flow/use-drag-selection.js +1 -14
- package/src/components/writing-flow/use-editable-root.js +182 -0
- package/src/components/writing-flow/use-home-end.js +63 -0
- package/src/components/writing-flow/use-input.js +25 -8
- package/src/components/writing-flow/use-multi-selection.js +2 -3
- package/src/components/writing-flow/use-select-all.js +33 -3
- package/src/components/writing-flow/use-selection-observer.js +197 -38
- package/src/components/writing-flow/utils.js +83 -0
- package/src/components/writing-mode-control/index.js +0 -1
- package/src/hooks/background.js +7 -9
- package/src/hooks/block-fields/link/styles.scss +1 -6
- package/src/hooks/block-fields/media/styles.scss +1 -6
- package/src/hooks/block-fields/rich-text/index.js +6 -9
- package/src/hooks/block-hooks.scss +15 -0
- package/src/hooks/elements.js +0 -1
- package/src/hooks/font-size.js +0 -1
- package/src/hooks/grid-visualizer.js +40 -36
- package/src/hooks/layout-child.js +19 -9
- package/src/hooks/layout.js +53 -35
- package/src/hooks/position.js +44 -23
- package/src/hooks/states.js +36 -13
- package/src/hooks/style.js +67 -17
- package/src/hooks/test/cross-origin-isolation.js +0 -4
- package/src/hooks/test/layout.js +75 -1
- package/src/hooks/test/style.js +29 -0
- package/src/hooks/test/text-align.js +34 -1
- package/src/hooks/text-align.js +41 -10
- package/src/hooks/typography.js +0 -1
- package/src/layouts/constrained.js +56 -29
- package/src/layouts/flex.js +5 -4
- package/src/layouts/grid.js +59 -9
- package/src/layouts/test/constrained.js +91 -0
- package/src/layouts/test/grid.js +71 -0
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +43 -14
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +166 -9
- package/src/store/selectors.js +41 -0
- package/src/store/test/actions.js +1 -1
- package/src/store/test/private-selectors.js +533 -0
- package/src/store/test/reducer.js +11 -11
- package/src/store/test/selectors.js +133 -0
- package/src/style.scss +1 -0
- package/src/utils/block-bindings.ts +50 -0
- package/src/utils/dom.ts +33 -0
- package/src/utils/test/block-bindings.js +181 -0
- package/build/components/rich-text/input-event.cjs +0 -50
- package/build/components/rich-text/input-event.cjs.map +0 -7
- package/build/components/rich-text/shortcut.cjs +0 -51
- package/build/components/rich-text/shortcut.cjs.map +0 -7
- package/build-module/components/rich-text/input-event.mjs +0 -25
- package/build-module/components/rich-text/input-event.mjs.map +0 -7
- package/build-module/components/rich-text/shortcut.mjs +0 -26
- package/build-module/components/rich-text/shortcut.mjs.map +0 -7
- package/src/components/rich-text/input-event.js +0 -31
- package/src/components/rich-text/shortcut.js +0 -32
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/font-appearance-control/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights';\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display font style and weight options of the active font.\n *\n * @param {Object} props Component props.\n *\n * @return {Element} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\t/**\n\t\t * Start opting into the larger default height that will become the default size in a future version.\n\t\t *\n\t\t * @deprecated Default behavior since WordPress 7.1. Prop can be safely removed.\n\t\t */\n\t\t__next40pxDefaultSize: _next40pxDefaultSize,\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tfontFamilyFaces,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\tconst { fontStyles, fontWeights, combinedStyleAndWeightOptions } =\n\t\tgetFontStylesAndWeights( fontFamilyFaces );\n\n\t// Generates select options for combined font styles and weights.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tif ( combinedStyleAndWeightOptions ) {\n\t\t\tcombinedOptions.push( ...combinedStyleAndWeightOptions );\n\t\t}\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tfontStyles.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tfontWeights.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\t// Display combined available font style and weight options.\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\t// Display only font style options or font weight options.\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [\n\t\tprops.options,\n\t\tfontStyles,\n\t\tfontWeights,\n\t\tcombinedStyleAndWeightOptions,\n\t] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t/>\n\t\t)\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -35,13 +35,16 @@ __export(font_family_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(font_family_exports);
|
|
36
36
|
var import_clsx = __toESM(require("clsx"));
|
|
37
37
|
var import_components = require("@wordpress/components");
|
|
38
|
-
var import_deprecated = __toESM(require("@wordpress/deprecated"));
|
|
39
38
|
var import_i18n = require("@wordpress/i18n");
|
|
40
39
|
var import_use_settings = require("../use-settings/index.cjs");
|
|
41
40
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
42
41
|
function FontFamilyControl({
|
|
43
|
-
/**
|
|
44
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Start opting into the larger default height that will become the default size in a future version.
|
|
44
|
+
*
|
|
45
|
+
* @deprecated Default behavior since WordPress 7.1. Prop can be safely removed.
|
|
46
|
+
*/
|
|
47
|
+
__next40pxDefaultSize: _next40pxDefaultSize,
|
|
45
48
|
value = "",
|
|
46
49
|
onChange,
|
|
47
50
|
fontFamilies,
|
|
@@ -66,22 +69,10 @@ function FontFamilyControl({
|
|
|
66
69
|
style: { fontFamily }
|
|
67
70
|
}))
|
|
68
71
|
];
|
|
69
|
-
if (!__next40pxDefaultSize && (props.size === void 0 || props.size === "default")) {
|
|
70
|
-
(0, import_deprecated.default)(
|
|
71
|
-
`36px default size for wp.blockEditor.__experimentalFontFamilyControl`,
|
|
72
|
-
{
|
|
73
|
-
since: "6.8",
|
|
74
|
-
version: "7.1",
|
|
75
|
-
hint: "Set the `__next40pxDefaultSize` prop to true to start opting into the new default size, which will become the default in a future version."
|
|
76
|
-
}
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
72
|
const selectedValue = options.find((option) => option.key === value) ?? "";
|
|
80
73
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
81
74
|
import_components.CustomSelectControl,
|
|
82
75
|
{
|
|
83
|
-
__next40pxDefaultSize,
|
|
84
|
-
__shouldNotWarnDeprecated36pxSize: true,
|
|
85
76
|
label: (0, import_i18n.__)("Font"),
|
|
86
77
|
value: selectedValue,
|
|
87
78
|
onChange: ({ selectedItem }) => onChange(selectedItem.key),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/font-family/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,wBAAoC;AACpC,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\n\nexport default function FontFamilyControl( {\n\t/**\n\t * Start opting into the larger default height that will become the default size in a future version.\n\t *\n\t * @deprecated Default behavior since WordPress 7.1. Prop can be safely removed.\n\t */\n\t__next40pxDefaultSize: _next40pxDefaultSize,\n\tvalue = '',\n\tonChange,\n\tfontFamilies,\n\tclassName,\n\t...props\n} ) {\n\tconst [ blockLevelFontFamilies ] = useSettings( 'typography.fontFamilies' );\n\tif ( ! fontFamilies ) {\n\t\tfontFamilies = blockLevelFontFamilies;\n\t}\n\n\tif ( ! fontFamilies || fontFamilies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst options = [\n\t\t{\n\t\t\tkey: '',\n\t\t\tname: __( 'Default' ),\n\t\t},\n\t\t...fontFamilies.map( ( { fontFamily, name } ) => ( {\n\t\t\tkey: fontFamily,\n\t\t\tname: name || fontFamily,\n\t\t\tstyle: { fontFamily },\n\t\t} ) ),\n\t];\n\n\tconst selectedValue =\n\t\toptions.find( ( option ) => option.key === value ) ?? '';\n\treturn (\n\t\t<CustomSelectControl\n\t\t\tlabel={ __( 'Font' ) }\n\t\t\tvalue={ selectedValue }\n\t\t\tonChange={ ( { selectedItem } ) => onChange( selectedItem.key ) }\n\t\t\toptions={ options }\n\t\t\tclassName={ clsx( 'block-editor-font-family-control', className ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,wBAAoC;AACpC,kBAAmB;AAKnB,0BAA4B;AAuC1B;AArCa,SAAR,kBAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1C,uBAAuB;AAAA,EACvB,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAAI;AACH,QAAM,CAAE,sBAAuB,QAAI,iCAAa,yBAA0B;AAC1E,MAAK,CAAE,cAAe;AACrB,mBAAe;AAAA,EAChB;AAEA,MAAK,CAAE,gBAAgB,aAAa,WAAW,GAAI;AAClD,WAAO;AAAA,EACR;AAEA,QAAM,UAAU;AAAA,IACf;AAAA,MACC,KAAK;AAAA,MACL,UAAM,gBAAI,SAAU;AAAA,IACrB;AAAA,IACA,GAAG,aAAa,IAAK,CAAE,EAAE,YAAY,KAAK,OAAS;AAAA,MAClD,KAAK;AAAA,MACL,MAAM,QAAQ;AAAA,MACd,OAAO,EAAE,WAAW;AAAA,IACrB,EAAI;AAAA,EACL;AAEA,QAAM,gBACL,QAAQ,KAAM,CAAE,WAAY,OAAO,QAAQ,KAAM,KAAK;AACvD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAQ,gBAAI,MAAO;AAAA,MACnB,OAAQ;AAAA,MACR,UAAW,CAAE,EAAE,aAAa,MAAO,SAAU,aAAa,GAAI;AAAA,MAC9D;AAAA,MACA,eAAY,YAAAA,SAAM,oCAAoC,SAAU;AAAA,MAC9D,GAAG;AAAA;AAAA,EACN;AAEF;",
|
|
6
|
+
"names": ["clsx"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/font-sizes/font-size-picker.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { FontSizePicker as BaseFontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\n\nfunction FontSizePicker( props ) {\n\tconst [ fontSizes, customFontSize ] = useSettings(\n\t\t'typography.fontSizes',\n\t\t'typography.customFontSize'\n\t);\n\n\treturn (\n\t\t<BaseFontSizePicker\n\t\t\t{ ...props }\n\t\t\tfontSizes={ fontSizes }\n\t\t\tdisableCustomFontSizes={ ! customFontSize }\n\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAqD;AAKrD,0BAA4B;AAS1B;AAPF,SAAS,eAAgB,OAAQ;AAChC,QAAM,CAAE,WAAW,cAAe,QAAI;AAAA,IACrC;AAAA,IACA;AAAA,EACD;AAEA,SACC;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACL;AAAA,MACA,wBAAyB,CAAE;AAAA
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { FontSizePicker as BaseFontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\n\nfunction FontSizePicker( props ) {\n\tconst [ fontSizes, customFontSize ] = useSettings(\n\t\t'typography.fontSizes',\n\t\t'typography.customFontSize'\n\t);\n\n\treturn (\n\t\t<BaseFontSizePicker\n\t\t\t{ ...props }\n\t\t\tfontSizes={ fontSizes }\n\t\t\tdisableCustomFontSizes={ ! customFontSize }\n\t\t/>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md\n */\nexport default FontSizePicker;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAqD;AAKrD,0BAA4B;AAS1B;AAPF,SAAS,eAAgB,OAAQ;AAChC,QAAM,CAAE,WAAW,cAAe,QAAI;AAAA,IACrC;AAAA,IACA;AAAA,EACD;AAEA,SACC;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACL;AAAA,MACA,wBAAyB,CAAE;AAAA;AAAA,EAC5B;AAEF;AAKA,IAAO,2BAAQ;",
|
|
6
6
|
"names": ["BaseFontSizePicker"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/global-styles/border-panel.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getValueFromVariable } from '@wordpress/global-styles-engine';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: true,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst areCustomSolidsEnabled = settings?.color?.custom;\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = useMemo( () => {\n\t\tif ( typeof inheritedValue?.border?.radius !== 'object' ) {\n\t\t\treturn decodeValue( inheritedValue?.border?.radius );\n\t\t}\n\n\t\treturn {\n\t\t\ttopLeft: decodeValue( inheritedValue?.border?.radius?.topLeft ),\n\t\t\ttopRight: decodeValue( inheritedValue?.border?.radius?.topRight ),\n\t\t\tbottomLeft: decodeValue(\n\t\t\t\tinheritedValue?.border?.radius?.bottomLeft\n\t\t\t),\n\t\t\tbottomRight: decodeValue(\n\t\t\t\tinheritedValue?.border?.radius?.bottomRight\n\t\t\t),\n\t\t};\n\t}, [ inheritedValue?.border?.radius, decodeValue ] );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst mergedShadowPresets =\n\t\tshadowPresets.custom ??\n\t\tshadowPresets.theme ??\n\t\tshadowPresets.default ??\n\t\t[];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = mergedShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableCustomColors={ ! areCustomSolidsEnabled }\n\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getValueFromVariable } from '@wordpress/global-styles-engine';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: true,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst areCustomSolidsEnabled = settings?.color?.custom;\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = useMemo( () => {\n\t\tif ( typeof inheritedValue?.border?.radius !== 'object' ) {\n\t\t\treturn decodeValue( inheritedValue?.border?.radius );\n\t\t}\n\n\t\treturn {\n\t\t\ttopLeft: decodeValue( inheritedValue?.border?.radius?.topLeft ),\n\t\t\ttopRight: decodeValue( inheritedValue?.border?.radius?.topRight ),\n\t\t\tbottomLeft: decodeValue(\n\t\t\t\tinheritedValue?.border?.radius?.bottomLeft\n\t\t\t),\n\t\t\tbottomRight: decodeValue(\n\t\t\t\tinheritedValue?.border?.radius?.bottomRight\n\t\t\t),\n\t\t};\n\t}, [ inheritedValue?.border?.radius, decodeValue ] );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst mergedShadowPresets =\n\t\tshadowPresets.custom ??\n\t\tshadowPresets.theme ??\n\t\tshadowPresets.default ??\n\t\t[];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = mergedShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableCustomColors={ ! areCustomSolidsEnabled }\n\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tpresets={ settings?.border?.radiusSizes }\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ hasBorderControl ? (\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) : null }\n\n\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["ToolsPanel", "hasSplitBorders", "ToolsPanelItem", "isDefinedBorder", "BorderRadiusControl"]
|
|
7
7
|
}
|
|
@@ -434,7 +434,6 @@ function DimensionsPanel({
|
|
|
434
434
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
435
435
|
import_components.__experimentalUnitControl,
|
|
436
436
|
{
|
|
437
|
-
__next40pxDefaultSize: true,
|
|
438
437
|
label: (0, import_i18n.__)("Content width"),
|
|
439
438
|
labelPosition: "top",
|
|
440
439
|
value: contentSizeValue || "",
|
|
@@ -458,7 +457,6 @@ function DimensionsPanel({
|
|
|
458
457
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
459
458
|
import_components.__experimentalUnitControl,
|
|
460
459
|
{
|
|
461
|
-
__next40pxDefaultSize: true,
|
|
462
460
|
label: (0, import_i18n.__)("Wide width"),
|
|
463
461
|
labelPosition: "top",
|
|
464
462
|
value: wideSizeValue || "",
|
|
@@ -598,7 +596,6 @@ function DimensionsPanel({
|
|
|
598
596
|
) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
599
597
|
import_components.__experimentalUnitControl,
|
|
600
598
|
{
|
|
601
|
-
__next40pxDefaultSize: true,
|
|
602
599
|
label: (0, import_i18n.__)("Block spacing"),
|
|
603
600
|
min: 0,
|
|
604
601
|
onChange: setGapValue,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/global-styles/dimensions-panel.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tBoxControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport { Icon, alignNone, stretchWide } from '@wordpress/icons';\nimport { useCallback, useState } from '@wordpress/element';\nimport { getValueFromVariable } from '@wordpress/global-styles-engine';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from './utils';\nimport SpacingSizesControl from '../spacing-sizes-control';\nimport DimensionControl from '../dimension-control';\nimport ChildLayoutControl from '../child-layout-control';\nimport AspectRatioTool from '../dimensions-tool/aspect-ratio-tool';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { setImmutably } from '../../utils/object';\nimport {\n\tDEFAULT_BLOCK_STYLE_STATE,\n\thasPseudoBlockStyleState,\n\thasViewportBlockStyleState,\n} from '../../hooks/block-style-state';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel(\n\tsettings,\n\tstyleState = DEFAULT_BLOCK_STYLE_STATE\n) {\n\treturn (\n\t\thasContentSize( settings ) ||\n\t\thasWideSize( settings ) ||\n\t\thasPadding( settings ) ||\n\t\thasMargin( settings ) ||\n\t\thasGap( settings ) ||\n\t\thasHeight( settings ) ||\n\t\thasMinHeight( settings ) ||\n\t\thasMinWidth( settings ) ||\n\t\thasWidth( settings ) ||\n\t\thasAspectRatio( settings, styleState ) ||\n\t\thasChildLayout( settings, styleState )\n\t);\n}\n\nfunction hasContentSize( settings ) {\n\treturn settings?.layout?.contentSize;\n}\n\nfunction hasWideSize( settings ) {\n\treturn settings?.layout?.wideSize;\n}\n\nfunction hasPadding( settings ) {\n\treturn settings?.spacing?.padding;\n}\n\nfunction hasMargin( settings ) {\n\treturn settings?.spacing?.margin;\n}\n\nfunction hasGap( settings ) {\n\treturn settings?.spacing?.blockGap;\n}\n\nfunction hasHeight( settings ) {\n\treturn settings?.dimensions?.height;\n}\n\nfunction hasMinHeight( settings ) {\n\treturn settings?.dimensions?.minHeight;\n}\n\nfunction hasMinWidth( settings ) {\n\treturn settings?.dimensions?.minWidth;\n}\n\nfunction hasWidth( settings ) {\n\treturn settings?.dimensions?.width;\n}\n\nfunction hasAspectRatio( settings, styleState = DEFAULT_BLOCK_STYLE_STATE ) {\n\treturn (\n\t\t! hasPseudoBlockStyleState( styleState ) &&\n\t\tsettings?.dimensions?.aspectRatio\n\t);\n}\n\nfunction hasChildLayout( settings, styleState = DEFAULT_BLOCK_STYLE_STATE ) {\n\tif ( hasPseudoBlockStyleState( styleState ) ) {\n\t\treturn false;\n\t}\n\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tdefault: { type: defaultParentLayoutType = 'default' } = {},\n\t\tallowSizingOnChildren = false,\n\t} = settings?.parentLayout ?? {};\n\n\tconst support =\n\t\t( defaultParentLayoutType === 'flex' ||\n\t\t\tparentLayoutType === 'flex' ||\n\t\t\tdefaultParentLayoutType === 'grid' ||\n\t\t\tparentLayoutType === 'grid' ) &&\n\t\tallowSizingOnChildren;\n\treturn !! settings?.layout && support;\n}\n\nfunction hasSpacingPresets( settings ) {\n\tconst { defaultSpacingSizes, spacingSizes } = settings?.spacing || {};\n\treturn (\n\t\t( defaultSpacingSizes !== false &&\n\t\t\tspacingSizes?.default?.length > 0 ) ||\n\t\tspacingSizes?.theme?.length > 0 ||\n\t\tspacingSizes?.custom?.length > 0\n\t);\n}\n\nfunction filterValuesBySides( values, sides ) {\n\t// If no custom side configuration, all sides are opted into by default.\n\t// Without any values, we have nothing to filter either.\n\tif ( ! sides || ! values ) {\n\t\treturn values;\n\t}\n\n\t// Only include sides opted into within filtered values.\n\tconst filteredValues = {};\n\tsides.forEach( ( side ) => {\n\t\tif ( side === 'vertical' ) {\n\t\t\tfilteredValues.top = values.top;\n\t\t\tfilteredValues.bottom = values.bottom;\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tfilteredValues.left = values.left;\n\t\t\tfilteredValues.right = values.right;\n\t\t}\n\t\tfilteredValues[ side ] = values?.[ side ];\n\t} );\n\n\treturn filteredValues;\n}\n\nfunction splitStyleValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// Convert to value for individual sides for BoxControl.\n\t\treturn {\n\t\t\ttop: value,\n\t\t\tright: value,\n\t\t\tbottom: value,\n\t\t\tleft: value,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction splitGapValue( value, isAxialGap ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\t// Check for shorthand value (a string value).\n\tif ( typeof value === 'string' ) {\n\t\t/*\n\t\t * Map the string value to appropriate sides for the spacing control depending\n\t\t * on whether the current block has axial gap support or not.\n\t\t *\n\t\t * Note: The axial value pairs must match for the spacing control to display\n\t\t * the appropriate horizontal/vertical sliders.\n\t\t */\n\t\treturn isAxialGap\n\t\t\t? { top: value, right: value, bottom: value, left: value }\n\t\t\t: { top: value };\n\t}\n\n\treturn {\n\t\t...value,\n\t\tright: value?.left,\n\t\tbottom: value?.top,\n\t};\n}\n\nfunction DimensionsToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\theight: true,\n\tminHeight: true,\n\tminWidth: true,\n\twidth: true,\n\taspectRatio: true,\n\tchildLayout: true,\n};\n\nexport default function DimensionsPanel( {\n\tas: Wrapper = DimensionsToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tonVisualize = () => {},\n\t// Special case because the layout controls are not part of the dimensions panel\n\t// in global styles but not in block inspector.\n\tincludeLayoutControls = false,\n\tstyleState = DEFAULT_BLOCK_STYLE_STATE,\n} ) {\n\tconst { dimensions, spacing } = settings;\n\n\tconst decodeValue = ( rawValue ) => {\n\t\tif ( rawValue && typeof rawValue === 'object' ) {\n\t\t\treturn Object.keys( rawValue ).reduce( ( acc, key ) => {\n\t\t\t\tacc[ key ] = getValueFromVariable(\n\t\t\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t\t\t'',\n\t\t\t\t\trawValue[ key ]\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t}\n\t\treturn getValueFromVariable(\n\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t'',\n\t\t\trawValue\n\t\t);\n\t};\n\n\tconst showSpacingPresetsControl = hasSpacingPresets( settings );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: settings?.spacing?.units || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\t//Minimum Margin Value\n\tconst minimumMargin = -Infinity;\n\tconst [ minMarginValue, setMinMarginValue ] = useState( minimumMargin );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tlayout: cleanEmptyObject( {\n\t\t\t\t...previousValue?.layout,\n\t\t\t\tcontentSize: undefined,\n\t\t\t\twideSize: undefined,\n\t\t\t\tselfStretch: undefined,\n\t\t\t\tflexSize: undefined,\n\t\t\t\tcolumnStart: undefined,\n\t\t\t\trowStart: undefined,\n\t\t\t\tcolumnSpan: undefined,\n\t\t\t\trowSpan: undefined,\n\t\t\t} ),\n\t\t\tspacing: {\n\t\t\t\t...previousValue?.spacing,\n\t\t\t\tpadding: undefined,\n\t\t\t\tmargin: undefined,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t...previousValue?.dimensions,\n\t\t\t\theight: undefined,\n\t\t\t\tminHeight: undefined,\n\t\t\t\tminWidth: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\twidth: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\t// Content Width\n\tconst showContentSizeControl =\n\t\thasContentSize( settings ) && includeLayoutControls;\n\tconst contentSizeValue = decodeValue( inheritedValue?.layout?.contentSize );\n\tconst setContentSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'contentSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetContentSizeValue = () => !! value?.layout?.contentSize;\n\tconst resetContentSizeValue = () => setContentSizeValue( undefined );\n\n\t// Wide Width\n\tconst showWideSizeControl =\n\t\thasWideSize( settings ) && includeLayoutControls;\n\tconst wideSizeValue = decodeValue( inheritedValue?.layout?.wideSize );\n\tconst setWideSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'wideSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetWideSizeValue = () => !! value?.layout?.wideSize;\n\tconst resetWideSizeValue = () => setWideSizeValue( undefined );\n\n\t// Padding\n\tconst showPaddingControl = hasPadding( settings );\n\tconst rawPadding = decodeValue( inheritedValue?.spacing?.padding );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = Array.isArray( settings?.spacing?.padding )\n\t\t? settings?.spacing?.padding\n\t\t: settings?.spacing?.padding?.sides;\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'padding' ], padding ) );\n\t};\n\tconst hasPaddingValue = () =>\n\t\t!! value?.spacing?.padding &&\n\t\tObject.keys( value?.spacing?.padding ).length;\n\tconst resetPaddingValue = () => setPaddingValues( undefined );\n\tconst onMouseOverPadding = () => onVisualize( 'padding' );\n\n\t// Margin\n\tconst showMarginControl = hasMargin( settings );\n\tconst rawMargin = decodeValue( inheritedValue?.spacing?.margin );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = Array.isArray( settings?.spacing?.margin )\n\t\t? settings?.spacing?.margin\n\t\t: settings?.spacing?.margin?.sides;\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'margin' ], margin ) );\n\t};\n\tconst hasMarginValue = () =>\n\t\t!! value?.spacing?.margin &&\n\t\tObject.keys( value?.spacing?.margin ).length;\n\tconst resetMarginValue = () => setMarginValues( undefined );\n\tconst onMouseOverMargin = () => onVisualize( 'margin' );\n\n\t// Block Gap\n\tconst showGapControl = hasGap( settings );\n\tconst gapSides = Array.isArray( settings?.spacing?.blockGap )\n\t\t? settings?.spacing?.blockGap\n\t\t: settings?.spacing?.blockGap?.sides;\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue, isAxialGap );\n\tconst setGapValue = ( newGapValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'spacing', 'blockGap' ], newGapValue )\n\t\t);\n\t};\n\tconst setGapValues = ( nextBoxGapValue ) => {\n\t\tif ( ! nextBoxGapValue ) {\n\t\t\tsetGapValue( null );\n\t\t}\n\t\t// If axial gap is not enabled, treat the 'top' value as the shorthand gap value.\n\t\tif ( ! isAxialGap && nextBoxGapValue?.hasOwnProperty( 'top' ) ) {\n\t\t\tsetGapValue( nextBoxGapValue.top );\n\t\t} else {\n\t\t\tsetGapValue( {\n\t\t\t\ttop: nextBoxGapValue?.top,\n\t\t\t\tleft: nextBoxGapValue?.left,\n\t\t\t} );\n\t\t}\n\t};\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! value?.spacing?.blockGap;\n\n\t// Min Height\n\tconst showMinHeightControl = hasMinHeight( settings );\n\tconst minHeightValue = decodeValue( inheritedValue?.dimensions?.minHeight );\n\tconst setMinHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'minHeight' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply min-height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetMinHeightValue = () => {\n\t\tsetMinHeightValue( undefined );\n\t};\n\tconst hasMinHeightValue = () => !! value?.dimensions?.minHeight;\n\n\t// Height\n\tconst showHeightControl = hasHeight( settings );\n\tconst heightValue = decodeValue( inheritedValue?.dimensions?.height );\n\tconst setHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'height' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetHeightValue = () => {\n\t\tsetHeightValue( undefined );\n\t};\n\tconst hasHeightValue = () => !! value?.dimensions?.height;\n\n\t// Min Width\n\tconst showMinWidthControl = hasMinWidth( settings );\n\tconst minWidthValue = decodeValue( inheritedValue?.dimensions?.minWidth );\n\tconst setMinWidthValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'dimensions', 'minWidth' ], newValue )\n\t\t);\n\t};\n\tconst resetMinWidthValue = () => {\n\t\tsetMinWidthValue( undefined );\n\t};\n\tconst hasMinWidthValue = () => !! value?.dimensions?.minWidth;\n\n\t// Width\n\tconst showWidthControl = hasWidth( settings );\n\tconst widthValue = decodeValue( inheritedValue?.dimensions?.width );\n\tconst setWidthValue = ( newValue ) => {\n\t\tonChange( setImmutably( value, [ 'dimensions', 'width' ], newValue ) );\n\t};\n\tconst resetWidthValue = () => {\n\t\tsetWidthValue( undefined );\n\t};\n\tconst hasWidthValue = () => !! value?.dimensions?.width;\n\n\t// Aspect Ratio\n\tconst showAspectRatioControl = hasAspectRatio( settings, styleState );\n\tconst aspectRatioValue = decodeValue(\n\t\tinheritedValue?.dimensions?.aspectRatio\n\t);\n\tconst setAspectRatioValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply aspect-ratio, while removing any applied min-height.\n\t\tonChange(\n\t\t\tsetImmutably( tempValue, [ 'dimensions', 'minHeight' ], undefined )\n\t\t);\n\t};\n\tconst hasAspectRatioValue = () => !! value?.dimensions?.aspectRatio;\n\n\t// Child Layout\n\tconst showChildLayoutControl = hasChildLayout( settings, styleState );\n\tconst childLayout = inheritedValue?.layout;\n\n\tconst setChildLayout = ( newChildLayout ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tlayout: {\n\t\t\t\t...value?.layout,\n\t\t\t\t...newChildLayout,\n\t\t\t},\n\t\t} );\n\t};\n\n\tconst onMouseLeaveControls = () => onVisualize( false );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ ( showContentSizeControl || showWideSizeControl ) && (\n\t\t\t\t<span className=\"span-columns\">\n\t\t\t\t\t{ __( 'Set the width of the main content area.' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t{ showContentSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\thasValue={ hasUserSetContentSizeValue }\n\t\t\t\t\tonDeselect={ resetContentSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.contentSize ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.contentSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showWideSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\thasValue={ hasUserSetWideSizeValue }\n\t\t\t\t\tonDeselect={ resetWideSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.wideSize ?? DEFAULT_CONTROLS.wideSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showPaddingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasPaddingValue }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tonDeselect={ resetPaddingValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.padding ?? DEFAULT_CONTROLS.padding\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t\t\tinputProps={ {\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverPadding,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMarginControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMarginValue }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tonDeselect={ resetMarginValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.margin ?? DEFAULT_CONTROLS.margin\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tinputProps={ {\n\t\t\t\t\t\t\t\tmin: minMarginValue,\n\t\t\t\t\t\t\t\tonDragStart: () => {\n\t\t\t\t\t\t\t\t\t// Reset to 0 in case the value was negative.\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( 0 );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonDragEnd: () => {\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( minimumMargin );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverMargin,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tminimumCustomValue={ -Infinity }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showGapControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasGapValue }\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\tonDeselect={ resetGapValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.blockGap ?? DEFAULT_CONTROLS.blockGap\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t\t'single-column':\n\t\t\t\t\t\t\t// If UnitControl is used, should be single-column.\n\t\t\t\t\t\t\t! showSpacingPresetsControl && ! isAxialGap,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl &&\n\t\t\t\t\t\t( isAxialGap ? (\n\t\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tsides={ gapSides }\n\t\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\tsplitOnAxis={ isAxialGap }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tvalue={ gapValue }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\tshowSideInLabel={ false }\n\t\t\t\t\t\t\tsides={ isAxialGap ? gapSides : [ 'top' ] } // Use 'top' as the shorthand property in non-axial configurations.\n\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showChildLayoutControl && (\n\t\t\t\t<ChildLayoutControl\n\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tshowGridSpanDefaults={\n\t\t\t\t\t\t! hasViewportBlockStyleState( styleState )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.childLayout ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.childLayout\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showMinHeightControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMinHeightValue }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ resetMinHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minHeight ?? DEFAULT_CONTROLS.minHeight\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<DimensionControl\n\t\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\t\tvalue={ minHeightValue }\n\t\t\t\t\t\tonChange={ setMinHeightValue }\n\t\t\t\t\t\tdimensionSizes={ dimensions?.dimensionSizes }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMinWidthControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMinWidthValue }\n\t\t\t\t\tlabel={ __( 'Minimum width' ) }\n\t\t\t\t\tonDeselect={ resetMinWidthValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minWidth ?? DEFAULT_CONTROLS.minWidth\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<DimensionControl\n\t\t\t\t\t\tlabel={ __( 'Minimum width' ) }\n\t\t\t\t\t\tvalue={ minWidthValue }\n\t\t\t\t\t\tonChange={ setMinWidthValue }\n\t\t\t\t\t\tdimensionSizes={ dimensions?.dimensionSizes }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showHeightControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasHeightValue }\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tonDeselect={ resetHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.height ?? DEFAULT_CONTROLS.height\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<DimensionControl\n\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\tvalue={ heightValue }\n\t\t\t\t\t\tonChange={ setHeightValue }\n\t\t\t\t\t\tdimensionSizes={ dimensions?.dimensionSizes }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showWidthControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasWidthValue }\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tonDeselect={ resetWidthValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.width ?? DEFAULT_CONTROLS.width\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<DimensionControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\tonChange={ setWidthValue }\n\t\t\t\t\t\tdimensionSizes={ dimensions?.dimensionSizes }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showAspectRatioControl && (\n\t\t\t\t<AspectRatioTool\n\t\t\t\t\thasValue={ hasAspectRatioValue }\n\t\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\t\tonChange={ setAspectRatioValue }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.aspectRatio ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.aspectRatio\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tBoxControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport { Icon, alignNone, stretchWide } from '@wordpress/icons';\nimport { useCallback, useState } from '@wordpress/element';\nimport { getValueFromVariable } from '@wordpress/global-styles-engine';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from './utils';\nimport SpacingSizesControl from '../spacing-sizes-control';\nimport DimensionControl from '../dimension-control';\nimport ChildLayoutControl from '../child-layout-control';\nimport AspectRatioTool from '../dimensions-tool/aspect-ratio-tool';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { setImmutably } from '../../utils/object';\nimport {\n\tDEFAULT_BLOCK_STYLE_STATE,\n\thasPseudoBlockStyleState,\n\thasViewportBlockStyleState,\n} from '../../hooks/block-style-state';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel(\n\tsettings,\n\tstyleState = DEFAULT_BLOCK_STYLE_STATE\n) {\n\treturn (\n\t\thasContentSize( settings ) ||\n\t\thasWideSize( settings ) ||\n\t\thasPadding( settings ) ||\n\t\thasMargin( settings ) ||\n\t\thasGap( settings ) ||\n\t\thasHeight( settings ) ||\n\t\thasMinHeight( settings ) ||\n\t\thasMinWidth( settings ) ||\n\t\thasWidth( settings ) ||\n\t\thasAspectRatio( settings, styleState ) ||\n\t\thasChildLayout( settings, styleState )\n\t);\n}\n\nfunction hasContentSize( settings ) {\n\treturn settings?.layout?.contentSize;\n}\n\nfunction hasWideSize( settings ) {\n\treturn settings?.layout?.wideSize;\n}\n\nfunction hasPadding( settings ) {\n\treturn settings?.spacing?.padding;\n}\n\nfunction hasMargin( settings ) {\n\treturn settings?.spacing?.margin;\n}\n\nfunction hasGap( settings ) {\n\treturn settings?.spacing?.blockGap;\n}\n\nfunction hasHeight( settings ) {\n\treturn settings?.dimensions?.height;\n}\n\nfunction hasMinHeight( settings ) {\n\treturn settings?.dimensions?.minHeight;\n}\n\nfunction hasMinWidth( settings ) {\n\treturn settings?.dimensions?.minWidth;\n}\n\nfunction hasWidth( settings ) {\n\treturn settings?.dimensions?.width;\n}\n\nfunction hasAspectRatio( settings, styleState = DEFAULT_BLOCK_STYLE_STATE ) {\n\treturn (\n\t\t! hasPseudoBlockStyleState( styleState ) &&\n\t\tsettings?.dimensions?.aspectRatio\n\t);\n}\n\nfunction hasChildLayout( settings, styleState = DEFAULT_BLOCK_STYLE_STATE ) {\n\tif ( hasPseudoBlockStyleState( styleState ) ) {\n\t\treturn false;\n\t}\n\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tdefault: { type: defaultParentLayoutType = 'default' } = {},\n\t\tallowSizingOnChildren = false,\n\t} = settings?.parentLayout ?? {};\n\n\tconst support =\n\t\t( defaultParentLayoutType === 'flex' ||\n\t\t\tparentLayoutType === 'flex' ||\n\t\t\tdefaultParentLayoutType === 'grid' ||\n\t\t\tparentLayoutType === 'grid' ) &&\n\t\tallowSizingOnChildren;\n\treturn !! settings?.layout && support;\n}\n\nfunction hasSpacingPresets( settings ) {\n\tconst { defaultSpacingSizes, spacingSizes } = settings?.spacing || {};\n\treturn (\n\t\t( defaultSpacingSizes !== false &&\n\t\t\tspacingSizes?.default?.length > 0 ) ||\n\t\tspacingSizes?.theme?.length > 0 ||\n\t\tspacingSizes?.custom?.length > 0\n\t);\n}\n\nfunction filterValuesBySides( values, sides ) {\n\t// If no custom side configuration, all sides are opted into by default.\n\t// Without any values, we have nothing to filter either.\n\tif ( ! sides || ! values ) {\n\t\treturn values;\n\t}\n\n\t// Only include sides opted into within filtered values.\n\tconst filteredValues = {};\n\tsides.forEach( ( side ) => {\n\t\tif ( side === 'vertical' ) {\n\t\t\tfilteredValues.top = values.top;\n\t\t\tfilteredValues.bottom = values.bottom;\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tfilteredValues.left = values.left;\n\t\t\tfilteredValues.right = values.right;\n\t\t}\n\t\tfilteredValues[ side ] = values?.[ side ];\n\t} );\n\n\treturn filteredValues;\n}\n\nfunction splitStyleValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// Convert to value for individual sides for BoxControl.\n\t\treturn {\n\t\t\ttop: value,\n\t\t\tright: value,\n\t\t\tbottom: value,\n\t\t\tleft: value,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction splitGapValue( value, isAxialGap ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\t// Check for shorthand value (a string value).\n\tif ( typeof value === 'string' ) {\n\t\t/*\n\t\t * Map the string value to appropriate sides for the spacing control depending\n\t\t * on whether the current block has axial gap support or not.\n\t\t *\n\t\t * Note: The axial value pairs must match for the spacing control to display\n\t\t * the appropriate horizontal/vertical sliders.\n\t\t */\n\t\treturn isAxialGap\n\t\t\t? { top: value, right: value, bottom: value, left: value }\n\t\t\t: { top: value };\n\t}\n\n\treturn {\n\t\t...value,\n\t\tright: value?.left,\n\t\tbottom: value?.top,\n\t};\n}\n\nfunction DimensionsToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\theight: true,\n\tminHeight: true,\n\tminWidth: true,\n\twidth: true,\n\taspectRatio: true,\n\tchildLayout: true,\n};\n\nexport default function DimensionsPanel( {\n\tas: Wrapper = DimensionsToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tonVisualize = () => {},\n\t// Special case because the layout controls are not part of the dimensions panel\n\t// in global styles but not in block inspector.\n\tincludeLayoutControls = false,\n\tstyleState = DEFAULT_BLOCK_STYLE_STATE,\n} ) {\n\tconst { dimensions, spacing } = settings;\n\n\tconst decodeValue = ( rawValue ) => {\n\t\tif ( rawValue && typeof rawValue === 'object' ) {\n\t\t\treturn Object.keys( rawValue ).reduce( ( acc, key ) => {\n\t\t\t\tacc[ key ] = getValueFromVariable(\n\t\t\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t\t\t'',\n\t\t\t\t\trawValue[ key ]\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t}\n\t\treturn getValueFromVariable(\n\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t'',\n\t\t\trawValue\n\t\t);\n\t};\n\n\tconst showSpacingPresetsControl = hasSpacingPresets( settings );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: settings?.spacing?.units || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\t//Minimum Margin Value\n\tconst minimumMargin = -Infinity;\n\tconst [ minMarginValue, setMinMarginValue ] = useState( minimumMargin );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tlayout: cleanEmptyObject( {\n\t\t\t\t...previousValue?.layout,\n\t\t\t\tcontentSize: undefined,\n\t\t\t\twideSize: undefined,\n\t\t\t\tselfStretch: undefined,\n\t\t\t\tflexSize: undefined,\n\t\t\t\tcolumnStart: undefined,\n\t\t\t\trowStart: undefined,\n\t\t\t\tcolumnSpan: undefined,\n\t\t\t\trowSpan: undefined,\n\t\t\t} ),\n\t\t\tspacing: {\n\t\t\t\t...previousValue?.spacing,\n\t\t\t\tpadding: undefined,\n\t\t\t\tmargin: undefined,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t...previousValue?.dimensions,\n\t\t\t\theight: undefined,\n\t\t\t\tminHeight: undefined,\n\t\t\t\tminWidth: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\twidth: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\t// Content Width\n\tconst showContentSizeControl =\n\t\thasContentSize( settings ) && includeLayoutControls;\n\tconst contentSizeValue = decodeValue( inheritedValue?.layout?.contentSize );\n\tconst setContentSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'contentSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetContentSizeValue = () => !! value?.layout?.contentSize;\n\tconst resetContentSizeValue = () => setContentSizeValue( undefined );\n\n\t// Wide Width\n\tconst showWideSizeControl =\n\t\thasWideSize( settings ) && includeLayoutControls;\n\tconst wideSizeValue = decodeValue( inheritedValue?.layout?.wideSize );\n\tconst setWideSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'wideSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetWideSizeValue = () => !! value?.layout?.wideSize;\n\tconst resetWideSizeValue = () => setWideSizeValue( undefined );\n\n\t// Padding\n\tconst showPaddingControl = hasPadding( settings );\n\tconst rawPadding = decodeValue( inheritedValue?.spacing?.padding );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = Array.isArray( settings?.spacing?.padding )\n\t\t? settings?.spacing?.padding\n\t\t: settings?.spacing?.padding?.sides;\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'padding' ], padding ) );\n\t};\n\tconst hasPaddingValue = () =>\n\t\t!! value?.spacing?.padding &&\n\t\tObject.keys( value?.spacing?.padding ).length;\n\tconst resetPaddingValue = () => setPaddingValues( undefined );\n\tconst onMouseOverPadding = () => onVisualize( 'padding' );\n\n\t// Margin\n\tconst showMarginControl = hasMargin( settings );\n\tconst rawMargin = decodeValue( inheritedValue?.spacing?.margin );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = Array.isArray( settings?.spacing?.margin )\n\t\t? settings?.spacing?.margin\n\t\t: settings?.spacing?.margin?.sides;\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'margin' ], margin ) );\n\t};\n\tconst hasMarginValue = () =>\n\t\t!! value?.spacing?.margin &&\n\t\tObject.keys( value?.spacing?.margin ).length;\n\tconst resetMarginValue = () => setMarginValues( undefined );\n\tconst onMouseOverMargin = () => onVisualize( 'margin' );\n\n\t// Block Gap\n\tconst showGapControl = hasGap( settings );\n\tconst gapSides = Array.isArray( settings?.spacing?.blockGap )\n\t\t? settings?.spacing?.blockGap\n\t\t: settings?.spacing?.blockGap?.sides;\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue, isAxialGap );\n\tconst setGapValue = ( newGapValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'spacing', 'blockGap' ], newGapValue )\n\t\t);\n\t};\n\tconst setGapValues = ( nextBoxGapValue ) => {\n\t\tif ( ! nextBoxGapValue ) {\n\t\t\tsetGapValue( null );\n\t\t}\n\t\t// If axial gap is not enabled, treat the 'top' value as the shorthand gap value.\n\t\tif ( ! isAxialGap && nextBoxGapValue?.hasOwnProperty( 'top' ) ) {\n\t\t\tsetGapValue( nextBoxGapValue.top );\n\t\t} else {\n\t\t\tsetGapValue( {\n\t\t\t\ttop: nextBoxGapValue?.top,\n\t\t\t\tleft: nextBoxGapValue?.left,\n\t\t\t} );\n\t\t}\n\t};\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! value?.spacing?.blockGap;\n\n\t// Min Height\n\tconst showMinHeightControl = hasMinHeight( settings );\n\tconst minHeightValue = decodeValue( inheritedValue?.dimensions?.minHeight );\n\tconst setMinHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'minHeight' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply min-height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetMinHeightValue = () => {\n\t\tsetMinHeightValue( undefined );\n\t};\n\tconst hasMinHeightValue = () => !! value?.dimensions?.minHeight;\n\n\t// Height\n\tconst showHeightControl = hasHeight( settings );\n\tconst heightValue = decodeValue( inheritedValue?.dimensions?.height );\n\tconst setHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'height' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetHeightValue = () => {\n\t\tsetHeightValue( undefined );\n\t};\n\tconst hasHeightValue = () => !! value?.dimensions?.height;\n\n\t// Min Width\n\tconst showMinWidthControl = hasMinWidth( settings );\n\tconst minWidthValue = decodeValue( inheritedValue?.dimensions?.minWidth );\n\tconst setMinWidthValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'dimensions', 'minWidth' ], newValue )\n\t\t);\n\t};\n\tconst resetMinWidthValue = () => {\n\t\tsetMinWidthValue( undefined );\n\t};\n\tconst hasMinWidthValue = () => !! value?.dimensions?.minWidth;\n\n\t// Width\n\tconst showWidthControl = hasWidth( settings );\n\tconst widthValue = decodeValue( inheritedValue?.dimensions?.width );\n\tconst setWidthValue = ( newValue ) => {\n\t\tonChange( setImmutably( value, [ 'dimensions', 'width' ], newValue ) );\n\t};\n\tconst resetWidthValue = () => {\n\t\tsetWidthValue( undefined );\n\t};\n\tconst hasWidthValue = () => !! value?.dimensions?.width;\n\n\t// Aspect Ratio\n\tconst showAspectRatioControl = hasAspectRatio( settings, styleState );\n\tconst aspectRatioValue = decodeValue(\n\t\tinheritedValue?.dimensions?.aspectRatio\n\t);\n\tconst setAspectRatioValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply aspect-ratio, while removing any applied min-height.\n\t\tonChange(\n\t\t\tsetImmutably( tempValue, [ 'dimensions', 'minHeight' ], undefined )\n\t\t);\n\t};\n\tconst hasAspectRatioValue = () => !! value?.dimensions?.aspectRatio;\n\n\t// Child Layout\n\tconst showChildLayoutControl = hasChildLayout( settings, styleState );\n\tconst childLayout = inheritedValue?.layout;\n\n\tconst setChildLayout = ( newChildLayout ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tlayout: {\n\t\t\t\t...value?.layout,\n\t\t\t\t...newChildLayout,\n\t\t\t},\n\t\t} );\n\t};\n\n\tconst onMouseLeaveControls = () => onVisualize( false );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ ( showContentSizeControl || showWideSizeControl ) && (\n\t\t\t\t<span className=\"span-columns\">\n\t\t\t\t\t{ __( 'Set the width of the main content area.' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t{ showContentSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\thasValue={ hasUserSetContentSizeValue }\n\t\t\t\t\tonDeselect={ resetContentSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.contentSize ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.contentSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showWideSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\thasValue={ hasUserSetWideSizeValue }\n\t\t\t\t\tonDeselect={ resetWideSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.wideSize ?? DEFAULT_CONTROLS.wideSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showPaddingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasPaddingValue }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tonDeselect={ resetPaddingValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.padding ?? DEFAULT_CONTROLS.padding\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t\t\tinputProps={ {\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverPadding,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMarginControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMarginValue }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tonDeselect={ resetMarginValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.margin ?? DEFAULT_CONTROLS.margin\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tinputProps={ {\n\t\t\t\t\t\t\t\tmin: minMarginValue,\n\t\t\t\t\t\t\t\tonDragStart: () => {\n\t\t\t\t\t\t\t\t\t// Reset to 0 in case the value was negative.\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( 0 );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonDragEnd: () => {\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( minimumMargin );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverMargin,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tminimumCustomValue={ -Infinity }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showGapControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasGapValue }\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\tonDeselect={ resetGapValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.blockGap ?? DEFAULT_CONTROLS.blockGap\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t\t'single-column':\n\t\t\t\t\t\t\t// If UnitControl is used, should be single-column.\n\t\t\t\t\t\t\t! showSpacingPresetsControl && ! isAxialGap,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl &&\n\t\t\t\t\t\t( isAxialGap ? (\n\t\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tsides={ gapSides }\n\t\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\tsplitOnAxis={ isAxialGap }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tvalue={ gapValue }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\tshowSideInLabel={ false }\n\t\t\t\t\t\t\tsides={ isAxialGap ? gapSides : [ 'top' ] } // Use 'top' as the shorthand property in non-axial configurations.\n\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showChildLayoutControl && (\n\t\t\t\t<ChildLayoutControl\n\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tshowGridSpanDefaults={\n\t\t\t\t\t\t! hasViewportBlockStyleState( styleState )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.childLayout ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.childLayout\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showMinHeightControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMinHeightValue }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ resetMinHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minHeight ?? DEFAULT_CONTROLS.minHeight\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<DimensionControl\n\t\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\t\tvalue={ minHeightValue }\n\t\t\t\t\t\tonChange={ setMinHeightValue }\n\t\t\t\t\t\tdimensionSizes={ dimensions?.dimensionSizes }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMinWidthControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMinWidthValue }\n\t\t\t\t\tlabel={ __( 'Minimum width' ) }\n\t\t\t\t\tonDeselect={ resetMinWidthValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minWidth ?? DEFAULT_CONTROLS.minWidth\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<DimensionControl\n\t\t\t\t\t\tlabel={ __( 'Minimum width' ) }\n\t\t\t\t\t\tvalue={ minWidthValue }\n\t\t\t\t\t\tonChange={ setMinWidthValue }\n\t\t\t\t\t\tdimensionSizes={ dimensions?.dimensionSizes }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showHeightControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasHeightValue }\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tonDeselect={ resetHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.height ?? DEFAULT_CONTROLS.height\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<DimensionControl\n\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\tvalue={ heightValue }\n\t\t\t\t\t\tonChange={ setHeightValue }\n\t\t\t\t\t\tdimensionSizes={ dimensions?.dimensionSizes }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showWidthControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasWidthValue }\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tonDeselect={ resetWidthValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.width ?? DEFAULT_CONTROLS.width\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<DimensionControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\tonChange={ setWidthValue }\n\t\t\t\t\t\tdimensionSizes={ dimensions?.dimensionSizes }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showAspectRatioControl && (\n\t\t\t\t<AspectRatioTool\n\t\t\t\t\thasValue={ hasAspectRatioValue }\n\t\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\t\tonChange={ setAspectRatioValue }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.aspectRatio ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.aspectRatio\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_utils", "ToolsPanel", "useCustomUnits", "ToolsPanelItem", "UnitControl", "InputControlPrefixWrapper", "clsx", "SpacingSizesControl", "ChildLayoutControl", "DimensionControl", "AspectRatioTool"]
|
|
7
7
|
}
|
|
@@ -24,6 +24,7 @@ __export(state_control_badges_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(state_control_badges_exports);
|
|
26
26
|
var import_components = require("@wordpress/components");
|
|
27
|
+
var import_i18n = require("@wordpress/i18n");
|
|
27
28
|
var import_ui = require("@wordpress/ui");
|
|
28
29
|
var import_lock_unlock = require("../../lock-unlock.cjs");
|
|
29
30
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -45,13 +46,23 @@ function StateControlBadges({
|
|
|
45
46
|
if (selectedViewport) {
|
|
46
47
|
activeStates.push({
|
|
47
48
|
key: `viewport-${selectedViewport.value}`,
|
|
48
|
-
label: selectedViewport.label
|
|
49
|
+
label: selectedViewport.label,
|
|
50
|
+
tooltipText: (0, import_i18n.sprintf)(
|
|
51
|
+
/* translators: %s: viewport name, e.g. "Tablet". */
|
|
52
|
+
(0, import_i18n.__)("Style changes apply to the %s viewport."),
|
|
53
|
+
selectedViewport.label
|
|
54
|
+
)
|
|
49
55
|
});
|
|
50
56
|
}
|
|
51
57
|
if (selectedPseudoState) {
|
|
52
58
|
activeStates.push({
|
|
53
59
|
key: `pseudo-${selectedPseudoState.value}`,
|
|
54
|
-
label: selectedPseudoState.label
|
|
60
|
+
label: selectedPseudoState.label,
|
|
61
|
+
tooltipText: (0, import_i18n.sprintf)(
|
|
62
|
+
/* translators: %s: pseudo state name, e.g. "Hover". */
|
|
63
|
+
(0, import_i18n.__)("Style changes apply to the %s state."),
|
|
64
|
+
selectedPseudoState.label
|
|
65
|
+
)
|
|
55
66
|
});
|
|
56
67
|
}
|
|
57
68
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -62,7 +73,32 @@ function StateControlBadges({
|
|
|
62
73
|
justify: "flex-start",
|
|
63
74
|
gap: "xs",
|
|
64
75
|
wrap: "wrap",
|
|
65
|
-
children: activeStates.map((state) =>
|
|
76
|
+
children: activeStates.map((state) => {
|
|
77
|
+
const badge = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
78
|
+
WCBadge,
|
|
79
|
+
{
|
|
80
|
+
className: "block-editor-global-styles-state-control__badge",
|
|
81
|
+
intent: "info",
|
|
82
|
+
children: [
|
|
83
|
+
state.label,
|
|
84
|
+
!!state.tooltipText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.VisuallyHidden, { render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {}), children: state.tooltipText })
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
state.key
|
|
88
|
+
);
|
|
89
|
+
if (!state.tooltipText) {
|
|
90
|
+
return badge;
|
|
91
|
+
}
|
|
92
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Tooltip.Root, { children: [
|
|
93
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
94
|
+
import_ui.Tooltip.Trigger,
|
|
95
|
+
{
|
|
96
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "block-editor-global-styles-state-control__badge-tooltip-trigger", children: badge })
|
|
97
|
+
}
|
|
98
|
+
),
|
|
99
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Tooltip.Popup, { children: state.tooltipText })
|
|
100
|
+
] }, state.key);
|
|
101
|
+
})
|
|
66
102
|
}
|
|
67
103
|
);
|
|
68
104
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/global-styles/state-control-badges.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { Stack } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge: WCBadge } = unlock( componentsPrivateApis );\n\nexport default function StateControlBadges( {\n\tviewportStates = [],\n\tpseudoStates = [],\n\tviewportValue = 'default',\n\tpseudoStateValue = 'default',\n\tclassName = 'block-editor-global-styles-state-control__badges',\n} ) {\n\tconst activeStates = [];\n\tconst selectedViewport = viewportStates.find(\n\t\t( state ) => state.value === viewportValue\n\t);\n\tconst selectedPseudoState = pseudoStates.find(\n\t\t( state ) => state.value === pseudoStateValue\n\t);\n\n\tif ( selectedViewport ) {\n\t\tactiveStates.push( {\n\t\t\tkey: `viewport-${ selectedViewport.value }`,\n\t\t\tlabel: selectedViewport.label,\n\t\t} );\n\t}\n\n\tif ( selectedPseudoState ) {\n\t\tactiveStates.push( {\n\t\t\tkey: `pseudo-${ selectedPseudoState.value }`,\n\t\t\tlabel: selectedPseudoState.label,\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Stack\n\t\t\tclassName={ className }\n\t\t\tdirection=\"row\"\n\t\t\tjustify=\"flex-start\"\n\t\t\tgap=\"xs\"\n\t\t\twrap=\"wrap\"\n\t\t>\n\t\t\t{ activeStates.map( ( state ) => (\n\t\t\t\t<WCBadge
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAqD;AACrD,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Stack, Tooltip, VisuallyHidden } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge: WCBadge } = unlock( componentsPrivateApis );\n\nexport default function StateControlBadges( {\n\tviewportStates = [],\n\tpseudoStates = [],\n\tviewportValue = 'default',\n\tpseudoStateValue = 'default',\n\tclassName = 'block-editor-global-styles-state-control__badges',\n} ) {\n\tconst activeStates = [];\n\tconst selectedViewport = viewportStates.find(\n\t\t( state ) => state.value === viewportValue\n\t);\n\tconst selectedPseudoState = pseudoStates.find(\n\t\t( state ) => state.value === pseudoStateValue\n\t);\n\n\tif ( selectedViewport ) {\n\t\tactiveStates.push( {\n\t\t\tkey: `viewport-${ selectedViewport.value }`,\n\t\t\tlabel: selectedViewport.label,\n\t\t\ttooltipText: sprintf(\n\t\t\t\t/* translators: %s: viewport name, e.g. \"Tablet\". */\n\t\t\t\t__( 'Style changes apply to the %s viewport.' ),\n\t\t\t\tselectedViewport.label\n\t\t\t),\n\t\t} );\n\t}\n\n\tif ( selectedPseudoState ) {\n\t\tactiveStates.push( {\n\t\t\tkey: `pseudo-${ selectedPseudoState.value }`,\n\t\t\tlabel: selectedPseudoState.label,\n\t\t\ttooltipText: sprintf(\n\t\t\t\t/* translators: %s: pseudo state name, e.g. \"Hover\". */\n\t\t\t\t__( 'Style changes apply to the %s state.' ),\n\t\t\t\tselectedPseudoState.label\n\t\t\t),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Stack\n\t\t\tclassName={ className }\n\t\t\tdirection=\"row\"\n\t\t\tjustify=\"flex-start\"\n\t\t\tgap=\"xs\"\n\t\t\twrap=\"wrap\"\n\t\t>\n\t\t\t{ activeStates.map( ( state ) => {\n\t\t\t\tconst badge = (\n\t\t\t\t\t<WCBadge\n\t\t\t\t\t\tkey={ state.key }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-state-control__badge\"\n\t\t\t\t\t\tintent=\"info\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ state.label }\n\t\t\t\t\t\t{ !! state.tooltipText && (\n\t\t\t\t\t\t\t<VisuallyHidden render={ <span /> }>\n\t\t\t\t\t\t\t\t{ state.tooltipText }\n\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</WCBadge>\n\t\t\t\t);\n\n\t\t\t\tif ( ! state.tooltipText ) {\n\t\t\t\t\treturn badge;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tooltip.Root key={ state.key }>\n\t\t\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<span className=\"block-editor-global-styles-state-control__badge-tooltip-trigger\">\n\t\t\t\t\t\t\t\t\t{ badge }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Tooltip.Popup>{ state.tooltipText }</Tooltip.Popup>\n\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Stack>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAqD;AACrD,kBAA4B;AAC5B,gBAA+C;AAK/C,yBAAuB;AAqDlB;AAnDL,IAAM,EAAE,OAAO,QAAQ,QAAI,2BAAQ,kBAAAA,WAAsB;AAE1C,SAAR,mBAAqC;AAAA,EAC3C,iBAAiB,CAAC;AAAA,EAClB,eAAe,CAAC;AAAA,EAChB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,YAAY;AACb,GAAI;AACH,QAAM,eAAe,CAAC;AACtB,QAAM,mBAAmB,eAAe;AAAA,IACvC,CAAE,UAAW,MAAM,UAAU;AAAA,EAC9B;AACA,QAAM,sBAAsB,aAAa;AAAA,IACxC,CAAE,UAAW,MAAM,UAAU;AAAA,EAC9B;AAEA,MAAK,kBAAmB;AACvB,iBAAa,KAAM;AAAA,MAClB,KAAK,YAAa,iBAAiB,KAAM;AAAA,MACzC,OAAO,iBAAiB;AAAA,MACxB,iBAAa;AAAA;AAAA,YAEZ,gBAAI,yCAA0C;AAAA,QAC9C,iBAAiB;AAAA,MAClB;AAAA,IACD,CAAE;AAAA,EACH;AAEA,MAAK,qBAAsB;AAC1B,iBAAa,KAAM;AAAA,MAClB,KAAK,UAAW,oBAAoB,KAAM;AAAA,MAC1C,OAAO,oBAAoB;AAAA,MAC3B,iBAAa;AAAA;AAAA,YAEZ,gBAAI,sCAAuC;AAAA,QAC3C,oBAAoB;AAAA,MACrB;AAAA,IACD,CAAE;AAAA,EACH;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MACV,SAAQ;AAAA,MACR,KAAI;AAAA,MACJ,MAAK;AAAA,MAEH,uBAAa,IAAK,CAAE,UAAW;AAChC,cAAM,QACL;AAAA,UAAC;AAAA;AAAA,YAEA,WAAU;AAAA,YACV,QAAO;AAAA,YAEL;AAAA,oBAAM;AAAA,cACN,CAAC,CAAE,MAAM,eACV,4CAAC,4BAAe,QAAS,4CAAC,UAAK,GAC5B,gBAAM,aACT;AAAA;AAAA;AAAA,UARK,MAAM;AAAA,QAUb;AAGD,YAAK,CAAE,MAAM,aAAc;AAC1B,iBAAO;AAAA,QACR;AAEA,eACC,6CAAC,kBAAQ,MAAR,EACA;AAAA;AAAA,YAAC,kBAAQ;AAAA,YAAR;AAAA,cACA,QACC,4CAAC,UAAK,WAAU,mEACb,iBACH;AAAA;AAAA,UAEF;AAAA,UACA,4CAAC,kBAAQ,OAAR,EAAgB,gBAAM,aAAa;AAAA,aARjB,MAAM,GAS1B;AAAA,MAEF,CAAE;AAAA;AAAA,EACH;AAEF;",
|
|
6
6
|
"names": ["componentsPrivateApis"]
|
|
7
7
|
}
|
|
@@ -502,8 +502,7 @@ function TypographyPanel({
|
|
|
502
502
|
{
|
|
503
503
|
fontFamilies,
|
|
504
504
|
value: fontFamily,
|
|
505
|
-
onChange: setFontFamily
|
|
506
|
-
size: "__unstable-large"
|
|
505
|
+
onChange: setFontFamily
|
|
507
506
|
}
|
|
508
507
|
)
|
|
509
508
|
}
|
|
@@ -525,8 +524,7 @@ function TypographyPanel({
|
|
|
525
524
|
fontSizes: mergedFontSizes,
|
|
526
525
|
disableCustomFontSizes,
|
|
527
526
|
withReset: false,
|
|
528
|
-
withSlider: true
|
|
529
|
-
size: "__unstable-large"
|
|
527
|
+
withSlider: true
|
|
530
528
|
}
|
|
531
529
|
)
|
|
532
530
|
}
|
|
@@ -549,8 +547,7 @@ function TypographyPanel({
|
|
|
549
547
|
onChange: setFontAppearance,
|
|
550
548
|
hasFontStyles,
|
|
551
549
|
hasFontWeights,
|
|
552
|
-
fontFamilyFaces
|
|
553
|
-
size: "__unstable-large"
|
|
550
|
+
fontFamilyFaces
|
|
554
551
|
}
|
|
555
552
|
)
|
|
556
553
|
}
|
|
@@ -569,8 +566,7 @@ function TypographyPanel({
|
|
|
569
566
|
{
|
|
570
567
|
__unstableInputWidth: "auto",
|
|
571
568
|
value: lineHeight,
|
|
572
|
-
onChange: setLineHeight
|
|
573
|
-
size: "__unstable-large"
|
|
569
|
+
onChange: setLineHeight
|
|
574
570
|
}
|
|
575
571
|
)
|
|
576
572
|
}
|
|
@@ -589,7 +585,6 @@ function TypographyPanel({
|
|
|
589
585
|
{
|
|
590
586
|
value: letterSpacing,
|
|
591
587
|
onChange: setLetterSpacing,
|
|
592
|
-
size: "__unstable-large",
|
|
593
588
|
__unstableInputWidth: "auto"
|
|
594
589
|
}
|
|
595
590
|
)
|
|
@@ -609,7 +604,6 @@ function TypographyPanel({
|
|
|
609
604
|
{
|
|
610
605
|
value: textIndent,
|
|
611
606
|
onChange: setTextIndentValue,
|
|
612
|
-
size: "__unstable-large",
|
|
613
607
|
__unstableInputWidth: "auto",
|
|
614
608
|
withSlider: true,
|
|
615
609
|
hasBottomMargin: isGlobalStyles
|
|
@@ -643,7 +637,6 @@ function TypographyPanel({
|
|
|
643
637
|
max: MAX_TEXT_COLUMNS,
|
|
644
638
|
min: MIN_TEXT_COLUMNS,
|
|
645
639
|
onChange: setTextColumns,
|
|
646
|
-
size: "__unstable-large",
|
|
647
640
|
spinControls: "custom",
|
|
648
641
|
value: textColumns,
|
|
649
642
|
initialPosition: 1
|