@wordpress/block-editor 12.24.0 → 12.26.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 +11 -3
- package/README.md +7 -1
- package/build/components/alignment-control/ui.js +3 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-actions/index.js +4 -2
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +2 -2
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/index.js +2 -2
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-edit/edit.js +2 -2
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-icon/index.js +2 -2
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-list/block.js +4 -13
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +2 -2
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +6 -5
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +1 -9
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +11 -8
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +17 -46
- package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-scroll-into-view.js +44 -0
- package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
- package/build/components/block-list-appender/index.js +2 -2
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-mover/button.js +2 -2
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +2 -2
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +3 -1
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-patterns-list/index.js +26 -5
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-popover/cover.js +9 -6
- package/build/components/block-popover/cover.js.map +1 -1
- package/build/components/block-popover/inbetween.js +2 -2
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +22 -4
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -2
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +8 -30
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +10 -7
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +2 -2
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-switcher/utils.js +15 -5
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-toolbar/index.js +3 -3
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/use-has-block-toolbar.js +14 -9
- package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +2 -2
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +4 -4
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.js +2 -2
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build/components/block-tools/empty-block-inserter.js +2 -2
- package/build/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build/components/block-tools/index.js +23 -2
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -4
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +2 -5
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +68 -20
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-picker/index.js +5 -4
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +3 -1
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/button-block-appender/index.js +2 -2
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/child-layout-control/index.js +2 -2
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/colors-gradients/control.js +3 -3
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +2 -2
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +6 -0
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +2 -2
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js +30 -36
- package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +9 -5
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/global-styles/background-panel.js +4 -4
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +6 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +20 -4
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +2 -2
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +3 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +4 -4
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +23 -23
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +149 -132
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +45 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/grid-visualizer/grid-item-resizer.js +141 -24
- package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build/components/grid-visualizer/grid-visualizer.js +11 -5
- package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build/components/iframe/index.js +69 -30
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +53 -36
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/cropper.js +2 -2
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/index.js +1 -1
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/index.js +8 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +2 -2
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +25 -10
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +20 -30
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +9 -3
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +56 -0
- package/build/components/inserter/category-tabs/index.js.map +1 -0
- package/build/components/inserter/hooks/use-insertion-point.js +11 -2
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +12 -5
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +2 -2
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/library.js +8 -2
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/index.js +2 -2
- package/build/components/inserter/media-tab/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +0 -25
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +15 -5
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +15 -29
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/menu.js +115 -109
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +2 -2
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/tabs.js +23 -11
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-list-item/index.js +3 -3
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +9 -0
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/line-height-control/index.js +6 -2
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +2 -2
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +3 -3
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-item.js +9 -3
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -2
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/list-view/block-contents.js +2 -2
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +15 -172
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +196 -21
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +3 -3
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +3 -3
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +2 -2
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/utils.js +3 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +7 -7
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +2 -2
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +3 -1
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.js +2 -2
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +3 -4
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/use-block-sync.js +10 -1
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/responsive-block-control/index.js +2 -2
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/rich-text/event-listeners/before-input-rules.js +93 -0
- package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/delete.js +58 -0
- package/build/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build/components/rich-text/event-listeners/enter.js +89 -0
- package/build/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js +36 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build/components/rich-text/event-listeners/index.js +44 -0
- package/build/components/rich-text/event-listeners/index.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-events.js +22 -0
- package/build/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-rules.js +135 -0
- package/build/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js +33 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build/components/rich-text/event-listeners/paste-handler.js +126 -0
- package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js +27 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/shortcuts.js +22 -0
- package/build/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js +51 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build/components/rich-text/format-toolbar/index.js +2 -2
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +20 -33
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +15 -5
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +36 -4
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +12 -0
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +8 -4
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/segmented-text-control/index.js +62 -0
- package/build/components/segmented-text-control/index.js.map +1 -0
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/text-alignment-control/index.js +76 -0
- package/build/components/text-alignment-control/index.js.map +1 -0
- package/build/components/text-decoration-control/index.js +22 -26
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +19 -23
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/url-input/index.js +4 -4
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +2 -2
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +2 -2
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +2 -2
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-display-information/index.js +9 -3
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +3 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/warning/index.js +2 -2
- package/build/components/warning/index.js.map +1 -1
- package/build/components/writing-flow/index.js +2 -2
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js +77 -30
- package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +3 -1
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-input.js +44 -2
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +9 -2
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +17 -21
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/align.js +2 -2
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/background.js +1 -1
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/border.js +3 -3
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +3 -3
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +5 -28
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +2 -2
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +2 -2
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +2 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +3 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout-child.js +16 -8
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/layout.js +2 -2
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +2 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/text-align.js +3 -3
- package/build/hooks/text-align.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +39 -13
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/use-color-props.js +2 -2
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/use-typography-props.js +2 -2
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +13 -8
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/grid.js +7 -6
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +8 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +143 -25
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +26 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-keys.js +2 -1
- package/build/store/private-keys.js.map +1 -1
- package/build/store/private-selectors.js +33 -6
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +11 -8
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +25 -8
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +17 -0
- package/build/utils/object.js.map +1 -1
- package/build/utils/order-inserter-block-items.js +6 -2
- package/build/utils/order-inserter-block-items.js.map +1 -1
- package/build/utils/pasting.js +6 -2
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/selection.js +8 -0
- package/build/utils/selection.js.map +1 -1
- package/build/utils/transform-styles/index.js +12 -7
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +3 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-actions/index.js +4 -2
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +2 -2
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-card/index.js +2 -2
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/index.js +2 -2
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-edit/edit.js +2 -2
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-icon/index.js +2 -2
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-list/block.js +4 -13
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +2 -2
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +6 -5
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +1 -9
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +11 -8
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-refs.js +19 -48
- package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.js +37 -0
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
- package/build-module/components/block-list-appender/index.js +2 -2
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-mover/button.js +2 -2
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -2
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +3 -1
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +27 -6
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-popover/cover.js +9 -5
- package/build-module/components/block-popover/cover.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +2 -2
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +21 -3
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +9 -31
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +10 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +2 -2
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +15 -5
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +3 -3
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/use-has-block-toolbar.js +14 -9
- package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +2 -2
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +4 -4
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.js +2 -2
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build-module/components/block-tools/empty-block-inserter.js +2 -2
- package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build-module/components/block-tools/index.js +23 -2
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -4
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +2 -5
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +69 -21
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +5 -4
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +3 -1
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +2 -2
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +2 -2
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +3 -3
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +2 -2
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +7 -1
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +2 -2
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js +30 -36
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +9 -5
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +4 -4
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +6 -4
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +21 -5
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -2
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +3 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +4 -4
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +24 -24
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +149 -132
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +44 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-item-resizer.js +141 -24
- package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-visualizer.js +12 -6
- package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build-module/components/iframe/index.js +70 -31
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +52 -36
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +2 -2
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/index.js +1 -1
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +2 -2
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +25 -10
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +21 -31
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +10 -4
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +49 -0
- package/build-module/components/inserter/category-tabs/index.js.map +1 -0
- package/build-module/components/inserter/hooks/use-insertion-point.js +11 -2
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +12 -5
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +2 -2
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/library.js +8 -2
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/media-tab/index.js +1 -1
- package/build-module/components/inserter/media-tab/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +0 -24
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +15 -5
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +17 -31
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/menu.js +117 -111
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +2 -2
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/tabs.js +24 -12
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +3 -3
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +9 -0
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +6 -2
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +2 -2
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +3 -3
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-item.js +9 -3
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +2 -2
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +2 -2
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +17 -174
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +198 -23
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +3 -3
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +3 -3
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -2
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/utils.js +3 -1
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +7 -7
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +2 -2
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +3 -1
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +2 -2
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +3 -4
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +10 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +2 -2
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/before-input-rules.js +86 -0
- package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/delete.js +51 -0
- package/build-module/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/enter.js +82 -0
- package/build-module/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js +29 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/index.js +36 -0
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-events.js +15 -0
- package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js +127 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +27 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js +122 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +21 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js +15 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build-module/components/rich-text/format-toolbar/index.js +2 -2
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +21 -34
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +15 -5
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +37 -5
- package/build-module/components/rich-text/multiline.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +12 -0
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +8 -4
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/segmented-text-control/index.js +55 -0
- package/build-module/components/segmented-text-control/index.js.map +1 -0
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/text-alignment-control/index.js +68 -0
- package/build-module/components/text-alignment-control/index.js.map +1 -0
- package/build-module/components/text-decoration-control/index.js +22 -26
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +19 -23
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/url-input/index.js +4 -4
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +2 -2
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +2 -2
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +2 -2
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +9 -3
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +3 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/warning/index.js +2 -2
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +2 -2
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js +78 -31
- package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +3 -1
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js +45 -3
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +9 -2
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +17 -21
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/align.js +2 -2
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/background.js +1 -1
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/border.js +3 -3
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +3 -3
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +5 -28
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +2 -2
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +2 -2
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +2 -2
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +3 -1
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/layout-child.js +16 -8
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/layout.js +2 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +2 -2
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/text-align.js +3 -3
- package/build-module/hooks/text-align.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +39 -13
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-color-props.js +2 -2
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +2 -2
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +13 -8
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/grid.js +7 -6
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +9 -4
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +145 -27
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +24 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-keys.js +1 -0
- package/build-module/store/private-keys.js.map +1 -1
- package/build-module/store/private-selectors.js +32 -5
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +11 -8
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +25 -8
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +16 -0
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/order-inserter-block-items.js +6 -2
- package/build-module/utils/order-inserter-block-items.js.map +1 -1
- package/build-module/utils/pasting.js +6 -2
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/selection.js +7 -0
- package/build-module/utils/selection.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +12 -7
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +124 -158
- package/build-style/content.css +124 -158
- package/build-style/style-rtl.css +114 -203
- package/build-style/style.css +114 -203
- package/build-types/components/block-context/index.d.ts +1 -1
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/package.json +32 -32
- package/src/components/alignment-control/ui.js +3 -1
- package/src/components/block-actions/index.js +5 -1
- package/src/components/block-alignment-control/ui.js +2 -2
- package/src/components/block-bindings-toolbar-indicator/style.scss +1 -4
- package/src/components/block-canvas/style.scss +1 -3
- package/src/components/block-card/index.js +2 -2
- package/src/components/block-compare/index.js +2 -2
- package/src/components/block-content-overlay/content.scss +4 -37
- package/src/components/block-edit/edit.js +2 -2
- package/src/components/block-icon/index.js +2 -2
- package/src/components/block-list/block.js +6 -17
- package/src/components/block-list/block.native.js +2 -2
- package/src/components/block-list/content.scss +53 -72
- package/src/components/block-list/index.js +6 -6
- package/src/components/block-list/index.native.js +1 -6
- package/src/components/block-list/use-block-props/index.js +16 -6
- package/src/components/block-list/use-block-props/use-block-refs.js +17 -57
- package/src/components/block-list/use-block-props/use-is-hovered.js +11 -16
- package/src/components/block-list/use-block-props/use-scroll-into-view.js +38 -0
- package/src/components/block-list-appender/index.js +2 -2
- package/src/components/block-mover/button.js +2 -2
- package/src/components/block-mover/index.js +2 -2
- package/src/components/block-mover/index.native.js +3 -1
- package/src/components/block-patterns-list/index.js +29 -4
- package/src/components/block-patterns-list/style.scss +1 -3
- package/src/components/block-popover/README.md +1 -1
- package/src/components/block-popover/cover.js +22 -7
- package/src/components/block-popover/inbetween.js +2 -2
- package/src/components/block-popover/index.js +24 -6
- package/src/components/block-preview/index.js +2 -2
- package/src/components/block-preview/style.scss +13 -15
- package/src/components/block-settings-menu/block-settings-dropdown.js +15 -57
- package/src/components/block-settings-menu-controls/index.js +25 -16
- package/src/components/block-styles/index.js +2 -2
- package/src/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/src/components/block-switcher/use-transformed-patterns.js +6 -2
- package/src/components/block-switcher/utils.js +14 -5
- package/src/components/block-toolbar/index.js +3 -3
- package/src/components/block-toolbar/style.scss +8 -11
- package/src/components/block-toolbar/use-has-block-toolbar.js +21 -16
- package/src/components/block-tools/block-selection-button.js +2 -2
- package/src/components/block-tools/block-toolbar-breadcrumb.js +5 -5
- package/src/components/block-tools/block-toolbar-popover.js +4 -7
- package/src/components/block-tools/empty-block-inserter.js +2 -2
- package/src/components/block-tools/index.js +27 -4
- package/src/components/block-tools/insertion-point.js +4 -4
- package/src/components/block-tools/style.scss +8 -0
- package/src/components/block-tools/use-show-block-tools.js +36 -48
- package/src/components/block-tools/zoom-out-mode-inserters.js +74 -18
- package/src/components/block-variation-picker/content.scss +22 -72
- package/src/components/block-variation-picker/index.js +5 -4
- package/src/components/block-variation-transforms/index.js +3 -1
- package/src/components/button-block-appender/index.js +2 -2
- package/src/components/child-layout-control/index.js +14 -2
- package/src/components/colors-gradients/control.js +3 -3
- package/src/components/colors-gradients/dropdown.js +2 -2
- package/src/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/src/components/colors-gradients/test/control.js +3 -3
- package/src/components/convert-to-group-buttons/index.js +10 -1
- package/src/components/default-block-appender/index.js +2 -2
- package/src/components/dimensions-tool/aspect-ratio-tool.js +40 -67
- package/src/components/dimensions-tool/test/index.js +10 -0
- package/src/components/editable-text/README.md +0 -4
- package/src/components/floating-toolbar/index.native.js +5 -2
- package/src/components/global-styles/background-panel.js +4 -6
- package/src/components/global-styles/color-panel.js +6 -4
- package/src/components/global-styles/dimensions-panel.js +22 -5
- package/src/components/global-styles/filters-panel.js +2 -2
- package/src/components/global-styles/hooks.js +2 -0
- package/src/components/global-styles/shadow-panel-components.js +6 -9
- package/src/components/global-styles/test/get-global-styles-changes.js +0 -2
- package/src/components/global-styles/test/use-global-styles-output.js +5 -5
- package/src/components/global-styles/test/utils.js +21 -0
- package/src/components/global-styles/typography-panel.js +27 -23
- package/src/components/global-styles/use-global-styles-output.js +211 -187
- package/src/components/global-styles/utils.js +55 -0
- package/src/components/grid-visualizer/grid-item-resizer.js +169 -40
- package/src/components/grid-visualizer/grid-visualizer.js +19 -6
- package/src/components/iframe/content.scss +63 -0
- package/src/components/iframe/index.js +119 -39
- package/src/components/image-editor/aspect-ratio-dropdown.js +91 -59
- package/src/components/image-editor/cropper.js +2 -2
- package/src/components/image-editor/index.js +1 -1
- package/src/components/image-editor/test/index.js +22 -0
- package/src/components/index.js +1 -0
- package/src/components/inner-blocks/button-block-appender.js +2 -2
- package/src/components/inner-blocks/index.js +24 -9
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -1
- package/src/components/inserter/block-patterns-tab/index.js +30 -64
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -1
- package/src/components/inserter/block-types-tab.js +12 -9
- package/src/components/inserter/category-tabs/index.js +74 -0
- package/src/components/inserter/hooks/use-insertion-point.js +15 -1
- package/src/components/inserter/hooks/use-patterns-state.js +18 -5
- package/src/components/inserter/index.js +4 -5
- package/src/components/inserter/library.js +6 -0
- package/src/components/inserter/media-tab/index.js +1 -1
- package/src/components/inserter/media-tab/media-panel.js +0 -22
- package/src/components/inserter/media-tab/media-preview.js +17 -9
- package/src/components/inserter/media-tab/media-tab.js +44 -83
- package/src/components/inserter/menu.js +168 -140
- package/src/components/inserter/quick-inserter.js +2 -2
- package/src/components/inserter/style.scss +96 -178
- package/src/components/inserter/tabs.js +33 -27
- package/src/components/inserter-list-item/index.js +3 -3
- package/src/components/keyboard-shortcuts/index.js +12 -0
- package/src/components/line-height-control/index.js +6 -2
- package/src/components/line-height-control/test/index.js +16 -14
- package/src/components/link-control/index.js +2 -2
- package/src/components/link-control/link-preview.js +3 -3
- package/src/components/link-control/search-item.js +9 -3
- package/src/components/link-control/search-results.js +2 -2
- package/src/components/list-view/block-contents.js +2 -2
- package/src/components/list-view/block-select-button.js +85 -267
- package/src/components/list-view/block.js +240 -26
- package/src/components/list-view/drop-indicator.js +3 -3
- package/src/components/list-view/index.js +3 -3
- package/src/components/list-view/leaf.js +2 -5
- package/src/components/list-view/style.scss +20 -28
- package/src/components/list-view/use-list-view-drop-zone.js +1 -1
- package/src/components/list-view/utils.js +3 -1
- package/src/components/media-placeholder/content.scss +0 -11
- package/src/components/media-placeholder/index.js +7 -7
- package/src/components/media-replace-flow/index.js +2 -2
- package/src/components/navigable-toolbar/index.js +3 -1
- package/src/components/plain-text/index.js +2 -2
- package/src/components/provider/block-refs-provider.js +3 -8
- package/src/components/provider/test/use-block-sync.js +7 -0
- package/src/components/provider/use-block-sync.js +10 -1
- package/src/components/responsive-block-control/index.js +2 -2
- package/src/components/rich-text/README.md +0 -8
- package/src/components/rich-text/event-listeners/before-input-rules.js +92 -0
- package/src/components/rich-text/event-listeners/delete.js +53 -0
- package/src/components/rich-text/event-listeners/enter.js +84 -0
- package/src/components/rich-text/event-listeners/firefox-compat.js +31 -0
- package/src/components/rich-text/event-listeners/index.js +56 -0
- package/src/components/rich-text/event-listeners/input-events.js +13 -0
- package/src/components/rich-text/event-listeners/input-rules.js +146 -0
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +28 -0
- package/src/components/rich-text/event-listeners/paste-handler.js +132 -0
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +24 -0
- package/src/components/rich-text/event-listeners/shortcuts.js +13 -0
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/src/components/rich-text/format-toolbar/index.js +2 -2
- package/src/components/rich-text/index.js +17 -37
- package/src/components/rich-text/index.native.js +13 -2
- package/src/components/rich-text/multiline.js +37 -5
- package/src/components/rich-text/native/index.native.js +11 -0
- package/src/components/rich-text/use-format-types.js +6 -2
- package/src/components/segmented-text-control/index.js +63 -0
- package/src/components/{writing-mode-control → segmented-text-control}/style.scss +2 -5
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -1
- package/src/components/text-alignment-control/index.js +91 -0
- package/src/components/text-alignment-control/stories/index.story.js +39 -0
- package/src/components/text-decoration-control/index.js +22 -35
- package/src/components/text-transform-control/index.js +19 -32
- package/src/components/url-input/index.js +4 -4
- package/src/components/url-popover/link-editor.js +2 -2
- package/src/components/url-popover/link-viewer-url.js +2 -2
- package/src/components/url-popover/link-viewer.js +2 -2
- package/src/components/use-block-display-information/index.js +9 -3
- package/src/components/use-on-block-drop/index.js +3 -1
- package/src/components/warning/index.js +2 -2
- package/src/components/writing-flow/index.js +2 -2
- package/src/components/writing-flow/use-clipboard-handler.js +107 -47
- package/src/components/writing-flow/use-drag-selection.js +3 -1
- package/src/components/writing-flow/use-input.js +75 -1
- package/src/components/writing-flow/use-tab-nav.js +13 -2
- package/src/components/writing-mode-control/index.js +17 -33
- package/src/content.scss +1 -0
- package/src/hooks/align.js +2 -2
- package/src/hooks/background.js +1 -1
- package/src/hooks/border.js +3 -3
- package/src/hooks/color.js +12 -19
- package/src/hooks/color.scss +1 -0
- package/src/hooks/content-lock-ui.js +16 -33
- package/src/hooks/custom-class-name.js +2 -2
- package/src/hooks/custom-class-name.native.js +2 -2
- package/src/hooks/dimensions.js +2 -2
- package/src/hooks/duotone.js +3 -1
- package/src/hooks/layout-child.js +34 -20
- package/src/hooks/layout.js +2 -2
- package/src/hooks/position.js +2 -2
- package/src/hooks/text-align.js +3 -3
- package/src/hooks/use-bindings-attributes.js +48 -16
- package/src/hooks/use-color-props.js +2 -2
- package/src/hooks/use-typography-props.js +2 -2
- package/src/hooks/utils.js +18 -4
- package/src/layouts/grid.js +3 -7
- package/src/private-apis.js +8 -2
- package/src/store/actions.js +233 -54
- package/src/store/private-actions.js +24 -0
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +43 -4
- package/src/store/reducer.js +13 -23
- package/src/store/selectors.js +24 -9
- package/src/style.scss +1 -2
- package/src/utils/object.js +16 -0
- package/src/utils/order-inserter-block-items.js +6 -2
- package/src/utils/pasting.js +6 -2
- package/src/utils/selection.js +8 -0
- package/src/utils/test/__snapshots__/transform-styles.js.snap +6 -0
- package/src/utils/test/transform-styles.js +14 -0
- package/src/utils/transform-styles/index.js +12 -9
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -54
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build/components/rich-text/split-value.js +0 -81
- package/build/components/rich-text/split-value.js.map +0 -1
- package/build/components/rich-text/use-before-input-rules.js +0 -98
- package/build/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build/components/rich-text/use-delete.js +0 -64
- package/build/components/rich-text/use-delete.js.map +0 -1
- package/build/components/rich-text/use-enter.js +0 -109
- package/build/components/rich-text/use-enter.js.map +0 -1
- package/build/components/rich-text/use-firefox-compat.js +0 -44
- package/build/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build/components/rich-text/use-input-events.js +0 -25
- package/build/components/rich-text/use-input-events.js.map +0 -1
- package/build/components/rich-text/use-input-rules.js +0 -139
- package/build/components/rich-text/use-input-rules.js.map +0 -1
- package/build/components/rich-text/use-insert-replacement-text.js +0 -38
- package/build/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build/components/rich-text/use-paste-handler.js +0 -158
- package/build/components/rich-text/use-paste-handler.js.map +0 -1
- package/build/components/rich-text/use-remove-browser-shortcuts.js +0 -32
- package/build/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-shortcuts.js +0 -25
- package/build/components/rich-text/use-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-undo-automatic-change.js +0 -53
- package/build/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -47
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build-module/components/rich-text/split-value.js +0 -75
- package/build-module/components/rich-text/split-value.js.map +0 -1
- package/build-module/components/rich-text/use-before-input-rules.js +0 -92
- package/build-module/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-delete.js +0 -57
- package/build-module/components/rich-text/use-delete.js.map +0 -1
- package/build-module/components/rich-text/use-enter.js +0 -102
- package/build-module/components/rich-text/use-enter.js.map +0 -1
- package/build-module/components/rich-text/use-firefox-compat.js +0 -37
- package/build-module/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build-module/components/rich-text/use-input-events.js +0 -18
- package/build-module/components/rich-text/use-input-events.js.map +0 -1
- package/build-module/components/rich-text/use-input-rules.js +0 -132
- package/build-module/components/rich-text/use-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-insert-replacement-text.js +0 -32
- package/build-module/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build-module/components/rich-text/use-paste-handler.js +0 -152
- package/build-module/components/rich-text/use-paste-handler.js.map +0 -1
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js +0 -26
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-shortcuts.js +0 -18
- package/build-module/components/rich-text/use-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-undo-automatic-change.js +0 -46
- package/build-module/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/src/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -55
- package/src/components/rich-text/split-value.js +0 -64
- package/src/components/rich-text/use-before-input-rules.js +0 -99
- package/src/components/rich-text/use-delete.js +0 -59
- package/src/components/rich-text/use-enter.js +0 -110
- package/src/components/rich-text/use-firefox-compat.js +0 -39
- package/src/components/rich-text/use-input-events.js +0 -19
- package/src/components/rich-text/use-input-rules.js +0 -150
- package/src/components/rich-text/use-insert-replacement-text.js +0 -31
- package/src/components/rich-text/use-paste-handler.js +0 -180
- package/src/components/rich-text/use-remove-browser-shortcuts.js +0 -29
- package/src/components/rich-text/use-shortcuts.js +0 -19
- package/src/components/rich-text/use-undo-automatic-change.js +0 -46
- package/src/components/text-decoration-control/style.scss +0 -18
- package/src/components/text-transform-control/style.scss +0 -18
|
@@ -9,7 +9,7 @@ import { useCallback } from '@wordpress/element';
|
|
|
9
9
|
/**
|
|
10
10
|
* Internal dependencies
|
|
11
11
|
*/
|
|
12
|
-
import { mergeOrigins,
|
|
12
|
+
import { mergeOrigins, hasOriginValue } from '../../store/get-block-settings';
|
|
13
13
|
import FontFamilyControl from '../font-family';
|
|
14
14
|
import FontAppearanceControl from '../font-appearance-control';
|
|
15
15
|
import LineHeightControl from '../line-height-control';
|
|
@@ -34,7 +34,7 @@ export function useHasTypographyPanel(settings) {
|
|
|
34
34
|
return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasWritingMode || hasTextColumns;
|
|
35
35
|
}
|
|
36
36
|
function useHasFontSizeControl(settings) {
|
|
37
|
-
return
|
|
37
|
+
return settings?.typography?.defaultFontSizes !== false && settings?.typography?.fontSizes?.default?.length || settings?.typography?.fontSizes?.theme?.length || settings?.typography?.fontSizes?.custom?.length || settings?.typography?.customFontSize;
|
|
38
38
|
}
|
|
39
39
|
function useHasFontFamilyControl(settings) {
|
|
40
40
|
return hasOriginValue(settings?.typography?.fontFamilies);
|
|
@@ -69,19 +69,19 @@ function useHasWritingModeControl(settings) {
|
|
|
69
69
|
function useHasTextColumnsControl(settings) {
|
|
70
70
|
return settings?.typography?.textColumns;
|
|
71
71
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Concatenate all the font sizes into a single list for the font size picker.
|
|
75
|
+
*
|
|
76
|
+
* @param {Object} settings The global styles settings.
|
|
77
|
+
*
|
|
78
|
+
* @return {Array} The merged font sizes.
|
|
79
|
+
*/
|
|
80
|
+
function getMergedFontSizes(settings) {
|
|
81
|
+
var _fontSizes$custom, _fontSizes$theme, _fontSizes$default;
|
|
82
|
+
const fontSizes = settings?.typography?.fontSizes;
|
|
83
|
+
const defaultFontSizesEnabled = !!settings?.typography?.defaultFontSizes;
|
|
84
|
+
return [...((_fontSizes$custom = fontSizes?.custom) !== null && _fontSizes$custom !== void 0 ? _fontSizes$custom : []), ...((_fontSizes$theme = fontSizes?.theme) !== null && _fontSizes$theme !== void 0 ? _fontSizes$theme : []), ...(defaultFontSizesEnabled ? (_fontSizes$default = fontSizes?.default) !== null && _fontSizes$default !== void 0 ? _fontSizes$default : [] : [])];
|
|
85
85
|
}
|
|
86
86
|
function TypographyToolsPanel({
|
|
87
87
|
resetAllFilter,
|
|
@@ -121,14 +121,14 @@ export default function TypographyPanel({
|
|
|
121
121
|
panelId,
|
|
122
122
|
defaultControls = DEFAULT_CONTROLS
|
|
123
123
|
}) {
|
|
124
|
-
var _settings$typography
|
|
124
|
+
var _settings$typography$;
|
|
125
125
|
const decodeValue = rawValue => getValueFromVariable({
|
|
126
126
|
settings
|
|
127
127
|
}, '', rawValue);
|
|
128
128
|
|
|
129
129
|
// Font Family
|
|
130
130
|
const hasFontFamilyEnabled = useHasFontFamilyControl(settings);
|
|
131
|
-
const fontFamilies = (_settings$typography$
|
|
131
|
+
const fontFamilies = (_settings$typography$ = settings?.typography?.fontFamilies) !== null && _settings$typography$ !== void 0 ? _settings$typography$ : {};
|
|
132
132
|
const mergedFontFamilies = fontFamilies ? mergeOrigins(fontFamilies) : [];
|
|
133
133
|
const fontFamily = decodeValue(inheritedValue?.typography?.fontFamily);
|
|
134
134
|
const setFontFamily = newValue => {
|
|
@@ -143,7 +143,7 @@ export default function TypographyPanel({
|
|
|
143
143
|
// Font Size
|
|
144
144
|
const hasFontSizeEnabled = useHasFontSizeControl(settings);
|
|
145
145
|
const disableCustomFontSizes = !settings?.typography?.customFontSize;
|
|
146
|
-
const mergedFontSizes =
|
|
146
|
+
const mergedFontSizes = getMergedFontSizes(settings);
|
|
147
147
|
const fontSize = decodeValue(inheritedValue?.typography?.fontSize);
|
|
148
148
|
const setFontSize = (newValue, metadata) => {
|
|
149
149
|
const actualValue = !!metadata?.slug ? `var:preset|font-size|${metadata?.slug}` : newValue;
|
|
@@ -242,7 +242,7 @@ export default function TypographyPanel({
|
|
|
242
242
|
onChange: onChange,
|
|
243
243
|
panelId: panelId
|
|
244
244
|
}, hasFontFamilyEnabled && createElement(ToolsPanelItem, {
|
|
245
|
-
label: __('Font
|
|
245
|
+
label: __('Font'),
|
|
246
246
|
hasValue: hasFontFamily,
|
|
247
247
|
onDeselect: resetFontFamily,
|
|
248
248
|
isShownByDefault: defaultControls.fontFamily,
|
|
@@ -254,7 +254,7 @@ export default function TypographyPanel({
|
|
|
254
254
|
size: "__unstable-large",
|
|
255
255
|
__nextHasNoMarginBottom: true
|
|
256
256
|
})), hasFontSizeEnabled && createElement(ToolsPanelItem, {
|
|
257
|
-
label: __('
|
|
257
|
+
label: __('Size'),
|
|
258
258
|
hasValue: hasFontSize,
|
|
259
259
|
onDeselect: resetFontSize,
|
|
260
260
|
isShownByDefault: defaultControls.fontSize,
|
|
@@ -311,13 +311,13 @@ export default function TypographyPanel({
|
|
|
311
311
|
__unstableInputWidth: "auto"
|
|
312
312
|
})), hasTextColumnsControl && createElement(ToolsPanelItem, {
|
|
313
313
|
className: "single-column",
|
|
314
|
-
label: __('
|
|
314
|
+
label: __('Columns'),
|
|
315
315
|
hasValue: hasTextColumns,
|
|
316
316
|
onDeselect: resetTextColumns,
|
|
317
317
|
isShownByDefault: defaultControls.textColumns,
|
|
318
318
|
panelId: panelId
|
|
319
319
|
}, createElement(NumberControl, {
|
|
320
|
-
label: __('
|
|
320
|
+
label: __('Columns'),
|
|
321
321
|
max: MAX_TEXT_COLUMNS,
|
|
322
322
|
min: MIN_TEXT_COLUMNS,
|
|
323
323
|
onChange: setTextColumns,
|
|
@@ -327,7 +327,7 @@ export default function TypographyPanel({
|
|
|
327
327
|
initialPosition: 1
|
|
328
328
|
})), hasTextDecorationControl && createElement(ToolsPanelItem, {
|
|
329
329
|
className: "single-column",
|
|
330
|
-
label: __('
|
|
330
|
+
label: __('Decoration'),
|
|
331
331
|
hasValue: hasTextDecoration,
|
|
332
332
|
onDeselect: resetTextDecoration,
|
|
333
333
|
isShownByDefault: defaultControls.textDecoration,
|
|
@@ -339,7 +339,7 @@ export default function TypographyPanel({
|
|
|
339
339
|
__unstableInputWidth: "auto"
|
|
340
340
|
})), hasWritingModeControl && createElement(ToolsPanelItem, {
|
|
341
341
|
className: "single-column",
|
|
342
|
-
label: __('
|
|
342
|
+
label: __('Orientation'),
|
|
343
343
|
hasValue: hasWritingMode,
|
|
344
344
|
onDeselect: resetWritingMode,
|
|
345
345
|
isShownByDefault: defaultControls.writingMode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FontSizePicker","__experimentalNumberControl","NumberControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","mergeOrigins","overrideOrigins","hasOriginValue","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","WritingModeControl","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","setImmutably","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","typography","fontSizes","customFontSize","fontFamilies","lineHeight","fontStyle","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","writingMode","textColumns","getUniqueFontSizesBySlug","_settings$typography$","_overrideOrigins","overriddenFontSizes","uniqueSizes","currentSize","some","slug","push","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","createElement","label","dropdownMenuProps","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","_settings$typography$2","decodeValue","rawValue","hasFontFamilyEnabled","mergedFontFamilies","setFontFamily","newValue","find","f","undefined","resetFontFamily","hasFontSizeEnabled","disableCustomFontSizes","mergedFontSizes","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","hasFontStyles","hasFontWeights","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","previousValue","hasValue","onDeselect","isShownByDefault","size","__nextHasNoMarginBottom","withReset","withSlider","className","__unstableInputWidth","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tmergeOrigins,\n\toverrideOrigins,\n\thasOriginValue,\n} from '../../store/get-block-settings';\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\thasOriginValue( settings?.typography?.fontSizes ) ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn hasOriginValue( settings?.typography?.fontFamilies );\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction getUniqueFontSizesBySlug( settings ) {\n\tconst fontSizes = settings?.typography?.fontSizes ?? {};\n\tconst overriddenFontSizes = overrideOrigins( fontSizes ) ?? [];\n\tconst uniqueSizes = [];\n\tfor ( const currentSize of overriddenFontSizes ) {\n\t\tif ( ! uniqueSizes.some( ( { slug } ) => slug === currentSize.slug ) ) {\n\t\t\tuniqueSizes.push( currentSize );\n\t\t}\n\t}\n\treturn uniqueSizes;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\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={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamilies = settings?.typography?.fontFamilies ?? {};\n\tconst mergedFontFamilies = fontFamilies ? mergeOrigins( fontFamilies ) : [];\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = mergedFontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getUniqueFontSizesBySlug( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\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>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ mergedFontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["FontSizePicker","__experimentalNumberControl","NumberControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","mergeOrigins","hasOriginValue","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","WritingModeControl","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","setImmutably","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","typography","defaultFontSizes","fontSizes","default","length","theme","custom","customFontSize","fontFamilies","lineHeight","fontStyle","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","writingMode","textColumns","getMergedFontSizes","_fontSizes$custom","_fontSizes$theme","_fontSizes$default","defaultFontSizesEnabled","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","createElement","label","dropdownMenuProps","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","_settings$typography$","decodeValue","rawValue","hasFontFamilyEnabled","mergedFontFamilies","setFontFamily","newValue","slug","find","f","undefined","resetFontFamily","hasFontSizeEnabled","disableCustomFontSizes","mergedFontSizes","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","hasFontStyles","hasFontWeights","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","previousValue","hasValue","onDeselect","isShownByDefault","size","__nextHasNoMarginBottom","withReset","withSlider","className","__unstableInputWidth","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { mergeOrigins, hasOriginValue } from '../../store/get-block-settings';\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\t( settings?.typography?.defaultFontSizes !== false &&\n\t\t\tsettings?.typography?.fontSizes?.default?.length ) ||\n\t\tsettings?.typography?.fontSizes?.theme?.length ||\n\t\tsettings?.typography?.fontSizes?.custom?.length ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn hasOriginValue( settings?.typography?.fontFamilies );\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\n/**\n * Concatenate all the font sizes into a single list for the font size picker.\n *\n * @param {Object} settings The global styles settings.\n *\n * @return {Array} The merged font sizes.\n */\nfunction getMergedFontSizes( settings ) {\n\tconst fontSizes = settings?.typography?.fontSizes;\n\tconst defaultFontSizesEnabled = !! settings?.typography?.defaultFontSizes;\n\treturn [\n\t\t...( fontSizes?.custom ?? [] ),\n\t\t...( fontSizes?.theme ?? [] ),\n\t\t...( defaultFontSizesEnabled ? fontSizes?.default ?? [] : [] ),\n\t];\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\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={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamilies = settings?.typography?.fontFamilies ?? {};\n\tconst mergedFontFamilies = fontFamilies ? mergeOrigins( fontFamilies ) : [];\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = mergedFontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getMergedFontSizes( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\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>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ mergedFontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -564,7 +564,17 @@ export const toCustomProperties = (tree, blockSelectors) => {
|
|
|
564
564
|
});
|
|
565
565
|
return ruleset;
|
|
566
566
|
};
|
|
567
|
-
export const toStyles = (tree, blockSelectors, hasBlockGapSupport, hasFallbackGapSupport, disableLayoutStyles = false, isTemplate = true) => {
|
|
567
|
+
export const toStyles = (tree, blockSelectors, hasBlockGapSupport, hasFallbackGapSupport, disableLayoutStyles = false, isTemplate = true, styleOptions = undefined) => {
|
|
568
|
+
// These allow opting out of certain sets of styles.
|
|
569
|
+
const options = {
|
|
570
|
+
blockGap: true,
|
|
571
|
+
blockStyles: true,
|
|
572
|
+
layoutStyles: true,
|
|
573
|
+
marginReset: true,
|
|
574
|
+
presets: true,
|
|
575
|
+
rootPadding: true,
|
|
576
|
+
...styleOptions
|
|
577
|
+
};
|
|
568
578
|
const nodesWithStyles = getNodesWithStyles(tree, blockSelectors);
|
|
569
579
|
const nodesWithSettings = getNodesWithSettings(tree, blockSelectors);
|
|
570
580
|
const useRootPaddingAlign = tree?.settings?.useRootPaddingAwareAlignments;
|
|
@@ -572,161 +582,168 @@ export const toStyles = (tree, blockSelectors, hasBlockGapSupport, hasFallbackGa
|
|
|
572
582
|
contentSize,
|
|
573
583
|
wideSize
|
|
574
584
|
} = tree?.settings?.layout || {};
|
|
585
|
+
const hasBodyStyles = options.marginReset || options.rootPadding || options.layoutStyles;
|
|
575
586
|
let ruleset = '';
|
|
576
|
-
if (contentSize || wideSize) {
|
|
587
|
+
if (options.presets && (contentSize || wideSize)) {
|
|
577
588
|
ruleset += `${ROOT_CSS_PROPERTIES_SELECTOR} {`;
|
|
578
589
|
ruleset = contentSize ? ruleset + ` --wp--style--global--content-size: ${contentSize};` : ruleset;
|
|
579
590
|
ruleset = wideSize ? ruleset + ` --wp--style--global--wide-size: ${wideSize};` : ruleset;
|
|
580
591
|
ruleset += '}';
|
|
581
592
|
}
|
|
582
|
-
|
|
583
|
-
/*
|
|
584
|
-
* Reset default browser margin on the body element.
|
|
585
|
-
* This is set on the body selector **before** generating the ruleset
|
|
586
|
-
* from the `theme.json`. This is to ensure that if the `theme.json` declares
|
|
587
|
-
* `margin` in its `spacing` declaration for the `body` element then these
|
|
588
|
-
* user-generated values take precedence in the CSS cascade.
|
|
589
|
-
* @link https://github.com/WordPress/gutenberg/issues/36147.
|
|
590
|
-
*/
|
|
591
|
-
ruleset += 'body {margin: 0;';
|
|
592
|
-
|
|
593
|
-
// Root padding styles should only be output for full templates, not patterns or template parts.
|
|
594
|
-
if (useRootPaddingAlign && isTemplate) {
|
|
593
|
+
if (hasBodyStyles) {
|
|
595
594
|
/*
|
|
596
|
-
*
|
|
597
|
-
*
|
|
595
|
+
* Reset default browser margin on the body element.
|
|
596
|
+
* This is set on the body selector **before** generating the ruleset
|
|
597
|
+
* from the `theme.json`. This is to ensure that if the `theme.json` declares
|
|
598
|
+
* `margin` in its `spacing` declaration for the `body` element then these
|
|
599
|
+
* user-generated values take precedence in the CSS cascade.
|
|
600
|
+
* @link https://github.com/WordPress/gutenberg/issues/36147.
|
|
598
601
|
*/
|
|
599
|
-
ruleset +=
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
featureSelectors,
|
|
615
|
-
styleVariationSelectors
|
|
616
|
-
}) => {
|
|
617
|
-
// Process styles for block support features with custom feature level
|
|
618
|
-
// CSS selectors set.
|
|
619
|
-
if (featureSelectors) {
|
|
620
|
-
const featureDeclarations = getFeatureDeclarations(featureSelectors, styles);
|
|
621
|
-
Object.entries(featureDeclarations).forEach(([cssSelector, declarations]) => {
|
|
622
|
-
if (declarations.length) {
|
|
623
|
-
const rules = declarations.join(';');
|
|
624
|
-
ruleset += `:where(${cssSelector}){${rules};}`;
|
|
625
|
-
}
|
|
626
|
-
});
|
|
602
|
+
ruleset += ':where(body) {margin: 0;';
|
|
603
|
+
|
|
604
|
+
// Root padding styles should only be output for full templates, not patterns or template parts.
|
|
605
|
+
if (options.rootPadding && useRootPaddingAlign && isTemplate) {
|
|
606
|
+
/*
|
|
607
|
+
* These rules reproduce the ones from https://github.com/WordPress/gutenberg/blob/79103f124925d1f457f627e154f52a56228ed5ad/lib/class-wp-theme-json-gutenberg.php#L2508
|
|
608
|
+
* almost exactly, but for the selectors that target block wrappers in the front end. This code only runs in the editor, so it doesn't need those selectors.
|
|
609
|
+
*/
|
|
610
|
+
ruleset += `padding-right: 0; padding-left: 0; padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom) }
|
|
611
|
+
.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }
|
|
612
|
+
.has-global-padding :where(.has-global-padding:not(.wp-block-block)) { padding-right: 0; padding-left: 0; }
|
|
613
|
+
.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }
|
|
614
|
+
.has-global-padding :where(.has-global-padding:not(.wp-block-block)) > .alignfull { margin-right: 0; margin-left: 0; }
|
|
615
|
+
.has-global-padding > .alignfull:where(:not(.has-global-padding):not(.is-layout-flex):not(.is-layout-grid)) > :where(.wp-block:not(.alignfull),p,h1,h2,h3,h4,h5,h6,ul,ol) { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }
|
|
616
|
+
.has-global-padding :where(.has-global-padding) > .alignfull:where(:not(.has-global-padding)) > :where(.wp-block:not(.alignfull),p,h1,h2,h3,h4,h5,h6,ul,ol) { padding-right: 0; padding-left: 0;`;
|
|
627
617
|
}
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
618
|
+
ruleset += '}';
|
|
619
|
+
}
|
|
620
|
+
if (options.blockStyles) {
|
|
621
|
+
nodesWithStyles.forEach(({
|
|
622
|
+
selector,
|
|
623
|
+
duotoneSelector,
|
|
624
|
+
styles,
|
|
625
|
+
fallbackGapValue,
|
|
626
|
+
hasLayoutSupport,
|
|
627
|
+
featureSelectors,
|
|
628
|
+
styleVariationSelectors
|
|
629
|
+
}) => {
|
|
630
|
+
// Process styles for block support features with custom feature level
|
|
631
|
+
// CSS selectors set.
|
|
632
|
+
if (featureSelectors) {
|
|
633
|
+
const featureDeclarations = getFeatureDeclarations(featureSelectors, styles);
|
|
634
|
+
Object.entries(featureDeclarations).forEach(([cssSelector, declarations]) => {
|
|
635
|
+
if (declarations.length) {
|
|
636
|
+
const rules = declarations.join(';');
|
|
637
|
+
ruleset += `:where(${cssSelector}){${rules};}`;
|
|
642
638
|
}
|
|
639
|
+
});
|
|
640
|
+
}
|
|
641
|
+
if (styleVariationSelectors) {
|
|
642
|
+
Object.entries(styleVariationSelectors).forEach(([styleVariationName, styleVariationSelector]) => {
|
|
643
|
+
const styleVariations = styles?.variations?.[styleVariationName];
|
|
644
|
+
if (styleVariations) {
|
|
645
|
+
// If the block uses any custom selectors for block support, add those first.
|
|
646
|
+
if (featureSelectors) {
|
|
647
|
+
const featureDeclarations = getFeatureDeclarations(featureSelectors, styleVariations);
|
|
648
|
+
Object.entries(featureDeclarations).forEach(([baseSelector, declarations]) => {
|
|
649
|
+
if (declarations.length) {
|
|
650
|
+
const cssSelector = concatFeatureVariationSelectorString(baseSelector, styleVariationSelector);
|
|
651
|
+
const rules = declarations.join(';');
|
|
652
|
+
ruleset += `${cssSelector}{${rules};}`;
|
|
653
|
+
}
|
|
654
|
+
});
|
|
655
|
+
}
|
|
643
656
|
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
657
|
+
// Otherwise add regular selectors.
|
|
658
|
+
const styleVariationDeclarations = getStylesDeclarations(styleVariations, styleVariationSelector, useRootPaddingAlign, tree);
|
|
659
|
+
if (styleVariationDeclarations.length) {
|
|
660
|
+
ruleset += `${styleVariationSelector}{${styleVariationDeclarations.join(';')};}`;
|
|
661
|
+
}
|
|
648
662
|
}
|
|
649
|
-
}
|
|
650
|
-
});
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
// Process duotone styles.
|
|
654
|
-
if (duotoneSelector) {
|
|
655
|
-
const duotoneStyles = {};
|
|
656
|
-
if (styles?.filter) {
|
|
657
|
-
duotoneStyles.filter = styles.filter;
|
|
658
|
-
delete styles.filter;
|
|
659
|
-
}
|
|
660
|
-
const duotoneDeclarations = getStylesDeclarations(duotoneStyles);
|
|
661
|
-
if (duotoneDeclarations.length) {
|
|
662
|
-
ruleset += `${duotoneSelector}{${duotoneDeclarations.join(';')};}`;
|
|
663
|
+
});
|
|
663
664
|
}
|
|
664
|
-
}
|
|
665
665
|
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
666
|
+
// Process duotone styles.
|
|
667
|
+
if (duotoneSelector) {
|
|
668
|
+
const duotoneStyles = {};
|
|
669
|
+
if (styles?.filter) {
|
|
670
|
+
duotoneStyles.filter = styles.filter;
|
|
671
|
+
delete styles.filter;
|
|
672
|
+
}
|
|
673
|
+
const duotoneDeclarations = getStylesDeclarations(duotoneStyles);
|
|
674
|
+
if (duotoneDeclarations.length) {
|
|
675
|
+
ruleset += `${duotoneSelector}{${duotoneDeclarations.join(';')};}`;
|
|
676
|
+
}
|
|
677
|
+
}
|
|
676
678
|
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
679
|
+
// Process blockGap and layout styles.
|
|
680
|
+
if (!disableLayoutStyles && (ROOT_BLOCK_SELECTOR === selector || hasLayoutSupport)) {
|
|
681
|
+
ruleset += getLayoutStyles({
|
|
682
|
+
style: styles,
|
|
683
|
+
selector,
|
|
684
|
+
hasBlockGapSupport,
|
|
685
|
+
hasFallbackGapSupport,
|
|
686
|
+
fallbackGapValue
|
|
687
|
+
});
|
|
688
|
+
}
|
|
682
689
|
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
if (!pseudoDeclarations?.length) {
|
|
689
|
-
return;
|
|
690
|
-
}
|
|
690
|
+
// Process the remaining block styles (they use either normal block class or __experimentalSelector).
|
|
691
|
+
const declarations = getStylesDeclarations(styles, selector, useRootPaddingAlign, tree, isTemplate);
|
|
692
|
+
if (declarations?.length) {
|
|
693
|
+
ruleset += `:where(${selector}){${declarations.join(';')};}`;
|
|
694
|
+
}
|
|
691
695
|
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
const pseudoRule = `${_selector}{${pseudoDeclarations.join(';')};}`;
|
|
701
|
-
ruleset += pseudoRule;
|
|
702
|
-
});
|
|
703
|
-
}
|
|
704
|
-
});
|
|
696
|
+
// Check for pseudo selector in `styles` and handle separately.
|
|
697
|
+
const pseudoSelectorStyles = Object.entries(styles).filter(([key]) => key.startsWith(':'));
|
|
698
|
+
if (pseudoSelectorStyles?.length) {
|
|
699
|
+
pseudoSelectorStyles.forEach(([pseudoKey, pseudoStyle]) => {
|
|
700
|
+
const pseudoDeclarations = getStylesDeclarations(pseudoStyle);
|
|
701
|
+
if (!pseudoDeclarations?.length) {
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
705
704
|
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
705
|
+
// `selector` maybe provided in a form
|
|
706
|
+
// where block level selectors have sub element
|
|
707
|
+
// selectors appended to them as a comma separated
|
|
708
|
+
// string.
|
|
709
|
+
// e.g. `h1 a,h2 a,h3 a,h4 a,h5 a,h6 a`;
|
|
710
|
+
// Split and append pseudo selector to create
|
|
711
|
+
// the proper rules to target the elements.
|
|
712
|
+
const _selector = selector.split(',').map(sel => sel + pseudoKey).join(',');
|
|
713
|
+
const pseudoRule = `${_selector}{${pseudoDeclarations.join(';')};}`;
|
|
714
|
+
ruleset += pseudoRule;
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
});
|
|
718
|
+
}
|
|
719
|
+
if (options.layoutStyles) {
|
|
720
|
+
/* Add alignment / layout styles */
|
|
721
|
+
ruleset = ruleset + '.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }';
|
|
722
|
+
ruleset = ruleset + '.wp-site-blocks > .alignright { float: right; margin-left: 2em; }';
|
|
723
|
+
ruleset = ruleset + '.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }';
|
|
724
|
+
}
|
|
725
|
+
if (options.blockGap && hasBlockGapSupport) {
|
|
711
726
|
// Use fallback of `0.5em` just in case, however if there is blockGap support, there should nearly always be a real value.
|
|
712
727
|
const gapValue = getGapCSSValue(tree?.styles?.spacing?.blockGap) || '0.5em';
|
|
713
728
|
ruleset = ruleset + `:where(.wp-site-blocks) > * { margin-block-start: ${gapValue}; margin-block-end: 0; }`;
|
|
714
729
|
ruleset = ruleset + ':where(.wp-site-blocks) > :first-child { margin-block-start: 0; }';
|
|
715
730
|
ruleset = ruleset + ':where(.wp-site-blocks) > :last-child { margin-block-end: 0; }';
|
|
716
731
|
}
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
732
|
+
if (options.presets) {
|
|
733
|
+
nodesWithSettings.forEach(({
|
|
734
|
+
selector,
|
|
735
|
+
presets
|
|
736
|
+
}) => {
|
|
737
|
+
if (ROOT_BLOCK_SELECTOR === selector || ROOT_CSS_PROPERTIES_SELECTOR === selector) {
|
|
738
|
+
// Do not add extra specificity for top-level classes.
|
|
739
|
+
selector = '';
|
|
740
|
+
}
|
|
741
|
+
const classes = getPresetsClasses(selector, presets);
|
|
742
|
+
if (classes.length > 0) {
|
|
743
|
+
ruleset += classes;
|
|
744
|
+
}
|
|
745
|
+
});
|
|
746
|
+
}
|
|
730
747
|
return ruleset;
|
|
731
748
|
};
|
|
732
749
|
export function toSvgFilters(tree, blockSelectors) {
|