@wordpress/block-editor 12.6.0 → 12.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +44 -2
- package/build/autocompleters/block.js +9 -24
- 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 +3 -14
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +5 -12
- 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 +3 -12
- 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 +39 -80
- 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 +11 -32
- 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 +10 -35
- 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 +2 -6
- 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 +1 -10
- 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 +6 -16
- 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 +11 -43
- 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 +15 -19
- 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 +16 -53
- 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 +10 -64
- 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 +58 -74
- 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 +50 -23
- 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 +11 -36
- 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 +5 -17
- 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 +52 -51
- 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 +64 -0
- package/build/components/global-styles/behaviors-panel.js.map +1 -0
- 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 +136 -71
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +19 -15
- 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 +8 -16
- 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 +12 -49
- 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 +23 -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 +6 -8
- 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 +6 -10
- 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 +6 -13
- 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 +6 -19
- 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 +2 -17
- 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 +4 -16
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +3 -15
- 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 +5 -16
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +3 -10
- 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 +79 -52
- 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 +11 -19
- 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 +38 -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 +13 -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 +52 -30
- 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 +12 -38
- 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 +0 -4
- 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 +36 -68
- 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 +14 -32
- package/build/hooks/behaviors.js.map +1 -1
- package/build/hooks/border.js +47 -80
- 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 +38 -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 +5 -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 +188 -287
- 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 +257 -522
- 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 +10 -16
- 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 +3 -8
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js +5 -8
- 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 +5 -8
- 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 +42 -63
- 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 +12 -18
- 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 +13 -11
- 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 +4 -4
- 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 +1 -4
- 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 +6 -9
- 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 +14 -35
- 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 +17 -12
- 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 +17 -40
- 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 +13 -49
- 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 +56 -69
- 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 +51 -13
- 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 +15 -30
- 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 +6 -12
- 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 +52 -48
- 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 +57 -0
- package/build-module/components/global-styles/behaviors-panel.js.map +1 -0
- 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 +136 -56
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +2 -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 +10 -16
- 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 +14 -44
- 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 +26 -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 +9 -6
- 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 +5 -7
- 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 +6 -7
- 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 +6 -10
- 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 +3 -10
- 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 +4 -10
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +4 -8
- 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 +5 -9
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +3 -6
- 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 +81 -38
- 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 +12 -11
- 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 +40 -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 +14 -3
- 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 +49 -28
- 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 +15 -34
- 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 +1 -2
- 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 +35 -52
- 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 +14 -25
- package/build-module/hooks/behaviors.js.map +1 -1
- package/build-module/hooks/border.js +48 -65
- 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 +39 -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 +6 -5
- 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 +189 -198
- 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 +255 -398
- 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 +69 -10
- package/build-style/style.css +69 -10
- package/package.json +33 -32
- package/src/autocompleters/block.js +21 -6
- 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-draggable/test/index.native.js +2 -3
- package/src/components/block-editing-mode/index.js +4 -8
- 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 +7 -3
- package/src/components/block-list/index.js +3 -6
- package/src/components/block-list/index.native.js +14 -14
- package/src/components/block-list/test/block-invalid-warning.native.js +15 -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-mover/test/__snapshots__/index.native.js.snap +24 -0
- package/src/components/block-parent-selector/index.js +30 -43
- package/src/components/block-preview/auto.js +8 -1
- package/src/components/block-preview/index.js +0 -1
- package/src/components/block-preview/style.scss +2 -1
- package/src/components/block-settings-menu/block-settings-dropdown.js +4 -13
- package/src/components/block-toolbar/index.js +36 -64
- package/src/components/block-toolbar/style.scss +10 -0
- package/src/components/block-toolbar/utils.js +57 -45
- package/src/components/block-tools/block-contextual-toolbar.js +124 -38
- package/src/components/block-tools/style.scss +49 -13
- package/src/components/block-variation-picker/index.native.js +52 -72
- package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
- 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/editor-styles/index.js +2 -2
- package/src/components/font-sizes/fluid-utils.js +17 -17
- package/src/components/font-sizes/test/fluid-utils.js +6 -6
- package/src/components/global-styles/behaviors-panel.js +71 -0
- package/src/components/global-styles/hooks.js +114 -5
- package/src/components/global-styles/index.js +3 -0
- package/src/components/global-styles/test/typography-utils.js +61 -6
- package/src/components/global-styles/typography-utils.js +15 -6
- package/src/components/global-styles/use-global-styles-output.js +1 -2
- package/src/components/global-styles/utils.js +2 -1
- package/src/components/iframe/index.js +1 -0
- package/src/components/index.js +7 -0
- package/src/components/inserter/hooks/use-block-types-state.js +15 -6
- package/src/components/inserter/hooks/use-debounced-input.js +8 -7
- package/src/components/inserter/hooks/use-patterns-state.js +2 -1
- package/src/components/inserter/menu.js +1 -0
- package/src/components/inserter/preview-panel.js +15 -11
- package/src/components/inserter/reusable-blocks-tab.js +4 -1
- 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/inserter-list-item/index.js +3 -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/README.md +12 -3
- package/src/components/link-control/index.js +70 -13
- package/src/components/link-control/link-preview.js +10 -4
- package/src/components/link-control/style.scss +12 -2
- package/src/components/link-control/test/index.js +64 -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-drop-zone.js +5 -1
- package/src/components/list-view/use-list-view-images.js +79 -0
- package/src/components/media-replace-flow/index.native.js +12 -3
- package/src/components/media-upload/test/index.native.js +1 -0
- package/src/components/rich-text/format-edit.js +62 -38
- package/src/components/rich-text/get-rich-text-values.js +22 -28
- 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/spacing-sizes-control/test/utils.js +9 -1
- package/src/components/spacing-sizes-control/utils.js +2 -2
- 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/behaviors.js +10 -16
- package/src/hooks/border.js +2 -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/hooks/style.js +7 -3
- package/src/private-apis.js +2 -2
- package/src/store/actions.js +71 -30
- package/src/store/private-actions.js +0 -39
- package/src/store/private-selectors.js +1 -67
- package/src/store/selectors.js +66 -81
- 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 +209 -6
- 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":["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","PRESET_METADATA","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","ROOT_BLOCK_SELECTOR","output","STYLE_PROPERTY","properties","useEngine","rootOnly","pathToValue","styleValue","entry","name","prop","cssProperty","extraRules","rule","ruleValue","ref","refPath","size","settings","getLayoutStyles","layoutDefinitions","LAYOUT_DEFINITIONS","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","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","blockEditorStore","blocksStore","customProperties","globalStyles","svgs","isGlobalStyles","assets","__unstableType","useGlobalStylesOutput","merged","GlobalStylesContext"],"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":["_element","require","_blocks","_data","_styleEngine","_utils","_getBlockCssSelector","_typographyUtils","_context","_hooks","_components","_gap","_store","_definitions","_object","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","PRESET_METADATA","reduce","declarations","path","valueKey","valueFunc","cssVarInfix","presetByOrigin","getValueFromObjectPath","forEach","origin","value","push","kebabCase","slug","getPresetsClasses","blockSelector","classes","classSuffix","propertyName","classSelectorToUse","selectorToUse","map","selector","getPresetsSvgFilters","filter","metadata","at","flatMap","preset","renderToString","createElement","PresetDuotoneFilter","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","ROOT_BLOCK_SELECTOR","output","STYLE_PROPERTY","properties","useEngine","rootOnly","pathToValue","styleValue","entry","name","prop","cssProperty","extraRules","getCSSRules","rule","ruleValue","ref","refPath","getTypographyFontSizeValue","size","getFluidTypographyOptionsFromSettings","settings","getLayoutStyles","layoutDefinitions","LAYOUT_DEFINITIONS","style","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","ruleset","gapValue","getGapCSSValue","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","elements","blocks","blockName","node","_node$elements","variations","variation","duotoneSelector","hasLayoutSupport","styleVariationSelectors","elementName","sel","elementSelectors","elementSelector","exports","getNodesWithSettings","_tree$settings$blocks","pickPresets","presets","setImmutably","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","getBlockCSSSelector","getBlockSelectors","blockTypes","getBlockStyles","duotoneSupport","getBlockSupport","scopeSelector","supports","__experimentalLayout","__experimentalDefault","blockStyleVariations","undefined","updateConfigWithSeparator","needsSeparatorStyleUpdate","background","text","border","processCSSNesting","css","processedCSS","parts","part","useGlobalStylesOutputWithConfig","mergedConfig","useGlobalSetting","useSelect","select","getSettings","blockEditorStore","blocksStore","useMemo","_mergedConfig$styles$","getBlockTypes","customProperties","globalStyles","svgs","isGlobalStyles","assets","__unstableType","useGlobalStylesOutput","merged","useContext","GlobalStylesContext"],"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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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -10,13 +9,9 @@ exports.areGlobalStyleConfigsEqual = areGlobalStyleConfigsEqual;
|
|
|
10
9
|
exports.getPresetVariableFromValue = getPresetVariableFromValue;
|
|
11
10
|
exports.getValueFromVariable = getValueFromVariable;
|
|
12
11
|
exports.scopeSelector = scopeSelector;
|
|
13
|
-
|
|
14
12
|
var _es = _interopRequireDefault(require("fast-deep-equal/es6"));
|
|
15
|
-
|
|
16
13
|
var _typographyUtils = require("./typography-utils");
|
|
17
|
-
|
|
18
14
|
var _object = require("../../utils/object");
|
|
19
|
-
|
|
20
15
|
/**
|
|
21
16
|
* External dependencies
|
|
22
17
|
*/
|
|
@@ -140,8 +135,9 @@ const STYLE_PATH_TO_CSS_VAR_INFIX = {
|
|
|
140
135
|
shadow: 'shadow',
|
|
141
136
|
'typography.fontSize': 'font-size',
|
|
142
137
|
'typography.fontFamily': 'font-family'
|
|
143
|
-
};
|
|
138
|
+
};
|
|
144
139
|
|
|
140
|
+
// A static list of block attributes that store global style preset slugs.
|
|
145
141
|
exports.STYLE_PATH_TO_CSS_VAR_INFIX = STYLE_PATH_TO_CSS_VAR_INFIX;
|
|
146
142
|
const STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = {
|
|
147
143
|
'color.background': 'backgroundColor',
|
|
@@ -151,34 +147,26 @@ const STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = {
|
|
|
151
147
|
'typography.fontFamily': 'fontFamily'
|
|
152
148
|
};
|
|
153
149
|
exports.STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE;
|
|
154
|
-
|
|
155
150
|
function findInPresetsBy(features, blockName, presetPath, presetProperty, presetValueValue) {
|
|
156
151
|
// Block presets take priority above root level presets.
|
|
157
152
|
const orderedPresetsByOrigin = [(0, _object.getValueFromObjectPath)(features, ['blocks', blockName, ...presetPath]), (0, _object.getValueFromObjectPath)(features, presetPath)];
|
|
158
|
-
|
|
159
153
|
for (const presetByOrigin of orderedPresetsByOrigin) {
|
|
160
154
|
if (presetByOrigin) {
|
|
161
155
|
// Preset origins ordered by priority.
|
|
162
156
|
const origins = ['custom', 'theme', 'default'];
|
|
163
|
-
|
|
164
157
|
for (const origin of origins) {
|
|
165
158
|
const presets = presetByOrigin[origin];
|
|
166
|
-
|
|
167
159
|
if (presets) {
|
|
168
160
|
const presetObject = presets.find(preset => preset[presetProperty] === presetValueValue);
|
|
169
|
-
|
|
170
161
|
if (presetObject) {
|
|
171
162
|
if (presetProperty === 'slug') {
|
|
172
163
|
return presetObject;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
|
|
164
|
+
}
|
|
165
|
+
// If there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.
|
|
176
166
|
const highestPresetObjectWithSameSlug = findInPresetsBy(features, blockName, presetPath, 'slug', presetObject.slug);
|
|
177
|
-
|
|
178
167
|
if (highestPresetObjectWithSameSlug[presetProperty] === presetObject[presetProperty]) {
|
|
179
168
|
return presetObject;
|
|
180
169
|
}
|
|
181
|
-
|
|
182
170
|
return undefined;
|
|
183
171
|
}
|
|
184
172
|
}
|
|
@@ -186,45 +174,35 @@ function findInPresetsBy(features, blockName, presetPath, presetProperty, preset
|
|
|
186
174
|
}
|
|
187
175
|
}
|
|
188
176
|
}
|
|
189
|
-
|
|
190
177
|
function getPresetVariableFromValue(features, blockName, variableStylePath, presetPropertyValue) {
|
|
191
178
|
if (!presetPropertyValue) {
|
|
192
179
|
return presetPropertyValue;
|
|
193
180
|
}
|
|
194
|
-
|
|
195
181
|
const cssVarInfix = STYLE_PATH_TO_CSS_VAR_INFIX[variableStylePath];
|
|
196
182
|
const metadata = PRESET_METADATA.find(data => data.cssVarInfix === cssVarInfix);
|
|
197
|
-
|
|
198
183
|
if (!metadata) {
|
|
199
184
|
// The property doesn't have preset data
|
|
200
185
|
// so the value should be returned as it is.
|
|
201
186
|
return presetPropertyValue;
|
|
202
187
|
}
|
|
203
|
-
|
|
204
188
|
const {
|
|
205
189
|
valueKey,
|
|
206
190
|
path
|
|
207
191
|
} = metadata;
|
|
208
192
|
const presetObject = findInPresetsBy(features, blockName, path, valueKey, presetPropertyValue);
|
|
209
|
-
|
|
210
193
|
if (!presetObject) {
|
|
211
194
|
// Value wasn't found in the presets,
|
|
212
195
|
// so it must be a custom value.
|
|
213
196
|
return presetPropertyValue;
|
|
214
197
|
}
|
|
215
|
-
|
|
216
198
|
return `var:preset|${cssVarInfix}|${presetObject.slug}`;
|
|
217
199
|
}
|
|
218
|
-
|
|
219
200
|
function getValueFromPresetVariable(features, blockName, variable, [presetType, slug]) {
|
|
220
201
|
const metadata = PRESET_METADATA.find(data => data.cssVarInfix === presetType);
|
|
221
|
-
|
|
222
202
|
if (!metadata) {
|
|
223
203
|
return variable;
|
|
224
204
|
}
|
|
225
|
-
|
|
226
205
|
const presetObject = findInPresetsBy(features.settings, blockName, metadata.path, 'slug', slug);
|
|
227
|
-
|
|
228
206
|
if (presetObject) {
|
|
229
207
|
const {
|
|
230
208
|
valueKey
|
|
@@ -232,22 +210,18 @@ function getValueFromPresetVariable(features, blockName, variable, [presetType,
|
|
|
232
210
|
const result = presetObject[valueKey];
|
|
233
211
|
return getValueFromVariable(features, blockName, result);
|
|
234
212
|
}
|
|
235
|
-
|
|
236
213
|
return variable;
|
|
237
214
|
}
|
|
238
|
-
|
|
239
215
|
function getValueFromCustomVariable(features, blockName, variable, path) {
|
|
240
216
|
var _getValueFromObjectPa;
|
|
241
|
-
|
|
242
217
|
const result = (_getValueFromObjectPa = (0, _object.getValueFromObjectPath)(features.settings, ['blocks', blockName, 'custom', ...path])) !== null && _getValueFromObjectPa !== void 0 ? _getValueFromObjectPa : (0, _object.getValueFromObjectPath)(features.settings, ['custom', ...path]);
|
|
243
|
-
|
|
244
218
|
if (!result) {
|
|
245
219
|
return variable;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
|
|
220
|
+
}
|
|
221
|
+
// A variable may reference another variable so we need recursion until we find the value.
|
|
249
222
|
return getValueFromVariable(features, blockName, result);
|
|
250
223
|
}
|
|
224
|
+
|
|
251
225
|
/**
|
|
252
226
|
* Attempts to fetch the value of a theme.json CSS variable.
|
|
253
227
|
*
|
|
@@ -256,15 +230,13 @@ function getValueFromCustomVariable(features, blockName, variable, path) {
|
|
|
256
230
|
* @param {string|*} variable An incoming style value. A CSS var value is expected, but it could be any value.
|
|
257
231
|
* @return {string|*|{ref}} The value of the CSS var, if found. If not found, the passed variable argument.
|
|
258
232
|
*/
|
|
259
|
-
|
|
260
|
-
|
|
261
233
|
function getValueFromVariable(features, blockName, variable) {
|
|
262
234
|
if (!variable || typeof variable !== 'string') {
|
|
263
235
|
if (variable?.ref && typeof variable?.ref === 'string') {
|
|
264
236
|
const refPath = variable.ref.split('.');
|
|
265
|
-
variable = (0, _object.getValueFromObjectPath)(features, refPath);
|
|
237
|
+
variable = (0, _object.getValueFromObjectPath)(features, refPath);
|
|
238
|
+
// Presence of another ref indicates a reference to another dynamic value.
|
|
266
239
|
// Pointing to another dynamic value is not supported.
|
|
267
|
-
|
|
268
240
|
if (!variable || !!variable?.ref) {
|
|
269
241
|
return variable;
|
|
270
242
|
}
|
|
@@ -272,12 +244,10 @@ function getValueFromVariable(features, blockName, variable) {
|
|
|
272
244
|
return variable;
|
|
273
245
|
}
|
|
274
246
|
}
|
|
275
|
-
|
|
276
247
|
const USER_VALUE_PREFIX = 'var:';
|
|
277
248
|
const THEME_VALUE_PREFIX = 'var(--wp--';
|
|
278
249
|
const THEME_VALUE_SUFFIX = ')';
|
|
279
250
|
let parsedVar;
|
|
280
|
-
|
|
281
251
|
if (variable.startsWith(USER_VALUE_PREFIX)) {
|
|
282
252
|
parsedVar = variable.slice(USER_VALUE_PREFIX.length).split('|');
|
|
283
253
|
} else if (variable.startsWith(THEME_VALUE_PREFIX) && variable.endsWith(THEME_VALUE_SUFFIX)) {
|
|
@@ -286,19 +256,16 @@ function getValueFromVariable(features, blockName, variable) {
|
|
|
286
256
|
// We don't know how to parse the value: either is raw of uses complex CSS such as `calc(1px * var(--wp--variable) )`
|
|
287
257
|
return variable;
|
|
288
258
|
}
|
|
289
|
-
|
|
290
259
|
const [type, ...path] = parsedVar;
|
|
291
|
-
|
|
292
260
|
if (type === 'preset') {
|
|
293
261
|
return getValueFromPresetVariable(features, blockName, variable, path);
|
|
294
262
|
}
|
|
295
|
-
|
|
296
263
|
if (type === 'custom') {
|
|
297
264
|
return getValueFromCustomVariable(features, blockName, variable, path);
|
|
298
265
|
}
|
|
299
|
-
|
|
300
266
|
return variable;
|
|
301
267
|
}
|
|
268
|
+
|
|
302
269
|
/**
|
|
303
270
|
* Function that scopes a selector with another one. This works a bit like
|
|
304
271
|
* SCSS nesting except the `&` operator isn't supported.
|
|
@@ -316,8 +283,6 @@ function getValueFromVariable(features, blockName, variable) {
|
|
|
316
283
|
*
|
|
317
284
|
* @return {string} Scoped selector.
|
|
318
285
|
*/
|
|
319
|
-
|
|
320
|
-
|
|
321
286
|
function scopeSelector(scope, selector) {
|
|
322
287
|
const scopes = scope.split(',');
|
|
323
288
|
const selectors = selector.split(',');
|
|
@@ -329,6 +294,7 @@ function scopeSelector(scope, selector) {
|
|
|
329
294
|
});
|
|
330
295
|
return selectorsScoped.join(', ');
|
|
331
296
|
}
|
|
297
|
+
|
|
332
298
|
/**
|
|
333
299
|
* Compares global style variations according to their styles and settings properties.
|
|
334
300
|
*
|
|
@@ -345,13 +311,10 @@ function scopeSelector(scope, selector) {
|
|
|
345
311
|
*
|
|
346
312
|
* @return {boolean} Whether `original` and `variation` match.
|
|
347
313
|
*/
|
|
348
|
-
|
|
349
|
-
|
|
350
314
|
function areGlobalStyleConfigsEqual(original, variation) {
|
|
351
315
|
if (typeof original !== 'object' || typeof variation !== 'object') {
|
|
352
316
|
return original === variation;
|
|
353
317
|
}
|
|
354
|
-
|
|
355
|
-
return (0, _es.default)(original?.styles, variation?.styles) && (0, _es.default)(original?.settings, variation?.settings);
|
|
318
|
+
return (0, _es.default)(original?.styles, variation?.styles) && (0, _es.default)(original?.settings, variation?.settings) && (0, _es.default)(original?.behaviors, variation?.behaviors);
|
|
356
319
|
}
|
|
357
320
|
//# sourceMappingURL=utils.js.map
|