@wordpress/block-editor 12.7.0 → 12.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +67 -0
- package/build/autocompleters/block.js +3 -22
- package/build/autocompleters/block.js.map +1 -1
- package/build/autocompleters/link.js +3 -14
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/alignment-control/index.js +6 -10
- package/build/components/alignment-control/index.js.map +1 -1
- package/build/components/alignment-control/ui.js +3 -11
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +8 -22
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +3 -26
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/constants.js +1 -3
- package/build/components/block-alignment-control/constants.js.map +1 -1
- package/build/components/block-alignment-control/index.js +6 -10
- package/build/components/block-alignment-control/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +7 -16
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +5 -13
- package/build/components/block-alignment-control/ui.native.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +10 -18
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +1 -8
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +2 -15
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-caption/index.native.js +7 -16
- package/build/components/block-caption/index.native.js.map +1 -1
- package/build/components/block-card/index.js +5 -17
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/block-view.js +1 -4
- package/build/components/block-compare/block-view.js.map +1 -1
- package/build/components/block-compare/index.js +4 -12
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-content-overlay/index.js +1 -3
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-context/index.js +3 -5
- package/build/components/block-context/index.js.map +1 -1
- package/build/components/block-controls/fill.js +3 -8
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/groups.js +1 -2
- package/build/components/block-controls/groups.js.map +1 -1
- package/build/components/block-controls/hook.js +1 -11
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-controls/index.js +3 -9
- package/build/components/block-controls/index.js.map +1 -1
- package/build/components/block-controls/slot.js +4 -15
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +6 -13
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-controls/use-has-block-controls.js +43 -0
- package/build/components/block-controls/use-has-block-controls.js.map +1 -0
- package/build/components/block-draggable/draggable-chip.js +2 -9
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.native.js +2 -9
- package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build/components/block-draggable/dropping-insertion-point.native.js +2 -23
- package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
- package/build/components/block-draggable/index.js +3 -15
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +7 -56
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.js +9 -13
- package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.native.js +2 -14
- package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build/components/block-edit/context.js +1 -3
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/edit.js +13 -23
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-edit/edit.native.js +4 -14
- package/build/components/block-edit/edit.native.js.map +1 -1
- package/build/components/block-edit/index.js +5 -8
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-edit-visually-button/index.js +1 -8
- package/build/components/block-edit-visually-button/index.js.map +1 -1
- package/build/components/block-editing-mode/index.js +2 -11
- package/build/components/block-editing-mode/index.js.map +1 -1
- package/build/components/block-full-height-alignment-control/index.js +1 -6
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/heading-level-icon.js +2 -6
- package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.js +4 -10
- package/build/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.native.js +2 -8
- package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build/components/block-icon/index.js +2 -10
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-icon/index.native.js +1 -10
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +5 -13
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-inspector/index.js +11 -46
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +7 -10
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
- package/build/components/block-list/block-crash-boundary.js +1 -7
- package/build/components/block-list/block-crash-boundary.js.map +1 -1
- package/build/components/block-list/block-crash-warning.js +1 -7
- package/build/components/block-list/block-crash-warning.js.map +1 -1
- package/build/components/block-list/block-html.js +7 -15
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +3 -16
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js +4 -16
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-block-context.js +1 -2
- package/build/components/block-list/block-list-block-context.js.map +1 -1
- package/build/components/block-list/block-list-context.native.js +10 -25
- package/build/components/block-list/block-list-context.native.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js +1 -8
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +5 -18
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +2 -9
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js +2 -21
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +38 -81
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +40 -71
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/grid-item.native.js +1 -6
- package/build/components/block-list/grid-item.native.js.map +1 -1
- package/build/components/block-list/index.js +9 -28
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +18 -49
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/insertion-point.native.js +1 -9
- package/build/components/block-list/insertion-point.native.js.map +1 -1
- package/build/components/block-list/layout.js +3 -13
- package/build/components/block-list/layout.js.map +1 -1
- package/build/components/block-list/subdirectory-icon.js +3 -6
- package/build/components/block-list/subdirectory-icon.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +37 -36
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.native.js +5 -5
- package/build/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-class-names.js +2 -8
- package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js +0 -8
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js +0 -6
- package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js +3 -10
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +9 -18
- package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +13 -27
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-handler.js +6 -14
- package/build/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
- package/build/components/block-list/use-block-props/use-intersection-observer.js +1 -4
- package/build/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +4 -8
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-nav-mode-exit.js +3 -7
- package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +2 -15
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +15 -37
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list-appender/index.js +12 -32
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js +1 -14
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-lock/index.js +0 -5
- package/build/components/block-lock/index.js.map +1 -1
- package/build/components/block-lock/menu-item.js +4 -11
- package/build/components/block-lock/menu-item.js.map +1 -1
- package/build/components/block-lock/modal.js +10 -22
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-lock/toolbar.js +9 -17
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-lock/use-block-lock.js +0 -3
- package/build/components/block-lock/use-block-lock.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js +9 -64
- package/build/components/block-media-update-progress/index.native.js.map +1 -1
- package/build/components/block-mover/button.js +1 -23
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +4 -18
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +3 -21
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-mover/mover-description.js +41 -63
- package/build/components/block-mover/mover-description.js.map +1 -1
- package/build/components/block-mover/mover-description.native.js +1 -20
- package/build/components/block-mover/mover-description.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +6 -17
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-parent-selector/index.js +5 -22
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/constants.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +3 -23
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +1 -9
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-pattern-setup/use-patterns-setup.js +1 -6
- package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build/components/block-patterns-list/index.js +3 -17
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-popover/drop-zone.js +1 -12
- package/build/components/block-popover/drop-zone.js.map +1 -1
- package/build/components/block-popover/inbetween.js +16 -33
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +15 -26
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-popover/use-popover-scroll.js +2 -7
- package/build/components/block-popover/use-popover-scroll.js.map +1 -1
- package/build/components/block-preview/auto.js +9 -18
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +8 -24
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +2 -13
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +5 -15
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-selection-clearer/index.js +2 -11
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings/button.native.js +3 -10
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/block-settings/container.native.js +3 -9
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings/index.native.js +0 -5
- package/build/components/block-settings/index.native.js.map +1 -1
- package/build/components/block-settings-menu/block-convert-button.js +1 -5
- package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-html-convert-button.js +0 -9
- package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +1 -13
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +14 -37
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-menu-first-item.js +1 -2
- package/build/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
- package/build/components/block-settings-menu/index.js +1 -6
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +13 -22
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +2 -20
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +1 -17
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/menu-items.js +1 -9
- package/build/components/block-styles/menu-items.js.map +1 -1
- package/build/components/block-styles/preview-panel.js +5 -8
- package/build/components/block-styles/preview-panel.js.map +1 -1
- package/build/components/block-styles/preview.native.js +3 -19
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-styles/use-styles-for-block.js +1 -15
- package/build/components/block-styles/use-styles-for-block.js.map +1 -1
- package/build/components/block-styles/utils.js +3 -16
- package/build/components/block-styles/utils.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +1 -6
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js +4 -18
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +4 -18
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-switcher/block-variation-transformations.js +3 -16
- package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build/components/block-switcher/index.js +12 -43
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +3 -14
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +1 -6
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +12 -27
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-switcher/utils.js +5 -10
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-title/index.js +0 -3
- package/build/components/block-title/index.js.map +1 -1
- package/build/components/block-title/use-block-display-title.js +2 -15
- package/build/components/block-title/use-block-display-title.js.map +1 -1
- package/build/components/block-toolbar/block-name-context.js +1 -3
- package/build/components/block-toolbar/block-name-context.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-last-item.js +1 -2
- package/build/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js +24 -43
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-toolbar/index.js +6 -30
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/index.native.js +1 -15
- package/build/components/block-toolbar/index.native.js.map +1 -1
- package/build/components/block-toolbar/utils.js +4 -25
- package/build/components/block-toolbar/utils.js.map +1 -1
- package/build/components/block-tools/back-compat.js +3 -11
- package/build/components/block-tools/back-compat.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +51 -26
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +8 -43
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +9 -32
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +8 -30
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +12 -35
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js +35 -36
- package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +3 -12
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-types-list/index.js +1 -10
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +3 -22
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.js +1 -8
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +1 -16
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +8 -22
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/icons.js +1 -3
- package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build/components/block-vertical-alignment-control/index.js +6 -10
- package/build/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +4 -10
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +8 -13
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +5 -16
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +14 -15
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +5 -7
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/border-radius-control/utils.js +9 -17
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/button-block-appender/index.js +5 -19
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/button-block-appender/index.native.js +4 -13
- package/build/components/button-block-appender/index.native.js.map +1 -1
- package/build/components/caption/index.native.js +1 -7
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/child-layout-control/index.js +8 -13
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/color-palette/control.js +3 -5
- package/build/components/color-palette/control.js.map +1 -1
- package/build/components/color-palette/index.js +0 -6
- package/build/components/color-palette/index.js.map +1 -1
- package/build/components/color-palette/with-color-context.js +2 -8
- package/build/components/color-palette/with-color-context.js.map +1 -1
- package/build/components/color-style-selector/index.js +3 -14
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/index.js +0 -4
- package/build/components/colors/index.js.map +1 -1
- package/build/components/colors/utils.js +5 -20
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +15 -30
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +7 -19
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +15 -21
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +7 -20
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js +1 -5
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +0 -13
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/contrast-checker/index.js +20 -31
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/contrast-checker/index.native.js +4 -21
- package/build/components/contrast-checker/index.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +1 -18
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.native.js +5 -17
- package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +3 -19
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +4 -7
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/copy-handler/index.js +24 -53
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +2 -8
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +4 -18
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-block-appender/index.native.js +14 -21
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/default-style-picker/index.js +4 -12
- package/build/components/default-style-picker/index.js.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js +1 -6
- package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build/components/dimensions-tool/index.js +37 -36
- package/build/components/dimensions-tool/index.js.map +1 -1
- package/build/components/dimensions-tool/scale-tool.js +1 -5
- package/build/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build/components/dimensions-tool/width-height-tool.js +5 -15
- package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
- package/build/components/duotone/components.js +5 -11
- package/build/components/duotone/components.js.map +1 -1
- package/build/components/duotone/index.js +0 -2
- package/build/components/duotone/index.js.map +1 -1
- package/build/components/duotone/utils.js +0 -2
- package/build/components/duotone/utils.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -10
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editable-text/index.js +4 -8
- package/build/components/editable-text/index.js.map +1 -1
- package/build/components/editor-styles/index.js +3 -15
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +3 -18
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/floating-toolbar/nav-up-icon.js +1 -5
- package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
- package/build/components/font-appearance-control/index.js +25 -30
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +1 -9
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +41 -40
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/font-size-picker.js +4 -8
- package/build/components/font-sizes/font-size-picker.js.map +1 -1
- package/build/components/font-sizes/index.js +0 -5
- package/build/components/font-sizes/index.js.map +1 -1
- package/build/components/font-sizes/index.native.js +0 -4
- package/build/components/font-sizes/index.native.js.map +1 -1
- package/build/components/font-sizes/utils.js +2 -12
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +15 -27
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +3 -14
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/behaviors-panel.js +3 -5
- package/build/components/global-styles/behaviors-panel.js.map +1 -1
- package/build/components/global-styles/border-panel.js +22 -43
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +30 -69
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.native.js +5 -19
- package/build/components/global-styles/color-panel.native.js.map +1 -1
- package/build/components/global-styles/context.js +1 -2
- package/build/components/global-styles/context.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +33 -92
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +7 -27
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +9 -25
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-block-css-selector.js +33 -31
- package/build/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build/components/global-styles/hooks.js +41 -90
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +0 -16
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +25 -87
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/typography-utils.js +6 -14
- package/build/components/global-styles/typography-utils.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +96 -190
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +11 -48
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/gradients/index.js +0 -2
- package/build/components/gradients/index.js.map +1 -1
- package/build/components/gradients/index.native.js +0 -4
- package/build/components/gradients/index.native.js.map +1 -1
- package/build/components/gradients/use-gradient.js +3 -21
- package/build/components/gradients/use-gradient.js.map +1 -1
- package/build/components/gradients/with-gradient.js +3 -5
- package/build/components/gradients/with-gradient.js.map +1 -1
- package/build/components/height-control/index.js +2 -12
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/iframe/index.js +24 -46
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/iframe/use-compatibility-styles.js +8 -20
- package/build/components/iframe/use-compatibility-styles.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +3 -9
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/constants.js.map +1 -1
- package/build/components/image-editor/context.js +3 -9
- package/build/components/image-editor/context.js.map +1 -1
- package/build/components/image-editor/cropper.js +3 -11
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/form-controls.js +1 -5
- package/build/components/image-editor/form-controls.js.map +1 -1
- package/build/components/image-editor/index.js +1 -11
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/image-editor/rotation-button.js +1 -6
- package/build/components/image-editor/rotation-button.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +5 -15
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js +1 -12
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js +1 -7
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/image-size-control/index.js +1 -9
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/image-size-control/use-dimension-handler.js +7 -14
- package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build/components/index.js +25 -115
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +0 -53
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +1 -9
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +1 -11
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +22 -38
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +18 -31
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-block-context.js +0 -9
- package/build/components/inner-blocks/use-block-context.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js +10 -18
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +18 -27
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inner-blocks/with-client-id.js +3 -5
- package/build/components/inner-blocks/with-client-id.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +3 -10
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +5 -24
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/sidebar.js +1 -7
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +12 -33
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +9 -25
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +1 -14
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js +9 -12
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +0 -6
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-clipboard-block.native.js +1 -7
- package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build/components/inserter/hooks/use-debounced-input.js +1 -3
- package/build/components/inserter/hooks/use-debounced-input.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +2 -15
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +4 -12
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +29 -66
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +23 -71
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +1 -11
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +12 -27
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/media-tab/index.js +0 -4
- package/build/components/inserter/media-tab/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +3 -7
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +1 -13
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +10 -35
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +3 -18
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/media-tab/utils.js +2 -6
- package/build/components/inserter/media-tab/utils.js.map +1 -1
- package/build/components/inserter/menu.js +2 -22
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js +5 -24
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +3 -7
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/no-results.js +1 -5
- package/build/components/inserter/no-results.js.map +1 -1
- package/build/components/inserter/no-results.native.js +1 -8
- package/build/components/inserter/no-results.native.js.map +1 -1
- package/build/components/inserter/panel.js +1 -4
- package/build/components/inserter/panel.js.map +1 -1
- package/build/components/inserter/preview-panel.js +14 -15
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -18
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/reusable-block-rename-hint.js +2 -16
- package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.js +3 -17
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +1 -9
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-items.js +21 -41
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.js +6 -37
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/search-results.native.js +1 -15
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inserter/tabs.js +1 -17
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter/tabs.native.js +5 -20
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/tips.js +3 -7
- package/build/components/inserter/tips.js.map +1 -1
- package/build/components/inserter/utils.native.js +2 -9
- package/build/components/inserter/utils.native.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +1 -8
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js +1 -16
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inserter-listbox/context.js +1 -2
- package/build/components/inserter-listbox/context.js.map +1 -1
- package/build/components/inserter-listbox/group.js +1 -7
- package/build/components/inserter-listbox/group.js.map +1 -1
- package/build/components/inserter-listbox/index.js +1 -9
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +9 -14
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js +1 -7
- package/build/components/inserter-listbox/row.js.map +1 -1
- package/build/components/inserter-menu-extension/index.js +1 -2
- package/build/components/inserter-menu-extension/index.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +3 -4
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +7 -9
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js +5 -17
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +4 -16
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/groups.js +1 -2
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/index.js +8 -12
- package/build/components/inspector-controls/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +6 -17
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +4 -11
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js +1 -10
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +1 -11
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +3 -14
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab-hint.js +1 -13
- package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.js +1 -8
- package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +1 -10
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +14 -24
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js +0 -2
- package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
- package/build/components/inspector-controls-tabs/utils.js +1 -3
- package/build/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +1 -5
- package/build/components/inspector-popover-header/index.js.map +1 -1
- package/build/components/justify-content-control/index.js +6 -10
- package/build/components/justify-content-control/index.js.map +1 -1
- package/build/components/justify-content-control/ui.js +1 -8
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +10 -7
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +2 -7
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +21 -37
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +5 -7
- package/build/components/line-height-control/index.native.js.map +1 -1
- package/build/components/line-height-control/utils.js +10 -6
- package/build/components/line-height-control/utils.js.map +1 -1
- package/build/components/link-control/constants.js +1 -2
- package/build/components/link-control/constants.js.map +1 -1
- package/build/components/link-control/index.js +42 -56
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/is-url-like.js +4 -8
- package/build/components/link-control/is-url-like.js.map +1 -1
- package/build/components/link-control/link-preview.js +10 -18
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-create-button.js +4 -12
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +15 -28
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +7 -19
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +13 -22
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +1 -7
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/settings.js +3 -9
- package/build/components/link-control/settings.js.map +1 -1
- package/build/components/link-control/use-create-page.js +5 -12
- package/build/components/link-control/use-create-page.js.map +1 -1
- package/build/components/link-control/use-internal-value.js +9 -12
- package/build/components/link-control/use-internal-value.js.map +1 -1
- package/build/components/link-control/use-rich-url-data.js +9 -14
- package/build/components/link-control/use-rich-url-data.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +10 -24
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/link-control/viewer-slot.js +1 -2
- package/build/components/link-control/viewer-slot.js.map +1 -1
- package/build/components/list-view/appender.js +4 -18
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/aria-referenced-text.js +0 -2
- package/build/components/list-view/aria-referenced-text.js.map +1 -1
- package/build/components/list-view/block-contents.js +4 -11
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +31 -32
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +24 -46
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +7 -37
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/context.js +1 -4
- package/build/components/list-view/context.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +35 -47
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/expander.js +3 -5
- package/build/components/list-view/expander.js.map +1 -1
- package/build/components/list-view/index.js +18 -39
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +1 -8
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +15 -30
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +1 -4
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +33 -63
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/use-list-view-expand-selected-item.js +5 -7
- package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build/components/list-view/use-list-view-images.js +84 -0
- package/build/components/list-view/use-list-view-images.js.map +1 -0
- package/build/components/list-view/use-list-view-scroll-into-view.js +6 -8
- package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
- package/build/components/list-view/utils.js +4 -10
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +11 -71
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +7 -30
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +8 -39
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-replace-flow/index.native.js +1 -4
- package/build/components/media-replace-flow/index.native.js.map +1 -1
- package/build/components/media-upload/check.js +2 -5
- package/build/components/media-upload/check.js.map +1 -1
- package/build/components/media-upload/index.js +1 -5
- package/build/components/media-upload/index.js.map +1 -1
- package/build/components/media-upload/index.native.js +18 -43
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/media-upload-progress/index.native.js +3 -33
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +3 -16
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +10 -32
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/observe-typing/index.js +24 -43
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/panel-color-settings/index.js +3 -7
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/plain-text/index.js +0 -7
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +7 -27
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +1 -8
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +1 -3
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/index.js +7 -14
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +3 -9
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-sync.js +23 -41
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +1 -9
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js +1 -9
- package/build/components/publish-date-time-picker/index.js.map +1 -1
- package/build/components/recursion-provider/index.js +6 -9
- package/build/components/recursion-provider/index.js.map +1 -1
- package/build/components/resizable-box-popover/index.js +3 -6
- package/build/components/resizable-box-popover/index.js.map +1 -1
- package/build/components/resolution-tool/index.js +1 -5
- package/build/components/resolution-tool/index.js.map +1 -1
- package/build/components/responsive-block-control/index.js +3 -16
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/responsive-block-control/label.js +2 -7
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/content.js +3 -13
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +1 -7
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/file-paste-handler.native.js +0 -1
- package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
- package/build/components/rich-text/format-edit.js +3 -10
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +4 -14
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.native.js +1 -4
- package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +4 -22
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.native.js +1 -6
- package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +2 -21
- package/build/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build/components/rich-text/index.js +18 -68
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +48 -94
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/input-event.js +1 -4
- package/build/components/rich-text/input-event.js.map +1 -1
- package/build/components/rich-text/input-event.native.js +1 -4
- package/build/components/rich-text/input-event.native.js.map +1 -1
- package/build/components/rich-text/prevent-event-discovery.js +1 -6
- package/build/components/rich-text/prevent-event-discovery.js.map +1 -1
- package/build/components/rich-text/remove-browser-shortcuts.native.js +0 -2
- package/build/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
- package/build/components/rich-text/shortcut.js +1 -5
- package/build/components/rich-text/shortcut.js.map +1 -1
- package/build/components/rich-text/shortcut.native.js +1 -4
- package/build/components/rich-text/shortcut.native.js.map +1 -1
- package/build/components/rich-text/split-value.js +18 -17
- package/build/components/rich-text/split-value.js.map +1 -1
- package/build/components/rich-text/toolbar-button.js +3 -8
- package/build/components/rich-text/toolbar-button.js.map +1 -1
- package/build/components/rich-text/use-before-input-rules.js +5 -22
- package/build/components/rich-text/use-before-input-rules.js.map +1 -1
- package/build/components/rich-text/use-delete.js +6 -15
- package/build/components/rich-text/use-delete.js.map +1 -1
- package/build/components/rich-text/use-enter.js +3 -18
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/rich-text/use-firefox-compat.js +5 -41
- package/build/components/rich-text/use-firefox-compat.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +10 -23
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/rich-text/use-input-events.js +1 -3
- package/build/components/rich-text/use-input-events.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +10 -35
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/use-insert-replacement-text.js +0 -5
- package/build/components/rich-text/use-insert-replacement-text.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js +6 -9
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +24 -71
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/rich-text/use-remove-browser-shortcuts.js +1 -5
- package/build/components/rich-text/use-remove-browser-shortcuts.js.map +1 -1
- package/build/components/rich-text/use-shortcuts.js +1 -3
- package/build/components/rich-text/use-shortcuts.js.map +1 -1
- package/build/components/rich-text/use-undo-automatic-change.js +1 -13
- package/build/components/rich-text/use-undo-automatic-change.js.map +1 -1
- package/build/components/rich-text/utils.js +3 -15
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/selection-scroll-into-view/index.js +0 -3
- package/build/components/selection-scroll-into-view/index.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +2 -12
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -6
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +13 -23
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.js +7 -14
- package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js +3 -8
- package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/single.js +3 -7
- package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +6 -29
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/sides-dropdown/index.js +1 -7
- package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +34 -66
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/text-decoration-control/index.js +2 -8
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +2 -8
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js +4 -13
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/typewriter/index.js +30 -52
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/ungroup-button/index.native.js +1 -16
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/unit-control/index.js +1 -5
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/url-input/button.js +2 -13
- package/build/components/url-input/button.js.map +1 -1
- package/build/components/url-input/index.js +38 -91
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-input/index.native.js +1 -4
- package/build/components/url-input/index.native.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +3 -36
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js +5 -20
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +1 -8
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +1 -8
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +1 -8
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-commands/index.js +247 -0
- package/build/components/use-block-commands/index.js.map +1 -0
- package/build/components/use-block-display-information/index.js +1 -9
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +12 -29
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +12 -24
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-display-block-controls/index.js +1 -7
- package/build/components/use-display-block-controls/index.js.map +1 -1
- package/build/components/use-display-block-controls/index.native.js +1 -7
- package/build/components/use-display-block-controls/index.native.js.map +1 -1
- package/build/components/use-moving-animation/index.js +4 -20
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +19 -38
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.native.js +11 -15
- package/build/components/use-on-block-drop/index.native.js.map +1 -1
- package/build/components/use-on-block-drop/types.js.map +1 -1
- package/build/components/use-paste-styles/index.js +10 -27
- package/build/components/use-paste-styles/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +0 -14
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-setting/index.js +17 -39
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/video-player/gridicon-play.native.js +0 -4
- package/build/components/video-player/gridicon-play.native.js.map +1 -1
- package/build/components/video-player/index.native.js +9 -24
- package/build/components/video-player/index.native.js.map +1 -1
- package/build/components/warning/index.js +2 -9
- package/build/components/warning/index.js.map +1 -1
- package/build/components/warning/index.native.js +1 -10
- package/build/components/warning/index.native.js.map +1 -1
- package/build/components/writing-flow/index.js +4 -23
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js +35 -60
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/components/writing-flow/use-click-selection.js +3 -10
- package/build/components/writing-flow/use-click-selection.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +25 -31
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-input.js +6 -21
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js +10 -16
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-select-all.js +4 -14
- package/build/components/writing-flow/use-select-all.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js +18 -47
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +28 -44
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +2 -8
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/elements/index.js +0 -2
- package/build/elements/index.js.map +1 -1
- package/build/hooks/align.js +22 -46
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +5 -9
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/anchor.js +9 -24
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/aria-label.js +5 -11
- package/build/hooks/aria-label.js.map +1 -1
- package/build/hooks/behaviors.js +12 -23
- package/build/hooks/behaviors.js.map +1 -1
- package/build/hooks/border.js +45 -79
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +31 -69
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/compat.js +1 -5
- package/build/hooks/compat.js.map +1 -1
- package/build/hooks/content-lock-ui.js +5 -19
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/contrast-checker.js +4 -13
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/custom-class-name.js +21 -37
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +3 -11
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/custom-fields.js +115 -0
- package/build/hooks/custom-fields.js.map +1 -0
- package/build/hooks/dimensions.js +6 -23
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +42 -64
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +9 -29
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +36 -62
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/gap.js +1 -7
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/generated-class-name.js +1 -5
- package/build/hooks/generated-class-name.js.map +1 -1
- package/build/hooks/index.js +1 -27
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +0 -14
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.js +45 -72
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/layout.native.js +4 -4
- package/build/hooks/layout.native.js.map +1 -1
- package/build/hooks/line-height.js +7 -15
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/lock.js +4 -8
- package/build/hooks/lock.js.map +1 -1
- package/build/hooks/margin.js +1 -13
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/metadata-name.js +4 -8
- package/build/hooks/metadata-name.js.map +1 -1
- package/build/hooks/metadata.js +4 -14
- package/build/hooks/metadata.js.map +1 -1
- package/build/hooks/padding.js +1 -13
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +35 -61
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/settings.js +5 -8
- package/build/hooks/settings.js.map +1 -1
- package/build/hooks/style.js +29 -61
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +23 -76
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +11 -27
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +5 -14
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-border-props.js +5 -10
- package/build/hooks/use-border-props.js.map +1 -1
- package/build/hooks/use-cached-truthy.js +0 -2
- package/build/hooks/use-cached-truthy.js.map +1 -1
- package/build/hooks/use-color-props.js +14 -20
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/use-editor-wrapper-styles.native.js +7 -30
- package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
- package/build/hooks/use-spacing-props.js +3 -3
- package/build/hooks/use-spacing-props.js.map +1 -1
- package/build/hooks/use-typography-props.js +2 -9
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +10 -26
- package/build/hooks/utils.js.map +1 -1
- package/build/index.js +0 -10
- package/build/index.js.map +1 -1
- package/build/index.native.js +0 -3
- package/build/index.native.js.map +1 -1
- package/build/layouts/constrained.js +13 -37
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/definitions.js.map +1 -1
- package/build/layouts/flex.js +16 -48
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +7 -23
- package/build/layouts/flow.js.map +1 -1
- package/build/layouts/grid.js +18 -32
- package/build/layouts/grid.js.map +1 -1
- package/build/layouts/index.js +3 -9
- package/build/layouts/index.js.map +1 -1
- package/build/layouts/utils.js +3 -12
- package/build/layouts/utils.js.map +1 -1
- package/build/lock-unlock.js +1 -2
- package/build/lock-unlock.js.map +1 -1
- package/build/private-apis.js +2 -27
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +2 -8
- package/build/private-apis.native.js.map +1 -1
- package/build/store/actions.js +187 -285
- package/build/store/actions.js.map +1 -1
- package/build/store/array.js +1 -3
- package/build/store/array.js.map +1 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/defaults.js +2 -3
- package/build/store/defaults.js.map +1 -1
- package/build/store/defaults.native.js +3 -3
- package/build/store/defaults.native.js.map +1 -1
- package/build/store/index.js +11 -19
- package/build/store/index.js.map +1 -1
- package/build/store/private-actions.js +26 -91
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +8 -90
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +161 -358
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +256 -454
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +0 -1
- package/build/store/utils.js.map +1 -1
- package/build/utils/block-variation-transforms.js +2 -5
- package/build/utils/block-variation-transforms.js.map +1 -1
- package/build/utils/dom.js +4 -12
- package/build/utils/dom.js.map +1 -1
- package/build/utils/index.js +0 -5
- package/build/utils/index.js.map +1 -1
- package/build/utils/math.js +5 -10
- package/build/utils/math.js.map +1 -1
- package/build/utils/object.js +14 -25
- package/build/utils/object.js.map +1 -1
- package/build/utils/order-inserter-block-items.js +2 -5
- package/build/utils/order-inserter-block-items.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +14 -66
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build/utils/pasting.js +9 -15
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/pre-parse-patterns.js +1 -16
- package/build/utils/pre-parse-patterns.js.map +1 -1
- package/build/utils/selection.js +1 -4
- package/build/utils/selection.js.map +1 -1
- package/build/utils/sorting.js +3 -8
- package/build/utils/sorting.js.map +1 -1
- package/build/utils/transform-styles/ast/index.js +0 -3
- package/build/utils/transform-styles/ast/index.js.map +1 -1
- package/build/utils/transform-styles/ast/parse.js +95 -137
- package/build/utils/transform-styles/ast/parse.js.map +1 -1
- package/build/utils/transform-styles/ast/stringify/compiler.js +3 -9
- package/build/utils/transform-styles/ast/stringify/compiler.js.map +1 -1
- package/build/utils/transform-styles/ast/stringify/compress.js +25 -27
- package/build/utils/transform-styles/ast/stringify/compress.js.map +1 -1
- package/build/utils/transform-styles/ast/stringify/identity.js +28 -33
- package/build/utils/transform-styles/ast/stringify/identity.js.map +1 -1
- package/build/utils/transform-styles/ast/stringify/index.js +1 -4
- package/build/utils/transform-styles/ast/stringify/index.js.map +1 -1
- package/build/utils/transform-styles/index.js +0 -11
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build/utils/transform-styles/transforms/url-rewrite.js +12 -25
- package/build/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
- package/build/utils/transform-styles/transforms/wrap.js +7 -9
- package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build/utils/transform-styles/traverse.js +1 -8
- package/build/utils/transform-styles/traverse.js.map +1 -1
- package/build/utils/use-should-contextual-toolbar-show.js +0 -9
- package/build/utils/use-should-contextual-toolbar-show.js.map +1 -1
- package/build-module/autocompleters/block.js +3 -13
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/autocompleters/link.js +2 -8
- package/build-module/autocompleters/link.js.map +1 -1
- package/build-module/components/alignment-control/index.js +5 -7
- package/build-module/components/alignment-control/index.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +2 -7
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js +10 -15
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +3 -20
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/constants.js.map +1 -1
- package/build-module/components/block-alignment-control/index.js +5 -7
- package/build-module/components/block-alignment-control/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +8 -12
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +5 -9
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +10 -13
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +0 -5
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +4 -9
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-caption/index.native.js +8 -9
- package/build-module/components/block-caption/index.native.js.map +1 -1
- package/build-module/components/block-card/index.js +6 -10
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js +0 -1
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-compare/index.js +6 -10
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +1 -1
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-context/index.js +4 -4
- package/build-module/components/block-context/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +3 -5
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/groups.js.map +1 -1
- package/build-module/components/block-controls/hook.js +1 -4
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-controls/index.js +2 -4
- package/build-module/components/block-controls/index.js.map +1 -1
- package/build-module/components/block-controls/slot.js +4 -9
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js +6 -9
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-controls/use-has-block-controls.js +34 -0
- package/build-module/components/block-controls/use-has-block-controls.js.map +1 -0
- package/build-module/components/block-draggable/draggable-chip.js +2 -5
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.native.js +3 -4
- package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build-module/components/block-draggable/dropping-insertion-point.native.js +5 -15
- package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
- package/build-module/components/block-draggable/index.js +3 -9
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +8 -34
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.js +8 -10
- package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +2 -11
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build-module/components/block-edit/context.js +1 -1
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/edit.js +16 -20
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-edit/edit.native.js +6 -7
- package/build-module/components/block-edit/edit.native.js.map +1 -1
- package/build-module/components/block-edit/index.js +5 -5
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-edit-visually-button/index.js +1 -4
- package/build-module/components/block-edit-visually-button/index.js.map +1 -1
- package/build-module/components/block-editing-mode/index.js +4 -7
- package/build-module/components/block-editing-mode/index.js.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js +0 -3
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +2 -3
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js +4 -6
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.native.js +2 -4
- package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build-module/components/block-icon/index.js +2 -6
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-icon/index.native.js +2 -4
- package/build-module/components/block-icon/index.native.js.map +1 -1
- package/build-module/components/block-info-slot-fill/index.js +5 -9
- package/build-module/components/block-info-slot-fill/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +11 -25
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +7 -8
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
- package/build-module/components/block-list/block-crash-boundary.js +0 -6
- package/build-module/components/block-list/block-crash-boundary.js.map +1 -1
- package/build-module/components/block-list/block-crash-warning.js +1 -2
- package/build-module/components/block-list/block-crash-warning.js.map +1 -1
- package/build-module/components/block-list/block-html.js +8 -12
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +3 -9
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js +5 -10
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-block-context.js.map +1 -1
- package/build-module/components/block-list/block-list-context.native.js +11 -21
- package/build-module/components/block-list/block-list-context.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js +2 -6
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +8 -12
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +4 -7
- package/build-module/components/block-list/block-outline.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js +3 -10
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +41 -64
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +41 -57
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/grid-item.native.js +1 -4
- package/build-module/components/block-list/grid-item.native.js.map +1 -1
- package/build-module/components/block-list/index.js +10 -15
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +21 -39
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/insertion-point.native.js +2 -5
- package/build-module/components/block-list/insertion-point.native.js.map +1 -1
- package/build-module/components/block-list/layout.js +3 -8
- package/build-module/components/block-list/layout.js.map +1 -1
- package/build-module/components/block-list/subdirectory-icon.js +2 -4
- package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +40 -12
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.native.js +4 -2
- package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-class-names.js +5 -5
- package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +2 -6
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +2 -4
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js +6 -8
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-refs.js +11 -16
- 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-focus-first-element.js +15 -21
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-handler.js +8 -11
- package/build-module/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-intersection-observer.js +1 -1
- package/build-module/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +4 -6
- 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-nav-mode-exit.js +5 -5
- package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -11
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +15 -30
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +13 -26
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js +1 -9
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-lock/index.js.map +1 -1
- package/build-module/components/block-lock/menu-item.js +4 -5
- package/build-module/components/block-lock/menu-item.js.map +1 -1
- package/build-module/components/block-lock/modal.js +12 -13
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js +9 -10
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-lock/use-block-lock.js +2 -2
- package/build-module/components/block-lock/use-block-lock.js.map +1 -1
- package/build-module/components/block-media-update-progress/index.native.js +10 -59
- package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +2 -15
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +5 -11
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +4 -11
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-mover/mover-description.js +40 -61
- package/build-module/components/block-mover/mover-description.js.map +1 -1
- package/build-module/components/block-mover/mover-description.native.js +0 -16
- package/build-module/components/block-mover/mover-description.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +7 -10
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +7 -13
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/constants.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +3 -13
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +1 -6
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-pattern-setup/use-patterns-setup.js +1 -5
- package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +3 -12
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-popover/drop-zone.js +1 -6
- package/build-module/components/block-popover/drop-zone.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +17 -25
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +16 -20
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-popover/use-popover-scroll.js +3 -6
- package/build-module/components/block-popover/use-popover-scroll.js.map +1 -1
- package/build-module/components/block-preview/auto.js +11 -11
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +10 -13
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +2 -7
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +5 -10
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-selection-clearer/index.js +4 -8
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings/button.native.js +2 -5
- package/build-module/components/block-settings/button.native.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +3 -3
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings/index.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-convert-button.js +0 -3
- package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
- package/build-module/components/block-settings-menu/block-html-convert-button.js +1 -1
- package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.js +1 -6
- package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +14 -23
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +1 -2
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +13 -13
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +4 -15
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +2 -10
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js +1 -6
- package/build-module/components/block-styles/menu-items.js.map +1 -1
- package/build-module/components/block-styles/preview-panel.js +5 -4
- package/build-module/components/block-styles/preview-panel.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +4 -12
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-styles/use-styles-for-block.js +3 -11
- package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
- package/build-module/components/block-styles/utils.js +4 -10
- package/build-module/components/block-styles/utils.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +1 -2
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +6 -12
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +5 -13
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/block-switcher/block-variation-transformations.js +3 -8
- package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build-module/components/block-switcher/index.js +12 -26
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +3 -8
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +1 -2
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +14 -21
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +6 -6
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-title/index.js +2 -1
- package/build-module/components/block-title/index.js.map +1 -1
- package/build-module/components/block-title/use-block-display-title.js +4 -11
- package/build-module/components/block-title/use-block-display-title.js.map +1 -1
- package/build-module/components/block-toolbar/block-name-context.js +0 -2
- package/build-module/components/block-toolbar/block-name-context.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +26 -31
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +7 -13
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.native.js +1 -6
- package/build-module/components/block-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-toolbar/utils.js +4 -22
- package/build-module/components/block-toolbar/utils.js.map +1 -1
- package/build-module/components/block-tools/back-compat.js +3 -4
- package/build-module/components/block-tools/back-compat.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +52 -16
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +11 -30
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +9 -20
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +9 -22
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +13 -25
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js +35 -29
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +3 -8
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-types-list/index.js +1 -7
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +4 -14
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +1 -4
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +2 -7
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +8 -15
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/icons.js +0 -1
- package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/index.js +5 -7
- package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +4 -7
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +8 -10
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +5 -8
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +13 -11
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +4 -3
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +10 -12
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +6 -12
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.native.js +5 -7
- package/build-module/components/button-block-appender/index.native.js.map +1 -1
- package/build-module/components/caption/index.native.js +1 -4
- package/build-module/components/caption/index.native.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +7 -10
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/color-palette/control.js +2 -2
- package/build-module/components/color-palette/control.js.map +1 -1
- package/build-module/components/color-palette/index.js +1 -1
- package/build-module/components/color-palette/index.js.map +1 -1
- package/build-module/components/color-palette/with-color-context.js +3 -3
- package/build-module/components/color-palette/with-color-context.js.map +1 -1
- package/build-module/components/color-style-selector/index.js +2 -9
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors/index.js.map +1 -1
- package/build-module/components/colors/utils.js +5 -10
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +17 -25
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +8 -15
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +18 -19
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +8 -12
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +2 -3
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +2 -10
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +20 -24
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/contrast-checker/index.native.js +4 -12
- package/build-module/components/contrast-checker/index.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +1 -12
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.native.js +5 -12
- package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +3 -12
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -5
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/copy-handler/index.js +24 -44
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +4 -6
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +7 -9
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js +16 -10
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/default-style-picker/index.js +4 -6
- package/build-module/components/default-style-picker/index.js.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build-module/components/dimensions-tool/index.js +39 -33
- package/build-module/components/dimensions-tool/index.js.map +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js +2 -3
- package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build-module/components/dimensions-tool/width-height-tool.js +5 -12
- package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
- package/build-module/components/duotone/components.js +7 -7
- package/build-module/components/duotone/components.js.map +1 -1
- package/build-module/components/duotone/index.js.map +1 -1
- package/build-module/components/duotone/utils.js +1 -1
- package/build-module/components/duotone/utils.js.map +1 -1
- package/build-module/components/duotone-control/index.js +0 -6
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editable-text/index.js +4 -6
- package/build-module/components/editable-text/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +4 -10
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +4 -8
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/floating-toolbar/nav-up-icon.js +0 -3
- package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +24 -27
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +1 -5
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +41 -37
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/font-size-picker.js +4 -6
- package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
- package/build-module/components/font-sizes/index.js.map +1 -1
- package/build-module/components/font-sizes/index.native.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +3 -8
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +15 -22
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +3 -9
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/behaviors-panel.js +2 -2
- package/build-module/components/global-styles/behaviors-panel.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +22 -36
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +31 -56
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.native.js +5 -8
- package/build-module/components/global-styles/color-panel.native.js.map +1 -1
- package/build-module/components/global-styles/context.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +34 -80
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +8 -20
- package/build-module/components/global-styles/effects-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +10 -20
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-block-css-selector.js +34 -29
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +42 -72
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +25 -73
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-utils.js +8 -14
- package/build-module/components/global-styles/typography-utils.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +99 -163
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +13 -43
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/gradients/index.js.map +1 -1
- package/build-module/components/gradients/index.native.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js +3 -11
- package/build-module/components/gradients/use-gradient.js.map +1 -1
- package/build-module/components/gradients/with-gradient.js +2 -3
- package/build-module/components/gradients/with-gradient.js.map +1 -1
- package/build-module/components/height-control/index.js +2 -8
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/index.js +27 -37
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/iframe/use-compatibility-styles.js +9 -19
- package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +3 -5
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/constants.js.map +1 -1
- package/build-module/components/image-editor/context.js +3 -3
- package/build-module/components/image-editor/context.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +4 -6
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/form-controls.js +1 -2
- package/build-module/components/image-editor/form-controls.js.map +1 -1
- package/build-module/components/image-editor/index.js +1 -2
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/image-editor/rotation-button.js +2 -2
- package/build-module/components/image-editor/rotation-button.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +4 -7
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js +0 -9
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js +1 -2
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build-module/components/image-size-control/index.js +1 -4
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/image-size-control/use-dimension-handler.js +6 -12
- package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build-module/components/index.js +11 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +4 -3
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +1 -2
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +1 -2
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +23 -21
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +21 -20
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-block-context.js +2 -7
- package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js +13 -14
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +19 -21
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inner-blocks/with-client-id.js +3 -3
- package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +3 -6
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +5 -13
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +0 -5
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +12 -22
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +9 -16
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +1 -8
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +9 -10
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +2 -3
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-clipboard-block.native.js +1 -3
- package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-debounced-input.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +4 -10
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +4 -6
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +30 -56
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +24 -56
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +1 -7
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +14 -25
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/media-tab/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +3 -5
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +1 -4
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +11 -24
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +4 -7
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/media-tab/utils.js +1 -4
- package/build-module/components/inserter/media-tab/utils.js.map +1 -1
- package/build-module/components/inserter/menu.js +3 -5
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js +6 -15
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +2 -4
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build-module/components/inserter/no-results.js +0 -3
- package/build-module/components/inserter/no-results.js.map +1 -1
- package/build-module/components/inserter/no-results.native.js +2 -5
- package/build-module/components/inserter/no-results.native.js.map +1 -1
- package/build-module/components/inserter/panel.js +0 -3
- package/build-module/components/inserter/panel.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +15 -11
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +5 -8
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/reusable-block-rename-hint.js +1 -7
- package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +3 -8
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +1 -4
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/search-items.js +22 -33
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.js +6 -18
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js +1 -7
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inserter/tabs.js +0 -13
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +6 -13
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter/tips.js +2 -4
- package/build-module/components/inserter/tips.js.map +1 -1
- package/build-module/components/inserter/utils.native.js +2 -6
- package/build-module/components/inserter/utils.native.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +0 -4
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +2 -9
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inserter-listbox/context.js.map +1 -1
- package/build-module/components/inserter-listbox/group.js +0 -4
- package/build-module/components/inserter-listbox/group.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +1 -4
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +9 -11
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inserter-listbox/row.js +1 -4
- package/build-module/components/inserter-listbox/row.js.map +1 -1
- package/build-module/components/inserter-menu-extension/index.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +2 -2
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +7 -5
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +5 -11
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +5 -9
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/index.js +7 -7
- package/build-module/components/inspector-controls/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +6 -10
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +4 -7
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +1 -6
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +1 -4
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +3 -8
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +0 -4
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js +0 -3
- package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -4
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +14 -16
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +0 -1
- package/build-module/components/inspector-popover-header/index.js.map +1 -1
- package/build-module/components/justify-content-control/index.js +5 -7
- package/build-module/components/justify-content-control/index.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js +0 -4
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +9 -3
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +4 -4
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +22 -34
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js +4 -4
- package/build-module/components/line-height-control/index.native.js.map +1 -1
- package/build-module/components/line-height-control/utils.js +7 -3
- package/build-module/components/line-height-control/utils.js.map +1 -1
- package/build-module/components/link-control/constants.js +3 -2
- package/build-module/components/link-control/constants.js.map +1 -1
- package/build-module/components/link-control/index.js +44 -40
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/is-url-like.js +5 -6
- package/build-module/components/link-control/is-url-like.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +11 -10
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +3 -7
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +18 -23
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +6 -12
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +14 -14
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +0 -3
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/settings.js +2 -7
- package/build-module/components/link-control/settings.js.map +1 -1
- package/build-module/components/link-control/use-create-page.js +4 -8
- package/build-module/components/link-control/use-create-page.js.map +1 -1
- package/build-module/components/link-control/use-internal-value.js +8 -10
- package/build-module/components/link-control/use-internal-value.js.map +1 -1
- package/build-module/components/link-control/use-rich-url-data.js +9 -12
- package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +10 -14
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/link-control/viewer-slot.js.map +1 -1
- package/build-module/components/list-view/appender.js +4 -8
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/aria-referenced-text.js +1 -2
- package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +5 -5
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +32 -19
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +25 -29
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +9 -28
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/context.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +34 -43
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/expander.js +2 -2
- package/build-module/components/list-view/expander.js.map +1 -1
- package/build-module/components/list-view/index.js +18 -22
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -3
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +15 -22
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +2 -1
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +35 -54
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/use-list-view-expand-selected-item.js +5 -4
- package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build-module/components/list-view/use-list-view-images.js +78 -0
- package/build-module/components/list-view/use-list-view-images.js.map +1 -0
- package/build-module/components/list-view/use-list-view-scroll-into-view.js +5 -5
- package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
- package/build-module/components/list-view/utils.js +3 -4
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +12 -59
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +9 -24
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +9 -25
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.native.js +3 -4
- package/build-module/components/media-replace-flow/index.native.js.map +1 -1
- package/build-module/components/media-upload/check.js +2 -2
- package/build-module/components/media-upload/check.js.map +1 -1
- package/build-module/components/media-upload/index.js +2 -3
- package/build-module/components/media-upload/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +18 -29
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/media-upload-progress/index.native.js +4 -27
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +3 -8
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +9 -26
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js +26 -38
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js +2 -5
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +3 -5
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +8 -22
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +1 -2
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +0 -1
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/index.js +8 -5
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +4 -3
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +23 -38
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js +1 -5
- package/build-module/components/provider/with-registry-provider.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js +1 -4
- package/build-module/components/publish-date-time-picker/index.js.map +1 -1
- package/build-module/components/recursion-provider/index.js +6 -7
- package/build-module/components/recursion-provider/index.js.map +1 -1
- package/build-module/components/resizable-box-popover/index.js +3 -3
- package/build-module/components/resizable-box-popover/index.js.map +1 -1
- package/build-module/components/resolution-tool/index.js +0 -1
- package/build-module/components/resolution-tool/index.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +4 -14
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/responsive-block-control/label.js +1 -3
- package/build-module/components/responsive-block-control/label.js.map +1 -1
- package/build-module/components/rich-text/content.js +3 -8
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +0 -3
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +3 -7
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +5 -9
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.native.js +1 -3
- package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +4 -14
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.native.js +0 -3
- package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +4 -18
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build-module/components/rich-text/index.js +19 -37
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +49 -76
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/input-event.js +1 -2
- package/build-module/components/rich-text/input-event.js.map +1 -1
- package/build-module/components/rich-text/input-event.native.js +0 -1
- package/build-module/components/rich-text/input-event.native.js.map +1 -1
- package/build-module/components/rich-text/prevent-event-discovery.js +0 -4
- package/build-module/components/rich-text/prevent-event-discovery.js.map +1 -1
- package/build-module/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
- package/build-module/components/rich-text/shortcut.js +1 -2
- package/build-module/components/rich-text/shortcut.js.map +1 -1
- package/build-module/components/rich-text/shortcut.native.js +0 -1
- package/build-module/components/rich-text/shortcut.native.js.map +1 -1
- package/build-module/components/rich-text/split-value.js +19 -16
- package/build-module/components/rich-text/split-value.js.map +1 -1
- package/build-module/components/rich-text/toolbar-button.js +2 -5
- package/build-module/components/rich-text/toolbar-button.js.map +1 -1
- package/build-module/components/rich-text/use-before-input-rules.js +7 -16
- package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-delete.js +5 -10
- package/build-module/components/rich-text/use-delete.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +3 -10
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/rich-text/use-firefox-compat.js +5 -35
- package/build-module/components/rich-text/use-firefox-compat.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +9 -20
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/use-input-events.js +0 -1
- package/build-module/components/rich-text/use-input-events.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +10 -28
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-insert-replacement-text.js +2 -3
- package/build-module/components/rich-text/use-insert-replacement-text.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js +6 -6
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +26 -62
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js +2 -3
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +1 -1
- package/build-module/components/rich-text/use-shortcuts.js +0 -1
- package/build-module/components/rich-text/use-shortcuts.js.map +1 -1
- package/build-module/components/rich-text/use-undo-automatic-change.js +1 -9
- package/build-module/components/rich-text/use-undo-automatic-change.js.map +1 -1
- package/build-module/components/rich-text/utils.js +2 -6
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/selection-scroll-into-view/index.js +1 -1
- package/build-module/components/selection-scroll-into-view/index.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +2 -7
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -3
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +13 -14
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/axial.js +6 -9
- package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/separated.js +2 -4
- package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/single.js +2 -3
- package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +6 -19
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +1 -3
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +33 -50
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +2 -3
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +2 -3
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +4 -7
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/typewriter/index.js +30 -46
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js +1 -7
- package/build-module/components/ungroup-button/index.native.js.map +1 -1
- package/build-module/components/unit-control/index.js +1 -2
- package/build-module/components/unit-control/index.js.map +1 -1
- package/build-module/components/url-input/button.js +2 -9
- package/build-module/components/url-input/button.js.map +1 -1
- package/build-module/components/url-input/index.js +41 -81
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-input/index.native.js +1 -2
- package/build-module/components/url-input/index.native.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +3 -31
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js +5 -12
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +2 -3
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +1 -4
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +2 -3
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +238 -0
- package/build-module/components/use-block-commands/index.js.map +1 -0
- package/build-module/components/use-block-display-information/index.js +3 -6
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +14 -19
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +13 -16
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-display-block-controls/index.js +1 -4
- package/build-module/components/use-display-block-controls/index.js.map +1 -1
- package/build-module/components/use-display-block-controls/index.native.js +1 -3
- package/build-module/components/use-display-block-controls/index.native.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +6 -17
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +21 -30
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.native.js +13 -12
- package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
- package/build-module/components/use-on-block-drop/types.js.map +1 -1
- package/build-module/components/use-paste-styles/index.js +12 -21
- package/build-module/components/use-paste-styles/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +1 -13
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-setting/index.js +17 -33
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/video-player/gridicon-play.native.js +0 -1
- package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
- package/build-module/components/video-player/index.native.js +12 -17
- package/build-module/components/video-player/index.native.js.map +1 -1
- package/build-module/components/warning/index.js +2 -5
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/warning/index.native.js +2 -5
- package/build-module/components/warning/index.native.js.map +1 -1
- package/build-module/components/writing-flow/index.js +5 -9
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-arrow-nav.js +37 -53
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/components/writing-flow/use-click-selection.js +3 -6
- package/build-module/components/writing-flow/use-click-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +27 -29
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js +8 -17
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js +10 -14
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-select-all.js +4 -9
- package/build-module/components/writing-flow/use-select-all.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js +20 -44
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +28 -34
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +2 -3
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/elements/index.js.map +1 -1
- package/build-module/hooks/align.js +25 -36
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js +6 -4
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/anchor.js +11 -15
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/aria-label.js +4 -6
- package/build-module/hooks/aria-label.js.map +1 -1
- package/build-module/hooks/behaviors.js +12 -16
- package/build-module/hooks/behaviors.js.map +1 -1
- package/build-module/hooks/border.js +46 -64
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +32 -52
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/compat.js +0 -4
- package/build-module/hooks/compat.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +5 -13
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/contrast-checker.js +4 -11
- package/build-module/hooks/contrast-checker.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +24 -26
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +5 -6
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/custom-fields.js +113 -0
- package/build-module/hooks/custom-fields.js.map +1 -0
- package/build-module/hooks/dimensions.js +6 -11
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +43 -49
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js +9 -20
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +36 -47
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/gap.js +2 -5
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/generated-class-name.js +2 -2
- package/build-module/hooks/generated-class-name.js.map +1 -1
- package/build-module/hooks/index.js +1 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.js +46 -54
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/layout.native.js +5 -3
- package/build-module/hooks/layout.native.js.map +1 -1
- package/build-module/hooks/line-height.js +7 -8
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/lock.js +5 -6
- package/build-module/hooks/lock.js.map +1 -1
- package/build-module/hooks/margin.js +1 -10
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/metadata-name.js +5 -6
- package/build-module/hooks/metadata-name.js.map +1 -1
- package/build-module/hooks/metadata.js +3 -7
- package/build-module/hooks/metadata.js.map +1 -1
- package/build-module/hooks/padding.js +1 -10
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/position.js +36 -38
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/settings.js +4 -7
- package/build-module/hooks/settings.js.map +1 -1
- package/build-module/hooks/style.js +30 -44
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +22 -33
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +11 -16
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +5 -7
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-border-props.js +7 -6
- package/build-module/hooks/use-border-props.js.map +1 -1
- package/build-module/hooks/use-cached-truthy.js +1 -1
- package/build-module/hooks/use-cached-truthy.js.map +1 -1
- package/build-module/hooks/use-color-props.js +18 -17
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/use-editor-wrapper-styles.native.js +8 -26
- package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
- package/build-module/hooks/use-spacing-props.js +5 -3
- package/build-module/hooks/use-spacing-props.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +4 -4
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +12 -18
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/layouts/constrained.js +14 -26
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/definitions.js.map +1 -1
- package/build-module/layouts/flex.js +18 -41
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +8 -17
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/layouts/grid.js +20 -25
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/layouts/index.js +2 -2
- package/build-module/layouts/index.js.map +1 -1
- package/build-module/layouts/utils.js +5 -9
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/private-apis.js +3 -4
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +3 -2
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/actions.js +188 -196
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/array.js +1 -1
- package/build-module/store/array.js.map +1 -1
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/defaults.js +1 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/defaults.native.js +2 -1
- package/build-module/store/defaults.native.js.map +1 -1
- package/build-module/store/index.js +13 -9
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-actions.js +25 -78
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +6 -76
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +161 -328
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +254 -332
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/block-variation-transforms.js +2 -3
- package/build-module/utils/block-variation-transforms.js.map +1 -1
- package/build-module/utils/dom.js +4 -10
- package/build-module/utils/dom.js.map +1 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/math.js +5 -7
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/object.js +15 -21
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/order-inserter-block-items.js +2 -3
- package/build-module/utils/order-inserter-block-items.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +14 -64
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/utils/pasting.js +8 -12
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/pre-parse-patterns.js +1 -14
- package/build-module/utils/pre-parse-patterns.js.map +1 -1
- package/build-module/utils/selection.js +1 -2
- package/build-module/utils/selection.js.map +1 -1
- package/build-module/utils/sorting.js +3 -7
- package/build-module/utils/sorting.js.map +1 -1
- package/build-module/utils/transform-styles/ast/index.js +1 -0
- package/build-module/utils/transform-styles/ast/index.js.map +1 -1
- package/build-module/utils/transform-styles/ast/parse.js +95 -134
- package/build-module/utils/transform-styles/ast/parse.js.map +1 -1
- package/build-module/utils/transform-styles/ast/stringify/compiler.js +5 -6
- package/build-module/utils/transform-styles/ast/stringify/compiler.js.map +1 -1
- package/build-module/utils/transform-styles/ast/stringify/compress.js +28 -19
- package/build-module/utils/transform-styles/ast/stringify/compress.js.map +1 -1
- package/build-module/utils/transform-styles/ast/stringify/identity.js +32 -23
- package/build-module/utils/transform-styles/ast/stringify/identity.js.map +1 -1
- package/build-module/utils/transform-styles/ast/stringify/index.js +1 -0
- package/build-module/utils/transform-styles/ast/stringify/index.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +2 -7
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-module/utils/transform-styles/transforms/url-rewrite.js +12 -24
- package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
- package/build-module/utils/transform-styles/transforms/wrap.js +7 -8
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-module/utils/transform-styles/traverse.js +1 -4
- package/build-module/utils/transform-styles/traverse.js.map +1 -1
- package/build-module/utils/use-should-contextual-toolbar-show.js +2 -5
- package/build-module/utils/use-should-contextual-toolbar-show.js.map +1 -1
- package/build-style/style-rtl.css +52 -9
- package/build-style/style.css +52 -9
- package/package.json +33 -32
- package/src/components/block-caption/README.md +109 -0
- package/src/components/block-controls/use-has-block-controls.js +35 -0
- package/src/components/block-editing-mode/index.js +3 -7
- package/src/components/block-icon/test/index.js +2 -2
- package/src/components/block-inspector/index.js +1 -2
- package/src/components/block-list/block-outline.native.js +2 -2
- package/src/components/block-list/block.js +1 -2
- package/src/components/block-list/index.native.js +14 -14
- package/src/components/block-list/test/block-invalid-warning.native.js +7 -0
- package/src/components/block-list/use-block-props/index.js +26 -0
- package/src/components/block-list/use-block-props/use-nav-mode-exit.js +1 -1
- package/src/components/block-list/use-in-between-inserter.js +1 -2
- package/src/components/block-list-appender/index.js +1 -2
- package/src/components/block-lock/menu-item.js +2 -0
- package/src/components/block-lock/toolbar.js +3 -1
- package/src/components/block-parent-selector/index.js +1 -2
- package/src/components/block-preview/index.js +0 -1
- package/src/components/block-styles/style.scss +0 -3
- package/src/components/block-toolbar/index.js +1 -2
- package/src/components/block-toolbar/style.scss +10 -0
- package/src/components/block-tools/block-contextual-toolbar.js +87 -9
- package/src/components/block-tools/style.scss +34 -10
- package/src/components/copy-handler/index.js +1 -0
- package/src/components/default-block-appender/index.native.js +13 -11
- package/src/components/dimensions-tool/index.js +1 -1
- package/src/components/global-styles/test/typography-utils.js +55 -0
- package/src/components/global-styles/typography-utils.js +12 -3
- package/src/components/global-styles/use-global-styles-output.js +1 -2
- package/src/components/iframe/index.js +2 -0
- package/src/components/index.js +7 -0
- package/src/components/inserter/hooks/use-patterns-state.js +1 -1
- package/src/components/inserter/menu.js +1 -0
- package/src/components/inserter/preview-panel.js +15 -11
- package/src/components/inserter/search-results.js +2 -1
- package/src/components/inserter/stories/{index.js → index.story.js} +4 -4
- package/src/components/inserter/test/search-items.js +4 -1
- package/src/components/keyboard-shortcuts/index.js +10 -0
- package/src/components/line-height-control/index.js +14 -11
- package/src/components/line-height-control/test/index.js +7 -5
- package/src/components/line-height-control/utils.js +6 -1
- package/src/components/link-control/index.js +27 -7
- package/src/components/link-control/link-preview.js +4 -0
- package/src/components/link-control/style.scss +9 -0
- package/src/components/link-control/test/index.js +63 -4
- package/src/components/list-view/block-select-button.js +19 -0
- package/src/components/list-view/block.js +1 -4
- package/src/components/list-view/style.scss +25 -0
- package/src/components/list-view/use-list-view-images.js +79 -0
- package/src/components/rich-text/index.js +8 -1
- package/src/components/rich-text/use-firefox-compat.js +1 -27
- package/src/components/rich-text/use-format-types.js +3 -3
- package/src/components/rich-text/use-paste-handler.js +4 -23
- package/src/components/rich-text/use-remove-browser-shortcuts.js +1 -1
- package/src/components/use-block-commands/index.js +284 -0
- package/src/components/use-block-drop-zone/index.js +1 -2
- package/src/components/use-setting/README.md +39 -0
- package/src/components/writing-flow/use-drag-selection.js +5 -1
- package/src/hooks/custom-fields.js +139 -0
- package/src/hooks/index.js +1 -0
- package/src/hooks/layout.js +13 -4
- package/src/private-apis.js +0 -2
- package/src/store/actions.js +49 -2
- package/src/store/private-actions.js +0 -39
- package/src/store/private-selectors.js +1 -67
- package/src/store/selectors.js +65 -3
- package/src/store/test/actions.js +28 -0
- package/src/store/test/private-actions.js +0 -28
- package/src/store/test/private-selectors.js +88 -261
- package/src/store/test/selectors.js +203 -1
- package/src/utils/transform-styles/ast/parse.js +31 -0
- package/src/utils/transform-styles/ast/stringify/compress.js +13 -0
- package/src/utils/transform-styles/ast/stringify/identity.js +13 -0
- package/src/utils/transform-styles/transforms/test/__snapshots__/wrap.js.snap +8 -0
- package/src/utils/transform-styles/transforms/test/wrap.js +11 -0
- package/tsconfig.tsbuildinfo +1 -1
- /package/src/components/block-draggable/stories/{index.js → index.story.js} +0 -0
- /package/src/components/block-mover/stories/{index.js → index.story.js} +0 -0
- /package/src/components/dimensions-tool/stories/{aspect-ratio-tool.js → aspect-ratio-tool.story.js} +0 -0
- /package/src/components/dimensions-tool/stories/{index.js → index.story.js} +0 -0
- /package/src/components/dimensions-tool/stories/{scale-tool.js → scale-tool.story.js} +0 -0
- /package/src/components/dimensions-tool/stories/{width-height-tool.js → width-height-tool.story.js} +0 -0
- /package/src/components/height-control/stories/{index.js → index.story.js} +0 -0
- /package/src/components/line-height-control/stories/{index.js → index.story.js} +0 -0
- /package/src/components/resolution-tool/stories/{index.js → index.story.js} +0 -0
- /package/src/components/text-decoration-control/stories/{index.js → index.story.js} +0 -0
- /package/src/components/text-transform-control/stories/{index.js → index.story.js} +0 -0
- /package/src/components/url-popover/stories/{index.js → index.story.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/use-global-styles-output.js"],"names":["__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","__EXPERIMENTAL_ELEMENTS","ELEMENTS","getBlockSupport","getBlockTypes","store","blocksStore","useSelect","renderToString","useContext","useMemo","getCSSRules","PRESET_METADATA","ROOT_BLOCK_SELECTOR","scopeSelector","getBlockCSSSelector","getTypographyFontSizeValue","getFluidTypographyOptionsFromSettings","GlobalStylesContext","useGlobalSetting","PresetDuotoneFilter","getGapCSSValue","blockEditorStore","LAYOUT_DEFINITIONS","getValueFromObjectPath","kebabCase","setImmutably","BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS","__experimentalBorder","color","spacing","typography","compileStyleValue","uncompiledValue","VARIABLE_REFERENCE_PREFIX","VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE","VARIABLE_PATH_SEPARATOR_TOKEN_STYLE","startsWith","variable","slice","length","split","join","getPresetsDeclarations","blockPresets","mergedSettings","reduce","declarations","path","valueKey","valueFunc","cssVarInfix","presetByOrigin","forEach","origin","value","push","slug","getPresetsClasses","blockSelector","classes","classSuffix","propertyName","classSelectorToUse","selectorToUse","map","selector","getPresetsSvgFilters","filter","metadata","at","flatMap","preset","flattenTree","input","prefix","token","result","Object","keys","key","newKey","replace","newLeaf","newPrefix","concatFeatureVariationSelectorString","featureSelector","styleVariationSelector","featureSelectors","combinedSelectors","trim","getFeatureDeclarations","selectors","styles","entries","feature","isShorthand","subfeature","subfeatureSelector","subfeatureStyles","newDeclarations","getStylesDeclarations","root","featureStyles","blockStyles","useRootPaddingAlign","tree","isRoot","output","properties","useEngine","rootOnly","pathToValue","styleValue","entry","name","prop","cssProperty","extraRules","rule","ruleValue","ref","refPath","size","settings","getLayoutStyles","layoutDefinitions","style","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","ruleset","gapValue","blockGap","values","className","spacingStyles","spacingStyle","rules","cssValue","combinedSelector","validDisplayModes","displayMode","baseStyles","includes","baseStyle","STYLE_KEYS","pickStyleKeys","treeToPickFrom","pickedEntries","clonedEntries","JSON","parse","stringify","fromEntries","getNodesWithStyles","blockSelectors","nodes","elements","blocks","blockName","node","variations","variation","duotoneSelector","hasLayoutSupport","styleVariationSelectors","elementName","sel","elementSelectors","elementSelector","getNodesWithSettings","pickPresets","presets","custom","blockCustom","toCustomProperties","customProps","toStyles","disableLayoutStyles","nodesWithStyles","nodesWithSettings","useRootPaddingAwareAlignments","contentSize","wideSize","layout","featureDeclarations","cssSelector","styleVariationName","styleVariations","baseSelector","styleVariationDeclarations","duotoneStyles","duotoneDeclarations","pseudoSelectorStyles","pseudoKey","pseudoStyle","pseudoDeclarations","_selector","pseudoRule","toSvgFilters","getSelectorsConfig","blockType","rootSelector","config","featureKey","featureName","getBlockSelectors","blockTypes","getBlockStyles","duotoneSupport","supports","__experimentalLayout","__experimentalDefault","blockStyleVariations","undefined","updateConfigWithSeparator","needsSeparatorStyleUpdate","background","text","border","processCSSNesting","css","processedCSS","parts","part","useGlobalStylesOutputWithConfig","mergedConfig","select","getSettings","customProperties","globalStyles","svgs","isGlobalStyles","assets","__unstableType","useGlobalStylesOutput","merged"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tgetBlockSupport,\n\tgetBlockTypes,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { renderToString, useContext, useMemo } from '@wordpress/element';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { PRESET_METADATA, ROOT_BLOCK_SELECTOR, scopeSelector } from './utils';\nimport { getBlockCSSSelector } from './get-block-css-selector';\nimport {\n\tgetTypographyFontSizeValue,\n\tgetFluidTypographyOptionsFromSettings,\n} from './typography-utils';\nimport { GlobalStylesContext } from './context';\nimport { useGlobalSetting } from './hooks';\nimport { PresetDuotoneFilter } from '../duotone/components';\nimport { getGapCSSValue } from '../../hooks/gap';\nimport { store as blockEditorStore } from '../../store';\nimport { LAYOUT_DEFINITIONS } from '../../layouts/definitions';\nimport {\n\tgetValueFromObjectPath,\n\tkebabCase,\n\tsetImmutably,\n} from '../../utils/object';\n\n// List of block support features that can have their related styles\n// generated under their own feature level selector rather than the block's.\nconst BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS = {\n\t__experimentalBorder: 'border',\n\tcolor: 'color',\n\tspacing: 'spacing',\n\ttypography: 'typography',\n};\n\nfunction compileStyleValue( uncompiledValue ) {\n\tconst VARIABLE_REFERENCE_PREFIX = 'var:';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE = '|';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_STYLE = '--';\n\n\tif ( uncompiledValue?.startsWith?.( VARIABLE_REFERENCE_PREFIX ) ) {\n\t\tconst variable = uncompiledValue\n\t\t\t.slice( VARIABLE_REFERENCE_PREFIX.length )\n\t\t\t.split( VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE )\n\t\t\t.join( VARIABLE_PATH_SEPARATOR_TOKEN_STYLE );\n\t\treturn `var(--wp--${ variable })`;\n\t}\n\treturn uncompiledValue;\n}\n\n/**\n * Transform given preset tree into a set of style declarations.\n *\n * @param {Object} blockPresets\n * @param {Object} mergedSettings Merged theme.json settings.\n *\n * @return {Array<Object>} An array of style declarations.\n */\nfunction getPresetsDeclarations( blockPresets = {}, mergedSettings ) {\n\treturn PRESET_METADATA.reduce(\n\t\t( declarations, { path, valueKey, valueFunc, cssVarInfix } ) => {\n\t\t\tconst presetByOrigin = getValueFromObjectPath(\n\t\t\t\tblockPresets,\n\t\t\t\tpath,\n\t\t\t\t[]\n\t\t\t);\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( value ) => {\n\t\t\t\t\t\tif ( valueKey && ! valueFunc ) {\n\t\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t\t`--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\t\tvalue.slug\n\t\t\t\t\t\t\t\t) }: ${ value[ valueKey ] }`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tvalueFunc &&\n\t\t\t\t\t\t\ttypeof valueFunc === 'function'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t\t`--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\t\tvalue.slug\n\t\t\t\t\t\t\t\t) }: ${ valueFunc( value, mergedSettings ) }`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\n/**\n * Transform given preset tree into a set of preset class declarations.\n *\n * @param {?string} blockSelector\n * @param {Object} blockPresets\n * @return {string} CSS declarations for the preset classes.\n */\nfunction getPresetsClasses( blockSelector = '*', blockPresets = {} ) {\n\treturn PRESET_METADATA.reduce(\n\t\t( declarations, { path, cssVarInfix, classes } ) => {\n\t\t\tif ( ! classes ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst presetByOrigin = getValueFromObjectPath(\n\t\t\t\tblockPresets,\n\t\t\t\tpath,\n\t\t\t\t[]\n\t\t\t);\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( { slug } ) => {\n\t\t\t\t\t\tclasses.forEach( ( { classSuffix, propertyName } ) => {\n\t\t\t\t\t\t\tconst classSelectorToUse = `.has-${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) }-${ classSuffix }`;\n\t\t\t\t\t\t\tconst selectorToUse = blockSelector\n\t\t\t\t\t\t\t\t.split( ',' ) // Selector can be \"h1, h2, h3\"\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t\t\t\t`${ selector }${ classSelectorToUse }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ',' );\n\t\t\t\t\t\t\tconst value = `var(--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) })`;\n\t\t\t\t\t\t\tdeclarations += `${ selectorToUse }{${ propertyName }: ${ value } !important;}`;\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn declarations;\n\t\t},\n\t\t''\n\t);\n}\n\nfunction getPresetsSvgFilters( blockPresets = {} ) {\n\treturn PRESET_METADATA.filter(\n\t\t// Duotone are the only type of filters for now.\n\t\t( metadata ) => metadata.path.at( -1 ) === 'duotone'\n\t).flatMap( ( metadata ) => {\n\t\tconst presetByOrigin = getValueFromObjectPath(\n\t\t\tblockPresets,\n\t\t\tmetadata.path,\n\t\t\t{}\n\t\t);\n\t\treturn [ 'default', 'theme' ]\n\t\t\t.filter( ( origin ) => presetByOrigin[ origin ] )\n\t\t\t.flatMap( ( origin ) =>\n\t\t\t\tpresetByOrigin[ origin ].map( ( preset ) =>\n\t\t\t\t\trenderToString(\n\t\t\t\t\t\t<PresetDuotoneFilter\n\t\t\t\t\t\t\tpreset={ preset }\n\t\t\t\t\t\t\tkey={ preset.slug }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t\t.join( '' );\n\t} );\n}\n\nfunction flattenTree( input = {}, prefix, token ) {\n\tlet result = [];\n\tObject.keys( input ).forEach( ( key ) => {\n\t\tconst newKey = prefix + kebabCase( key.replace( '/', '-' ) );\n\t\tconst newLeaf = input[ key ];\n\n\t\tif ( newLeaf instanceof Object ) {\n\t\t\tconst newPrefix = newKey + token;\n\t\t\tresult = [ ...result, ...flattenTree( newLeaf, newPrefix, token ) ];\n\t\t} else {\n\t\t\tresult.push( `${ newKey }: ${ newLeaf }` );\n\t\t}\n\t} );\n\treturn result;\n}\n\n/**\n * Gets variation selector string from feature selector.\n *\n * @param {string} featureSelector The feature selector.\n *\n * @param {string} styleVariationSelector The style variation selector.\n * @return {string} Combined selector string.\n *\n */\nfunction concatFeatureVariationSelectorString(\n\tfeatureSelector,\n\tstyleVariationSelector\n) {\n\tconst featureSelectors = featureSelector.split( ',' );\n\tconst combinedSelectors = [];\n\tfeatureSelectors.forEach( ( selector ) => {\n\t\tcombinedSelectors.push(\n\t\t\t`${ styleVariationSelector.trim() }${ selector.trim() }`\n\t\t);\n\t} );\n\treturn combinedSelectors.join( ', ' );\n}\n\n/**\n * Generate style declarations for a block's custom feature and subfeature\n * selectors.\n *\n * NOTE: The passed `styles` object will be mutated by this function.\n *\n * @param {Object} selectors Custom selectors object for a block.\n * @param {Object} styles A block's styles object.\n *\n * @return {Object} Style declarations.\n */\nconst getFeatureDeclarations = ( selectors, styles ) => {\n\tconst declarations = {};\n\n\tObject.entries( selectors ).forEach( ( [ feature, selector ] ) => {\n\t\t// We're only processing features/subfeatures that have styles.\n\t\tif ( feature === 'root' || ! styles?.[ feature ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isShorthand = typeof selector === 'string';\n\n\t\t// If we have a selector object instead of shorthand process it.\n\t\tif ( ! isShorthand ) {\n\t\t\tObject.entries( selector ).forEach(\n\t\t\t\t( [ subfeature, subfeatureSelector ] ) => {\n\t\t\t\t\t// Don't process root feature selector yet or any\n\t\t\t\t\t// subfeature that doesn't have a style.\n\t\t\t\t\tif (\n\t\t\t\t\t\tsubfeature === 'root' ||\n\t\t\t\t\t\t! styles?.[ feature ][ subfeature ]\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Create a temporary styles object and build\n\t\t\t\t\t// declarations for subfeature.\n\t\t\t\t\tconst subfeatureStyles = {\n\t\t\t\t\t\t[ feature ]: {\n\t\t\t\t\t\t\t[ subfeature ]: styles[ feature ][ subfeature ],\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\tconst newDeclarations =\n\t\t\t\t\t\tgetStylesDeclarations( subfeatureStyles );\n\n\t\t\t\t\t// Merge new declarations in with any others that\n\t\t\t\t\t// share the same selector.\n\t\t\t\t\tdeclarations[ subfeatureSelector ] = [\n\t\t\t\t\t\t...( declarations[ subfeatureSelector ] || [] ),\n\t\t\t\t\t\t...newDeclarations,\n\t\t\t\t\t];\n\n\t\t\t\t\t// Remove the subfeature's style now it will be\n\t\t\t\t\t// included under its own selector not the block's.\n\t\t\t\t\tdelete styles[ feature ][ subfeature ];\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\t// Now subfeatures have been processed and removed, we can\n\t\t// process root, or shorthand, feature selectors.\n\t\tif ( isShorthand || selector.root ) {\n\t\t\tconst featureSelector = isShorthand ? selector : selector.root;\n\n\t\t\t// Create temporary style object and build declarations for feature.\n\t\t\tconst featureStyles = { [ feature ]: styles[ feature ] };\n\t\t\tconst newDeclarations = getStylesDeclarations( featureStyles );\n\n\t\t\t// Merge new declarations with any others that share the selector.\n\t\t\tdeclarations[ featureSelector ] = [\n\t\t\t\t...( declarations[ featureSelector ] || [] ),\n\t\t\t\t...newDeclarations,\n\t\t\t];\n\n\t\t\t// Remove the feature from the block's styles now as it will be\n\t\t\t// included under its own selector not the block's.\n\t\t\tdelete styles[ feature ];\n\t\t}\n\t} );\n\n\treturn declarations;\n};\n\n/**\n * Transform given style tree into a set of style declarations.\n *\n * @param {Object} blockStyles Block styles.\n *\n * @param {string} selector The selector these declarations should attach to.\n *\n * @param {boolean} useRootPaddingAlign Whether to use CSS custom properties in root selector.\n *\n * @param {Object} tree A theme.json tree containing layout definitions.\n *\n * @return {Array} An array of style declarations.\n */\nexport function getStylesDeclarations(\n\tblockStyles = {},\n\tselector = '',\n\tuseRootPaddingAlign,\n\ttree = {}\n) {\n\tconst isRoot = ROOT_BLOCK_SELECTOR === selector;\n\tconst output = Object.entries( STYLE_PROPERTY ).reduce(\n\t\t(\n\t\t\tdeclarations,\n\t\t\t[ key, { value, properties, useEngine, rootOnly } ]\n\t\t) => {\n\t\t\tif ( rootOnly && ! isRoot ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\t\t\tconst pathToValue = value;\n\t\t\tif ( pathToValue[ 0 ] === 'elements' || useEngine ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst styleValue = getValueFromObjectPath(\n\t\t\t\tblockStyles,\n\t\t\t\tpathToValue\n\t\t\t);\n\n\t\t\t// Root-level padding styles don't currently support strings with CSS shorthand values.\n\t\t\t// This may change: https://github.com/WordPress/gutenberg/issues/40132.\n\t\t\tif (\n\t\t\t\tkey === '--wp--style--root--padding' &&\n\t\t\t\t( typeof styleValue === 'string' || ! useRootPaddingAlign )\n\t\t\t) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tif ( properties && typeof styleValue !== 'string' ) {\n\t\t\t\tObject.entries( properties ).forEach( ( entry ) => {\n\t\t\t\t\tconst [ name, prop ] = entry;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! getValueFromObjectPath( styleValue, [ prop ], false )\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Do not create a declaration\n\t\t\t\t\t\t// for sub-properties that don't have any value.\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cssProperty = name.startsWith( '--' )\n\t\t\t\t\t\t? name\n\t\t\t\t\t\t: kebabCase( name );\n\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\t\tgetValueFromObjectPath( styleValue, [ prop ] )\n\t\t\t\t\t\t) }`\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else if (\n\t\t\t\tgetValueFromObjectPath( blockStyles, pathToValue, false )\n\t\t\t) {\n\t\t\t\tconst cssProperty = key.startsWith( '--' )\n\t\t\t\t\t? key\n\t\t\t\t\t: kebabCase( key );\n\t\t\t\tdeclarations.push(\n\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\tgetValueFromObjectPath( blockStyles, pathToValue )\n\t\t\t\t\t) }`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n\n\t// The goal is to move everything to server side generated engine styles\n\t// This is temporary as we absorb more and more styles into the engine.\n\tconst extraRules = getCSSRules( blockStyles );\n\textraRules.forEach( ( rule ) => {\n\t\t// Don't output padding properties if padding variables are set.\n\t\tif (\n\t\t\tisRoot &&\n\t\t\tuseRootPaddingAlign &&\n\t\t\trule.key.startsWith( 'padding' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst cssProperty = rule.key.startsWith( '--' )\n\t\t\t? rule.key\n\t\t\t: kebabCase( rule.key );\n\n\t\tlet ruleValue = rule.value;\n\t\tif ( typeof ruleValue !== 'string' && ruleValue?.ref ) {\n\t\t\tconst refPath = ruleValue.ref.split( '.' );\n\t\t\truleValue = getValueFromObjectPath( tree, refPath );\n\t\t\t// Presence of another ref indicates a reference to another dynamic value.\n\t\t\t// Pointing to another dynamic value is not supported.\n\t\t\tif ( ! ruleValue || ruleValue?.ref ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Calculate fluid typography rules where available.\n\t\tif ( cssProperty === 'font-size' ) {\n\t\t\t/*\n\t\t\t * getTypographyFontSizeValue() will check\n\t\t\t * if fluid typography has been activated and also\n\t\t\t * whether the incoming value can be converted to a fluid value.\n\t\t\t * Values that already have a \"clamp()\" function will not pass the test,\n\t\t\t * and therefore the original $value will be returned.\n\t\t\t */\n\t\t\truleValue = getTypographyFontSizeValue(\n\t\t\t\t{ size: ruleValue },\n\t\t\t\tgetFluidTypographyOptionsFromSettings( tree?.settings )\n\t\t\t);\n\t\t}\n\n\t\toutput.push( `${ cssProperty }: ${ ruleValue }` );\n\t} );\n\n\treturn output;\n}\n\n/**\n * Get generated CSS for layout styles by looking up layout definitions provided\n * in theme.json, and outputting common layout styles, and specific blockGap values.\n *\n * @param {Object} props\n * @param {Object} props.layoutDefinitions Layout definitions, keyed by layout type.\n * @param {Object} props.style A style object containing spacing values.\n * @param {string} props.selector Selector used to group together layout styling rules.\n * @param {boolean} props.hasBlockGapSupport Whether or not the theme opts-in to blockGap support.\n * @param {boolean} props.hasFallbackGapSupport Whether or not the theme allows fallback gap styles.\n * @param {?string} props.fallbackGapValue An optional fallback gap value if no real gap value is available.\n * @return {string} Generated CSS rules for the layout styles.\n */\nexport function getLayoutStyles( {\n\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\tstyle,\n\tselector,\n\thasBlockGapSupport,\n\thasFallbackGapSupport,\n\tfallbackGapValue,\n} ) {\n\tlet ruleset = '';\n\tlet gapValue = hasBlockGapSupport\n\t\t? getGapCSSValue( style?.spacing?.blockGap )\n\t\t: '';\n\n\t// Ensure a fallback gap value for the root layout definitions,\n\t// and use a fallback value if one is provided for the current block.\n\tif ( hasFallbackGapSupport ) {\n\t\tif ( selector === ROOT_BLOCK_SELECTOR ) {\n\t\t\tgapValue = ! gapValue ? '0.5em' : gapValue;\n\t\t} else if ( ! hasBlockGapSupport && fallbackGapValue ) {\n\t\t\tgapValue = fallbackGapValue;\n\t\t}\n\t}\n\n\tif ( gapValue && layoutDefinitions ) {\n\t\tObject.values( layoutDefinitions ).forEach(\n\t\t\t( { className, name, spacingStyles } ) => {\n\t\t\t\t// Allow outputting fallback gap styles for flex layout type when block gap support isn't available.\n\t\t\t\tif (\n\t\t\t\t\t! hasBlockGapSupport &&\n\t\t\t\t\t'flex' !== name &&\n\t\t\t\t\t'grid' !== name\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( spacingStyles?.length ) {\n\t\t\t\t\tspacingStyles.forEach( ( spacingStyle ) => {\n\t\t\t\t\t\tconst declarations = [];\n\n\t\t\t\t\t\tif ( spacingStyle.rules ) {\n\t\t\t\t\t\t\tObject.entries( spacingStyle.rules ).forEach(\n\t\t\t\t\t\t\t\t( [ cssProperty, cssValue ] ) => {\n\t\t\t\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t\t\t\t`${ cssProperty }: ${\n\t\t\t\t\t\t\t\t\t\t\tcssValue ? cssValue : gapValue\n\t\t\t\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( declarations.length ) {\n\t\t\t\t\t\t\tlet combinedSelector = '';\n\n\t\t\t\t\t\t\tif ( ! hasBlockGapSupport ) {\n\t\t\t\t\t\t\t\t// For fallback gap styles, use lower specificity, to ensure styles do not unintentionally override theme styles.\n\t\t\t\t\t\t\t\tcombinedSelector =\n\t\t\t\t\t\t\t\t\tselector === ROOT_BLOCK_SELECTOR\n\t\t\t\t\t\t\t\t\t\t? `:where(.${ className }${\n\t\t\t\t\t\t\t\t\t\t\t\tspacingStyle?.selector || ''\n\t\t\t\t\t\t\t\t\t\t })`\n\t\t\t\t\t\t\t\t\t\t: `:where(${ selector }.${ className }${\n\t\t\t\t\t\t\t\t\t\t\t\tspacingStyle?.selector || ''\n\t\t\t\t\t\t\t\t\t\t })`;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcombinedSelector =\n\t\t\t\t\t\t\t\t\tselector === ROOT_BLOCK_SELECTOR\n\t\t\t\t\t\t\t\t\t\t? `:where(${ selector } .${ className })${\n\t\t\t\t\t\t\t\t\t\t\t\tspacingStyle?.selector || ''\n\t\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t\t: `${ selector }-${ className }${\n\t\t\t\t\t\t\t\t\t\t\t\tspacingStyle?.selector || ''\n\t\t\t\t\t\t\t\t\t\t }`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\truleset += `${ combinedSelector } { ${ declarations.join(\n\t\t\t\t\t\t\t\t'; '\n\t\t\t\t\t\t\t) }; }`;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\t// For backwards compatibility, ensure the legacy block gap CSS variable is still available.\n\t\tif ( selector === ROOT_BLOCK_SELECTOR && hasBlockGapSupport ) {\n\t\t\truleset += `${ selector } { --wp--style--block-gap: ${ gapValue }; }`;\n\t\t}\n\t}\n\n\t// Output base styles\n\tif ( selector === ROOT_BLOCK_SELECTOR && layoutDefinitions ) {\n\t\tconst validDisplayModes = [ 'block', 'flex', 'grid' ];\n\t\tObject.values( layoutDefinitions ).forEach(\n\t\t\t( { className, displayMode, baseStyles } ) => {\n\t\t\t\tif (\n\t\t\t\t\tdisplayMode &&\n\t\t\t\t\tvalidDisplayModes.includes( displayMode )\n\t\t\t\t) {\n\t\t\t\t\truleset += `${ selector } .${ className } { display:${ displayMode }; }`;\n\t\t\t\t}\n\n\t\t\t\tif ( baseStyles?.length ) {\n\t\t\t\t\tbaseStyles.forEach( ( baseStyle ) => {\n\t\t\t\t\t\tconst declarations = [];\n\n\t\t\t\t\t\tif ( baseStyle.rules ) {\n\t\t\t\t\t\t\tObject.entries( baseStyle.rules ).forEach(\n\t\t\t\t\t\t\t\t( [ cssProperty, cssValue ] ) => {\n\t\t\t\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t\t\t\t`${ cssProperty }: ${ cssValue }`\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( declarations.length ) {\n\t\t\t\t\t\t\tconst combinedSelector = `${ selector } .${ className }${\n\t\t\t\t\t\t\t\tbaseStyle?.selector || ''\n\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t\truleset += `${ combinedSelector } { ${ declarations.join(\n\t\t\t\t\t\t\t\t'; '\n\t\t\t\t\t\t\t) }; }`;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\treturn ruleset;\n}\n\nconst STYLE_KEYS = [\n\t'border',\n\t'color',\n\t'dimensions',\n\t'spacing',\n\t'typography',\n\t'filter',\n\t'outline',\n\t'shadow',\n];\n\nfunction pickStyleKeys( treeToPickFrom ) {\n\tif ( ! treeToPickFrom ) {\n\t\treturn {};\n\t}\n\tconst entries = Object.entries( treeToPickFrom );\n\tconst pickedEntries = entries.filter( ( [ key ] ) =>\n\t\tSTYLE_KEYS.includes( key )\n\t);\n\t// clone the style objects so that `getFeatureDeclarations` can remove consumed keys from it\n\tconst clonedEntries = pickedEntries.map( ( [ key, style ] ) => [\n\t\tkey,\n\t\tJSON.parse( JSON.stringify( style ) ),\n\t] );\n\treturn Object.fromEntries( clonedEntries );\n}\n\nexport const getNodesWithStyles = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.styles ) {\n\t\treturn nodes;\n\t}\n\n\t// Top-level.\n\tconst styles = pickStyleKeys( tree.styles );\n\tif ( styles ) {\n\t\tnodes.push( {\n\t\t\tstyles,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\n\tObject.entries( ELEMENTS ).forEach( ( [ name, selector ] ) => {\n\t\tif ( tree.styles?.elements?.[ name ] ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: tree.styles?.elements?.[ name ],\n\t\t\t\tselector,\n\t\t\t} );\n\t\t}\n\t} );\n\n\t// Iterate over blocks: they can have styles & elements.\n\tObject.entries( tree.styles?.blocks ?? {} ).forEach(\n\t\t( [ blockName, node ] ) => {\n\t\t\tconst blockStyles = pickStyleKeys( node );\n\n\t\t\tif ( node?.variations ) {\n\t\t\t\tconst variations = {};\n\t\t\t\tObject.keys( node.variations ).forEach( ( variation ) => {\n\t\t\t\t\tvariations[ variation ] = pickStyleKeys(\n\t\t\t\t\t\tnode.variations[ variation ]\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t\tblockStyles.variations = variations;\n\t\t\t}\n\t\t\tif ( blockStyles && blockSelectors?.[ blockName ]?.selector ) {\n\t\t\t\tnodes.push( {\n\t\t\t\t\tduotoneSelector:\n\t\t\t\t\t\tblockSelectors[ blockName ].duotoneSelector,\n\t\t\t\t\tfallbackGapValue:\n\t\t\t\t\t\tblockSelectors[ blockName ].fallbackGapValue,\n\t\t\t\t\thasLayoutSupport:\n\t\t\t\t\t\tblockSelectors[ blockName ].hasLayoutSupport,\n\t\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t\t\tstyles: blockStyles,\n\t\t\t\t\tfeatureSelectors:\n\t\t\t\t\t\tblockSelectors[ blockName ].featureSelectors,\n\t\t\t\t\tstyleVariationSelectors:\n\t\t\t\t\t\tblockSelectors[ blockName ].styleVariationSelectors,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tObject.entries( node?.elements ?? {} ).forEach(\n\t\t\t\t( [ elementName, value ] ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tvalue &&\n\t\t\t\t\t\tblockSelectors?.[ blockName ] &&\n\t\t\t\t\t\tELEMENTS[ elementName ]\n\t\t\t\t\t) {\n\t\t\t\t\t\tnodes.push( {\n\t\t\t\t\t\t\tstyles: value,\n\t\t\t\t\t\t\tselector: blockSelectors[ blockName ]?.selector\n\t\t\t\t\t\t\t\t.split( ',' )\n\t\t\t\t\t\t\t\t.map( ( sel ) => {\n\t\t\t\t\t\t\t\t\tconst elementSelectors =\n\t\t\t\t\t\t\t\t\t\tELEMENTS[ elementName ].split( ',' );\n\t\t\t\t\t\t\t\t\treturn elementSelectors.map(\n\t\t\t\t\t\t\t\t\t\t( elementSelector ) =>\n\t\t\t\t\t\t\t\t\t\t\tsel + ' ' + elementSelector\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t.join( ',' ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t);\n\n\treturn nodes;\n};\n\nexport const getNodesWithSettings = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.settings ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickPresets = ( treeToPickFrom ) => {\n\t\tlet presets = {};\n\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\tconst value = getValueFromObjectPath( treeToPickFrom, path, false );\n\t\t\tif ( value !== false ) {\n\t\t\t\tpresets = setImmutably( presets, path, value );\n\t\t\t}\n\t\t} );\n\t\treturn presets;\n\t};\n\n\t// Top-level.\n\tconst presets = pickPresets( tree.settings );\n\tconst custom = tree.settings?.custom;\n\tif ( Object.keys( presets ).length > 0 || custom ) {\n\t\tnodes.push( {\n\t\t\tpresets,\n\t\t\tcustom,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\n\t// Blocks.\n\tObject.entries( tree.settings?.blocks ?? {} ).forEach(\n\t\t( [ blockName, node ] ) => {\n\t\t\tconst blockPresets = pickPresets( node );\n\t\t\tconst blockCustom = node.custom;\n\t\t\tif ( Object.keys( blockPresets ).length > 0 || blockCustom ) {\n\t\t\t\tnodes.push( {\n\t\t\t\t\tpresets: blockPresets,\n\t\t\t\t\tcustom: blockCustom,\n\t\t\t\t\tselector: blockSelectors[ blockName ]?.selector,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t);\n\n\treturn nodes;\n};\n\nexport const toCustomProperties = ( tree, blockSelectors ) => {\n\tconst settings = getNodesWithSettings( tree, blockSelectors );\n\tlet ruleset = '';\n\tsettings.forEach( ( { presets, custom, selector } ) => {\n\t\tconst declarations = getPresetsDeclarations( presets, tree?.settings );\n\t\tconst customProps = flattenTree( custom, '--wp--custom--', '--' );\n\t\tif ( customProps.length > 0 ) {\n\t\t\tdeclarations.push( ...customProps );\n\t\t}\n\n\t\tif ( declarations.length > 0 ) {\n\t\t\truleset += `${ selector }{${ declarations.join( ';' ) };}`;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nexport const toStyles = (\n\ttree,\n\tblockSelectors,\n\thasBlockGapSupport,\n\thasFallbackGapSupport,\n\tdisableLayoutStyles = false\n) => {\n\tconst nodesWithStyles = getNodesWithStyles( tree, blockSelectors );\n\tconst nodesWithSettings = getNodesWithSettings( tree, blockSelectors );\n\tconst useRootPaddingAlign = tree?.settings?.useRootPaddingAwareAlignments;\n\tconst { contentSize, wideSize } = tree?.settings?.layout || {};\n\n\t/*\n\t * Reset default browser margin on the root body element.\n\t * This is set on the root selector **before** generating the ruleset\n\t * from the `theme.json`. This is to ensure that if the `theme.json` declares\n\t * `margin` in its `spacing` declaration for the `body` element then these\n\t * user-generated values take precedence in the CSS cascade.\n\t * @link https://github.com/WordPress/gutenberg/issues/36147.\n\t */\n\tlet ruleset = 'body {margin: 0;';\n\n\tif ( contentSize ) {\n\t\truleset += ` --wp--style--global--content-size: ${ contentSize };`;\n\t}\n\n\tif ( wideSize ) {\n\t\truleset += ` --wp--style--global--wide-size: ${ wideSize };`;\n\t}\n\n\tif ( useRootPaddingAlign ) {\n\t\t/*\n\t\t * These rules reproduce the ones from https://github.com/WordPress/gutenberg/blob/79103f124925d1f457f627e154f52a56228ed5ad/lib/class-wp-theme-json-gutenberg.php#L2508\n\t\t * 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.\n\t\t */\n\t\truleset += `padding-right: 0; padding-left: 0; padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom) }\n\t\t\t.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }\n\t\t\t.has-global-padding :where(.has-global-padding) { padding-right: 0; padding-left: 0; }\n\t\t\t.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }\n\t\t\t.has-global-padding :where(.has-global-padding) > .alignfull { margin-right: 0; margin-left: 0; }\n\t\t\t.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: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }\n\t\t\t.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;`;\n\t}\n\n\truleset += '}';\n\n\tnodesWithStyles.forEach(\n\t\t( {\n\t\t\tselector,\n\t\t\tduotoneSelector,\n\t\t\tstyles,\n\t\t\tfallbackGapValue,\n\t\t\thasLayoutSupport,\n\t\t\tfeatureSelectors,\n\t\t\tstyleVariationSelectors,\n\t\t} ) => {\n\t\t\t// Process styles for block support features with custom feature level\n\t\t\t// CSS selectors set.\n\t\t\tif ( featureSelectors ) {\n\t\t\t\tconst featureDeclarations = getFeatureDeclarations(\n\t\t\t\t\tfeatureSelectors,\n\t\t\t\t\tstyles\n\t\t\t\t);\n\n\t\t\t\tObject.entries( featureDeclarations ).forEach(\n\t\t\t\t\t( [ cssSelector, declarations ] ) => {\n\t\t\t\t\t\tif ( declarations.length ) {\n\t\t\t\t\t\t\tconst rules = declarations.join( ';' );\n\t\t\t\t\t\t\truleset += `${ cssSelector }{${ rules };}`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( styleVariationSelectors ) {\n\t\t\t\tObject.entries( styleVariationSelectors ).forEach(\n\t\t\t\t\t( [ styleVariationName, styleVariationSelector ] ) => {\n\t\t\t\t\t\tconst styleVariations =\n\t\t\t\t\t\t\tstyles?.variations?.[ styleVariationName ];\n\t\t\t\t\t\tif ( styleVariations ) {\n\t\t\t\t\t\t\t// If the block uses any custom selectors for block support, add those first.\n\t\t\t\t\t\t\tif ( featureSelectors ) {\n\t\t\t\t\t\t\t\tconst featureDeclarations =\n\t\t\t\t\t\t\t\t\tgetFeatureDeclarations(\n\t\t\t\t\t\t\t\t\t\tfeatureSelectors,\n\t\t\t\t\t\t\t\t\t\tstyleVariations\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tObject.entries( featureDeclarations ).forEach(\n\t\t\t\t\t\t\t\t\t( [ baseSelector, declarations ] ) => {\n\t\t\t\t\t\t\t\t\t\tif ( declarations.length ) {\n\t\t\t\t\t\t\t\t\t\t\tconst cssSelector =\n\t\t\t\t\t\t\t\t\t\t\t\tconcatFeatureVariationSelectorString(\n\t\t\t\t\t\t\t\t\t\t\t\t\tbaseSelector,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyleVariationSelector\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tconst rules =\n\t\t\t\t\t\t\t\t\t\t\t\tdeclarations.join( ';' );\n\t\t\t\t\t\t\t\t\t\t\truleset += `${ cssSelector }{${ rules };}`;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Otherwise add regular selectors.\n\t\t\t\t\t\t\tconst styleVariationDeclarations =\n\t\t\t\t\t\t\t\tgetStylesDeclarations(\n\t\t\t\t\t\t\t\t\tstyleVariations,\n\t\t\t\t\t\t\t\t\tstyleVariationSelector,\n\t\t\t\t\t\t\t\t\tuseRootPaddingAlign,\n\t\t\t\t\t\t\t\t\ttree\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( styleVariationDeclarations.length ) {\n\t\t\t\t\t\t\t\truleset += `${ styleVariationSelector }{${ styleVariationDeclarations.join(\n\t\t\t\t\t\t\t\t\t';'\n\t\t\t\t\t\t\t\t) };}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Process duotone styles.\n\t\t\tif ( duotoneSelector ) {\n\t\t\t\tconst duotoneStyles = {};\n\t\t\t\tif ( styles?.filter ) {\n\t\t\t\t\tduotoneStyles.filter = styles.filter;\n\t\t\t\t\tdelete styles.filter;\n\t\t\t\t}\n\t\t\t\tconst duotoneDeclarations =\n\t\t\t\t\tgetStylesDeclarations( duotoneStyles );\n\t\t\t\tif ( duotoneDeclarations.length ) {\n\t\t\t\t\truleset += `${ duotoneSelector }{${ duotoneDeclarations.join(\n\t\t\t\t\t\t';'\n\t\t\t\t\t) };}`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Process blockGap and layout styles.\n\t\t\tif (\n\t\t\t\t! disableLayoutStyles &&\n\t\t\t\t( ROOT_BLOCK_SELECTOR === selector || hasLayoutSupport )\n\t\t\t) {\n\t\t\t\truleset += getLayoutStyles( {\n\t\t\t\t\tstyle: styles,\n\t\t\t\t\tselector,\n\t\t\t\t\thasBlockGapSupport,\n\t\t\t\t\thasFallbackGapSupport,\n\t\t\t\t\tfallbackGapValue,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Process the remaining block styles (they use either normal block class or __experimentalSelector).\n\t\t\tconst declarations = getStylesDeclarations(\n\t\t\t\tstyles,\n\t\t\t\tselector,\n\t\t\t\tuseRootPaddingAlign,\n\t\t\t\ttree\n\t\t\t);\n\t\t\tif ( declarations?.length ) {\n\t\t\t\truleset += `${ selector }{${ declarations.join( ';' ) };}`;\n\t\t\t}\n\n\t\t\t// Check for pseudo selector in `styles` and handle separately.\n\t\t\tconst pseudoSelectorStyles = Object.entries( styles ).filter(\n\t\t\t\t( [ key ] ) => key.startsWith( ':' )\n\t\t\t);\n\n\t\t\tif ( pseudoSelectorStyles?.length ) {\n\t\t\t\tpseudoSelectorStyles.forEach(\n\t\t\t\t\t( [ pseudoKey, pseudoStyle ] ) => {\n\t\t\t\t\t\tconst pseudoDeclarations =\n\t\t\t\t\t\t\tgetStylesDeclarations( pseudoStyle );\n\n\t\t\t\t\t\tif ( ! pseudoDeclarations?.length ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// `selector` maybe provided in a form\n\t\t\t\t\t\t// where block level selectors have sub element\n\t\t\t\t\t\t// selectors appended to them as a comma separated\n\t\t\t\t\t\t// string.\n\t\t\t\t\t\t// e.g. `h1 a,h2 a,h3 a,h4 a,h5 a,h6 a`;\n\t\t\t\t\t\t// Split and append pseudo selector to create\n\t\t\t\t\t\t// the proper rules to target the elements.\n\t\t\t\t\t\tconst _selector = selector\n\t\t\t\t\t\t\t.split( ',' )\n\t\t\t\t\t\t\t.map( ( sel ) => sel + pseudoKey )\n\t\t\t\t\t\t\t.join( ',' );\n\n\t\t\t\t\t\tconst pseudoRule = `${ _selector }{${ pseudoDeclarations.join(\n\t\t\t\t\t\t\t';'\n\t\t\t\t\t\t) };}`;\n\n\t\t\t\t\t\truleset += pseudoRule;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t);\n\n\t/* Add alignment / layout styles */\n\truleset =\n\t\truleset +\n\t\t'.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }';\n\truleset =\n\t\truleset +\n\t\t'.wp-site-blocks > .alignright { float: right; margin-left: 2em; }';\n\truleset =\n\t\truleset +\n\t\t'.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }';\n\n\tif ( hasBlockGapSupport ) {\n\t\t// Use fallback of `0.5em` just in case, however if there is blockGap support, there should nearly always be a real value.\n\t\tconst gapValue =\n\t\t\tgetGapCSSValue( tree?.styles?.spacing?.blockGap ) || '0.5em';\n\t\truleset =\n\t\t\truleset +\n\t\t\t`:where(.wp-site-blocks) > * { margin-block-start: ${ gapValue }; margin-block-end: 0; }`;\n\t\truleset =\n\t\t\truleset +\n\t\t\t':where(.wp-site-blocks) > :first-child:first-child { margin-block-start: 0; }';\n\t\truleset =\n\t\t\truleset +\n\t\t\t':where(.wp-site-blocks) > :last-child:last-child { margin-block-end: 0; }';\n\t}\n\n\tnodesWithSettings.forEach( ( { selector, presets } ) => {\n\t\tif ( ROOT_BLOCK_SELECTOR === selector ) {\n\t\t\t// Do not add extra specificity for top-level classes.\n\t\t\tselector = '';\n\t\t}\n\n\t\tconst classes = getPresetsClasses( selector, presets );\n\t\tif ( classes.length > 0 ) {\n\t\t\truleset += classes;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nexport function toSvgFilters( tree, blockSelectors ) {\n\tconst nodesWithSettings = getNodesWithSettings( tree, blockSelectors );\n\treturn nodesWithSettings.flatMap( ( { presets } ) => {\n\t\treturn getPresetsSvgFilters( presets );\n\t} );\n}\n\nconst getSelectorsConfig = ( blockType, rootSelector ) => {\n\tif (\n\t\tblockType?.selectors &&\n\t\tObject.keys( blockType.selectors ).length > 0\n\t) {\n\t\treturn blockType.selectors;\n\t}\n\n\tconst config = { root: rootSelector };\n\tObject.entries( BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS ).forEach(\n\t\t( [ featureKey, featureName ] ) => {\n\t\t\tconst featureSelector = getBlockCSSSelector(\n\t\t\t\tblockType,\n\t\t\t\tfeatureKey\n\t\t\t);\n\n\t\t\tif ( featureSelector ) {\n\t\t\t\tconfig[ featureName ] = featureSelector;\n\t\t\t}\n\t\t}\n\t);\n\n\treturn config;\n};\n\nexport const getBlockSelectors = ( blockTypes, getBlockStyles ) => {\n\tconst result = {};\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst selector = getBlockCSSSelector( blockType );\n\t\tlet duotoneSelector = getBlockCSSSelector(\n\t\t\tblockType,\n\t\t\t'filter.duotone'\n\t\t);\n\n\t\t// Keep backwards compatibility for support.color.__experimentalDuotone.\n\t\tif ( ! duotoneSelector ) {\n\t\t\tconst rootSelector = getBlockCSSSelector( blockType );\n\t\t\tconst duotoneSupport = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'color.__experimentalDuotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tduotoneSelector =\n\t\t\t\tduotoneSupport && scopeSelector( rootSelector, duotoneSupport );\n\t\t}\n\n\t\tconst hasLayoutSupport =\n\t\t\t!! blockType?.supports?.layout ||\n\t\t\t!! blockType?.supports?.__experimentalLayout;\n\t\tconst fallbackGapValue =\n\t\t\tblockType?.supports?.spacing?.blockGap?.__experimentalDefault;\n\n\t\tconst blockStyleVariations = getBlockStyles( name );\n\t\tconst styleVariationSelectors = {};\n\t\tif ( blockStyleVariations?.length ) {\n\t\t\tblockStyleVariations.forEach( ( variation ) => {\n\t\t\t\tconst styleVariationSelector = `.is-style-${ variation.name }${ selector }`;\n\t\t\t\tstyleVariationSelectors[ variation.name ] =\n\t\t\t\t\tstyleVariationSelector;\n\t\t\t} );\n\t\t}\n\t\t// For each block support feature add any custom selectors.\n\t\tconst featureSelectors = getSelectorsConfig( blockType, selector );\n\n\t\tresult[ name ] = {\n\t\t\tduotoneSelector,\n\t\t\tfallbackGapValue,\n\t\t\tfeatureSelectors: Object.keys( featureSelectors ).length\n\t\t\t\t? featureSelectors\n\t\t\t\t: undefined,\n\t\t\thasLayoutSupport,\n\t\t\tname,\n\t\t\tselector,\n\t\t\tstyleVariationSelectors: Object.keys( styleVariationSelectors )\n\t\t\t\t.length\n\t\t\t\t? styleVariationSelectors\n\t\t\t\t: undefined,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\n/**\n * If there is a separator block whose color is defined in theme.json via background,\n * update the separator color to the same value by using border color.\n *\n * @param {Object} config Theme.json configuration file object.\n * @return {Object} configTheme.json configuration file object updated.\n */\nfunction updateConfigWithSeparator( config ) {\n\tconst needsSeparatorStyleUpdate =\n\t\tconfig.styles?.blocks?.[ 'core/separator' ] &&\n\t\tconfig.styles?.blocks?.[ 'core/separator' ].color?.background &&\n\t\t! config.styles?.blocks?.[ 'core/separator' ].color?.text &&\n\t\t! config.styles?.blocks?.[ 'core/separator' ].border?.color;\n\tif ( needsSeparatorStyleUpdate ) {\n\t\treturn {\n\t\t\t...config,\n\t\t\tstyles: {\n\t\t\t\t...config.styles,\n\t\t\t\tblocks: {\n\t\t\t\t\t...config.styles.blocks,\n\t\t\t\t\t'core/separator': {\n\t\t\t\t\t\t...config.styles.blocks[ 'core/separator' ],\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t...config.styles.blocks[ 'core/separator' ].color,\n\t\t\t\t\t\t\ttext: config.styles?.blocks[ 'core/separator' ]\n\t\t\t\t\t\t\t\t.color.background,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\treturn config;\n}\n\nconst processCSSNesting = ( css, blockSelector ) => {\n\tlet processedCSS = '';\n\n\t// Split CSS nested rules.\n\tconst parts = css.split( '&' );\n\tparts.forEach( ( part ) => {\n\t\tprocessedCSS += ! part.includes( '{' )\n\t\t\t? blockSelector + '{' + part + '}' // If the part doesn't contain braces, it applies to the root level.\n\t\t\t: blockSelector + part; // Prepend the selector, which effectively replaces the \"&\" character.\n\t} );\n\treturn processedCSS;\n};\n\n/**\n * Returns the global styles output using a global styles configuration.\n * If wishing to generate global styles and settings based on the\n * global styles config loaded in the editor context, use `useGlobalStylesOutput()`.\n * The use case for a custom config is to generate bespoke styles\n * and settings for previews, or other out-of-editor experiences.\n *\n * @param {Object} mergedConfig Global styles configuration.\n * @return {Array} Array of stylesheets and settings.\n */\nexport function useGlobalStylesOutputWithConfig( mergedConfig = {} ) {\n\tconst [ blockGap ] = useGlobalSetting( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGap !== null;\n\tconst hasFallbackGapSupport = ! hasBlockGapSupport; // This setting isn't useful yet: it exists as a placeholder for a future explicit fallback styles support.\n\tconst disableLayoutStyles = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn !! getSettings().disableLayoutStyles;\n\t} );\n\n\tconst getBlockStyles = useSelect( ( select ) => {\n\t\treturn select( blocksStore ).getBlockStyles;\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\tif ( ! mergedConfig?.styles || ! mergedConfig?.settings ) {\n\t\t\treturn [];\n\t\t}\n\t\tmergedConfig = updateConfigWithSeparator( mergedConfig );\n\n\t\tconst blockSelectors = getBlockSelectors(\n\t\t\tgetBlockTypes(),\n\t\t\tgetBlockStyles\n\t\t);\n\n\t\tconst customProperties = toCustomProperties(\n\t\t\tmergedConfig,\n\t\t\tblockSelectors\n\t\t);\n\t\tconst globalStyles = toStyles(\n\t\t\tmergedConfig,\n\t\t\tblockSelectors,\n\t\t\thasBlockGapSupport,\n\t\t\thasFallbackGapSupport,\n\t\t\tdisableLayoutStyles\n\t\t);\n\t\tconst svgs = toSvgFilters( mergedConfig, blockSelectors );\n\n\t\tconst styles = [\n\t\t\t{\n\t\t\t\tcss: customProperties,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcss: globalStyles,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t\t// Load custom CSS in own stylesheet so that any invalid CSS entered in the input won't break all the global styles in the editor.\n\t\t\t{\n\t\t\t\tcss: mergedConfig.styles.css ?? '',\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tassets: svgs,\n\t\t\t\t__unstableType: 'svg',\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t];\n\n\t\t// Loop through the blocks to check if there are custom CSS values.\n\t\t// If there are, get the block selector and push the selector together with\n\t\t// the CSS value to the 'stylesheets' array.\n\t\tgetBlockTypes().forEach( ( blockType ) => {\n\t\t\tif ( mergedConfig.styles.blocks[ blockType.name ]?.css ) {\n\t\t\t\tconst selector = blockSelectors[ blockType.name ].selector;\n\t\t\t\tstyles.push( {\n\t\t\t\t\tcss: processCSSNesting(\n\t\t\t\t\t\tmergedConfig.styles.blocks[ blockType.name ]?.css,\n\t\t\t\t\t\tselector\n\t\t\t\t\t),\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\treturn [ styles, mergedConfig.settings ];\n\t}, [\n\t\thasBlockGapSupport,\n\t\thasFallbackGapSupport,\n\t\tmergedConfig,\n\t\tdisableLayoutStyles,\n\t] );\n}\n\n/**\n * Returns the global styles output based on the current state of global styles config loaded in the editor context.\n *\n * @return {Array} Array of stylesheets and settings.\n */\nexport function useGlobalStylesOutput() {\n\tconst { merged: mergedConfig } = useContext( GlobalStylesContext );\n\treturn useGlobalStylesOutputWithConfig( mergedConfig );\n}\n"]}
|
|
1
|
+
{"version":3,"names":["__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","__EXPERIMENTAL_ELEMENTS","ELEMENTS","getBlockSupport","getBlockTypes","store","blocksStore","useSelect","renderToString","useContext","useMemo","getCSSRules","PRESET_METADATA","ROOT_BLOCK_SELECTOR","scopeSelector","getBlockCSSSelector","getTypographyFontSizeValue","getFluidTypographyOptionsFromSettings","GlobalStylesContext","useGlobalSetting","PresetDuotoneFilter","getGapCSSValue","blockEditorStore","LAYOUT_DEFINITIONS","getValueFromObjectPath","kebabCase","setImmutably","BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS","__experimentalBorder","color","spacing","typography","compileStyleValue","uncompiledValue","VARIABLE_REFERENCE_PREFIX","VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE","VARIABLE_PATH_SEPARATOR_TOKEN_STYLE","startsWith","variable","slice","length","split","join","getPresetsDeclarations","blockPresets","mergedSettings","reduce","declarations","path","valueKey","valueFunc","cssVarInfix","presetByOrigin","forEach","origin","value","push","slug","getPresetsClasses","blockSelector","classes","classSuffix","propertyName","classSelectorToUse","selectorToUse","map","selector","getPresetsSvgFilters","filter","metadata","at","flatMap","preset","createElement","key","flattenTree","input","prefix","token","result","Object","keys","newKey","replace","newLeaf","newPrefix","concatFeatureVariationSelectorString","featureSelector","styleVariationSelector","featureSelectors","combinedSelectors","trim","getFeatureDeclarations","selectors","styles","entries","feature","isShorthand","subfeature","subfeatureSelector","subfeatureStyles","newDeclarations","getStylesDeclarations","root","featureStyles","blockStyles","useRootPaddingAlign","tree","isRoot","output","properties","useEngine","rootOnly","pathToValue","styleValue","entry","name","prop","cssProperty","extraRules","rule","ruleValue","ref","refPath","size","settings","getLayoutStyles","layoutDefinitions","style","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","ruleset","gapValue","blockGap","values","className","spacingStyles","spacingStyle","rules","cssValue","combinedSelector","validDisplayModes","displayMode","baseStyles","includes","baseStyle","STYLE_KEYS","pickStyleKeys","treeToPickFrom","pickedEntries","clonedEntries","JSON","parse","stringify","fromEntries","getNodesWithStyles","blockSelectors","_tree$styles$blocks","nodes","elements","blocks","blockName","node","_node$elements","variations","variation","duotoneSelector","hasLayoutSupport","styleVariationSelectors","elementName","sel","elementSelectors","elementSelector","getNodesWithSettings","_tree$settings$blocks","pickPresets","presets","custom","blockCustom","toCustomProperties","customProps","toStyles","disableLayoutStyles","nodesWithStyles","nodesWithSettings","useRootPaddingAwareAlignments","contentSize","wideSize","layout","featureDeclarations","cssSelector","styleVariationName","styleVariations","baseSelector","styleVariationDeclarations","duotoneStyles","duotoneDeclarations","pseudoSelectorStyles","pseudoKey","pseudoStyle","pseudoDeclarations","_selector","pseudoRule","toSvgFilters","getSelectorsConfig","blockType","rootSelector","config","featureKey","featureName","getBlockSelectors","blockTypes","getBlockStyles","duotoneSupport","supports","__experimentalLayout","__experimentalDefault","blockStyleVariations","undefined","updateConfigWithSeparator","needsSeparatorStyleUpdate","background","text","border","processCSSNesting","css","processedCSS","parts","part","useGlobalStylesOutputWithConfig","mergedConfig","select","getSettings","_mergedConfig$styles$","customProperties","globalStyles","svgs","isGlobalStyles","assets","__unstableType","useGlobalStylesOutput","merged"],"sources":["@wordpress/block-editor/src/components/global-styles/use-global-styles-output.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tgetBlockSupport,\n\tgetBlockTypes,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { renderToString, useContext, useMemo } from '@wordpress/element';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { PRESET_METADATA, ROOT_BLOCK_SELECTOR, scopeSelector } from './utils';\nimport { getBlockCSSSelector } from './get-block-css-selector';\nimport {\n\tgetTypographyFontSizeValue,\n\tgetFluidTypographyOptionsFromSettings,\n} from './typography-utils';\nimport { GlobalStylesContext } from './context';\nimport { useGlobalSetting } from './hooks';\nimport { PresetDuotoneFilter } from '../duotone/components';\nimport { getGapCSSValue } from '../../hooks/gap';\nimport { store as blockEditorStore } from '../../store';\nimport { LAYOUT_DEFINITIONS } from '../../layouts/definitions';\nimport {\n\tgetValueFromObjectPath,\n\tkebabCase,\n\tsetImmutably,\n} from '../../utils/object';\n\n// List of block support features that can have their related styles\n// generated under their own feature level selector rather than the block's.\nconst BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS = {\n\t__experimentalBorder: 'border',\n\tcolor: 'color',\n\tspacing: 'spacing',\n\ttypography: 'typography',\n};\n\nfunction compileStyleValue( uncompiledValue ) {\n\tconst VARIABLE_REFERENCE_PREFIX = 'var:';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE = '|';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_STYLE = '--';\n\n\tif ( uncompiledValue?.startsWith?.( VARIABLE_REFERENCE_PREFIX ) ) {\n\t\tconst variable = uncompiledValue\n\t\t\t.slice( VARIABLE_REFERENCE_PREFIX.length )\n\t\t\t.split( VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE )\n\t\t\t.join( VARIABLE_PATH_SEPARATOR_TOKEN_STYLE );\n\t\treturn `var(--wp--${ variable })`;\n\t}\n\treturn uncompiledValue;\n}\n\n/**\n * Transform given preset tree into a set of style declarations.\n *\n * @param {Object} blockPresets\n * @param {Object} mergedSettings Merged theme.json settings.\n *\n * @return {Array<Object>} An array of style declarations.\n */\nfunction getPresetsDeclarations( blockPresets = {}, mergedSettings ) {\n\treturn PRESET_METADATA.reduce(\n\t\t( declarations, { path, valueKey, valueFunc, cssVarInfix } ) => {\n\t\t\tconst presetByOrigin = getValueFromObjectPath(\n\t\t\t\tblockPresets,\n\t\t\t\tpath,\n\t\t\t\t[]\n\t\t\t);\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( value ) => {\n\t\t\t\t\t\tif ( valueKey && ! valueFunc ) {\n\t\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t\t`--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\t\tvalue.slug\n\t\t\t\t\t\t\t\t) }: ${ value[ valueKey ] }`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tvalueFunc &&\n\t\t\t\t\t\t\ttypeof valueFunc === 'function'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t\t`--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\t\tvalue.slug\n\t\t\t\t\t\t\t\t) }: ${ valueFunc( value, mergedSettings ) }`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\n/**\n * Transform given preset tree into a set of preset class declarations.\n *\n * @param {?string} blockSelector\n * @param {Object} blockPresets\n * @return {string} CSS declarations for the preset classes.\n */\nfunction getPresetsClasses( blockSelector = '*', blockPresets = {} ) {\n\treturn PRESET_METADATA.reduce(\n\t\t( declarations, { path, cssVarInfix, classes } ) => {\n\t\t\tif ( ! classes ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst presetByOrigin = getValueFromObjectPath(\n\t\t\t\tblockPresets,\n\t\t\t\tpath,\n\t\t\t\t[]\n\t\t\t);\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( { slug } ) => {\n\t\t\t\t\t\tclasses.forEach( ( { classSuffix, propertyName } ) => {\n\t\t\t\t\t\t\tconst classSelectorToUse = `.has-${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) }-${ classSuffix }`;\n\t\t\t\t\t\t\tconst selectorToUse = blockSelector\n\t\t\t\t\t\t\t\t.split( ',' ) // Selector can be \"h1, h2, h3\"\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t\t\t\t`${ selector }${ classSelectorToUse }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ',' );\n\t\t\t\t\t\t\tconst value = `var(--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) })`;\n\t\t\t\t\t\t\tdeclarations += `${ selectorToUse }{${ propertyName }: ${ value } !important;}`;\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn declarations;\n\t\t},\n\t\t''\n\t);\n}\n\nfunction getPresetsSvgFilters( blockPresets = {} ) {\n\treturn PRESET_METADATA.filter(\n\t\t// Duotone are the only type of filters for now.\n\t\t( metadata ) => metadata.path.at( -1 ) === 'duotone'\n\t).flatMap( ( metadata ) => {\n\t\tconst presetByOrigin = getValueFromObjectPath(\n\t\t\tblockPresets,\n\t\t\tmetadata.path,\n\t\t\t{}\n\t\t);\n\t\treturn [ 'default', 'theme' ]\n\t\t\t.filter( ( origin ) => presetByOrigin[ origin ] )\n\t\t\t.flatMap( ( origin ) =>\n\t\t\t\tpresetByOrigin[ origin ].map( ( preset ) =>\n\t\t\t\t\trenderToString(\n\t\t\t\t\t\t<PresetDuotoneFilter\n\t\t\t\t\t\t\tpreset={ preset }\n\t\t\t\t\t\t\tkey={ preset.slug }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t\t.join( '' );\n\t} );\n}\n\nfunction flattenTree( input = {}, prefix, token ) {\n\tlet result = [];\n\tObject.keys( input ).forEach( ( key ) => {\n\t\tconst newKey = prefix + kebabCase( key.replace( '/', '-' ) );\n\t\tconst newLeaf = input[ key ];\n\n\t\tif ( newLeaf instanceof Object ) {\n\t\t\tconst newPrefix = newKey + token;\n\t\t\tresult = [ ...result, ...flattenTree( newLeaf, newPrefix, token ) ];\n\t\t} else {\n\t\t\tresult.push( `${ newKey }: ${ newLeaf }` );\n\t\t}\n\t} );\n\treturn result;\n}\n\n/**\n * Gets variation selector string from feature selector.\n *\n * @param {string} featureSelector The feature selector.\n *\n * @param {string} styleVariationSelector The style variation selector.\n * @return {string} Combined selector string.\n */\nfunction concatFeatureVariationSelectorString(\n\tfeatureSelector,\n\tstyleVariationSelector\n) {\n\tconst featureSelectors = featureSelector.split( ',' );\n\tconst combinedSelectors = [];\n\tfeatureSelectors.forEach( ( selector ) => {\n\t\tcombinedSelectors.push(\n\t\t\t`${ styleVariationSelector.trim() }${ selector.trim() }`\n\t\t);\n\t} );\n\treturn combinedSelectors.join( ', ' );\n}\n\n/**\n * Generate style declarations for a block's custom feature and subfeature\n * selectors.\n *\n * NOTE: The passed `styles` object will be mutated by this function.\n *\n * @param {Object} selectors Custom selectors object for a block.\n * @param {Object} styles A block's styles object.\n *\n * @return {Object} Style declarations.\n */\nconst getFeatureDeclarations = ( selectors, styles ) => {\n\tconst declarations = {};\n\n\tObject.entries( selectors ).forEach( ( [ feature, selector ] ) => {\n\t\t// We're only processing features/subfeatures that have styles.\n\t\tif ( feature === 'root' || ! styles?.[ feature ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isShorthand = typeof selector === 'string';\n\n\t\t// If we have a selector object instead of shorthand process it.\n\t\tif ( ! isShorthand ) {\n\t\t\tObject.entries( selector ).forEach(\n\t\t\t\t( [ subfeature, subfeatureSelector ] ) => {\n\t\t\t\t\t// Don't process root feature selector yet or any\n\t\t\t\t\t// subfeature that doesn't have a style.\n\t\t\t\t\tif (\n\t\t\t\t\t\tsubfeature === 'root' ||\n\t\t\t\t\t\t! styles?.[ feature ][ subfeature ]\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Create a temporary styles object and build\n\t\t\t\t\t// declarations for subfeature.\n\t\t\t\t\tconst subfeatureStyles = {\n\t\t\t\t\t\t[ feature ]: {\n\t\t\t\t\t\t\t[ subfeature ]: styles[ feature ][ subfeature ],\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\tconst newDeclarations =\n\t\t\t\t\t\tgetStylesDeclarations( subfeatureStyles );\n\n\t\t\t\t\t// Merge new declarations in with any others that\n\t\t\t\t\t// share the same selector.\n\t\t\t\t\tdeclarations[ subfeatureSelector ] = [\n\t\t\t\t\t\t...( declarations[ subfeatureSelector ] || [] ),\n\t\t\t\t\t\t...newDeclarations,\n\t\t\t\t\t];\n\n\t\t\t\t\t// Remove the subfeature's style now it will be\n\t\t\t\t\t// included under its own selector not the block's.\n\t\t\t\t\tdelete styles[ feature ][ subfeature ];\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\t// Now subfeatures have been processed and removed, we can\n\t\t// process root, or shorthand, feature selectors.\n\t\tif ( isShorthand || selector.root ) {\n\t\t\tconst featureSelector = isShorthand ? selector : selector.root;\n\n\t\t\t// Create temporary style object and build declarations for feature.\n\t\t\tconst featureStyles = { [ feature ]: styles[ feature ] };\n\t\t\tconst newDeclarations = getStylesDeclarations( featureStyles );\n\n\t\t\t// Merge new declarations with any others that share the selector.\n\t\t\tdeclarations[ featureSelector ] = [\n\t\t\t\t...( declarations[ featureSelector ] || [] ),\n\t\t\t\t...newDeclarations,\n\t\t\t];\n\n\t\t\t// Remove the feature from the block's styles now as it will be\n\t\t\t// included under its own selector not the block's.\n\t\t\tdelete styles[ feature ];\n\t\t}\n\t} );\n\n\treturn declarations;\n};\n\n/**\n * Transform given style tree into a set of style declarations.\n *\n * @param {Object} blockStyles Block styles.\n *\n * @param {string} selector The selector these declarations should attach to.\n *\n * @param {boolean} useRootPaddingAlign Whether to use CSS custom properties in root selector.\n *\n * @param {Object} tree A theme.json tree containing layout definitions.\n *\n * @return {Array} An array of style declarations.\n */\nexport function getStylesDeclarations(\n\tblockStyles = {},\n\tselector = '',\n\tuseRootPaddingAlign,\n\ttree = {}\n) {\n\tconst isRoot = ROOT_BLOCK_SELECTOR === selector;\n\tconst output = Object.entries( STYLE_PROPERTY ).reduce(\n\t\t(\n\t\t\tdeclarations,\n\t\t\t[ key, { value, properties, useEngine, rootOnly } ]\n\t\t) => {\n\t\t\tif ( rootOnly && ! isRoot ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\t\t\tconst pathToValue = value;\n\t\t\tif ( pathToValue[ 0 ] === 'elements' || useEngine ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst styleValue = getValueFromObjectPath(\n\t\t\t\tblockStyles,\n\t\t\t\tpathToValue\n\t\t\t);\n\n\t\t\t// Root-level padding styles don't currently support strings with CSS shorthand values.\n\t\t\t// This may change: https://github.com/WordPress/gutenberg/issues/40132.\n\t\t\tif (\n\t\t\t\tkey === '--wp--style--root--padding' &&\n\t\t\t\t( typeof styleValue === 'string' || ! useRootPaddingAlign )\n\t\t\t) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tif ( properties && typeof styleValue !== 'string' ) {\n\t\t\t\tObject.entries( properties ).forEach( ( entry ) => {\n\t\t\t\t\tconst [ name, prop ] = entry;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! getValueFromObjectPath( styleValue, [ prop ], false )\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Do not create a declaration\n\t\t\t\t\t\t// for sub-properties that don't have any value.\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cssProperty = name.startsWith( '--' )\n\t\t\t\t\t\t? name\n\t\t\t\t\t\t: kebabCase( name );\n\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\t\tgetValueFromObjectPath( styleValue, [ prop ] )\n\t\t\t\t\t\t) }`\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else if (\n\t\t\t\tgetValueFromObjectPath( blockStyles, pathToValue, false )\n\t\t\t) {\n\t\t\t\tconst cssProperty = key.startsWith( '--' )\n\t\t\t\t\t? key\n\t\t\t\t\t: kebabCase( key );\n\t\t\t\tdeclarations.push(\n\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\tgetValueFromObjectPath( blockStyles, pathToValue )\n\t\t\t\t\t) }`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n\n\t// The goal is to move everything to server side generated engine styles\n\t// This is temporary as we absorb more and more styles into the engine.\n\tconst extraRules = getCSSRules( blockStyles );\n\textraRules.forEach( ( rule ) => {\n\t\t// Don't output padding properties if padding variables are set.\n\t\tif (\n\t\t\tisRoot &&\n\t\t\tuseRootPaddingAlign &&\n\t\t\trule.key.startsWith( 'padding' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst cssProperty = rule.key.startsWith( '--' )\n\t\t\t? rule.key\n\t\t\t: kebabCase( rule.key );\n\n\t\tlet ruleValue = rule.value;\n\t\tif ( typeof ruleValue !== 'string' && ruleValue?.ref ) {\n\t\t\tconst refPath = ruleValue.ref.split( '.' );\n\t\t\truleValue = getValueFromObjectPath( tree, refPath );\n\t\t\t// Presence of another ref indicates a reference to another dynamic value.\n\t\t\t// Pointing to another dynamic value is not supported.\n\t\t\tif ( ! ruleValue || ruleValue?.ref ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Calculate fluid typography rules where available.\n\t\tif ( cssProperty === 'font-size' ) {\n\t\t\t/*\n\t\t\t * getTypographyFontSizeValue() will check\n\t\t\t * if fluid typography has been activated and also\n\t\t\t * whether the incoming value can be converted to a fluid value.\n\t\t\t * Values that already have a \"clamp()\" function will not pass the test,\n\t\t\t * and therefore the original $value will be returned.\n\t\t\t */\n\t\t\truleValue = getTypographyFontSizeValue(\n\t\t\t\t{ size: ruleValue },\n\t\t\t\tgetFluidTypographyOptionsFromSettings( tree?.settings )\n\t\t\t);\n\t\t}\n\n\t\toutput.push( `${ cssProperty }: ${ ruleValue }` );\n\t} );\n\n\treturn output;\n}\n\n/**\n * Get generated CSS for layout styles by looking up layout definitions provided\n * in theme.json, and outputting common layout styles, and specific blockGap values.\n *\n * @param {Object} props\n * @param {Object} props.layoutDefinitions Layout definitions, keyed by layout type.\n * @param {Object} props.style A style object containing spacing values.\n * @param {string} props.selector Selector used to group together layout styling rules.\n * @param {boolean} props.hasBlockGapSupport Whether or not the theme opts-in to blockGap support.\n * @param {boolean} props.hasFallbackGapSupport Whether or not the theme allows fallback gap styles.\n * @param {?string} props.fallbackGapValue An optional fallback gap value if no real gap value is available.\n * @return {string} Generated CSS rules for the layout styles.\n */\nexport function getLayoutStyles( {\n\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\tstyle,\n\tselector,\n\thasBlockGapSupport,\n\thasFallbackGapSupport,\n\tfallbackGapValue,\n} ) {\n\tlet ruleset = '';\n\tlet gapValue = hasBlockGapSupport\n\t\t? getGapCSSValue( style?.spacing?.blockGap )\n\t\t: '';\n\n\t// Ensure a fallback gap value for the root layout definitions,\n\t// and use a fallback value if one is provided for the current block.\n\tif ( hasFallbackGapSupport ) {\n\t\tif ( selector === ROOT_BLOCK_SELECTOR ) {\n\t\t\tgapValue = ! gapValue ? '0.5em' : gapValue;\n\t\t} else if ( ! hasBlockGapSupport && fallbackGapValue ) {\n\t\t\tgapValue = fallbackGapValue;\n\t\t}\n\t}\n\n\tif ( gapValue && layoutDefinitions ) {\n\t\tObject.values( layoutDefinitions ).forEach(\n\t\t\t( { className, name, spacingStyles } ) => {\n\t\t\t\t// Allow outputting fallback gap styles for flex layout type when block gap support isn't available.\n\t\t\t\tif (\n\t\t\t\t\t! hasBlockGapSupport &&\n\t\t\t\t\t'flex' !== name &&\n\t\t\t\t\t'grid' !== name\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( spacingStyles?.length ) {\n\t\t\t\t\tspacingStyles.forEach( ( spacingStyle ) => {\n\t\t\t\t\t\tconst declarations = [];\n\n\t\t\t\t\t\tif ( spacingStyle.rules ) {\n\t\t\t\t\t\t\tObject.entries( spacingStyle.rules ).forEach(\n\t\t\t\t\t\t\t\t( [ cssProperty, cssValue ] ) => {\n\t\t\t\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t\t\t\t`${ cssProperty }: ${\n\t\t\t\t\t\t\t\t\t\t\tcssValue ? cssValue : gapValue\n\t\t\t\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( declarations.length ) {\n\t\t\t\t\t\t\tlet combinedSelector = '';\n\n\t\t\t\t\t\t\tif ( ! hasBlockGapSupport ) {\n\t\t\t\t\t\t\t\t// For fallback gap styles, use lower specificity, to ensure styles do not unintentionally override theme styles.\n\t\t\t\t\t\t\t\tcombinedSelector =\n\t\t\t\t\t\t\t\t\tselector === ROOT_BLOCK_SELECTOR\n\t\t\t\t\t\t\t\t\t\t? `:where(.${ className }${\n\t\t\t\t\t\t\t\t\t\t\t\tspacingStyle?.selector || ''\n\t\t\t\t\t\t\t\t\t\t })`\n\t\t\t\t\t\t\t\t\t\t: `:where(${ selector }.${ className }${\n\t\t\t\t\t\t\t\t\t\t\t\tspacingStyle?.selector || ''\n\t\t\t\t\t\t\t\t\t\t })`;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcombinedSelector =\n\t\t\t\t\t\t\t\t\tselector === ROOT_BLOCK_SELECTOR\n\t\t\t\t\t\t\t\t\t\t? `:where(${ selector } .${ className })${\n\t\t\t\t\t\t\t\t\t\t\t\tspacingStyle?.selector || ''\n\t\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t\t: `${ selector }-${ className }${\n\t\t\t\t\t\t\t\t\t\t\t\tspacingStyle?.selector || ''\n\t\t\t\t\t\t\t\t\t\t }`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\truleset += `${ combinedSelector } { ${ declarations.join(\n\t\t\t\t\t\t\t\t'; '\n\t\t\t\t\t\t\t) }; }`;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\t// For backwards compatibility, ensure the legacy block gap CSS variable is still available.\n\t\tif ( selector === ROOT_BLOCK_SELECTOR && hasBlockGapSupport ) {\n\t\t\truleset += `${ selector } { --wp--style--block-gap: ${ gapValue }; }`;\n\t\t}\n\t}\n\n\t// Output base styles\n\tif ( selector === ROOT_BLOCK_SELECTOR && layoutDefinitions ) {\n\t\tconst validDisplayModes = [ 'block', 'flex', 'grid' ];\n\t\tObject.values( layoutDefinitions ).forEach(\n\t\t\t( { className, displayMode, baseStyles } ) => {\n\t\t\t\tif (\n\t\t\t\t\tdisplayMode &&\n\t\t\t\t\tvalidDisplayModes.includes( displayMode )\n\t\t\t\t) {\n\t\t\t\t\truleset += `${ selector } .${ className } { display:${ displayMode }; }`;\n\t\t\t\t}\n\n\t\t\t\tif ( baseStyles?.length ) {\n\t\t\t\t\tbaseStyles.forEach( ( baseStyle ) => {\n\t\t\t\t\t\tconst declarations = [];\n\n\t\t\t\t\t\tif ( baseStyle.rules ) {\n\t\t\t\t\t\t\tObject.entries( baseStyle.rules ).forEach(\n\t\t\t\t\t\t\t\t( [ cssProperty, cssValue ] ) => {\n\t\t\t\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t\t\t\t`${ cssProperty }: ${ cssValue }`\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( declarations.length ) {\n\t\t\t\t\t\t\tconst combinedSelector = `${ selector } .${ className }${\n\t\t\t\t\t\t\t\tbaseStyle?.selector || ''\n\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t\truleset += `${ combinedSelector } { ${ declarations.join(\n\t\t\t\t\t\t\t\t'; '\n\t\t\t\t\t\t\t) }; }`;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\treturn ruleset;\n}\n\nconst STYLE_KEYS = [\n\t'border',\n\t'color',\n\t'dimensions',\n\t'spacing',\n\t'typography',\n\t'filter',\n\t'outline',\n\t'shadow',\n];\n\nfunction pickStyleKeys( treeToPickFrom ) {\n\tif ( ! treeToPickFrom ) {\n\t\treturn {};\n\t}\n\tconst entries = Object.entries( treeToPickFrom );\n\tconst pickedEntries = entries.filter( ( [ key ] ) =>\n\t\tSTYLE_KEYS.includes( key )\n\t);\n\t// clone the style objects so that `getFeatureDeclarations` can remove consumed keys from it\n\tconst clonedEntries = pickedEntries.map( ( [ key, style ] ) => [\n\t\tkey,\n\t\tJSON.parse( JSON.stringify( style ) ),\n\t] );\n\treturn Object.fromEntries( clonedEntries );\n}\n\nexport const getNodesWithStyles = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.styles ) {\n\t\treturn nodes;\n\t}\n\n\t// Top-level.\n\tconst styles = pickStyleKeys( tree.styles );\n\tif ( styles ) {\n\t\tnodes.push( {\n\t\t\tstyles,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\n\tObject.entries( ELEMENTS ).forEach( ( [ name, selector ] ) => {\n\t\tif ( tree.styles?.elements?.[ name ] ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: tree.styles?.elements?.[ name ],\n\t\t\t\tselector,\n\t\t\t} );\n\t\t}\n\t} );\n\n\t// Iterate over blocks: they can have styles & elements.\n\tObject.entries( tree.styles?.blocks ?? {} ).forEach(\n\t\t( [ blockName, node ] ) => {\n\t\t\tconst blockStyles = pickStyleKeys( node );\n\n\t\t\tif ( node?.variations ) {\n\t\t\t\tconst variations = {};\n\t\t\t\tObject.keys( node.variations ).forEach( ( variation ) => {\n\t\t\t\t\tvariations[ variation ] = pickStyleKeys(\n\t\t\t\t\t\tnode.variations[ variation ]\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t\tblockStyles.variations = variations;\n\t\t\t}\n\t\t\tif ( blockStyles && blockSelectors?.[ blockName ]?.selector ) {\n\t\t\t\tnodes.push( {\n\t\t\t\t\tduotoneSelector:\n\t\t\t\t\t\tblockSelectors[ blockName ].duotoneSelector,\n\t\t\t\t\tfallbackGapValue:\n\t\t\t\t\t\tblockSelectors[ blockName ].fallbackGapValue,\n\t\t\t\t\thasLayoutSupport:\n\t\t\t\t\t\tblockSelectors[ blockName ].hasLayoutSupport,\n\t\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t\t\tstyles: blockStyles,\n\t\t\t\t\tfeatureSelectors:\n\t\t\t\t\t\tblockSelectors[ blockName ].featureSelectors,\n\t\t\t\t\tstyleVariationSelectors:\n\t\t\t\t\t\tblockSelectors[ blockName ].styleVariationSelectors,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tObject.entries( node?.elements ?? {} ).forEach(\n\t\t\t\t( [ elementName, value ] ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tvalue &&\n\t\t\t\t\t\tblockSelectors?.[ blockName ] &&\n\t\t\t\t\t\tELEMENTS[ elementName ]\n\t\t\t\t\t) {\n\t\t\t\t\t\tnodes.push( {\n\t\t\t\t\t\t\tstyles: value,\n\t\t\t\t\t\t\tselector: blockSelectors[ blockName ]?.selector\n\t\t\t\t\t\t\t\t.split( ',' )\n\t\t\t\t\t\t\t\t.map( ( sel ) => {\n\t\t\t\t\t\t\t\t\tconst elementSelectors =\n\t\t\t\t\t\t\t\t\t\tELEMENTS[ elementName ].split( ',' );\n\t\t\t\t\t\t\t\t\treturn elementSelectors.map(\n\t\t\t\t\t\t\t\t\t\t( elementSelector ) =>\n\t\t\t\t\t\t\t\t\t\t\tsel + ' ' + elementSelector\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t.join( ',' ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t);\n\n\treturn nodes;\n};\n\nexport const getNodesWithSettings = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.settings ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickPresets = ( treeToPickFrom ) => {\n\t\tlet presets = {};\n\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\tconst value = getValueFromObjectPath( treeToPickFrom, path, false );\n\t\t\tif ( value !== false ) {\n\t\t\t\tpresets = setImmutably( presets, path, value );\n\t\t\t}\n\t\t} );\n\t\treturn presets;\n\t};\n\n\t// Top-level.\n\tconst presets = pickPresets( tree.settings );\n\tconst custom = tree.settings?.custom;\n\tif ( Object.keys( presets ).length > 0 || custom ) {\n\t\tnodes.push( {\n\t\t\tpresets,\n\t\t\tcustom,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\n\t// Blocks.\n\tObject.entries( tree.settings?.blocks ?? {} ).forEach(\n\t\t( [ blockName, node ] ) => {\n\t\t\tconst blockPresets = pickPresets( node );\n\t\t\tconst blockCustom = node.custom;\n\t\t\tif ( Object.keys( blockPresets ).length > 0 || blockCustom ) {\n\t\t\t\tnodes.push( {\n\t\t\t\t\tpresets: blockPresets,\n\t\t\t\t\tcustom: blockCustom,\n\t\t\t\t\tselector: blockSelectors[ blockName ]?.selector,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t);\n\n\treturn nodes;\n};\n\nexport const toCustomProperties = ( tree, blockSelectors ) => {\n\tconst settings = getNodesWithSettings( tree, blockSelectors );\n\tlet ruleset = '';\n\tsettings.forEach( ( { presets, custom, selector } ) => {\n\t\tconst declarations = getPresetsDeclarations( presets, tree?.settings );\n\t\tconst customProps = flattenTree( custom, '--wp--custom--', '--' );\n\t\tif ( customProps.length > 0 ) {\n\t\t\tdeclarations.push( ...customProps );\n\t\t}\n\n\t\tif ( declarations.length > 0 ) {\n\t\t\truleset += `${ selector }{${ declarations.join( ';' ) };}`;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nexport const toStyles = (\n\ttree,\n\tblockSelectors,\n\thasBlockGapSupport,\n\thasFallbackGapSupport,\n\tdisableLayoutStyles = false\n) => {\n\tconst nodesWithStyles = getNodesWithStyles( tree, blockSelectors );\n\tconst nodesWithSettings = getNodesWithSettings( tree, blockSelectors );\n\tconst useRootPaddingAlign = tree?.settings?.useRootPaddingAwareAlignments;\n\tconst { contentSize, wideSize } = tree?.settings?.layout || {};\n\n\t/*\n\t * Reset default browser margin on the root body element.\n\t * This is set on the root selector **before** generating the ruleset\n\t * from the `theme.json`. This is to ensure that if the `theme.json` declares\n\t * `margin` in its `spacing` declaration for the `body` element then these\n\t * user-generated values take precedence in the CSS cascade.\n\t * @link https://github.com/WordPress/gutenberg/issues/36147.\n\t */\n\tlet ruleset = 'body {margin: 0;';\n\n\tif ( contentSize ) {\n\t\truleset += ` --wp--style--global--content-size: ${ contentSize };`;\n\t}\n\n\tif ( wideSize ) {\n\t\truleset += ` --wp--style--global--wide-size: ${ wideSize };`;\n\t}\n\n\tif ( useRootPaddingAlign ) {\n\t\t/*\n\t\t * These rules reproduce the ones from https://github.com/WordPress/gutenberg/blob/79103f124925d1f457f627e154f52a56228ed5ad/lib/class-wp-theme-json-gutenberg.php#L2508\n\t\t * 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.\n\t\t */\n\t\truleset += `padding-right: 0; padding-left: 0; padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom) }\n\t\t\t.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }\n\t\t\t.has-global-padding :where(.has-global-padding) { padding-right: 0; padding-left: 0; }\n\t\t\t.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }\n\t\t\t.has-global-padding :where(.has-global-padding) > .alignfull { margin-right: 0; margin-left: 0; }\n\t\t\t.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); }\n\t\t\t.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;`;\n\t}\n\n\truleset += '}';\n\n\tnodesWithStyles.forEach(\n\t\t( {\n\t\t\tselector,\n\t\t\tduotoneSelector,\n\t\t\tstyles,\n\t\t\tfallbackGapValue,\n\t\t\thasLayoutSupport,\n\t\t\tfeatureSelectors,\n\t\t\tstyleVariationSelectors,\n\t\t} ) => {\n\t\t\t// Process styles for block support features with custom feature level\n\t\t\t// CSS selectors set.\n\t\t\tif ( featureSelectors ) {\n\t\t\t\tconst featureDeclarations = getFeatureDeclarations(\n\t\t\t\t\tfeatureSelectors,\n\t\t\t\t\tstyles\n\t\t\t\t);\n\n\t\t\t\tObject.entries( featureDeclarations ).forEach(\n\t\t\t\t\t( [ cssSelector, declarations ] ) => {\n\t\t\t\t\t\tif ( declarations.length ) {\n\t\t\t\t\t\t\tconst rules = declarations.join( ';' );\n\t\t\t\t\t\t\truleset += `${ cssSelector }{${ rules };}`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( styleVariationSelectors ) {\n\t\t\t\tObject.entries( styleVariationSelectors ).forEach(\n\t\t\t\t\t( [ styleVariationName, styleVariationSelector ] ) => {\n\t\t\t\t\t\tconst styleVariations =\n\t\t\t\t\t\t\tstyles?.variations?.[ styleVariationName ];\n\t\t\t\t\t\tif ( styleVariations ) {\n\t\t\t\t\t\t\t// If the block uses any custom selectors for block support, add those first.\n\t\t\t\t\t\t\tif ( featureSelectors ) {\n\t\t\t\t\t\t\t\tconst featureDeclarations =\n\t\t\t\t\t\t\t\t\tgetFeatureDeclarations(\n\t\t\t\t\t\t\t\t\t\tfeatureSelectors,\n\t\t\t\t\t\t\t\t\t\tstyleVariations\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tObject.entries( featureDeclarations ).forEach(\n\t\t\t\t\t\t\t\t\t( [ baseSelector, declarations ] ) => {\n\t\t\t\t\t\t\t\t\t\tif ( declarations.length ) {\n\t\t\t\t\t\t\t\t\t\t\tconst cssSelector =\n\t\t\t\t\t\t\t\t\t\t\t\tconcatFeatureVariationSelectorString(\n\t\t\t\t\t\t\t\t\t\t\t\t\tbaseSelector,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyleVariationSelector\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tconst rules =\n\t\t\t\t\t\t\t\t\t\t\t\tdeclarations.join( ';' );\n\t\t\t\t\t\t\t\t\t\t\truleset += `${ cssSelector }{${ rules };}`;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Otherwise add regular selectors.\n\t\t\t\t\t\t\tconst styleVariationDeclarations =\n\t\t\t\t\t\t\t\tgetStylesDeclarations(\n\t\t\t\t\t\t\t\t\tstyleVariations,\n\t\t\t\t\t\t\t\t\tstyleVariationSelector,\n\t\t\t\t\t\t\t\t\tuseRootPaddingAlign,\n\t\t\t\t\t\t\t\t\ttree\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( styleVariationDeclarations.length ) {\n\t\t\t\t\t\t\t\truleset += `${ styleVariationSelector }{${ styleVariationDeclarations.join(\n\t\t\t\t\t\t\t\t\t';'\n\t\t\t\t\t\t\t\t) };}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Process duotone styles.\n\t\t\tif ( duotoneSelector ) {\n\t\t\t\tconst duotoneStyles = {};\n\t\t\t\tif ( styles?.filter ) {\n\t\t\t\t\tduotoneStyles.filter = styles.filter;\n\t\t\t\t\tdelete styles.filter;\n\t\t\t\t}\n\t\t\t\tconst duotoneDeclarations =\n\t\t\t\t\tgetStylesDeclarations( duotoneStyles );\n\t\t\t\tif ( duotoneDeclarations.length ) {\n\t\t\t\t\truleset += `${ duotoneSelector }{${ duotoneDeclarations.join(\n\t\t\t\t\t\t';'\n\t\t\t\t\t) };}`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Process blockGap and layout styles.\n\t\t\tif (\n\t\t\t\t! disableLayoutStyles &&\n\t\t\t\t( ROOT_BLOCK_SELECTOR === selector || hasLayoutSupport )\n\t\t\t) {\n\t\t\t\truleset += getLayoutStyles( {\n\t\t\t\t\tstyle: styles,\n\t\t\t\t\tselector,\n\t\t\t\t\thasBlockGapSupport,\n\t\t\t\t\thasFallbackGapSupport,\n\t\t\t\t\tfallbackGapValue,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Process the remaining block styles (they use either normal block class or __experimentalSelector).\n\t\t\tconst declarations = getStylesDeclarations(\n\t\t\t\tstyles,\n\t\t\t\tselector,\n\t\t\t\tuseRootPaddingAlign,\n\t\t\t\ttree\n\t\t\t);\n\t\t\tif ( declarations?.length ) {\n\t\t\t\truleset += `${ selector }{${ declarations.join( ';' ) };}`;\n\t\t\t}\n\n\t\t\t// Check for pseudo selector in `styles` and handle separately.\n\t\t\tconst pseudoSelectorStyles = Object.entries( styles ).filter(\n\t\t\t\t( [ key ] ) => key.startsWith( ':' )\n\t\t\t);\n\n\t\t\tif ( pseudoSelectorStyles?.length ) {\n\t\t\t\tpseudoSelectorStyles.forEach(\n\t\t\t\t\t( [ pseudoKey, pseudoStyle ] ) => {\n\t\t\t\t\t\tconst pseudoDeclarations =\n\t\t\t\t\t\t\tgetStylesDeclarations( pseudoStyle );\n\n\t\t\t\t\t\tif ( ! pseudoDeclarations?.length ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// `selector` maybe provided in a form\n\t\t\t\t\t\t// where block level selectors have sub element\n\t\t\t\t\t\t// selectors appended to them as a comma separated\n\t\t\t\t\t\t// string.\n\t\t\t\t\t\t// e.g. `h1 a,h2 a,h3 a,h4 a,h5 a,h6 a`;\n\t\t\t\t\t\t// Split and append pseudo selector to create\n\t\t\t\t\t\t// the proper rules to target the elements.\n\t\t\t\t\t\tconst _selector = selector\n\t\t\t\t\t\t\t.split( ',' )\n\t\t\t\t\t\t\t.map( ( sel ) => sel + pseudoKey )\n\t\t\t\t\t\t\t.join( ',' );\n\n\t\t\t\t\t\tconst pseudoRule = `${ _selector }{${ pseudoDeclarations.join(\n\t\t\t\t\t\t\t';'\n\t\t\t\t\t\t) };}`;\n\n\t\t\t\t\t\truleset += pseudoRule;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t);\n\n\t/* Add alignment / layout styles */\n\truleset =\n\t\truleset +\n\t\t'.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }';\n\truleset =\n\t\truleset +\n\t\t'.wp-site-blocks > .alignright { float: right; margin-left: 2em; }';\n\truleset =\n\t\truleset +\n\t\t'.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }';\n\n\tif ( hasBlockGapSupport ) {\n\t\t// Use fallback of `0.5em` just in case, however if there is blockGap support, there should nearly always be a real value.\n\t\tconst gapValue =\n\t\t\tgetGapCSSValue( tree?.styles?.spacing?.blockGap ) || '0.5em';\n\t\truleset =\n\t\t\truleset +\n\t\t\t`:where(.wp-site-blocks) > * { margin-block-start: ${ gapValue }; margin-block-end: 0; }`;\n\t\truleset =\n\t\t\truleset +\n\t\t\t':where(.wp-site-blocks) > :first-child:first-child { margin-block-start: 0; }';\n\t\truleset =\n\t\t\truleset +\n\t\t\t':where(.wp-site-blocks) > :last-child:last-child { margin-block-end: 0; }';\n\t}\n\n\tnodesWithSettings.forEach( ( { selector, presets } ) => {\n\t\tif ( ROOT_BLOCK_SELECTOR === selector ) {\n\t\t\t// Do not add extra specificity for top-level classes.\n\t\t\tselector = '';\n\t\t}\n\n\t\tconst classes = getPresetsClasses( selector, presets );\n\t\tif ( classes.length > 0 ) {\n\t\t\truleset += classes;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nexport function toSvgFilters( tree, blockSelectors ) {\n\tconst nodesWithSettings = getNodesWithSettings( tree, blockSelectors );\n\treturn nodesWithSettings.flatMap( ( { presets } ) => {\n\t\treturn getPresetsSvgFilters( presets );\n\t} );\n}\n\nconst getSelectorsConfig = ( blockType, rootSelector ) => {\n\tif (\n\t\tblockType?.selectors &&\n\t\tObject.keys( blockType.selectors ).length > 0\n\t) {\n\t\treturn blockType.selectors;\n\t}\n\n\tconst config = { root: rootSelector };\n\tObject.entries( BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS ).forEach(\n\t\t( [ featureKey, featureName ] ) => {\n\t\t\tconst featureSelector = getBlockCSSSelector(\n\t\t\t\tblockType,\n\t\t\t\tfeatureKey\n\t\t\t);\n\n\t\t\tif ( featureSelector ) {\n\t\t\t\tconfig[ featureName ] = featureSelector;\n\t\t\t}\n\t\t}\n\t);\n\n\treturn config;\n};\n\nexport const getBlockSelectors = ( blockTypes, getBlockStyles ) => {\n\tconst result = {};\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst selector = getBlockCSSSelector( blockType );\n\t\tlet duotoneSelector = getBlockCSSSelector(\n\t\t\tblockType,\n\t\t\t'filter.duotone'\n\t\t);\n\n\t\t// Keep backwards compatibility for support.color.__experimentalDuotone.\n\t\tif ( ! duotoneSelector ) {\n\t\t\tconst rootSelector = getBlockCSSSelector( blockType );\n\t\t\tconst duotoneSupport = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'color.__experimentalDuotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tduotoneSelector =\n\t\t\t\tduotoneSupport && scopeSelector( rootSelector, duotoneSupport );\n\t\t}\n\n\t\tconst hasLayoutSupport =\n\t\t\t!! blockType?.supports?.layout ||\n\t\t\t!! blockType?.supports?.__experimentalLayout;\n\t\tconst fallbackGapValue =\n\t\t\tblockType?.supports?.spacing?.blockGap?.__experimentalDefault;\n\n\t\tconst blockStyleVariations = getBlockStyles( name );\n\t\tconst styleVariationSelectors = {};\n\t\tif ( blockStyleVariations?.length ) {\n\t\t\tblockStyleVariations.forEach( ( variation ) => {\n\t\t\t\tconst styleVariationSelector = `.is-style-${ variation.name }${ selector }`;\n\t\t\t\tstyleVariationSelectors[ variation.name ] =\n\t\t\t\t\tstyleVariationSelector;\n\t\t\t} );\n\t\t}\n\t\t// For each block support feature add any custom selectors.\n\t\tconst featureSelectors = getSelectorsConfig( blockType, selector );\n\n\t\tresult[ name ] = {\n\t\t\tduotoneSelector,\n\t\t\tfallbackGapValue,\n\t\t\tfeatureSelectors: Object.keys( featureSelectors ).length\n\t\t\t\t? featureSelectors\n\t\t\t\t: undefined,\n\t\t\thasLayoutSupport,\n\t\t\tname,\n\t\t\tselector,\n\t\t\tstyleVariationSelectors: Object.keys( styleVariationSelectors )\n\t\t\t\t.length\n\t\t\t\t? styleVariationSelectors\n\t\t\t\t: undefined,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\n/**\n * If there is a separator block whose color is defined in theme.json via background,\n * update the separator color to the same value by using border color.\n *\n * @param {Object} config Theme.json configuration file object.\n * @return {Object} configTheme.json configuration file object updated.\n */\nfunction updateConfigWithSeparator( config ) {\n\tconst needsSeparatorStyleUpdate =\n\t\tconfig.styles?.blocks?.[ 'core/separator' ] &&\n\t\tconfig.styles?.blocks?.[ 'core/separator' ].color?.background &&\n\t\t! config.styles?.blocks?.[ 'core/separator' ].color?.text &&\n\t\t! config.styles?.blocks?.[ 'core/separator' ].border?.color;\n\tif ( needsSeparatorStyleUpdate ) {\n\t\treturn {\n\t\t\t...config,\n\t\t\tstyles: {\n\t\t\t\t...config.styles,\n\t\t\t\tblocks: {\n\t\t\t\t\t...config.styles.blocks,\n\t\t\t\t\t'core/separator': {\n\t\t\t\t\t\t...config.styles.blocks[ 'core/separator' ],\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t...config.styles.blocks[ 'core/separator' ].color,\n\t\t\t\t\t\t\ttext: config.styles?.blocks[ 'core/separator' ]\n\t\t\t\t\t\t\t\t.color.background,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\treturn config;\n}\n\nconst processCSSNesting = ( css, blockSelector ) => {\n\tlet processedCSS = '';\n\n\t// Split CSS nested rules.\n\tconst parts = css.split( '&' );\n\tparts.forEach( ( part ) => {\n\t\tprocessedCSS += ! part.includes( '{' )\n\t\t\t? blockSelector + '{' + part + '}' // If the part doesn't contain braces, it applies to the root level.\n\t\t\t: blockSelector + part; // Prepend the selector, which effectively replaces the \"&\" character.\n\t} );\n\treturn processedCSS;\n};\n\n/**\n * Returns the global styles output using a global styles configuration.\n * If wishing to generate global styles and settings based on the\n * global styles config loaded in the editor context, use `useGlobalStylesOutput()`.\n * The use case for a custom config is to generate bespoke styles\n * and settings for previews, or other out-of-editor experiences.\n *\n * @param {Object} mergedConfig Global styles configuration.\n * @return {Array} Array of stylesheets and settings.\n */\nexport function useGlobalStylesOutputWithConfig( mergedConfig = {} ) {\n\tconst [ blockGap ] = useGlobalSetting( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGap !== null;\n\tconst hasFallbackGapSupport = ! hasBlockGapSupport; // This setting isn't useful yet: it exists as a placeholder for a future explicit fallback styles support.\n\tconst disableLayoutStyles = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn !! getSettings().disableLayoutStyles;\n\t} );\n\n\tconst getBlockStyles = useSelect( ( select ) => {\n\t\treturn select( blocksStore ).getBlockStyles;\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\tif ( ! mergedConfig?.styles || ! mergedConfig?.settings ) {\n\t\t\treturn [];\n\t\t}\n\t\tmergedConfig = updateConfigWithSeparator( mergedConfig );\n\n\t\tconst blockSelectors = getBlockSelectors(\n\t\t\tgetBlockTypes(),\n\t\t\tgetBlockStyles\n\t\t);\n\n\t\tconst customProperties = toCustomProperties(\n\t\t\tmergedConfig,\n\t\t\tblockSelectors\n\t\t);\n\t\tconst globalStyles = toStyles(\n\t\t\tmergedConfig,\n\t\t\tblockSelectors,\n\t\t\thasBlockGapSupport,\n\t\t\thasFallbackGapSupport,\n\t\t\tdisableLayoutStyles\n\t\t);\n\t\tconst svgs = toSvgFilters( mergedConfig, blockSelectors );\n\n\t\tconst styles = [\n\t\t\t{\n\t\t\t\tcss: customProperties,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcss: globalStyles,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t\t// Load custom CSS in own stylesheet so that any invalid CSS entered in the input won't break all the global styles in the editor.\n\t\t\t{\n\t\t\t\tcss: mergedConfig.styles.css ?? '',\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tassets: svgs,\n\t\t\t\t__unstableType: 'svg',\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t];\n\n\t\t// Loop through the blocks to check if there are custom CSS values.\n\t\t// If there are, get the block selector and push the selector together with\n\t\t// the CSS value to the 'stylesheets' array.\n\t\tgetBlockTypes().forEach( ( blockType ) => {\n\t\t\tif ( mergedConfig.styles.blocks[ blockType.name ]?.css ) {\n\t\t\t\tconst selector = blockSelectors[ blockType.name ].selector;\n\t\t\t\tstyles.push( {\n\t\t\t\t\tcss: processCSSNesting(\n\t\t\t\t\t\tmergedConfig.styles.blocks[ blockType.name ]?.css,\n\t\t\t\t\t\tselector\n\t\t\t\t\t),\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\treturn [ styles, mergedConfig.settings ];\n\t}, [\n\t\thasBlockGapSupport,\n\t\thasFallbackGapSupport,\n\t\tmergedConfig,\n\t\tdisableLayoutStyles,\n\t] );\n}\n\n/**\n * Returns the global styles output based on the current state of global styles config loaded in the editor context.\n *\n * @return {Array} Array of stylesheets and settings.\n */\nexport function useGlobalStylesOutput() {\n\tconst { merged: mergedConfig } = useContext( GlobalStylesContext );\n\treturn useGlobalStylesOutputWithConfig( mergedConfig );\n}\n"],"mappings":"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"}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import fastDeepEqual from 'fast-deep-equal/es6';
|
|
5
|
+
|
|
5
6
|
/**
|
|
6
7
|
* Internal dependencies
|
|
7
8
|
*/
|
|
8
|
-
|
|
9
9
|
import { getTypographyFontSizeValue, getFluidTypographyOptionsFromSettings } from './typography-utils';
|
|
10
10
|
import { getValueFromObjectPath } from '../../utils/object';
|
|
11
|
-
/* Supporting data. */
|
|
12
11
|
|
|
12
|
+
/* Supporting data. */
|
|
13
13
|
export const ROOT_BLOCK_NAME = 'root';
|
|
14
14
|
export const ROOT_BLOCK_SELECTOR = 'body';
|
|
15
15
|
export const ROOT_BLOCK_SUPPORTS = ['background', 'backgroundColor', 'color', 'linkColor', 'captionColor', 'buttonColor', 'headingColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform', 'padding'];
|
|
@@ -120,8 +120,9 @@ export const STYLE_PATH_TO_CSS_VAR_INFIX = {
|
|
|
120
120
|
shadow: 'shadow',
|
|
121
121
|
'typography.fontSize': 'font-size',
|
|
122
122
|
'typography.fontFamily': 'font-family'
|
|
123
|
-
};
|
|
123
|
+
};
|
|
124
124
|
|
|
125
|
+
// A static list of block attributes that store global style preset slugs.
|
|
125
126
|
export const STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = {
|
|
126
127
|
'color.background': 'backgroundColor',
|
|
127
128
|
'color.text': 'textColor',
|
|
@@ -129,34 +130,26 @@ export const STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = {
|
|
|
129
130
|
'typography.fontSize': 'fontSize',
|
|
130
131
|
'typography.fontFamily': 'fontFamily'
|
|
131
132
|
};
|
|
132
|
-
|
|
133
133
|
function findInPresetsBy(features, blockName, presetPath, presetProperty, presetValueValue) {
|
|
134
134
|
// Block presets take priority above root level presets.
|
|
135
135
|
const orderedPresetsByOrigin = [getValueFromObjectPath(features, ['blocks', blockName, ...presetPath]), getValueFromObjectPath(features, presetPath)];
|
|
136
|
-
|
|
137
136
|
for (const presetByOrigin of orderedPresetsByOrigin) {
|
|
138
137
|
if (presetByOrigin) {
|
|
139
138
|
// Preset origins ordered by priority.
|
|
140
139
|
const origins = ['custom', 'theme', 'default'];
|
|
141
|
-
|
|
142
140
|
for (const origin of origins) {
|
|
143
141
|
const presets = presetByOrigin[origin];
|
|
144
|
-
|
|
145
142
|
if (presets) {
|
|
146
143
|
const presetObject = presets.find(preset => preset[presetProperty] === presetValueValue);
|
|
147
|
-
|
|
148
144
|
if (presetObject) {
|
|
149
145
|
if (presetProperty === 'slug') {
|
|
150
146
|
return presetObject;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
147
|
+
}
|
|
148
|
+
// If there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.
|
|
154
149
|
const highestPresetObjectWithSameSlug = findInPresetsBy(features, blockName, presetPath, 'slug', presetObject.slug);
|
|
155
|
-
|
|
156
150
|
if (highestPresetObjectWithSameSlug[presetProperty] === presetObject[presetProperty]) {
|
|
157
151
|
return presetObject;
|
|
158
152
|
}
|
|
159
|
-
|
|
160
153
|
return undefined;
|
|
161
154
|
}
|
|
162
155
|
}
|
|
@@ -164,45 +157,35 @@ function findInPresetsBy(features, blockName, presetPath, presetProperty, preset
|
|
|
164
157
|
}
|
|
165
158
|
}
|
|
166
159
|
}
|
|
167
|
-
|
|
168
160
|
export function getPresetVariableFromValue(features, blockName, variableStylePath, presetPropertyValue) {
|
|
169
161
|
if (!presetPropertyValue) {
|
|
170
162
|
return presetPropertyValue;
|
|
171
163
|
}
|
|
172
|
-
|
|
173
164
|
const cssVarInfix = STYLE_PATH_TO_CSS_VAR_INFIX[variableStylePath];
|
|
174
165
|
const metadata = PRESET_METADATA.find(data => data.cssVarInfix === cssVarInfix);
|
|
175
|
-
|
|
176
166
|
if (!metadata) {
|
|
177
167
|
// The property doesn't have preset data
|
|
178
168
|
// so the value should be returned as it is.
|
|
179
169
|
return presetPropertyValue;
|
|
180
170
|
}
|
|
181
|
-
|
|
182
171
|
const {
|
|
183
172
|
valueKey,
|
|
184
173
|
path
|
|
185
174
|
} = metadata;
|
|
186
175
|
const presetObject = findInPresetsBy(features, blockName, path, valueKey, presetPropertyValue);
|
|
187
|
-
|
|
188
176
|
if (!presetObject) {
|
|
189
177
|
// Value wasn't found in the presets,
|
|
190
178
|
// so it must be a custom value.
|
|
191
179
|
return presetPropertyValue;
|
|
192
180
|
}
|
|
193
|
-
|
|
194
181
|
return `var:preset|${cssVarInfix}|${presetObject.slug}`;
|
|
195
182
|
}
|
|
196
|
-
|
|
197
183
|
function getValueFromPresetVariable(features, blockName, variable, [presetType, slug]) {
|
|
198
184
|
const metadata = PRESET_METADATA.find(data => data.cssVarInfix === presetType);
|
|
199
|
-
|
|
200
185
|
if (!metadata) {
|
|
201
186
|
return variable;
|
|
202
187
|
}
|
|
203
|
-
|
|
204
188
|
const presetObject = findInPresetsBy(features.settings, blockName, metadata.path, 'slug', slug);
|
|
205
|
-
|
|
206
189
|
if (presetObject) {
|
|
207
190
|
const {
|
|
208
191
|
valueKey
|
|
@@ -210,22 +193,18 @@ function getValueFromPresetVariable(features, blockName, variable, [presetType,
|
|
|
210
193
|
const result = presetObject[valueKey];
|
|
211
194
|
return getValueFromVariable(features, blockName, result);
|
|
212
195
|
}
|
|
213
|
-
|
|
214
196
|
return variable;
|
|
215
197
|
}
|
|
216
|
-
|
|
217
198
|
function getValueFromCustomVariable(features, blockName, variable, path) {
|
|
218
199
|
var _getValueFromObjectPa;
|
|
219
|
-
|
|
220
200
|
const result = (_getValueFromObjectPa = getValueFromObjectPath(features.settings, ['blocks', blockName, 'custom', ...path])) !== null && _getValueFromObjectPa !== void 0 ? _getValueFromObjectPa : getValueFromObjectPath(features.settings, ['custom', ...path]);
|
|
221
|
-
|
|
222
201
|
if (!result) {
|
|
223
202
|
return variable;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
|
|
203
|
+
}
|
|
204
|
+
// A variable may reference another variable so we need recursion until we find the value.
|
|
227
205
|
return getValueFromVariable(features, blockName, result);
|
|
228
206
|
}
|
|
207
|
+
|
|
229
208
|
/**
|
|
230
209
|
* Attempts to fetch the value of a theme.json CSS variable.
|
|
231
210
|
*
|
|
@@ -234,15 +213,13 @@ function getValueFromCustomVariable(features, blockName, variable, path) {
|
|
|
234
213
|
* @param {string|*} variable An incoming style value. A CSS var value is expected, but it could be any value.
|
|
235
214
|
* @return {string|*|{ref}} The value of the CSS var, if found. If not found, the passed variable argument.
|
|
236
215
|
*/
|
|
237
|
-
|
|
238
|
-
|
|
239
216
|
export function getValueFromVariable(features, blockName, variable) {
|
|
240
217
|
if (!variable || typeof variable !== 'string') {
|
|
241
218
|
if (variable?.ref && typeof variable?.ref === 'string') {
|
|
242
219
|
const refPath = variable.ref.split('.');
|
|
243
|
-
variable = getValueFromObjectPath(features, refPath);
|
|
220
|
+
variable = getValueFromObjectPath(features, refPath);
|
|
221
|
+
// Presence of another ref indicates a reference to another dynamic value.
|
|
244
222
|
// Pointing to another dynamic value is not supported.
|
|
245
|
-
|
|
246
223
|
if (!variable || !!variable?.ref) {
|
|
247
224
|
return variable;
|
|
248
225
|
}
|
|
@@ -250,12 +227,10 @@ export function getValueFromVariable(features, blockName, variable) {
|
|
|
250
227
|
return variable;
|
|
251
228
|
}
|
|
252
229
|
}
|
|
253
|
-
|
|
254
230
|
const USER_VALUE_PREFIX = 'var:';
|
|
255
231
|
const THEME_VALUE_PREFIX = 'var(--wp--';
|
|
256
232
|
const THEME_VALUE_SUFFIX = ')';
|
|
257
233
|
let parsedVar;
|
|
258
|
-
|
|
259
234
|
if (variable.startsWith(USER_VALUE_PREFIX)) {
|
|
260
235
|
parsedVar = variable.slice(USER_VALUE_PREFIX.length).split('|');
|
|
261
236
|
} else if (variable.startsWith(THEME_VALUE_PREFIX) && variable.endsWith(THEME_VALUE_SUFFIX)) {
|
|
@@ -264,19 +239,16 @@ export function getValueFromVariable(features, blockName, variable) {
|
|
|
264
239
|
// We don't know how to parse the value: either is raw of uses complex CSS such as `calc(1px * var(--wp--variable) )`
|
|
265
240
|
return variable;
|
|
266
241
|
}
|
|
267
|
-
|
|
268
242
|
const [type, ...path] = parsedVar;
|
|
269
|
-
|
|
270
243
|
if (type === 'preset') {
|
|
271
244
|
return getValueFromPresetVariable(features, blockName, variable, path);
|
|
272
245
|
}
|
|
273
|
-
|
|
274
246
|
if (type === 'custom') {
|
|
275
247
|
return getValueFromCustomVariable(features, blockName, variable, path);
|
|
276
248
|
}
|
|
277
|
-
|
|
278
249
|
return variable;
|
|
279
250
|
}
|
|
251
|
+
|
|
280
252
|
/**
|
|
281
253
|
* Function that scopes a selector with another one. This works a bit like
|
|
282
254
|
* SCSS nesting except the `&` operator isn't supported.
|
|
@@ -294,7 +266,6 @@ export function getValueFromVariable(features, blockName, variable) {
|
|
|
294
266
|
*
|
|
295
267
|
* @return {string} Scoped selector.
|
|
296
268
|
*/
|
|
297
|
-
|
|
298
269
|
export function scopeSelector(scope, selector) {
|
|
299
270
|
const scopes = scope.split(',');
|
|
300
271
|
const selectors = selector.split(',');
|
|
@@ -306,6 +277,7 @@ export function scopeSelector(scope, selector) {
|
|
|
306
277
|
});
|
|
307
278
|
return selectorsScoped.join(', ');
|
|
308
279
|
}
|
|
280
|
+
|
|
309
281
|
/**
|
|
310
282
|
* Compares global style variations according to their styles and settings properties.
|
|
311
283
|
*
|
|
@@ -322,12 +294,10 @@ export function scopeSelector(scope, selector) {
|
|
|
322
294
|
*
|
|
323
295
|
* @return {boolean} Whether `original` and `variation` match.
|
|
324
296
|
*/
|
|
325
|
-
|
|
326
297
|
export function areGlobalStyleConfigsEqual(original, variation) {
|
|
327
298
|
if (typeof original !== 'object' || typeof variation !== 'object') {
|
|
328
299
|
return original === variation;
|
|
329
300
|
}
|
|
330
|
-
|
|
331
301
|
return fastDeepEqual(original?.styles, variation?.styles) && fastDeepEqual(original?.settings, variation?.settings) && fastDeepEqual(original?.behaviors, variation?.behaviors);
|
|
332
302
|
}
|
|
333
303
|
//# sourceMappingURL=utils.js.map
|