@wordpress/block-editor 16.1.0 → 17.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +78 -0
- package/README.md +13 -1
- package/build/autocompleters/block.cjs.map +2 -2
- package/build/components/alignment-control/index.cjs.map +2 -2
- package/build/components/alignment-control/ui.cjs.map +2 -2
- package/build/components/autocomplete/index.cjs.map +2 -2
- package/build/components/background-image-control/index.cjs.map +2 -2
- package/build/components/block-actions/index.cjs +2 -1
- package/build/components/block-actions/index.cjs.map +2 -2
- package/build/components/block-alignment-control/constants.cjs.map +2 -2
- package/build/components/block-alignment-control/index.cjs.map +2 -2
- package/build/components/block-alignment-control/ui.cjs.map +2 -2
- package/build/components/block-alignment-control/use-available-alignments.cjs.map +2 -2
- package/build/components/block-alignment-matrix-control/index.cjs.map +2 -2
- package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +2 -2
- package/build/components/block-allowed-blocks/modal.cjs.map +2 -2
- package/build/components/block-bindings/attribute-control.cjs.map +2 -2
- package/build/components/block-bindings/index.cjs.map +2 -2
- package/build/components/block-bindings/source-fields-list.cjs.map +2 -2
- package/build/components/block-bindings/use-block-bindings-utils.cjs.map +2 -2
- package/build/components/block-breadcrumb/index.cjs.map +2 -2
- package/build/components/block-canvas/index.cjs.map +2 -2
- package/build/components/block-card/index.cjs.map +2 -2
- package/build/components/block-compare/block-view.cjs.map +2 -2
- package/build/components/block-compare/index.cjs.map +2 -2
- package/build/components/block-content-overlay/index.cjs.map +2 -2
- package/build/components/block-context/index.cjs.map +2 -2
- package/build/components/block-controls/fill.cjs.map +2 -2
- package/build/components/block-controls/groups.cjs.map +2 -2
- package/build/components/block-controls/hook.cjs.map +2 -2
- package/build/components/block-controls/index.cjs.map +2 -2
- package/build/components/block-controls/slot.cjs.map +2 -2
- package/build/components/block-draggable/draggable-chip.cjs.map +2 -2
- package/build/components/block-draggable/index.cjs.map +2 -2
- package/build/components/block-draggable/use-scroll-when-dragging.cjs.map +2 -2
- package/build/components/block-edit/context.cjs.map +2 -2
- package/build/components/block-edit/edit.cjs.map +2 -2
- package/build/components/block-edit/index.cjs.map +2 -2
- package/build/components/block-edit/multiple-usage-warning.cjs.map +2 -2
- package/build/components/block-edit-visually-button/index.cjs.map +2 -2
- package/build/components/block-editing-mode/index.cjs.map +2 -2
- package/build/components/block-full-height-alignment-control/index.cjs.map +2 -2
- package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +2 -2
- package/build/components/block-heading-level-dropdown/index.cjs.map +2 -2
- package/build/components/block-icon/index.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs +48 -40
- package/build/components/block-inspector/edit-contents.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +18 -10
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs.map +2 -2
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.cjs.map +2 -2
- package/build/components/block-keyboard-shortcuts/index.cjs +201 -0
- package/build/components/block-keyboard-shortcuts/index.cjs.map +7 -0
- package/build/components/block-list/block-crash-boundary.cjs.map +2 -2
- package/build/components/block-list/block-crash-warning.cjs.map +2 -2
- package/build/components/block-list/block-html.cjs.map +2 -2
- package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
- package/build/components/block-list/block.cjs +46 -13
- package/build/components/block-list/block.cjs.map +3 -3
- package/build/components/block-list/index.cjs +39 -10
- package/build/components/block-list/index.cjs.map +2 -2
- package/build/components/block-list/layout.cjs.map +2 -2
- package/build/components/block-list/private-block-context.cjs.map +2 -2
- package/build/components/block-list/subdirectory-icon.cjs.map +2 -2
- package/build/components/block-list/use-block-props/index.cjs +36 -2
- package/build/components/block-list/use-block-props/index.cjs.map +3 -3
- package/build/components/block-list/use-block-props/use-block-refs.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs +4 -0
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-intersection-observer.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-scroll-into-view.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs +6 -7
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs.map +2 -2
- package/build/components/block-list/use-in-between-inserter.cjs.map +2 -2
- package/build/components/block-list/zoom-out-separator.cjs.map +2 -2
- package/build/components/block-list-appender/index.cjs.map +2 -2
- package/build/components/block-lock/menu-item.cjs.map +2 -2
- package/build/components/block-lock/modal.cjs.map +2 -2
- package/build/components/block-lock/toolbar.cjs.map +2 -2
- package/build/components/block-lock/use-block-lock.cjs.map +2 -2
- package/build/components/block-manager/category.cjs.map +2 -2
- package/build/components/block-manager/checklist.cjs.map +2 -2
- package/build/components/block-manager/index.cjs.map +2 -2
- package/build/components/block-mover/button.cjs +15 -9
- package/build/components/block-mover/button.cjs.map +2 -2
- package/build/components/block-mover/index.cjs.map +2 -2
- package/build/components/block-mover/mover-description.cjs.map +2 -2
- package/build/components/block-navigation/dropdown.cjs.map +2 -2
- package/build/components/block-parent-selector/index.cjs +98 -29
- package/build/components/block-parent-selector/index.cjs.map +3 -3
- package/build/components/block-pattern-setup/index.cjs.map +2 -2
- package/build/components/block-pattern-setup/setup-toolbar.cjs.map +2 -2
- package/build/components/block-pattern-setup/use-patterns-setup.cjs.map +2 -2
- package/build/components/block-patterns-list/index.cjs.map +2 -2
- package/build/components/block-patterns-paging/index.cjs.map +2 -2
- package/build/components/block-popover/cover.cjs.map +2 -2
- package/build/components/block-popover/drop-zone.cjs.map +2 -2
- package/build/components/block-popover/inbetween.cjs +2 -2
- package/build/components/block-popover/inbetween.cjs.map +2 -2
- package/build/components/block-popover/index.cjs.map +2 -2
- package/build/components/block-popover/use-popover-scroll.cjs.map +2 -2
- package/build/components/block-preview/async.cjs.map +2 -2
- package/build/components/block-preview/auto.cjs.map +2 -2
- package/build/components/block-preview/index.cjs +0 -4
- package/build/components/block-preview/index.cjs.map +2 -2
- package/build/components/block-quick-navigation/index.cjs.map +2 -2
- package/build/components/block-removal-warning-modal/index.cjs.map +2 -2
- package/build/components/block-rename/modal.cjs.map +2 -2
- package/build/components/block-rename/rename-control.cjs.map +2 -2
- package/build/components/block-rename/use-block-rename.cjs.map +2 -2
- package/build/components/block-selection-clearer/index.cjs.map +2 -2
- package/build/components/block-settings-menu/block-html-convert-button.cjs.map +2 -2
- package/build/components/block-settings-menu/block-mode-toggle.cjs.map +2 -2
- package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +2 -2
- package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +2 -2
- package/build/components/block-settings-menu/block-settings-menu-first-item.cjs.map +2 -2
- package/build/components/block-settings-menu/index.cjs.map +2 -2
- package/build/components/block-settings-menu-controls/index.cjs.map +2 -2
- package/build/components/block-styles/index.cjs +77 -33
- package/build/components/block-styles/index.cjs.map +3 -3
- package/build/components/block-styles/menu-items.cjs.map +2 -2
- package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
- package/build/components/block-styles/utils.cjs.map +2 -2
- package/build/components/block-switcher/block-styles-menu.cjs.map +2 -2
- package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
- package/build/components/block-switcher/block-variation-transformations.cjs.map +2 -2
- package/build/components/block-switcher/index.cjs.map +2 -2
- package/build/components/block-switcher/pattern-transformations-menu.cjs.map +2 -2
- package/build/components/block-switcher/preview-block-popover.cjs.map +2 -2
- package/build/components/block-switcher/use-transformed-patterns.cjs.map +2 -2
- package/build/components/block-switcher/utils.cjs.map +2 -2
- package/build/components/block-title/index.cjs.map +2 -2
- package/build/components/block-title/use-block-display-title.cjs.map +2 -2
- package/build/components/block-toolbar/block-styles-dropdown.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-last-item.cjs.map +2 -2
- package/build/components/block-toolbar/change-design.cjs.map +2 -2
- package/build/components/block-toolbar/edit-section-button.cjs.map +2 -2
- package/build/components/block-toolbar/index.cjs.map +2 -2
- package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +2 -2
- package/build/components/block-toolbar/switch-section-style.cjs.map +2 -2
- package/build/components/block-toolbar/use-has-block-toolbar.cjs.map +2 -2
- package/build/components/block-toolbar/utils.cjs.map +2 -2
- package/build/components/block-tools/block-toolbar-popover.cjs.map +2 -2
- package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
- package/build/components/block-tools/index.cjs +2 -4
- package/build/components/block-tools/index.cjs.map +2 -2
- package/build/components/block-tools/insertion-point.cjs.map +2 -2
- package/build/components/block-tools/use-block-toolbar-popover-props.cjs.map +2 -2
- package/build/components/block-tools/use-selected-block-tool-props.cjs.map +2 -2
- package/build/components/block-tools/use-show-block-tools.cjs.map +2 -2
- package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +2 -2
- package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +2 -2
- package/build/components/block-types-list/index.cjs.map +2 -2
- package/build/components/block-variation-picker/index.cjs.map +2 -2
- package/build/components/block-variation-transforms/index.cjs.map +2 -2
- package/build/components/block-vertical-alignment-control/index.cjs.map +2 -2
- package/build/components/block-vertical-alignment-control/ui.cjs.map +2 -2
- package/build/components/block-visibility/constants.cjs +1 -1
- package/build/components/block-visibility/constants.cjs.map +3 -3
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/use-block-visibility.cjs +15 -17
- package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
- package/build/components/block-visibility/utils.cjs.map +2 -2
- package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
- package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
- package/build/components/border-radius-control/constants.cjs.map +2 -2
- package/build/components/border-radius-control/index.cjs.map +2 -2
- package/build/components/border-radius-control/linked-button.cjs.map +2 -2
- package/build/components/border-radius-control/utils.cjs.map +2 -2
- package/build/components/button-block-appender/index.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs.map +3 -3
- package/build/components/collab/note-icon-slot.cjs.map +2 -2
- package/build/components/collab/note-icon-toolbar-slot.cjs.map +2 -2
- package/build/components/color-palette/control.cjs.map +2 -2
- package/build/components/color-palette/index.cjs.map +2 -2
- package/build/components/color-palette/with-color-context.cjs.map +2 -2
- package/build/components/color-style-selector/index.cjs.map +2 -2
- package/build/components/colors/utils.cjs +2 -4
- package/build/components/colors/utils.cjs.map +3 -3
- package/build/components/colors/with-colors.cjs +57 -75
- package/build/components/colors/with-colors.cjs.map +3 -3
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/colors-gradients/dropdown.cjs.map +2 -2
- package/build/components/colors-gradients/panel-color-gradient-settings.cjs +5 -5
- package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +2 -2
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.cjs.map +2 -2
- package/build/components/contrast-checker/index.cjs.map +2 -2
- package/build/components/convert-to-group-buttons/index.cjs +2 -5
- package/build/components/convert-to-group-buttons/index.cjs.map +2 -2
- package/build/components/convert-to-group-buttons/toolbar.cjs +2 -4
- package/build/components/convert-to-group-buttons/toolbar.cjs.map +2 -2
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.cjs.map +2 -2
- package/build/components/copy-handler/index.cjs.map +2 -2
- package/build/components/date-format-picker/index.cjs.map +2 -2
- package/build/components/default-block-appender/index.cjs.map +2 -2
- package/build/components/dimension-control/index.cjs.map +2 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs +4 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/index.cjs +18 -16
- package/build/components/dimensions-tool/index.cjs.map +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/utils.cjs +61 -0
- package/build/components/dimensions-tool/utils.cjs.map +7 -0
- package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
- package/build/components/duotone-control/index.cjs +2 -0
- package/build/components/duotone-control/index.cjs.map +2 -2
- package/build/components/editable-text/index.cjs.map +2 -2
- package/build/components/editor-styles/index.cjs.map +2 -2
- package/build/components/fit-text-size-warning/index.cjs.map +2 -2
- package/build/components/font-appearance-control/index.cjs.map +2 -2
- package/build/components/font-family/index.cjs.map +2 -2
- package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
- package/build/components/font-sizes/utils.cjs +2 -4
- package/build/components/font-sizes/utils.cjs.map +3 -3
- package/build/components/font-sizes/with-font-sizes.cjs.map +2 -2
- package/build/components/global-styles/advanced-panel.cjs.map +3 -3
- package/build/components/global-styles/background-panel.cjs.map +2 -2
- package/build/components/global-styles/border-panel.cjs +2 -5
- package/build/components/global-styles/border-panel.cjs.map +2 -2
- package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +2 -2
- package/build/components/global-styles/color-panel.cjs +14 -2
- package/build/components/global-styles/color-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +9 -5
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/filters-panel.cjs +12 -8
- package/build/components/global-styles/filters-panel.cjs.map +2 -2
- package/build/components/global-styles/hooks.cjs.map +2 -2
- package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
- package/build/components/global-styles/inheritance/index.cjs.map +2 -2
- package/build/components/global-styles/inherited-value-context.cjs.map +2 -2
- package/build/components/global-styles/shadow-panel-components.cjs +16 -11
- package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
- package/build/components/global-styles/state-control-badges.cjs.map +2 -2
- package/build/components/global-styles/state-control.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs.map +2 -2
- package/build/components/global-styles/typography-utils.cjs.map +2 -2
- package/build/components/global-styles/utils.cjs +9 -0
- package/build/components/global-styles/utils.cjs.map +2 -2
- package/build/components/gradients/use-gradient.cjs.map +2 -2
- package/build/components/grid/grid-item-movers.cjs.map +2 -2
- package/build/components/grid/grid-item-resizer.cjs.map +2 -2
- package/build/components/grid/grid-visualizer.cjs.map +2 -2
- package/build/components/grid/use-get-number-of-blocks-before-cell.cjs.map +2 -2
- package/build/components/grid/use-grid-layout-sync.cjs.map +2 -2
- package/build/components/height-control/index.cjs.map +2 -2
- package/build/components/html-element-control/index.cjs.map +2 -2
- package/build/components/html-element-control/messages.cjs.map +2 -2
- package/build/components/iframe/index.cjs +19 -24
- package/build/components/iframe/index.cjs.map +2 -2
- package/build/components/iframe/use-scale-canvas.cjs +20 -6
- package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
- package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +2 -2
- package/build/components/image-editor/context.cjs.map +2 -2
- package/build/components/image-editor/cropper.cjs.map +2 -2
- package/build/components/image-editor/form-controls.cjs.map +2 -2
- package/build/components/image-editor/index.cjs.map +2 -2
- package/build/components/image-editor/rotation-button.cjs.map +2 -2
- package/build/components/image-editor/use-save-image.cjs.map +2 -2
- package/build/components/image-editor/use-transform-image.cjs.map +2 -2
- package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
- package/build/components/image-size-control/index.cjs.map +2 -2
- package/build/components/image-size-control/use-dimension-handler.cjs.map +2 -2
- package/build/components/inner-blocks/button-block-appender.cjs.map +2 -2
- package/build/components/inner-blocks/default-block-appender.cjs.map +2 -2
- package/build/components/inner-blocks/index.cjs +5 -3
- package/build/components/inner-blocks/index.cjs.map +2 -2
- package/build/components/inner-blocks/use-block-context.cjs.map +2 -2
- package/build/components/inner-blocks/use-inner-block-template-sync.cjs +34 -7
- package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +3 -3
- package/build/components/inner-blocks/use-nested-settings-update.cjs.map +2 -2
- package/build/components/inner-content/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-explorer/index.cjs +39 -22
- package/build/components/inserter/block-patterns-explorer/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs +21 -55
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +2 -2
- package/build/components/inserter/block-patterns-explorer/pattern-list.cjs +19 -44
- package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +3 -3
- package/build/components/inserter/block-patterns-tab/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/utils.cjs.map +2 -2
- package/build/components/inserter/block-types-tab.cjs.map +2 -2
- package/build/components/inserter/category-tabs/index.cjs.map +2 -2
- package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
- package/build/components/inserter/hooks/use-insertion-point.cjs +4 -4
- package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
- package/build/components/inserter/hooks/use-patterns-paging.cjs.map +2 -2
- package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
- package/build/components/inserter/index.cjs +4 -13
- package/build/components/inserter/index.cjs.map +2 -2
- package/build/components/inserter/library.cjs.map +2 -2
- package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-panel.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
- package/build/components/inserter/media-tab/utils.cjs.map +2 -2
- package/build/components/inserter/menu.cjs +18 -7
- package/build/components/inserter/menu.cjs.map +2 -2
- package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
- package/build/components/inserter/no-results.cjs.map +2 -2
- package/build/components/inserter/panel.cjs.map +2 -2
- package/build/components/inserter/preview-panel.cjs.map +2 -2
- package/build/components/inserter/quick-inserter.cjs +30 -27
- package/build/components/inserter/quick-inserter.cjs.map +2 -2
- package/build/components/inserter/search-items.cjs.map +2 -2
- package/build/components/inserter/search-results.cjs.map +2 -2
- package/build/components/inserter/tips.cjs.map +2 -2
- package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
- package/build/components/inserter-list-item/index.cjs.map +2 -2
- package/build/components/inserter-listbox/context.cjs.map +2 -2
- package/build/components/inserter-listbox/group.cjs.map +2 -2
- package/build/components/inserter-listbox/index.cjs.map +2 -2
- package/build/components/inserter-listbox/item.cjs.map +2 -2
- package/build/components/inserter-listbox/row.cjs.map +2 -2
- package/build/components/inserter-menu-extension/index.cjs.map +2 -2
- package/build/components/inspector-controls/block-support-slot-container.cjs.map +2 -2
- package/build/components/inspector-controls/block-support-tools-panel.cjs.map +2 -2
- package/build/components/inspector-controls/fill.cjs +15 -17
- package/build/components/inspector-controls/fill.cjs.map +2 -2
- package/build/components/inspector-controls/groups.cjs.map +2 -2
- package/build/components/inspector-controls/index.cjs.map +2 -2
- package/build/components/inspector-controls/last-item.cjs.map +2 -2
- package/build/components/inspector-controls/list-view-content-popover.cjs.map +2 -2
- package/build/components/inspector-controls/slot.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/content-tab.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/index.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/settings-tab.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/styles-tab.cjs +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/utils.cjs.map +2 -2
- package/build/components/inspector-popover-header/index.cjs.map +2 -2
- package/build/components/justify-content-control/index.cjs.map +2 -2
- package/build/components/justify-content-control/ui.cjs.map +2 -2
- package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
- package/build/components/letter-spacing-control/index.cjs.map +2 -2
- package/build/components/line-height-control/index.cjs.map +2 -2
- package/build/components/link-control/constants.cjs.map +2 -2
- package/build/components/link-control/index.cjs.map +2 -2
- package/build/components/link-control/is-url-like.cjs.map +2 -2
- package/build/components/link-control/link-preview.cjs.map +2 -2
- package/build/components/link-control/normalize-url.cjs.map +2 -2
- package/build/components/link-control/search-create-button.cjs.map +2 -2
- package/build/components/link-control/search-input.cjs.map +2 -2
- package/build/components/link-control/search-item.cjs.map +2 -2
- package/build/components/link-control/search-results.cjs +1 -1
- package/build/components/link-control/search-results.cjs.map +2 -2
- package/build/components/link-control/settings-drawer.cjs.map +2 -2
- package/build/components/link-control/settings.cjs.map +2 -2
- package/build/components/link-control/use-create-page.cjs.map +2 -2
- package/build/components/link-control/use-internal-value.cjs.map +2 -2
- package/build/components/link-control/use-rich-url-data.cjs +1 -1
- package/build/components/link-control/use-rich-url-data.cjs.map +2 -2
- package/build/components/link-control/use-search-handler.cjs.map +2 -2
- package/build/components/link-control/viewer-slot.cjs.map +2 -2
- package/build/components/link-picker/link-picker.cjs.map +2 -2
- package/build/components/link-picker/link-preview.cjs.map +2 -2
- package/build/components/list-view/appender.cjs +6 -3
- package/build/components/list-view/appender.cjs.map +2 -2
- package/build/components/list-view/aria-referenced-text.cjs +2 -9
- package/build/components/list-view/aria-referenced-text.cjs.map +2 -2
- package/build/components/list-view/block-contents.cjs +17 -20
- package/build/components/list-view/block-contents.cjs.map +2 -2
- package/build/components/list-view/block-select-button.cjs +40 -19
- package/build/components/list-view/block-select-button.cjs.map +3 -3
- package/build/components/list-view/block.cjs +38 -41
- package/build/components/list-view/block.cjs.map +3 -3
- package/build/components/list-view/branch.cjs +93 -77
- package/build/components/list-view/branch.cjs.map +3 -3
- package/build/components/list-view/context.cjs +16 -2
- package/build/components/list-view/context.cjs.map +2 -2
- package/build/components/list-view/drop-indicator.cjs +4 -3
- package/build/components/list-view/drop-indicator.cjs.map +3 -3
- package/build/components/list-view/expander.cjs.map +2 -2
- package/build/components/list-view/index.cjs +114 -101
- package/build/components/list-view/index.cjs.map +3 -3
- package/build/components/list-view/leaf.cjs.map +2 -2
- package/build/components/list-view/use-block-selection.cjs.map +2 -2
- package/build/components/list-view/use-clipboard-handler.cjs.map +2 -2
- package/build/components/list-view/use-list-view-block-indexes.cjs.map +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
- package/build/components/list-view/use-list-view-collapse-items.cjs +3 -4
- package/build/components/list-view/use-list-view-collapse-items.cjs.map +2 -2
- package/build/components/list-view/use-list-view-drop-zone.cjs +7 -13
- package/build/components/list-view/use-list-view-drop-zone.cjs.map +2 -2
- package/build/components/list-view/use-list-view-expand-selected-item.cjs +3 -3
- package/build/components/list-view/use-list-view-expand-selected-item.cjs.map +2 -2
- package/build/components/list-view/use-list-view-images.cjs +4 -3
- package/build/components/list-view/use-list-view-images.cjs.map +2 -2
- package/build/components/list-view/use-list-view-scroll-into-view.cjs.map +2 -2
- package/build/components/list-view/utils.cjs +19 -4
- package/build/components/list-view/utils.cjs.map +2 -2
- package/build/components/media-placeholder/index.cjs +1 -1
- package/build/components/media-placeholder/index.cjs.map +3 -3
- package/build/components/media-replace-flow/index.cjs.map +2 -2
- package/build/components/media-upload/check.cjs.map +2 -2
- package/build/components/media-upload/index.cjs.map +2 -2
- package/build/components/multi-selection-inspector/index.cjs +33 -12
- package/build/components/multi-selection-inspector/index.cjs.map +3 -3
- package/build/components/navigable-toolbar/index.cjs +29 -18
- package/build/components/navigable-toolbar/index.cjs.map +2 -2
- package/build/components/observe-typing/index.cjs.map +2 -2
- package/build/components/panel-color-settings/index.cjs.map +2 -2
- package/build/components/plain-text/index.cjs.map +2 -2
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/preset-input-control/index.cjs.map +2 -2
- package/build/components/preview-options/index.cjs.map +2 -2
- package/build/components/provider/block-refs-provider.cjs.map +2 -2
- package/build/components/provider/index.cjs +5 -1
- package/build/components/provider/index.cjs.map +3 -3
- package/build/components/provider/selection-context.cjs.map +2 -2
- package/build/components/provider/use-block-sync.cjs.map +2 -2
- package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
- package/build/components/provider/with-registry-provider.cjs.map +2 -2
- package/build/components/publish-date-time-picker/index.cjs +3 -2
- package/build/components/publish-date-time-picker/index.cjs.map +2 -2
- package/build/components/recursion-provider/index.cjs.map +2 -2
- package/build/components/resizable-box-popover/index.cjs.map +2 -2
- package/build/components/resolution-tool/index.cjs.map +2 -2
- package/build/components/responsive-block-control/index.cjs.map +2 -2
- package/build/components/responsive-block-control/label.cjs.map +2 -2
- package/build/components/rich-text/content.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/delete.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/enter.cjs +46 -39
- package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/firefox-compat.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/index.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/input-events.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/input-rules.cjs +13 -10
- package/build/components/rich-text/event-listeners/input-rules.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/paste-handler.cjs +8 -1
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/shortcuts.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +2 -2
- package/build/components/rich-text/format-edit.cjs.map +2 -2
- package/build/components/rich-text/format-toolbar/index.cjs.map +2 -2
- package/build/components/rich-text/format-toolbar-container.cjs.map +2 -2
- package/build/components/rich-text/get-rich-text-values.cjs.map +2 -2
- package/build/components/rich-text/index.cjs +7 -5
- package/build/components/rich-text/index.cjs.map +2 -2
- package/build/components/rich-text/multiline.cjs +105 -70
- package/build/components/rich-text/multiline.cjs.map +3 -3
- package/build/components/rich-text/prevent-event-discovery.cjs.map +2 -2
- package/build/components/rich-text/toolbar-button.cjs.map +2 -2
- package/build/components/rich-text/use-mark-persistent.cjs.map +2 -2
- package/build/components/rich-text/utils.cjs.map +2 -2
- package/build/components/rich-text/with-deprecations.cjs.map +2 -2
- package/build/components/selection-scroll-into-view/index.cjs.map +2 -2
- package/build/components/skip-to-selected-block/index.cjs.map +2 -2
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.cjs.map +2 -2
- package/build/components/spacing-sizes-control/index.cjs +2 -2
- package/build/components/spacing-sizes-control/index.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/single.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +2 -2
- package/build/components/spacing-sizes-control/linked-button.cjs.map +2 -2
- package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
- package/build/components/tabbed-sidebar/index.cjs.map +2 -2
- package/build/components/text-alignment-control/index.cjs.map +2 -2
- package/build/components/text-decoration-control/index.cjs.map +2 -2
- package/build/components/text-indent-control/index.cjs.map +2 -2
- package/build/components/text-transform-control/index.cjs.map +2 -2
- package/build/components/tool-selector/index.cjs.map +2 -2
- package/build/components/typewriter/index.cjs.map +2 -2
- package/build/components/unit-control/index.cjs.map +2 -2
- package/build/components/url-input/button.cjs.map +2 -2
- package/build/components/url-input/index.cjs +28 -46
- package/build/components/url-input/index.cjs.map +3 -3
- package/build/components/url-popover/image-url-input-ui.cjs +2 -2
- package/build/components/url-popover/image-url-input-ui.cjs.map +2 -2
- package/build/components/url-popover/index.cjs.map +2 -2
- package/build/components/url-popover/link-editor.cjs.map +2 -2
- package/build/components/url-popover/link-viewer-url.cjs.map +2 -2
- package/build/components/url-popover/link-viewer.cjs.map +2 -2
- package/build/components/use-block-commands/index.cjs +2 -1
- package/build/components/use-block-commands/index.cjs.map +2 -2
- package/build/components/use-block-display-information/index.cjs +6 -1
- package/build/components/use-block-display-information/index.cjs.map +2 -2
- package/build/components/use-block-drop-zone/index.cjs.map +2 -2
- package/build/components/use-flash-editable-blocks/index.cjs.map +2 -2
- package/build/components/use-list-view-panel-state/index.cjs.map +2 -2
- package/build/components/use-moving-animation/index.cjs +2 -2
- package/build/components/use-moving-animation/index.cjs.map +2 -2
- package/build/components/use-on-block-drop/index.cjs.map +2 -2
- package/build/components/use-paste-styles/index.cjs.map +2 -2
- package/build/components/use-resize-canvas/index.cjs.map +2 -2
- package/build/components/use-settings/index.cjs.map +2 -2
- package/build/components/warning/index.cjs.map +2 -2
- package/build/components/writing-flow/index.cjs.map +2 -2
- package/build/components/writing-flow/use-arrow-nav.cjs +6 -1
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-clipboard-handler.cjs +29 -4
- package/build/components/writing-flow/use-clipboard-handler.cjs.map +3 -3
- package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root.cjs.map +2 -2
- package/build/components/writing-flow/use-home-end.cjs.map +2 -2
- package/build/components/writing-flow/use-input.cjs +65 -13
- package/build/components/writing-flow/use-input.cjs.map +3 -3
- package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-preview-mode-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-select-all.cjs.map +2 -2
- package/build/components/writing-flow/use-selection-observer.cjs.map +2 -2
- package/build/components/writing-flow/use-tab-nav.cjs +3 -1
- package/build/components/writing-flow/use-tab-nav.cjs.map +2 -2
- package/build/components/writing-flow/utils.cjs.map +2 -2
- package/build/components/writing-mode-control/index.cjs.map +2 -2
- package/build/hooks/align.cjs.map +2 -2
- package/build/hooks/allowed-blocks.cjs.map +2 -2
- package/build/hooks/anchor.cjs.map +2 -2
- package/build/hooks/aria-label.cjs.map +2 -2
- package/build/hooks/auto-inspector-controls.cjs.map +2 -2
- package/build/hooks/background.cjs +1 -4
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-bindings.cjs.map +2 -2
- package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +2 -2
- package/build/hooks/block-fields/index.cjs.map +2 -2
- package/build/hooks/block-fields/link/index.cjs.map +2 -2
- package/build/hooks/block-fields/media/index.cjs.map +2 -2
- package/build/hooks/block-fields/rich-text/index.cjs.map +2 -2
- package/build/hooks/block-fields/use-inspector-popover-placement.cjs.map +2 -2
- package/build/hooks/block-hooks.cjs.map +2 -2
- package/build/hooks/block-renaming.cjs.map +2 -2
- package/build/hooks/block-style-state.cjs.map +2 -2
- package/build/hooks/block-style-variation.cjs.map +2 -2
- package/build/hooks/border.cjs +25 -3
- package/build/hooks/border.cjs.map +2 -2
- package/build/hooks/color.cjs.map +2 -2
- package/build/hooks/compat.cjs.map +2 -2
- package/build/hooks/contrast-checker.cjs.map +2 -2
- package/build/hooks/custom-class-name.cjs.map +2 -2
- package/build/hooks/dimensions.cjs +9 -2
- package/build/hooks/dimensions.cjs.map +2 -2
- package/build/hooks/duotone.cjs +4 -3
- package/build/hooks/duotone.cjs.map +2 -2
- package/build/hooks/elements.cjs.map +2 -2
- package/build/hooks/fit-text.cjs.map +2 -2
- package/build/hooks/font-family.cjs +2 -4
- package/build/hooks/font-family.cjs.map +3 -3
- package/build/hooks/font-size.cjs.map +2 -2
- package/build/hooks/gap.cjs +8 -2
- package/build/hooks/gap.cjs.map +2 -2
- package/build/hooks/generated-class-name.cjs.map +2 -2
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/index.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +35 -13
- package/build/hooks/layout-child.cjs.map +2 -2
- package/build/hooks/layout.cjs +27 -5
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/line-height.cjs.map +2 -2
- package/build/hooks/list-view.cjs.map +2 -2
- package/build/hooks/lock.cjs.map +2 -2
- package/build/hooks/metadata.cjs.map +2 -2
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/settings.cjs.map +2 -2
- package/build/hooks/spacing-visualizer.cjs.map +2 -2
- package/build/hooks/state-utils.cjs.map +2 -2
- package/build/hooks/states.cjs +7 -4
- package/build/hooks/states.cjs.map +2 -2
- package/build/hooks/style.cjs.map +2 -2
- package/build/hooks/supports.cjs.map +2 -2
- package/build/hooks/text-align.cjs.map +2 -2
- package/build/hooks/typography.cjs.map +2 -2
- package/build/hooks/use-border-props.cjs.map +2 -2
- package/build/hooks/use-cached-truthy.cjs.map +2 -2
- package/build/hooks/use-color-props.cjs.map +2 -2
- package/build/hooks/use-content-only-section-edit.cjs.map +2 -2
- package/build/hooks/use-dimensions-props.cjs.map +2 -2
- package/build/hooks/use-shadow-props.cjs.map +2 -2
- package/build/hooks/use-spacing-props.cjs.map +2 -2
- package/build/hooks/use-typography-props.cjs +2 -4
- package/build/hooks/use-typography-props.cjs.map +3 -3
- package/build/hooks/use-zoom-out.cjs.map +2 -2
- package/build/hooks/utils.cjs.map +2 -2
- package/build/index.cjs.map +2 -2
- package/build/layouts/constrained.cjs +8 -1
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +9 -0
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/flow.cjs +4 -1
- package/build/layouts/flow.cjs.map +2 -2
- package/build/layouts/grid.cjs +5 -1
- package/build/layouts/grid.cjs.map +2 -2
- package/build/layouts/index.cjs.map +2 -2
- package/build/layouts/utils.cjs.map +2 -2
- package/build/lock-unlock.cjs.map +2 -2
- package/build/private-apis.cjs +3 -1
- package/build/private-apis.cjs.map +2 -2
- package/build/store/actions.cjs +105 -37
- package/build/store/actions.cjs.map +3 -3
- package/build/store/defaults.cjs +2 -0
- package/build/store/defaults.cjs.map +2 -2
- package/build/store/get-block-settings.cjs.map +2 -2
- package/build/store/index.cjs.map +2 -2
- package/build/store/private-actions.cjs +19 -2
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-selectors.cjs +28 -10
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +3 -1
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs +21 -8
- package/build/store/selectors.cjs.map +2 -2
- package/build/store/utils.cjs.map +2 -2
- package/build/utils/fit-text-frontend.cjs.map +2 -2
- package/build/utils/format-font-style.cjs.map +2 -2
- package/build/utils/format-font-weight.cjs.map +2 -2
- package/build/utils/get-font-styles-and-weights.cjs.map +2 -2
- package/build/utils/group-blocks.cjs +42 -0
- package/build/utils/group-blocks.cjs.map +7 -0
- package/build/utils/native-undo.cjs.map +2 -2
- package/build/utils/pasting.cjs.map +2 -2
- package/build/utils/selection.cjs.map +2 -2
- package/build/{components/gradients/with-gradient.cjs → utils/sibling-block-attributes.cjs} +22 -13
- package/build/utils/sibling-block-attributes.cjs.map +7 -0
- package/build/utils/transform-styles/index.cjs.map +2 -2
- package/build/utils/use-notify-copy.cjs.map +2 -2
- package/build-module/autocompleters/block.mjs.map +2 -2
- package/build-module/components/alignment-control/index.mjs.map +2 -2
- package/build-module/components/alignment-control/ui.mjs.map +2 -2
- package/build-module/components/autocomplete/index.mjs.map +2 -2
- package/build-module/components/background-image-control/index.mjs.map +2 -2
- package/build-module/components/block-actions/index.mjs +3 -6
- package/build-module/components/block-actions/index.mjs.map +2 -2
- package/build-module/components/block-alignment-control/constants.mjs.map +2 -2
- package/build-module/components/block-alignment-control/index.mjs.map +2 -2
- package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
- package/build-module/components/block-alignment-control/use-available-alignments.mjs.map +2 -2
- package/build-module/components/block-alignment-matrix-control/index.mjs.map +2 -2
- package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +2 -2
- package/build-module/components/block-allowed-blocks/modal.mjs.map +2 -2
- package/build-module/components/block-bindings/attribute-control.mjs.map +2 -2
- package/build-module/components/block-bindings/index.mjs.map +2 -2
- package/build-module/components/block-bindings/source-fields-list.mjs.map +2 -2
- package/build-module/components/block-bindings/use-block-bindings-utils.mjs.map +2 -2
- package/build-module/components/block-breadcrumb/index.mjs.map +2 -2
- package/build-module/components/block-canvas/index.mjs.map +2 -2
- package/build-module/components/block-card/index.mjs.map +2 -2
- package/build-module/components/block-compare/block-view.mjs.map +2 -2
- package/build-module/components/block-compare/index.mjs.map +2 -2
- package/build-module/components/block-content-overlay/index.mjs.map +2 -2
- package/build-module/components/block-context/index.mjs.map +2 -2
- package/build-module/components/block-controls/fill.mjs.map +2 -2
- package/build-module/components/block-controls/groups.mjs.map +2 -2
- package/build-module/components/block-controls/hook.mjs.map +2 -2
- package/build-module/components/block-controls/index.mjs.map +2 -2
- package/build-module/components/block-controls/slot.mjs.map +2 -2
- package/build-module/components/block-draggable/draggable-chip.mjs.map +2 -2
- package/build-module/components/block-draggable/index.mjs.map +2 -2
- package/build-module/components/block-draggable/use-scroll-when-dragging.mjs.map +2 -2
- package/build-module/components/block-edit/context.mjs.map +2 -2
- package/build-module/components/block-edit/edit.mjs.map +2 -2
- package/build-module/components/block-edit/index.mjs.map +2 -2
- package/build-module/components/block-edit/multiple-usage-warning.mjs.map +2 -2
- package/build-module/components/block-edit-visually-button/index.mjs.map +2 -2
- package/build-module/components/block-editing-mode/index.mjs.map +2 -2
- package/build-module/components/block-full-height-alignment-control/index.mjs.map +2 -2
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +2 -2
- package/build-module/components/block-heading-level-dropdown/index.mjs.map +2 -2
- package/build-module/components/block-icon/index.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs +49 -41
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +18 -10
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs.map +2 -2
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.mjs.map +2 -2
- package/build-module/components/block-keyboard-shortcuts/index.mjs +173 -0
- package/build-module/components/block-keyboard-shortcuts/index.mjs.map +7 -0
- package/build-module/components/block-list/block-crash-boundary.mjs.map +2 -2
- package/build-module/components/block-list/block-crash-warning.mjs.map +2 -2
- package/build-module/components/block-list/block-html.mjs.map +2 -2
- package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
- package/build-module/components/block-list/block.mjs +46 -13
- package/build-module/components/block-list/block.mjs.map +3 -3
- package/build-module/components/block-list/index.mjs +40 -11
- package/build-module/components/block-list/index.mjs.map +2 -2
- package/build-module/components/block-list/layout.mjs.map +2 -2
- package/build-module/components/block-list/private-block-context.mjs.map +2 -2
- package/build-module/components/block-list/subdirectory-icon.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/index.mjs +36 -2
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-block-refs.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +4 -0
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-intersection-observer.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs +6 -7
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs.map +2 -2
- package/build-module/components/block-list/use-in-between-inserter.mjs.map +2 -2
- package/build-module/components/block-list/zoom-out-separator.mjs.map +2 -2
- package/build-module/components/block-list-appender/index.mjs.map +2 -2
- package/build-module/components/block-lock/menu-item.mjs.map +2 -2
- package/build-module/components/block-lock/modal.mjs.map +2 -2
- package/build-module/components/block-lock/toolbar.mjs.map +2 -2
- package/build-module/components/block-lock/use-block-lock.mjs.map +2 -2
- package/build-module/components/block-manager/category.mjs.map +2 -2
- package/build-module/components/block-manager/checklist.mjs.map +2 -2
- package/build-module/components/block-manager/index.mjs.map +2 -2
- package/build-module/components/block-mover/button.mjs +17 -11
- package/build-module/components/block-mover/button.mjs.map +2 -2
- package/build-module/components/block-mover/index.mjs.map +2 -2
- package/build-module/components/block-mover/mover-description.mjs.map +2 -2
- package/build-module/components/block-navigation/dropdown.mjs.map +2 -2
- package/build-module/components/block-parent-selector/index.mjs +101 -32
- package/build-module/components/block-parent-selector/index.mjs.map +2 -2
- package/build-module/components/block-pattern-setup/index.mjs.map +2 -2
- package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +2 -2
- package/build-module/components/block-pattern-setup/use-patterns-setup.mjs.map +2 -2
- package/build-module/components/block-patterns-list/index.mjs.map +2 -2
- package/build-module/components/block-patterns-paging/index.mjs.map +2 -2
- package/build-module/components/block-popover/cover.mjs.map +2 -2
- package/build-module/components/block-popover/drop-zone.mjs.map +2 -2
- package/build-module/components/block-popover/inbetween.mjs +2 -2
- package/build-module/components/block-popover/inbetween.mjs.map +2 -2
- package/build-module/components/block-popover/index.mjs.map +2 -2
- package/build-module/components/block-popover/use-popover-scroll.mjs.map +2 -2
- package/build-module/components/block-preview/async.mjs.map +2 -2
- package/build-module/components/block-preview/auto.mjs.map +2 -2
- package/build-module/components/block-preview/index.mjs +0 -4
- package/build-module/components/block-preview/index.mjs.map +2 -2
- package/build-module/components/block-quick-navigation/index.mjs.map +2 -2
- package/build-module/components/block-removal-warning-modal/index.mjs.map +2 -2
- package/build-module/components/block-rename/modal.mjs.map +2 -2
- package/build-module/components/block-rename/rename-control.mjs.map +2 -2
- package/build-module/components/block-rename/use-block-rename.mjs.map +2 -2
- package/build-module/components/block-selection-clearer/index.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-settings-menu-first-item.mjs.map +2 -2
- package/build-module/components/block-settings-menu/index.mjs.map +2 -2
- package/build-module/components/block-settings-menu-controls/index.mjs.map +2 -2
- package/build-module/components/block-styles/index.mjs +79 -35
- package/build-module/components/block-styles/index.mjs.map +2 -2
- package/build-module/components/block-styles/menu-items.mjs.map +2 -2
- package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
- package/build-module/components/block-styles/utils.mjs.map +2 -2
- package/build-module/components/block-switcher/block-styles-menu.mjs.map +2 -2
- package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
- package/build-module/components/block-switcher/block-variation-transformations.mjs.map +2 -2
- package/build-module/components/block-switcher/index.mjs.map +2 -2
- package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +2 -2
- package/build-module/components/block-switcher/preview-block-popover.mjs.map +2 -2
- package/build-module/components/block-switcher/use-transformed-patterns.mjs.map +2 -2
- package/build-module/components/block-switcher/utils.mjs.map +2 -2
- package/build-module/components/block-title/index.mjs.map +2 -2
- package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-last-item.mjs.map +2 -2
- package/build-module/components/block-toolbar/change-design.mjs.map +2 -2
- package/build-module/components/block-toolbar/edit-section-button.mjs.map +2 -2
- package/build-module/components/block-toolbar/index.mjs.map +2 -2
- package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +2 -2
- package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
- package/build-module/components/block-toolbar/use-has-block-toolbar.mjs.map +2 -2
- package/build-module/components/block-toolbar/utils.mjs.map +2 -2
- package/build-module/components/block-tools/block-toolbar-popover.mjs.map +2 -2
- package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
- package/build-module/components/block-tools/index.mjs +3 -9
- package/build-module/components/block-tools/index.mjs.map +2 -2
- package/build-module/components/block-tools/insertion-point.mjs.map +2 -2
- package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs.map +2 -2
- package/build-module/components/block-tools/use-selected-block-tool-props.mjs.map +2 -2
- package/build-module/components/block-tools/use-show-block-tools.mjs.map +2 -2
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +2 -2
- package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +2 -2
- package/build-module/components/block-types-list/index.mjs.map +2 -2
- package/build-module/components/block-variation-picker/index.mjs.map +2 -2
- package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
- package/build-module/components/block-vertical-alignment-control/index.mjs.map +2 -2
- package/build-module/components/block-vertical-alignment-control/ui.mjs.map +2 -2
- package/build-module/components/block-visibility/constants.mjs +1 -1
- package/build-module/components/block-visibility/constants.mjs.map +3 -3
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/use-block-visibility.mjs +15 -17
- package/build-module/components/block-visibility/use-block-visibility.mjs.map +3 -3
- package/build-module/components/block-visibility/utils.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/border-radius-control/constants.mjs.map +2 -2
- package/build-module/components/border-radius-control/index.mjs.map +2 -2
- package/build-module/components/border-radius-control/linked-button.mjs.map +2 -2
- package/build-module/components/border-radius-control/utils.mjs.map +2 -2
- package/build-module/components/button-block-appender/index.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +5 -5
- package/build-module/components/child-layout-control/index.mjs.map +2 -2
- package/build-module/components/collab/note-icon-slot.mjs.map +2 -2
- package/build-module/components/collab/note-icon-toolbar-slot.mjs.map +2 -2
- package/build-module/components/color-palette/control.mjs.map +2 -2
- package/build-module/components/color-palette/index.mjs.map +2 -2
- package/build-module/components/color-palette/with-color-context.mjs.map +2 -2
- package/build-module/components/color-style-selector/index.mjs.map +2 -2
- package/build-module/components/colors/utils.mjs +1 -3
- package/build-module/components/colors/utils.mjs.map +2 -2
- package/build-module/components/colors/with-colors.mjs +57 -75
- package/build-module/components/colors/with-colors.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/colors-gradients/dropdown.mjs.map +2 -2
- package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +5 -5
- package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +2 -2
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.mjs.map +2 -2
- package/build-module/components/contrast-checker/index.mjs.map +2 -2
- package/build-module/components/convert-to-group-buttons/index.mjs +2 -5
- package/build-module/components/convert-to-group-buttons/index.mjs.map +2 -2
- package/build-module/components/convert-to-group-buttons/toolbar.mjs +3 -5
- package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +2 -2
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.mjs.map +2 -2
- package/build-module/components/copy-handler/index.mjs.map +2 -2
- package/build-module/components/date-format-picker/index.mjs.map +2 -2
- package/build-module/components/default-block-appender/index.mjs.map +2 -2
- package/build-module/components/dimension-control/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +4 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/index.mjs +19 -17
- package/build-module/components/dimensions-tool/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/utils.mjs +35 -0
- package/build-module/components/dimensions-tool/utils.mjs.map +7 -0
- package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
- package/build-module/components/duotone-control/index.mjs +2 -0
- package/build-module/components/duotone-control/index.mjs.map +2 -2
- package/build-module/components/editable-text/index.mjs.map +2 -2
- package/build-module/components/editor-styles/index.mjs.map +2 -2
- package/build-module/components/fit-text-size-warning/index.mjs.map +2 -2
- package/build-module/components/font-appearance-control/index.mjs.map +2 -2
- package/build-module/components/font-family/index.mjs.map +2 -2
- package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
- package/build-module/components/font-sizes/utils.mjs +1 -3
- package/build-module/components/font-sizes/utils.mjs.map +2 -2
- package/build-module/components/font-sizes/with-font-sizes.mjs.map +2 -2
- package/build-module/components/global-styles/advanced-panel.mjs +5 -2
- package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
- package/build-module/components/global-styles/background-panel.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +2 -5
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
- package/build-module/components/global-styles/color-panel.mjs +14 -2
- package/build-module/components/global-styles/color-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +9 -5
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/filters-panel.mjs +16 -9
- package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
- package/build-module/components/global-styles/hooks.mjs.map +2 -2
- package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
- package/build-module/components/global-styles/inheritance/index.mjs.map +2 -2
- package/build-module/components/global-styles/inherited-value-context.mjs.map +2 -2
- package/build-module/components/global-styles/shadow-panel-components.mjs +16 -11
- package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
- package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
- package/build-module/components/global-styles/state-control.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/global-styles/typography-utils.mjs.map +2 -2
- package/build-module/components/global-styles/utils.mjs +8 -0
- package/build-module/components/global-styles/utils.mjs.map +2 -2
- package/build-module/components/gradients/use-gradient.mjs.map +2 -2
- package/build-module/components/grid/grid-item-movers.mjs.map +2 -2
- package/build-module/components/grid/grid-item-resizer.mjs.map +2 -2
- package/build-module/components/grid/grid-visualizer.mjs.map +2 -2
- package/build-module/components/grid/use-get-number-of-blocks-before-cell.mjs.map +2 -2
- package/build-module/components/grid/use-grid-layout-sync.mjs.map +2 -2
- package/build-module/components/height-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/messages.mjs.map +2 -2
- package/build-module/components/iframe/index.mjs +19 -24
- package/build-module/components/iframe/index.mjs.map +2 -2
- package/build-module/components/iframe/use-scale-canvas.mjs +21 -7
- package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
- package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +2 -2
- package/build-module/components/image-editor/context.mjs.map +2 -2
- package/build-module/components/image-editor/cropper.mjs.map +2 -2
- package/build-module/components/image-editor/form-controls.mjs.map +2 -2
- package/build-module/components/image-editor/index.mjs.map +2 -2
- package/build-module/components/image-editor/rotation-button.mjs.map +2 -2
- package/build-module/components/image-editor/use-save-image.mjs.map +2 -2
- package/build-module/components/image-editor/use-transform-image.mjs.map +2 -2
- package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
- package/build-module/components/image-size-control/index.mjs.map +2 -2
- package/build-module/components/image-size-control/use-dimension-handler.mjs.map +2 -2
- package/build-module/components/inner-blocks/button-block-appender.mjs.map +2 -2
- package/build-module/components/inner-blocks/default-block-appender.mjs.map +2 -2
- package/build-module/components/inner-blocks/index.mjs +5 -3
- package/build-module/components/inner-blocks/index.mjs.map +2 -2
- package/build-module/components/inner-blocks/use-block-context.mjs.map +2 -2
- package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +35 -8
- package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
- package/build-module/components/inner-blocks/use-nested-settings-update.mjs.map +2 -2
- package/build-module/components/inner-content/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-explorer/index.mjs +39 -22
- package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs +22 -56
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs +20 -45
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/utils.mjs.map +2 -2
- package/build-module/components/inserter/block-types-tab.mjs.map +2 -2
- package/build-module/components/inserter/category-tabs/index.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-insertion-point.mjs +4 -4
- package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
- package/build-module/components/inserter/index.mjs +4 -13
- package/build-module/components/inserter/index.mjs.map +2 -2
- package/build-module/components/inserter/library.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
- package/build-module/components/inserter/menu.mjs +19 -8
- package/build-module/components/inserter/menu.mjs.map +2 -2
- package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
- package/build-module/components/inserter/no-results.mjs.map +2 -2
- package/build-module/components/inserter/panel.mjs.map +2 -2
- package/build-module/components/inserter/preview-panel.mjs.map +2 -2
- package/build-module/components/inserter/quick-inserter.mjs +30 -27
- package/build-module/components/inserter/quick-inserter.mjs.map +2 -2
- package/build-module/components/inserter/search-items.mjs.map +2 -2
- package/build-module/components/inserter/search-results.mjs.map +2 -2
- package/build-module/components/inserter/tips.mjs.map +2 -2
- package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
- package/build-module/components/inserter-list-item/index.mjs.map +2 -2
- package/build-module/components/inserter-listbox/context.mjs.map +2 -2
- package/build-module/components/inserter-listbox/group.mjs.map +2 -2
- package/build-module/components/inserter-listbox/index.mjs.map +2 -2
- package/build-module/components/inserter-listbox/item.mjs.map +2 -2
- package/build-module/components/inserter-listbox/row.mjs.map +2 -2
- package/build-module/components/inserter-menu-extension/index.mjs.map +2 -2
- package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +2 -2
- package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls/fill.mjs +15 -17
- package/build-module/components/inspector-controls/fill.mjs.map +2 -2
- package/build-module/components/inspector-controls/groups.mjs.map +2 -2
- package/build-module/components/inspector-controls/index.mjs.map +2 -2
- package/build-module/components/inspector-controls/last-item.mjs.map +2 -2
- package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +2 -2
- package/build-module/components/inspector-controls/slot.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/utils.mjs.map +2 -2
- package/build-module/components/inspector-popover-header/index.mjs.map +2 -2
- package/build-module/components/justify-content-control/index.mjs.map +2 -2
- package/build-module/components/justify-content-control/ui.mjs.map +2 -2
- package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
- package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
- package/build-module/components/line-height-control/index.mjs.map +2 -2
- package/build-module/components/link-control/constants.mjs.map +2 -2
- package/build-module/components/link-control/index.mjs.map +2 -2
- package/build-module/components/link-control/is-url-like.mjs.map +2 -2
- package/build-module/components/link-control/link-preview.mjs.map +2 -2
- package/build-module/components/link-control/normalize-url.mjs.map +2 -2
- package/build-module/components/link-control/search-create-button.mjs.map +2 -2
- package/build-module/components/link-control/search-input.mjs.map +2 -2
- package/build-module/components/link-control/search-item.mjs.map +2 -2
- package/build-module/components/link-control/search-results.mjs +1 -1
- package/build-module/components/link-control/search-results.mjs.map +2 -2
- package/build-module/components/link-control/settings-drawer.mjs.map +2 -2
- package/build-module/components/link-control/settings.mjs.map +2 -2
- package/build-module/components/link-control/use-create-page.mjs.map +2 -2
- package/build-module/components/link-control/use-internal-value.mjs.map +2 -2
- package/build-module/components/link-control/use-rich-url-data.mjs +1 -1
- package/build-module/components/link-control/use-rich-url-data.mjs.map +2 -2
- package/build-module/components/link-control/use-search-handler.mjs.map +2 -2
- package/build-module/components/link-control/viewer-slot.mjs.map +2 -2
- package/build-module/components/link-picker/link-picker.mjs.map +2 -2
- package/build-module/components/link-picker/link-preview.mjs.map +2 -2
- package/build-module/components/list-view/appender.mjs +7 -4
- package/build-module/components/list-view/appender.mjs.map +2 -2
- package/build-module/components/list-view/aria-referenced-text.mjs +2 -9
- package/build-module/components/list-view/aria-referenced-text.mjs.map +2 -2
- package/build-module/components/list-view/block-contents.mjs +18 -21
- package/build-module/components/list-view/block-contents.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +49 -26
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +40 -47
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/list-view/branch.mjs +100 -80
- package/build-module/components/list-view/branch.mjs.map +2 -2
- package/build-module/components/list-view/context.mjs +11 -1
- package/build-module/components/list-view/context.mjs.map +2 -2
- package/build-module/components/list-view/drop-indicator.mjs +6 -6
- package/build-module/components/list-view/drop-indicator.mjs.map +2 -2
- package/build-module/components/list-view/expander.mjs.map +2 -2
- package/build-module/components/list-view/index.mjs +119 -100
- package/build-module/components/list-view/index.mjs.map +3 -3
- package/build-module/components/list-view/leaf.mjs.map +2 -2
- package/build-module/components/list-view/use-block-selection.mjs.map +2 -2
- package/build-module/components/list-view/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-block-indexes.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-collapse-items.mjs +3 -4
- package/build-module/components/list-view/use-list-view-collapse-items.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-drop-zone.mjs +7 -13
- package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-expand-selected-item.mjs +3 -3
- package/build-module/components/list-view/use-list-view-expand-selected-item.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-images.mjs +4 -3
- package/build-module/components/list-view/use-list-view-images.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-scroll-into-view.mjs.map +2 -2
- package/build-module/components/list-view/utils.mjs +18 -4
- package/build-module/components/list-view/utils.mjs.map +2 -2
- package/build-module/components/media-placeholder/index.mjs +3 -3
- package/build-module/components/media-placeholder/index.mjs.map +2 -2
- package/build-module/components/media-replace-flow/index.mjs.map +2 -2
- package/build-module/components/media-upload/check.mjs.map +2 -2
- package/build-module/components/media-upload/index.mjs.map +2 -2
- package/build-module/components/multi-selection-inspector/index.mjs +33 -12
- package/build-module/components/multi-selection-inspector/index.mjs.map +2 -2
- package/build-module/components/navigable-toolbar/index.mjs +30 -18
- package/build-module/components/navigable-toolbar/index.mjs.map +2 -2
- package/build-module/components/observe-typing/index.mjs.map +2 -2
- package/build-module/components/panel-color-settings/index.mjs.map +2 -2
- package/build-module/components/plain-text/index.mjs.map +2 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/preview-options/index.mjs.map +2 -2
- package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
- package/build-module/components/provider/index.mjs +6 -2
- package/build-module/components/provider/index.mjs.map +2 -2
- package/build-module/components/provider/selection-context.mjs.map +2 -2
- package/build-module/components/provider/use-block-sync.mjs.map +2 -2
- package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
- package/build-module/components/provider/with-registry-provider.mjs.map +2 -2
- package/build-module/components/publish-date-time-picker/index.mjs +3 -2
- package/build-module/components/publish-date-time-picker/index.mjs.map +2 -2
- package/build-module/components/recursion-provider/index.mjs.map +2 -2
- package/build-module/components/resizable-box-popover/index.mjs.map +2 -2
- package/build-module/components/resolution-tool/index.mjs.map +2 -2
- package/build-module/components/responsive-block-control/index.mjs.map +2 -2
- package/build-module/components/responsive-block-control/label.mjs.map +2 -2
- package/build-module/components/rich-text/content.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +46 -39
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/firefox-compat.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/index.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-rules.mjs +13 -10
- package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -1
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
- package/build-module/components/rich-text/format-edit.mjs.map +2 -2
- package/build-module/components/rich-text/format-toolbar/index.mjs.map +2 -2
- package/build-module/components/rich-text/format-toolbar-container.mjs.map +2 -2
- package/build-module/components/rich-text/get-rich-text-values.mjs.map +2 -2
- package/build-module/components/rich-text/index.mjs +7 -5
- package/build-module/components/rich-text/index.mjs.map +2 -2
- package/build-module/components/rich-text/multiline.mjs +112 -72
- package/build-module/components/rich-text/multiline.mjs.map +2 -2
- package/build-module/components/rich-text/prevent-event-discovery.mjs.map +2 -2
- package/build-module/components/rich-text/toolbar-button.mjs.map +2 -2
- package/build-module/components/rich-text/use-mark-persistent.mjs.map +2 -2
- package/build-module/components/rich-text/utils.mjs.map +2 -2
- package/build-module/components/rich-text/with-deprecations.mjs.map +2 -2
- package/build-module/components/selection-scroll-into-view/index.mjs.map +2 -2
- package/build-module/components/skip-to-selected-block/index.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/index.mjs +2 -2
- package/build-module/components/spacing-sizes-control/index.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/linked-button.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
- package/build-module/components/tabbed-sidebar/index.mjs.map +2 -2
- package/build-module/components/text-alignment-control/index.mjs.map +2 -2
- package/build-module/components/text-decoration-control/index.mjs.map +2 -2
- package/build-module/components/text-indent-control/index.mjs.map +2 -2
- package/build-module/components/text-transform-control/index.mjs.map +2 -2
- package/build-module/components/tool-selector/index.mjs.map +2 -2
- package/build-module/components/typewriter/index.mjs.map +2 -2
- package/build-module/components/unit-control/index.mjs.map +2 -2
- package/build-module/components/url-input/button.mjs.map +2 -2
- package/build-module/components/url-input/index.mjs +30 -48
- package/build-module/components/url-input/index.mjs.map +2 -2
- package/build-module/components/url-popover/image-url-input-ui.mjs +2 -2
- package/build-module/components/url-popover/image-url-input-ui.mjs.map +2 -2
- package/build-module/components/url-popover/index.mjs.map +2 -2
- package/build-module/components/url-popover/link-editor.mjs.map +2 -2
- package/build-module/components/url-popover/link-viewer-url.mjs.map +2 -2
- package/build-module/components/url-popover/link-viewer.mjs.map +2 -2
- package/build-module/components/use-block-commands/index.mjs +2 -1
- package/build-module/components/use-block-commands/index.mjs.map +2 -2
- package/build-module/components/use-block-display-information/index.mjs +2 -1
- package/build-module/components/use-block-display-information/index.mjs.map +2 -2
- package/build-module/components/use-block-drop-zone/index.mjs.map +2 -2
- package/build-module/components/use-flash-editable-blocks/index.mjs.map +2 -2
- package/build-module/components/use-list-view-panel-state/index.mjs.map +2 -2
- package/build-module/components/use-moving-animation/index.mjs +2 -2
- package/build-module/components/use-moving-animation/index.mjs.map +2 -2
- package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
- package/build-module/components/use-paste-styles/index.mjs.map +2 -2
- package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
- package/build-module/components/use-settings/index.mjs.map +2 -2
- package/build-module/components/warning/index.mjs.map +2 -2
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +11 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs +31 -5
- package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root.mjs.map +2 -2
- package/build-module/components/writing-flow/use-home-end.mjs.map +2 -2
- package/build-module/components/writing-flow/use-input.mjs +66 -14
- package/build-module/components/writing-flow/use-input.mjs.map +3 -3
- package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-preview-mode-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
- package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
- package/build-module/components/writing-flow/use-tab-nav.mjs +3 -1
- package/build-module/components/writing-flow/use-tab-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/utils.mjs.map +2 -2
- package/build-module/components/writing-mode-control/index.mjs.map +2 -2
- package/build-module/hooks/align.mjs.map +2 -2
- package/build-module/hooks/allowed-blocks.mjs.map +2 -2
- package/build-module/hooks/anchor.mjs.map +2 -2
- package/build-module/hooks/aria-label.mjs.map +2 -2
- package/build-module/hooks/auto-inspector-controls.mjs.map +2 -2
- package/build-module/hooks/background.mjs +1 -4
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-bindings.mjs.map +2 -2
- package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +2 -2
- package/build-module/hooks/block-fields/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/link/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/media/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs.map +2 -2
- package/build-module/hooks/block-hooks.mjs.map +2 -2
- package/build-module/hooks/block-renaming.mjs.map +2 -2
- package/build-module/hooks/block-style-state.mjs.map +2 -2
- package/build-module/hooks/block-style-variation.mjs.map +2 -2
- package/build-module/hooks/border.mjs +26 -8
- package/build-module/hooks/border.mjs.map +2 -2
- package/build-module/hooks/color.mjs.map +2 -2
- package/build-module/hooks/compat.mjs.map +2 -2
- package/build-module/hooks/contrast-checker.mjs.map +2 -2
- package/build-module/hooks/custom-class-name.mjs.map +2 -2
- package/build-module/hooks/dimensions.mjs +9 -2
- package/build-module/hooks/dimensions.mjs.map +2 -2
- package/build-module/hooks/duotone.mjs +8 -4
- package/build-module/hooks/duotone.mjs.map +2 -2
- package/build-module/hooks/elements.mjs.map +2 -2
- package/build-module/hooks/fit-text.mjs.map +2 -2
- package/build-module/hooks/font-family.mjs +1 -3
- package/build-module/hooks/font-family.mjs.map +2 -2
- package/build-module/hooks/font-size.mjs.map +2 -2
- package/build-module/hooks/gap.mjs +6 -1
- package/build-module/hooks/gap.mjs.map +2 -2
- package/build-module/hooks/generated-class-name.mjs.map +2 -2
- package/build-module/hooks/grid-visualizer.mjs.map +2 -2
- package/build-module/hooks/index.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +36 -13
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +24 -4
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/line-height.mjs.map +2 -2
- package/build-module/hooks/list-view.mjs.map +2 -2
- package/build-module/hooks/lock.mjs.map +2 -2
- package/build-module/hooks/metadata.mjs.map +2 -2
- package/build-module/hooks/position.mjs.map +2 -2
- package/build-module/hooks/settings.mjs.map +2 -2
- package/build-module/hooks/spacing-visualizer.mjs.map +2 -2
- package/build-module/hooks/state-utils.mjs.map +2 -2
- package/build-module/hooks/states.mjs +8 -5
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/supports.mjs.map +2 -2
- package/build-module/hooks/text-align.mjs.map +2 -2
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/hooks/use-border-props.mjs.map +2 -2
- package/build-module/hooks/use-cached-truthy.mjs.map +2 -2
- package/build-module/hooks/use-color-props.mjs.map +2 -2
- package/build-module/hooks/use-content-only-section-edit.mjs.map +2 -2
- package/build-module/hooks/use-dimensions-props.mjs.map +2 -2
- package/build-module/hooks/use-shadow-props.mjs.map +2 -2
- package/build-module/hooks/use-spacing-props.mjs.map +2 -2
- package/build-module/hooks/use-typography-props.mjs +1 -3
- package/build-module/hooks/use-typography-props.mjs.map +2 -2
- package/build-module/hooks/use-zoom-out.mjs.map +2 -2
- package/build-module/hooks/utils.mjs.map +2 -2
- package/build-module/index.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +8 -1
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +9 -0
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/flow.mjs +4 -1
- package/build-module/layouts/flow.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +5 -1
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/layouts/index.mjs.map +2 -2
- package/build-module/layouts/utils.mjs.map +2 -2
- package/build-module/lock-unlock.mjs.map +2 -2
- package/build-module/private-apis.mjs +3 -1
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +105 -37
- package/build-module/store/actions.mjs.map +3 -3
- package/build-module/store/defaults.mjs +2 -0
- package/build-module/store/defaults.mjs.map +2 -2
- package/build-module/store/get-block-settings.mjs.map +2 -2
- package/build-module/store/index.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +19 -2
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +27 -10
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +3 -1
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs +21 -8
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-module/store/utils.mjs.map +2 -2
- package/build-module/utils/fit-text-frontend.mjs.map +2 -2
- package/build-module/utils/format-font-style.mjs.map +2 -2
- package/build-module/utils/format-font-weight.mjs.map +2 -2
- package/build-module/utils/get-font-styles-and-weights.mjs.map +2 -2
- package/build-module/utils/group-blocks.mjs +21 -0
- package/build-module/utils/group-blocks.mjs.map +7 -0
- package/build-module/utils/native-undo.mjs.map +2 -2
- package/build-module/utils/pasting.mjs.map +2 -2
- package/build-module/utils/selection.mjs.map +2 -2
- package/build-module/utils/sibling-block-attributes.mjs +20 -0
- package/build-module/utils/sibling-block-attributes.mjs.map +7 -0
- package/build-module/utils/transform-styles/index.mjs.map +2 -2
- package/build-module/utils/use-notify-copy.mjs.map +2 -2
- package/build-style/content-rtl.css +2 -2
- package/build-style/content.css +2 -2
- package/build-style/style-rtl.css +145 -76
- package/build-style/style.css +145 -76
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/components/block-visibility/constants.d.ts +45 -0
- package/build-types/components/block-visibility/constants.d.ts.map +1 -0
- package/build-types/components/block-visibility/use-block-visibility.d.ts +35 -0
- package/build-types/components/block-visibility/use-block-visibility.d.ts.map +1 -0
- package/build-types/lock-unlock.d.ts +2 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/build-types/utils/fit-text-frontend.d.ts +0 -5
- package/build-types/utils/fit-text-frontend.d.ts.map +1 -1
- package/build-types/utils/format-font-style.d.ts +0 -3
- package/build-types/utils/format-font-style.d.ts.map +1 -1
- package/build-types/utils/format-font-weight.d.ts +0 -3
- package/build-types/utils/format-font-weight.d.ts.map +1 -1
- package/build-types/utils/get-font-styles-and-weights.d.ts.map +1 -1
- package/build-types/utils/pasting.d.ts.map +1 -1
- package/build-types/utils/selection.d.ts.map +1 -1
- package/build-types/utils/transform-styles/index.d.ts +0 -3
- package/build-types/utils/transform-styles/index.d.ts.map +1 -1
- package/package.json +43 -42
- package/src/autocompleters/block.js +0 -7
- package/src/autocompleters/test/block.js +0 -7
- package/src/components/alignment-control/index.js +0 -3
- package/src/components/alignment-control/stories/aliginment-toolbar.story.jsx +0 -7
- package/src/components/alignment-control/stories/index.story.jsx +0 -7
- package/src/components/alignment-control/test/index.js +0 -11
- package/src/components/alignment-control/ui.js +0 -3
- package/src/components/autocomplete/index.js +0 -7
- package/src/components/background-image-control/README.md +122 -0
- package/src/components/background-image-control/index.js +0 -12
- package/src/components/background-image-control/test/index.js +0 -4
- package/src/components/block-actions/README.md +67 -0
- package/src/components/block-actions/index.js +3 -14
- package/src/components/block-alignment-control/constants.js +0 -3
- package/src/components/block-alignment-control/index.js +0 -3
- package/src/components/block-alignment-control/test/index.js +0 -7
- package/src/components/block-alignment-control/ui.js +0 -11
- package/src/components/block-alignment-control/use-available-alignments.js +0 -7
- package/src/components/block-alignment-matrix-control/index.js +0 -3
- package/src/components/block-alignment-matrix-control/stories/index.story.jsx +0 -7
- package/src/components/block-allowed-blocks/allowed-blocks-control.js +0 -7
- package/src/components/block-allowed-blocks/modal.js +0 -7
- package/src/components/block-bindings/attribute-control.js +10 -11
- package/src/components/block-bindings/index.js +0 -3
- package/src/components/block-bindings/source-fields-list.js +0 -11
- package/src/components/block-bindings/test/use-block-bindings-utils.js +1 -12
- package/src/components/block-bindings/use-block-bindings-utils.js +0 -7
- package/src/components/block-breadcrumb/index.js +0 -7
- package/src/components/block-breadcrumb/test/index.js +0 -7
- package/src/components/block-canvas/index.js +0 -7
- package/src/components/block-card/index.js +0 -11
- package/src/components/block-compare/block-view.js +0 -3
- package/src/components/block-compare/index.js +0 -11
- package/src/components/block-compare/test/block-view.js +0 -7
- package/src/components/block-content-overlay/index.js +0 -7
- package/src/components/block-context/README.md +0 -1
- package/src/components/block-context/index.js +0 -3
- package/src/components/block-controls/README.md +0 -3
- package/src/components/block-controls/fill.js +0 -7
- package/src/components/block-controls/groups.js +0 -3
- package/src/components/block-controls/hook.js +0 -7
- package/src/components/block-controls/index.js +0 -3
- package/src/components/block-controls/slot.js +0 -7
- package/src/components/block-controls/test/index.js +0 -11
- package/src/components/block-draggable/draggable-chip.js +0 -7
- package/src/components/block-draggable/index.js +0 -7
- package/src/components/block-draggable/stories/index.story.jsx +0 -3
- package/src/components/block-draggable/use-scroll-when-dragging.js +0 -3
- package/src/components/block-edit/context.js +0 -3
- package/src/components/block-edit/edit.js +0 -11
- package/src/components/block-edit/index.js +0 -7
- package/src/components/block-edit/multiple-usage-warning.js +0 -7
- package/src/components/block-edit/test/edit.js +0 -11
- package/src/components/block-edit-visually-button/README.md +39 -0
- package/src/components/block-edit-visually-button/index.js +0 -7
- package/src/components/block-editing-mode/README.md +72 -0
- package/src/components/block-editing-mode/index.js +0 -7
- package/src/components/block-full-height-alignment-control/index.js +0 -3
- package/src/components/block-heading-level-dropdown/heading-level-icon.js +0 -3
- package/src/components/block-heading-level-dropdown/index.js +0 -7
- package/src/components/block-heading-level-dropdown/stories/index.story.jsx +0 -7
- package/src/components/block-icon/index.js +0 -7
- package/src/components/block-icon/stories/index.story.ts +0 -7
- package/src/components/block-icon/test/index.js +0 -11
- package/src/components/block-inspector/edit-contents.js +27 -32
- package/src/components/block-inspector/index.js +13 -14
- package/src/components/block-inspector/inspector-pre-tabs-slot-fill.js +0 -3
- package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +0 -7
- package/src/components/block-keyboard-shortcuts/index.js +256 -0
- package/src/components/block-list/README.md +98 -0
- package/src/components/block-list/block-crash-boundary.js +0 -3
- package/src/components/block-list/block-crash-warning.js +0 -7
- package/src/components/block-list/block-html.js +0 -11
- package/src/components/block-list/block-invalid-warning.js +0 -7
- package/src/components/block-list/block.js +64 -23
- package/src/components/block-list/index.js +69 -25
- package/src/components/block-list/layout.js +0 -7
- package/src/components/block-list/private-block-context.js +0 -3
- package/src/components/block-list/subdirectory-icon.js +0 -3
- package/src/components/block-list/use-block-props/index.js +57 -12
- package/src/components/block-list/use-block-props/use-block-refs.js +0 -7
- package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +0 -3
- package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -7
- package/src/components/block-list/use-block-props/use-focus-handler.js +0 -7
- package/src/components/block-list/use-block-props/use-intersection-observer.js +0 -7
- package/src/components/block-list/use-block-props/use-is-hovered.js +0 -7
- package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +0 -7
- package/src/components/block-list/use-block-props/use-scroll-into-view.js +0 -3
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +6 -15
- package/src/components/block-list/use-in-between-inserter.js +0 -7
- package/src/components/block-list/zoom-out-separator.js +0 -11
- package/src/components/block-list-appender/index.js +0 -11
- package/src/components/block-lock/README.md +66 -0
- package/src/components/block-lock/menu-item.js +0 -7
- package/src/components/block-lock/modal.js +0 -7
- package/src/components/block-lock/toolbar.js +0 -7
- package/src/components/block-lock/use-block-lock.js +0 -7
- package/src/components/block-manager/category.js +0 -7
- package/src/components/block-manager/checklist.js +0 -7
- package/src/components/block-manager/index.js +0 -7
- package/src/components/block-mover/button.js +17 -26
- package/src/components/block-mover/index.js +0 -12
- package/src/components/block-mover/mover-description.js +0 -3
- package/src/components/block-mover/stories/index.story.jsx +0 -7
- package/src/components/block-mover/test/mover-description.js +0 -3
- package/src/components/block-navigation/dropdown.js +0 -11
- package/src/components/block-parent-selector/index.js +111 -37
- package/src/components/block-pattern-setup/index.js +0 -8
- package/src/components/block-pattern-setup/setup-toolbar.js +0 -7
- package/src/components/block-pattern-setup/use-patterns-setup.js +0 -7
- package/src/components/block-patterns-list/index.js +0 -11
- package/src/components/block-patterns-list/stories/index.story.jsx +3 -10
- package/src/components/block-patterns-paging/index.js +0 -3
- package/src/components/block-popover/README.md +10 -3
- package/src/components/block-popover/cover.js +0 -7
- package/src/components/block-popover/drop-zone.js +0 -7
- package/src/components/block-popover/inbetween.js +8 -13
- package/src/components/block-popover/index.js +0 -11
- package/src/components/block-popover/stories/index.story.jsx +143 -0
- package/src/components/block-popover/use-popover-scroll.js +0 -3
- package/src/components/block-preview/async.js +0 -3
- package/src/components/block-preview/auto.js +0 -7
- package/src/components/block-preview/index.js +0 -13
- package/src/components/block-preview/test/index.js +0 -11
- package/src/components/block-quick-navigation/index.js +0 -7
- package/src/components/block-removal-warning-modal/index.js +0 -7
- package/src/components/block-rename/modal.js +0 -7
- package/src/components/block-rename/rename-control.js +0 -7
- package/src/components/block-rename/use-block-rename.js +0 -3
- package/src/components/block-selection-clearer/index.js +0 -7
- package/src/components/block-selection-clearer/test/index.js +0 -11
- package/src/components/block-settings-menu/block-html-convert-button.js +0 -7
- package/src/components/block-settings-menu/block-mode-toggle.js +0 -7
- package/src/components/block-settings-menu/block-parent-selector-menu-item.js +0 -7
- package/src/components/block-settings-menu/block-settings-dropdown.js +1 -8
- package/src/components/block-settings-menu/block-settings-menu-first-item.js +0 -3
- package/src/components/block-settings-menu/index.js +0 -7
- package/src/components/block-settings-menu/test/block-mode-toggle.js +0 -11
- package/src/components/block-settings-menu-controls/index.js +0 -7
- package/src/components/block-styles/index.js +95 -54
- package/src/components/block-styles/menu-items.js +0 -3
- package/src/components/block-styles/style.scss +5 -34
- package/src/components/block-styles/test/utils.js +0 -3
- package/src/components/block-styles/use-styles-for-block.js +0 -7
- package/src/components/block-styles/utils.js +0 -3
- package/src/components/block-switcher/block-styles-menu.js +0 -7
- package/src/components/block-switcher/block-transformations-menu.js +0 -7
- package/src/components/block-switcher/block-variation-transformations.js +0 -7
- package/src/components/block-switcher/index.js +0 -7
- package/src/components/block-switcher/pattern-transformations-menu.js +0 -8
- package/src/components/block-switcher/preview-block-popover.js +0 -7
- package/src/components/block-switcher/test/index.js +0 -11
- package/src/components/block-switcher/test/use-transformed.patterns.js +0 -7
- package/src/components/block-switcher/test/utils.js +0 -7
- package/src/components/block-switcher/use-transformed-patterns.js +0 -7
- package/src/components/block-switcher/utils.js +0 -3
- package/src/components/block-title/index.js +0 -4
- package/src/components/block-title/stories/index.story.jsx +0 -7
- package/src/components/block-title/test/index.js +0 -11
- package/src/components/block-title/use-block-display-title.js +0 -7
- package/src/components/block-toolbar/block-styles-dropdown.js +0 -7
- package/src/components/block-toolbar/block-toolbar-icon.js +0 -7
- package/src/components/block-toolbar/block-toolbar-last-item.js +0 -3
- package/src/components/block-toolbar/change-design.js +0 -7
- package/src/components/block-toolbar/edit-section-button.js +0 -7
- package/src/components/block-toolbar/index.js +0 -11
- package/src/components/block-toolbar/pattern-overrides-dropdown.js +0 -7
- package/src/components/block-toolbar/switch-section-style.js +0 -7
- package/src/components/block-toolbar/test/block-toolbar-icon.js +0 -11
- package/src/components/block-toolbar/use-has-block-toolbar.js +0 -6
- package/src/components/block-toolbar/utils.js +0 -7
- package/src/components/block-tools/block-toolbar-popover.js +0 -9
- package/src/components/block-tools/empty-block-inserter.js +0 -7
- package/src/components/block-tools/index.js +3 -20
- package/src/components/block-tools/insertion-point.js +0 -11
- package/src/components/block-tools/style.scss +94 -0
- package/src/components/block-tools/use-block-toolbar-popover-props.js +0 -7
- package/src/components/block-tools/use-selected-block-tool-props.js +0 -7
- package/src/components/block-tools/use-show-block-tools.js +0 -7
- package/src/components/block-tools/zoom-out-mode-inserter-button.js +0 -7
- package/src/components/block-tools/zoom-out-mode-inserters.js +0 -7
- package/src/components/block-types-list/index.js +0 -7
- package/src/components/block-variation-picker/index.js +0 -7
- package/src/components/block-variation-transforms/index.js +0 -7
- package/src/components/block-vertical-alignment-control/index.js +0 -3
- package/src/components/block-vertical-alignment-control/test/index.js +0 -7
- package/src/components/block-vertical-alignment-control/ui.js +0 -3
- package/src/components/block-visibility/{constants.js → constants.ts} +14 -7
- package/src/components/block-visibility/modal.js +0 -11
- package/src/components/block-visibility/test/use-block-visibility.js +0 -12
- package/src/components/block-visibility/test/utils.js +0 -3
- package/src/components/block-visibility/use-block-visibility.ts +92 -0
- package/src/components/block-visibility/utils.js +0 -7
- package/src/components/block-visibility/viewport-menu-item.js +0 -7
- package/src/components/block-visibility/viewport-toolbar.js +0 -7
- package/src/components/block-visibility/viewport-visibility-info.js +0 -7
- package/src/components/border-radius-control/README.md +0 -3
- package/src/components/border-radius-control/constants.js +0 -3
- package/src/components/border-radius-control/index.js +0 -7
- package/src/components/border-radius-control/linked-button.js +0 -3
- package/src/components/border-radius-control/stories/index.story.jsx +0 -7
- package/src/components/border-radius-control/test/index.js +0 -12
- package/src/components/border-radius-control/test/utils.js +0 -3
- package/src/components/border-radius-control/utils.js +0 -7
- package/src/components/button-block-appender/index.js +0 -11
- package/src/components/child-layout-control/index.js +5 -12
- package/src/components/child-layout-control/test/index.js +0 -11
- package/src/components/collab/note-icon-slot.js +0 -3
- package/src/components/collab/note-icon-toolbar-slot.js +0 -3
- package/src/components/color-palette/control.js +0 -3
- package/src/components/color-palette/index.js +0 -7
- package/src/components/color-palette/stories/control.story.jsx +0 -7
- package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -29
- package/src/components/color-palette/test/control.js +0 -7
- package/src/components/color-palette/with-color-context.js +0 -7
- package/src/components/color-style-selector/index.js +0 -3
- package/src/components/colors/test/utils.js +0 -3
- package/src/components/colors/test/with-colors.js +6 -14
- package/src/components/colors/utils.js +1 -15
- package/src/components/colors/with-colors.js +84 -120
- package/src/components/colors-gradients/control.js +0 -11
- package/src/components/colors-gradients/dropdown.js +0 -15
- package/src/components/colors-gradients/panel-color-gradient-settings.js +21 -28
- package/src/components/colors-gradients/style.scss +17 -7
- package/src/components/colors-gradients/test/control.js +0 -7
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +0 -7
- package/src/components/contrast-checker/index.js +0 -7
- package/src/components/contrast-checker/stories/index.story.ts +0 -3
- package/src/components/contrast-checker/test/index.js +0 -11
- package/src/components/convert-to-group-buttons/index.js +2 -13
- package/src/components/convert-to-group-buttons/toolbar.js +3 -12
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +0 -7
- package/src/components/copy-handler/index.js +0 -7
- package/src/components/date-format-picker/index.js +0 -3
- package/src/components/date-format-picker/stories/index.story.jsx +0 -7
- package/src/components/default-block-appender/content.scss +6 -3
- package/src/components/default-block-appender/index.js +0 -11
- package/src/components/default-block-appender/test/index.js +0 -7
- package/src/components/dimension-control/index.js +0 -11
- package/src/components/dimension-control/stories/index.story.jsx +0 -7
- package/src/components/dimensions-tool/aspect-ratio-tool.js +16 -10
- package/src/components/dimensions-tool/index.js +34 -29
- package/src/components/dimensions-tool/scale-tool.js +0 -3
- package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.jsx +0 -7
- package/src/components/dimensions-tool/stories/index.story.jsx +0 -7
- package/src/components/dimensions-tool/stories/scale-tool.story.jsx +0 -7
- package/src/components/dimensions-tool/stories/width-height-tool.story.jsx +0 -7
- package/src/components/dimensions-tool/test/index.js +166 -13
- package/src/components/dimensions-tool/test/utils.js +51 -0
- package/src/components/dimensions-tool/utils.js +67 -0
- package/src/components/dimensions-tool/width-height-tool.js +0 -3
- package/src/components/duotone-control/index.js +2 -3
- package/src/components/duotone-control/test/index.js +100 -0
- package/src/components/editable-text/index.js +0 -7
- package/src/components/editor-styles/index.js +0 -11
- package/src/components/fit-text-size-warning/index.js +0 -3
- package/src/components/font-appearance-control/index.js +0 -7
- package/src/components/font-family/index.js +0 -11
- package/src/components/font-family/stories/index.story.jsx +0 -7
- package/src/components/font-sizes/font-size-picker.js +0 -7
- package/src/components/font-sizes/test/fluid-utils.js +0 -7
- package/src/components/font-sizes/test/utils.js +0 -7
- package/src/components/font-sizes/utils.js +1 -11
- package/src/components/font-sizes/with-font-sizes.js +0 -7
- package/src/components/global-styles/advanced-panel.js +5 -9
- package/src/components/global-styles/background-panel.js +0 -7
- package/src/components/global-styles/border-panel.js +11 -16
- package/src/components/global-styles/color-gradient-dropdown-item.js +0 -11
- package/src/components/global-styles/color-panel.js +13 -8
- package/src/components/global-styles/dimensions-panel.js +17 -16
- package/src/components/global-styles/filters-panel.js +24 -21
- package/src/components/global-styles/hooks.js +0 -7
- package/src/components/global-styles/image-settings-panel.js +0 -7
- package/src/components/global-styles/inheritance/index.js +0 -7
- package/src/components/global-styles/inheritance/test/index.js +0 -11
- package/src/components/global-styles/inherited-value-context.js +0 -7
- package/src/components/global-styles/shadow-panel-components.js +38 -23
- package/src/components/global-styles/state-control-badges.js +0 -7
- package/src/components/global-styles/state-control.js +0 -3
- package/src/components/global-styles/test/background-panel.js +0 -8
- package/src/components/global-styles/test/border-panel.js +230 -7
- package/src/components/global-styles/test/color-panel.js +24 -7
- package/src/components/global-styles/test/dimensions-panel.js +98 -14
- package/src/components/global-styles/test/filters-panel.js +84 -7
- package/src/components/global-styles/test/inherited-value-context-core.js +0 -11
- package/src/components/global-styles/test/inherited-value-context.js +0 -12
- package/src/components/global-styles/test/state-control-badges.js +0 -7
- package/src/components/global-styles/test/typography-panel-core.js +0 -7
- package/src/components/global-styles/test/typography-panel.js +0 -7
- package/src/components/global-styles/test/typography-utils.js +0 -3
- package/src/components/global-styles/test/utils.js +30 -0
- package/src/components/global-styles/typography-panel.js +0 -7
- package/src/components/global-styles/typography-utils.js +0 -3
- package/src/components/global-styles/utils.js +23 -3
- package/src/components/gradients/use-gradient.js +0 -7
- package/src/components/grid/grid-item-movers.js +0 -11
- package/src/components/grid/grid-item-resizer.js +0 -7
- package/src/components/grid/grid-visualizer.js +0 -11
- package/src/components/grid/use-get-number-of-blocks-before-cell.js +0 -7
- package/src/components/grid/use-grid-layout-sync.js +0 -7
- package/src/components/height-control/index.js +0 -7
- package/src/components/height-control/stories/index.story.jsx +0 -7
- package/src/components/html-element-control/index.js +0 -7
- package/src/components/html-element-control/messages.js +0 -3
- package/src/components/iframe/index.js +4 -16
- package/src/components/iframe/use-scale-canvas.js +38 -14
- package/src/components/image-editor/aspect-ratio-dropdown.js +0 -7
- package/src/components/image-editor/context.js +0 -7
- package/src/components/image-editor/cropper.js +0 -11
- package/src/components/image-editor/form-controls.js +0 -7
- package/src/components/image-editor/index.js +0 -7
- package/src/components/image-editor/rotation-button.js +0 -8
- package/src/components/image-editor/test/index.js +0 -3
- package/src/components/image-editor/use-save-image.js +0 -7
- package/src/components/image-editor/use-transform-image.js +0 -3
- package/src/components/image-editor/zoom-dropdown.js +0 -7
- package/src/components/image-size-control/index.js +0 -7
- package/src/components/image-size-control/test/index.js +0 -7
- package/src/components/image-size-control/use-dimension-handler.js +0 -3
- package/src/components/inner-blocks/README.md +2 -0
- package/src/components/inner-blocks/button-block-appender.js +0 -7
- package/src/components/inner-blocks/default-block-appender.js +0 -3
- package/src/components/inner-blocks/index.js +11 -13
- package/src/components/inner-blocks/stories/index.story.jsx +246 -0
- package/src/components/inner-blocks/test/index.js +0 -8
- package/src/components/inner-blocks/use-block-context.js +0 -7
- package/src/components/inner-blocks/use-inner-block-template-sync.js +47 -23
- package/src/components/inner-blocks/use-nested-settings-update.js +0 -7
- package/src/components/inner-content/index.js +0 -7
- package/src/components/inner-content/test/index.js +0 -11
- package/src/components/inserter/block-patterns-explorer/index.js +24 -18
- package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +18 -59
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +22 -54
- package/src/components/inserter/block-patterns-tab/index.js +0 -7
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +0 -8
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +0 -7
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -8
- package/src/components/inserter/block-patterns-tab/utils.js +0 -4
- package/src/components/inserter/block-types-tab.js +0 -7
- package/src/components/inserter/category-tabs/index.js +0 -7
- package/src/components/inserter/hooks/use-block-types-state.js +0 -7
- package/src/components/inserter/hooks/use-insertion-point.js +9 -11
- package/src/components/inserter/hooks/use-patterns-paging.js +0 -3
- package/src/components/inserter/hooks/use-patterns-state.js +0 -7
- package/src/components/inserter/index.js +4 -28
- package/src/components/inserter/library.js +0 -7
- package/src/components/inserter/media-tab/hooks.js +0 -7
- package/src/components/inserter/media-tab/media-list.js +0 -7
- package/src/components/inserter/media-tab/media-panel.js +0 -11
- package/src/components/inserter/media-tab/media-preview.js +0 -12
- package/src/components/inserter/media-tab/media-tab.js +0 -7
- package/src/components/inserter/media-tab/test/hooks.js +0 -7
- package/src/components/inserter/media-tab/test/media-panel.js +0 -7
- package/src/components/inserter/media-tab/utils.js +0 -3
- package/src/components/inserter/menu.js +23 -21
- package/src/components/inserter/mobile-tab-navigation.js +0 -3
- package/src/components/inserter/no-results.js +0 -3
- package/src/components/inserter/panel.js +0 -3
- package/src/components/inserter/preview-panel.js +0 -7
- package/src/components/inserter/quick-inserter.js +15 -24
- package/src/components/inserter/search-items.js +0 -3
- package/src/components/inserter/search-results.js +0 -7
- package/src/components/inserter/stories/index.story.jsx +0 -7
- package/src/components/inserter/style.scss +44 -62
- package/src/components/inserter/test/get-appender-label.js +0 -3
- package/src/components/inserter/test/search-items.js +0 -3
- package/src/components/inserter/tips.js +0 -3
- package/src/components/inserter-draggable-blocks/index.js +0 -7
- package/src/components/inserter-list-item/index.js +0 -11
- package/src/components/inserter-listbox/context.js +0 -3
- package/src/components/inserter-listbox/group.js +0 -3
- package/src/components/inserter-listbox/index.js +0 -8
- package/src/components/inserter-listbox/item.js +0 -3
- package/src/components/inserter-listbox/row.js +0 -3
- package/src/components/inserter-menu-extension/index.js +0 -3
- package/src/components/inspector-controls/block-support-slot-container.js +0 -3
- package/src/components/inspector-controls/block-support-tools-panel.js +0 -7
- package/src/components/inspector-controls/fill.js +22 -37
- package/src/components/inspector-controls/groups.js +0 -3
- package/src/components/inspector-controls/index.js +0 -3
- package/src/components/inspector-controls/last-item.js +0 -7
- package/src/components/inspector-controls/list-view-content-popover.js +0 -7
- package/src/components/inspector-controls/slot.js +0 -7
- package/src/components/inspector-controls-tabs/README.md +92 -0
- package/src/components/inspector-controls-tabs/advanced-controls-panel.js +0 -7
- package/src/components/inspector-controls-tabs/content-tab.js +0 -7
- package/src/components/inspector-controls-tabs/index.js +0 -8
- package/src/components/inspector-controls-tabs/position-controls-panel.js +0 -7
- package/src/components/inspector-controls-tabs/settings-tab.js +0 -7
- package/src/components/inspector-controls-tabs/styles-tab.js +1 -8
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -7
- package/src/components/inspector-controls-tabs/utils.js +0 -3
- package/src/components/inspector-popover-header/index.js +0 -3
- package/src/components/justify-content-control/index.js +0 -3
- package/src/components/justify-content-control/ui.js +0 -3
- package/src/components/keyboard-shortcuts/index.js +0 -7
- package/src/components/letter-spacing-control/index.js +0 -7
- package/src/components/letter-spacing-control/stories/index.story.jsx +0 -7
- package/src/components/line-height-control/index.js +0 -7
- package/src/components/line-height-control/stories/index.story.jsx +0 -7
- package/src/components/line-height-control/test/index.js +0 -11
- package/src/components/link-control/constants.js +0 -3
- package/src/components/link-control/index.js +0 -11
- package/src/components/link-control/is-url-like.js +0 -3
- package/src/components/link-control/link-preview.js +0 -13
- package/src/components/link-control/normalize-url.js +0 -7
- package/src/components/link-control/search-create-button.js +0 -3
- package/src/components/link-control/search-input.js +0 -7
- package/src/components/link-control/search-item.js +0 -3
- package/src/components/link-control/search-results.js +1 -12
- package/src/components/link-control/settings-drawer.js +0 -3
- package/src/components/link-control/settings.js +0 -3
- package/src/components/link-control/style.scss +1 -1
- package/src/components/link-control/test/index.js +5 -11
- package/src/components/link-control/test/is-url-like.js +0 -3
- package/src/components/link-control/test/url-normalization.test.js +0 -11
- package/src/components/link-control/use-create-page.js +0 -3
- package/src/components/link-control/use-internal-value.js +0 -7
- package/src/components/link-control/use-rich-url-data.js +1 -8
- package/src/components/link-control/use-search-handler.js +0 -7
- package/src/components/link-control/viewer-slot.js +0 -3
- package/src/components/link-picker/link-picker.js +0 -7
- package/src/components/link-picker/link-preview.js +0 -7
- package/src/components/link-picker/test/index.js +0 -11
- package/src/components/list-view/appender.js +7 -11
- package/src/components/list-view/aria-referenced-text.js +12 -19
- package/src/components/list-view/block-contents.js +28 -28
- package/src/components/list-view/block-select-button.js +62 -40
- package/src/components/list-view/block.js +41 -58
- package/src/components/list-view/branch.js +179 -169
- package/src/components/list-view/context.js +24 -3
- package/src/components/list-view/drop-indicator.js +6 -18
- package/src/components/list-view/expander.js +0 -3
- package/src/components/list-view/index.js +145 -117
- package/src/components/list-view/leaf.js +0 -11
- package/src/components/list-view/style.scss +24 -4
- package/src/components/list-view/test/use-list-view-drop-zone.js +0 -3
- package/src/components/list-view/test/utils.js +0 -3
- package/src/components/list-view/use-block-selection.js +0 -7
- package/src/components/list-view/use-clipboard-handler.js +0 -7
- package/src/components/list-view/use-list-view-block-indexes.js +0 -3
- package/src/components/list-view/use-list-view-client-ids.js +0 -8
- package/src/components/list-view/use-list-view-collapse-items.js +3 -11
- package/src/components/list-view/use-list-view-drop-zone.js +11 -28
- package/src/components/list-view/use-list-view-expand-selected-item.js +3 -10
- package/src/components/list-view/use-list-view-images.js +6 -10
- package/src/components/list-view/use-list-view-scroll-into-view.js +0 -3
- package/src/components/list-view/utils.js +23 -7
- package/src/components/media-placeholder/index.js +9 -15
- package/src/components/media-placeholder/test/get-computed-accept-attribute.js +0 -3
- package/src/components/media-placeholder/test/index.js +0 -7
- package/src/components/media-replace-flow/index.js +0 -11
- package/src/components/media-replace-flow/test/index.js +0 -10
- package/src/components/media-upload/check.js +0 -7
- package/src/components/media-upload/index.js +0 -3
- package/src/components/multi-selection-inspector/index.js +42 -21
- package/src/components/multi-selection-inspector/style.scss +5 -0
- package/src/components/navigable-toolbar/index.js +38 -27
- package/src/components/observe-typing/index.js +0 -7
- package/src/components/panel-color-settings/README.md +0 -7
- package/src/components/panel-color-settings/index.js +0 -3
- package/src/components/panel-color-settings/test/index.js +0 -7
- package/src/components/plain-text/index.js +0 -11
- package/src/components/plain-text/stories/index.story.jsx +3 -7
- package/src/components/preset-input-control/custom-value-controls.js +0 -4
- package/src/components/preset-input-control/index.js +0 -7
- package/src/components/preset-input-control/test/index.js +0 -7
- package/src/components/preset-input-control/test/utils.js +0 -3
- package/src/components/preview-options/index.js +0 -3
- package/src/components/provider/block-refs-provider.js +0 -3
- package/src/components/provider/index.js +7 -8
- package/src/components/provider/selection-context.js +0 -3
- package/src/components/provider/test/experimental-provider.js +0 -10
- package/src/components/provider/test/use-block-sync.js +0 -12
- package/src/components/provider/use-block-sync.js +0 -7
- package/src/components/provider/use-media-upload-settings.js +0 -3
- package/src/components/provider/with-registry-provider.js +0 -7
- package/src/components/publish-date-time-picker/README.md +10 -0
- package/src/components/publish-date-time-picker/index.js +17 -21
- package/src/components/recursion-provider/README.md +0 -3
- package/src/components/recursion-provider/index.js +0 -7
- package/src/components/recursion-provider/test/index.js +0 -7
- package/src/components/resizable-box-popover/index.js +0 -7
- package/src/components/resolution-tool/index.js +0 -3
- package/src/components/resolution-tool/stories/index.story.jsx +0 -7
- package/src/components/responsive-block-control/index.js +0 -11
- package/src/components/responsive-block-control/label.js +0 -3
- package/src/components/responsive-block-control/test/index.js +0 -11
- package/src/components/rich-text/content.js +0 -11
- package/src/components/rich-text/event-listeners/before-input-rules.js +0 -7
- package/src/components/rich-text/event-listeners/delete.js +0 -7
- package/src/components/rich-text/event-listeners/enter.js +58 -52
- package/src/components/rich-text/event-listeners/firefox-compat.js +0 -3
- package/src/components/rich-text/event-listeners/index.js +0 -7
- package/src/components/rich-text/event-listeners/input-events.js +0 -8
- package/src/components/rich-text/event-listeners/input-rules.js +15 -20
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +0 -8
- package/src/components/rich-text/event-listeners/paste-handler.js +14 -8
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +0 -8
- package/src/components/rich-text/event-listeners/shortcuts.js +0 -8
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +0 -8
- package/src/components/rich-text/format-edit.js +0 -7
- package/src/components/rich-text/format-toolbar/index.js +0 -11
- package/src/components/rich-text/format-toolbar-container.js +0 -7
- package/src/components/rich-text/get-rich-text-values.js +0 -7
- package/src/components/rich-text/index.js +9 -15
- package/src/components/rich-text/multiline.js +126 -93
- package/src/components/rich-text/prevent-event-discovery.js +0 -3
- package/src/components/rich-text/toolbar-button.js +0 -3
- package/src/components/rich-text/use-mark-persistent.js +0 -7
- package/src/components/rich-text/utils.js +0 -3
- package/src/components/rich-text/with-deprecations.js +0 -7
- package/src/components/selection-scroll-into-view/index.js +0 -3
- package/src/components/skip-to-selected-block/index.js +0 -7
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -7
- package/src/components/spacing-sizes-control/index.js +2 -9
- package/src/components/spacing-sizes-control/input-controls/axial.js +0 -3
- package/src/components/spacing-sizes-control/input-controls/separated.js +0 -3
- package/src/components/spacing-sizes-control/input-controls/single.js +0 -3
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -7
- package/src/components/spacing-sizes-control/linked-button.js +0 -3
- package/src/components/spacing-sizes-control/test/index.js +0 -12
- package/src/components/spacing-sizes-control/test/utils.js +0 -3
- package/src/components/spacing-sizes-control/utils.js +0 -7
- package/src/components/tabbed-sidebar/index.js +0 -7
- package/src/components/tabbed-sidebar/stories/index.story.jsx +0 -7
- package/src/components/text-alignment-control/index.js +0 -7
- package/src/components/text-alignment-control/stories/index.story.jsx +0 -7
- package/src/components/text-decoration-control/index.js +0 -7
- package/src/components/text-decoration-control/stories/index.story.jsx +0 -7
- package/src/components/text-indent-control/index.js +0 -7
- package/src/components/text-transform-control/index.js +0 -7
- package/src/components/text-transform-control/stories/index.story.jsx +0 -7
- package/src/components/tool-selector/index.js +0 -3
- package/src/components/typewriter/index.js +0 -3
- package/src/components/unit-control/index.js +0 -7
- package/src/components/unit-control/stories/index.story.jsx +0 -7
- package/src/components/url-input/button.js +0 -7
- package/src/components/url-input/index.js +57 -77
- package/src/components/url-input/test/button.js +0 -11
- package/src/components/url-input/test/fixtures/validated-input-control-deprecation.js +27 -0
- package/src/components/url-input/test/index.js +90 -11
- package/src/components/url-popover/README.md +7 -0
- package/src/components/url-popover/image-url-input-ui.js +2 -9
- package/src/components/url-popover/index.js +0 -7
- package/src/components/url-popover/link-editor.js +0 -11
- package/src/components/url-popover/link-viewer-url.js +0 -7
- package/src/components/url-popover/link-viewer.js +0 -11
- package/src/components/url-popover/stories/index.story.jsx +133 -54
- package/src/components/url-popover/style.scss +5 -0
- package/src/components/use-block-commands/index.js +2 -9
- package/src/components/use-block-display-information/index.js +1 -8
- package/src/components/use-block-display-information/test/index.js +0 -11
- package/src/components/use-block-drop-zone/index.js +0 -7
- package/src/components/use-block-drop-zone/test/index.js +0 -3
- package/src/components/use-flash-editable-blocks/index.js +0 -7
- package/src/components/use-list-view-panel-state/index.js +0 -7
- package/src/components/use-moving-animation/index.js +9 -14
- package/src/components/use-on-block-drop/index.js +0 -7
- package/src/components/use-on-block-drop/test/index.js +1 -7
- package/src/components/use-paste-styles/index.js +0 -7
- package/src/components/use-resize-canvas/index.js +0 -3
- package/src/components/use-settings/index.js +0 -7
- package/src/components/warning/index.js +0 -7
- package/src/components/warning/stories/index.story.jsx +0 -7
- package/src/components/warning/test/index.js +0 -7
- package/src/components/writing-flow/index.js +0 -11
- package/src/components/writing-flow/test/index.js +0 -7
- package/src/components/writing-flow/use-arrow-nav.js +23 -16
- package/src/components/writing-flow/use-click-selection.js +0 -7
- package/src/components/writing-flow/use-clipboard-handler.js +65 -11
- package/src/components/writing-flow/use-drag-selection.js +0 -7
- package/src/components/writing-flow/use-editable-root-event-handlers.js +0 -7
- package/src/components/writing-flow/use-editable-root.js +0 -7
- package/src/components/writing-flow/use-home-end.js +0 -7
- package/src/components/writing-flow/use-input.js +105 -22
- package/src/components/writing-flow/use-multi-selection.js +0 -7
- package/src/components/writing-flow/use-preview-mode-nav.js +0 -7
- package/src/components/writing-flow/use-select-all.js +0 -7
- package/src/components/writing-flow/use-selection-observer.js +0 -7
- package/src/components/writing-flow/use-tab-nav.js +7 -8
- package/src/components/writing-flow/utils.js +0 -7
- package/src/components/writing-mode-control/index.js +0 -7
- package/src/components/writing-mode-control/stories/index.story.jsx +0 -7
- package/src/elements/test/index.js +0 -3
- package/src/hooks/align.js +0 -11
- package/src/hooks/allowed-blocks.js +0 -7
- package/src/hooks/anchor.js +0 -7
- package/src/hooks/aria-label.js +0 -7
- package/src/hooks/auto-inspector-controls.js +0 -7
- package/src/hooks/background.js +3 -15
- package/src/hooks/block-bindings.js +0 -7
- package/src/hooks/block-fields/fields-dropdown-menu.js +0 -7
- package/src/hooks/block-fields/index.js +0 -1
- package/src/hooks/block-fields/link/index.js +0 -7
- package/src/hooks/block-fields/media/index.js +0 -7
- package/src/hooks/block-fields/rich-text/index.js +0 -7
- package/src/hooks/block-fields/use-inspector-popover-placement.js +0 -3
- package/src/hooks/block-hooks.js +0 -7
- package/src/hooks/block-renaming.js +0 -3
- package/src/hooks/block-style-state.js +0 -7
- package/src/hooks/block-style-variation.js +0 -7
- package/src/hooks/border.js +27 -19
- package/src/hooks/color.js +0 -11
- package/src/hooks/compat.js +0 -3
- package/src/hooks/contrast-checker.js +0 -8
- package/src/hooks/custom-class-name.js +0 -11
- package/src/hooks/dimensions.js +8 -12
- package/src/hooks/duotone.js +23 -18
- package/src/hooks/elements.js +0 -7
- package/src/hooks/fit-text.js +0 -8
- package/src/hooks/font-family.js +1 -10
- package/src/hooks/font-size.js +0 -7
- package/src/hooks/gap.js +15 -2
- package/src/hooks/generated-class-name.js +0 -3
- package/src/hooks/grid-visualizer.js +0 -7
- package/src/hooks/index.js +0 -3
- package/src/hooks/layout-child.js +41 -16
- package/src/hooks/layout.js +118 -84
- package/src/hooks/line-height.js +0 -7
- package/src/hooks/list-view.js +0 -8
- package/src/hooks/lock.js +0 -3
- package/src/hooks/metadata.js +0 -3
- package/src/hooks/position.js +0 -11
- package/src/hooks/settings.js +0 -3
- package/src/hooks/spacing-visualizer.js +0 -7
- package/src/hooks/state-utils.js +0 -3
- package/src/hooks/states.js +8 -12
- package/src/hooks/style.js +0 -7
- package/src/hooks/supports.js +0 -3
- package/src/hooks/test/align.js +0 -7
- package/src/hooks/test/allowed-blocks.js +0 -7
- package/src/hooks/test/anchor.js +0 -7
- package/src/hooks/test/auto-inspector-controls.js +0 -7
- package/src/hooks/test/background.js +115 -3
- package/src/hooks/test/block-style-state.js +0 -3
- package/src/hooks/test/custom-class-name.js +0 -7
- package/src/hooks/test/dimensions.js +0 -7
- package/src/hooks/test/duotone.js +0 -3
- package/src/hooks/test/font-size.js +0 -11
- package/src/hooks/test/gap.js +31 -4
- package/src/hooks/test/generate-fields-from-attributes.js +0 -3
- package/src/hooks/test/generated-class-name.js +0 -7
- package/src/hooks/test/inherited-value-wiring.js +0 -3
- package/src/hooks/test/layout-child.js +60 -4
- package/src/hooks/test/layout.js +27 -3
- package/src/hooks/test/metadata.js +0 -7
- package/src/hooks/test/preset-round-trip.js +0 -6
- package/src/hooks/test/settings.js +0 -7
- package/src/hooks/test/state-utils.js +0 -7
- package/src/hooks/test/style.js +0 -7
- package/src/hooks/test/text-align.js +0 -7
- package/src/hooks/test/use-typography-props.js +0 -3
- package/src/hooks/test/utils.js +0 -3
- package/src/hooks/text-align.js +0 -11
- package/src/hooks/typography.js +0 -8
- package/src/hooks/use-border-props.js +0 -3
- package/src/hooks/use-cached-truthy.js +0 -3
- package/src/hooks/use-color-props.js +0 -11
- package/src/hooks/use-content-only-section-edit.js +0 -7
- package/src/hooks/use-dimensions-props.js +0 -3
- package/src/hooks/use-shadow-props.js +0 -3
- package/src/hooks/use-spacing-props.js +0 -3
- package/src/hooks/use-typography-props.js +1 -15
- package/src/hooks/use-zoom-out.js +0 -7
- package/src/hooks/utils.js +0 -11
- package/src/index.js +0 -3
- package/src/layouts/constrained.js +9 -8
- package/src/layouts/flex.js +15 -7
- package/src/layouts/flow.js +4 -8
- package/src/layouts/grid.js +9 -9
- package/src/layouts/index.js +0 -3
- package/src/layouts/test/constrained.js +26 -11
- package/src/layouts/test/flex.js +0 -11
- package/src/layouts/test/flow.js +26 -3
- package/src/layouts/test/grid.js +46 -11
- package/src/layouts/test/utils.js +0 -3
- package/src/layouts/utils.js +0 -7
- package/src/lock-unlock.ts +0 -3
- package/src/private-apis.js +2 -7
- package/src/store/actions.js +176 -54
- package/src/store/defaults.js +4 -3
- package/src/store/get-block-settings.js +0 -7
- package/src/store/index.js +0 -7
- package/src/store/private-actions.js +33 -5
- package/src/store/private-selectors.js +43 -17
- package/src/store/reducer.js +8 -12
- package/src/store/selectors.js +44 -21
- package/src/store/test/actions.js +203 -26
- package/src/store/test/array.js +0 -3
- package/src/store/test/get-block-settings.js +0 -7
- package/src/store/test/performance.js +0 -3
- package/src/store/test/private-actions.js +0 -3
- package/src/store/test/private-selectors.js +155 -17
- package/src/store/test/reducer.js +30 -11
- package/src/store/test/registry-selectors.js +0 -7
- package/src/store/test/selectors.js +143 -7
- package/src/store/utils.js +0 -7
- package/src/utils/fit-text-frontend.ts +0 -8
- package/src/utils/format-font-style.ts +0 -7
- package/src/utils/format-font-weight.ts +0 -7
- package/src/utils/get-font-styles-and-weights.ts +0 -7
- package/src/utils/group-blocks.js +36 -0
- package/src/utils/native-undo.js +0 -3
- package/src/utils/pasting.ts +0 -3
- package/src/utils/selection.ts +0 -3
- package/src/utils/sibling-block-attributes.js +30 -0
- package/src/utils/test/block-bindings.js +0 -3
- package/src/utils/test/color-values.js +0 -3
- package/src/utils/test/format-font-style.js +0 -3
- package/src/utils/test/format-font-weight.js +0 -3
- package/src/utils/test/get-font-styles-and-weights.js +0 -3
- package/src/utils/test/math.js +0 -3
- package/src/utils/test/object.js +0 -3
- package/src/utils/test/pasting.js +0 -3
- package/src/utils/test/selection.js +0 -3
- package/src/utils/test/sorting.js +0 -3
- package/src/utils/test/transform-styles.js +0 -3
- package/src/utils/transform-styles/index.ts +0 -8
- package/src/utils/use-notify-copy.js +0 -7
- package/build/components/floating-toolbar/nav-up-icon.cjs +0 -52
- package/build/components/floating-toolbar/nav-up-icon.cjs.map +0 -7
- package/build/components/gradients/with-gradient.cjs.map +0 -7
- package/build/components/inserter-button/sparkles.cjs +0 -36
- package/build/components/inserter-button/sparkles.cjs.map +0 -7
- package/build-module/components/floating-toolbar/nav-up-icon.mjs +0 -31
- package/build-module/components/floating-toolbar/nav-up-icon.mjs.map +0 -7
- package/build-module/components/gradients/with-gradient.mjs +0 -11
- package/build-module/components/gradients/with-gradient.mjs.map +0 -7
- package/build-module/components/inserter-button/sparkles.mjs +0 -15
- package/build-module/components/inserter-button/sparkles.mjs.map +0 -7
- package/build-style/default-editor-styles-rtl.css +0 -68
- package/build-style/default-editor-styles.css +0 -68
- package/src/components/block-visibility/use-block-visibility.js +0 -76
- package/src/components/floating-toolbar/nav-up-icon.js +0 -25
- package/src/components/gradients/with-gradient.js +0 -12
- package/src/components/inserter-button/README.md +0 -62
- package/src/components/inserter-button/sparkles.js +0 -15
- package/src/default-editor-styles.scss +0 -25
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/dimensions.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tDimensionsPanel as StylesDimensionsPanel,\n\tuseHasDimensionsPanel,\n} from '../components/global-styles';\nimport { useResolvedStyle } from '../components/global-styles/inherited-value-context';\nimport { MarginVisualizer, PaddingVisualizer } from './spacing-visualizer';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { cleanEmptyObject, shouldSkipSerialization } from './utils';\nimport {\n\tgetStyleForState,\n\tisDefaultBlockStyleState,\n\tsetStyleForState,\n\tuseBlockStyleState,\n} from './block-style-state';\nimport { isAxialBlockGapAllowed } from './gap';\n\nexport const DIMENSIONS_SUPPORT_KEY = 'dimensions';\nexport const SPACING_SUPPORT_KEY = 'spacing';\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nexport const AXIAL_SIDES = [ 'vertical', 'horizontal' ];\n\nfunction useVisualizer() {\n\tconst [ property, setProperty ] = useState( false );\n\tconst { hideBlockInterface, showBlockInterface } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tuseEffect( () => {\n\t\tif ( ! property ) {\n\t\t\tshowBlockInterface();\n\t\t} else {\n\t\t\thideBlockInterface();\n\t\t}\n\t}, [ property, showBlockInterface, hideBlockInterface ] );\n\n\treturn [ property, setProperty ];\n}\n\nfunction DimensionsInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributes.style;\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tstyle: updatedStyle,\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"dimensions\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function DimensionsPanel( { clientId, name, setAttributes, settings } ) {\n\tconst selectedState = useBlockStyleState();\n\tconst isStateSelected = ! isDefaultBlockStyleState( selectedState );\n\tconst isEnabled = useHasDimensionsPanel( settings, selectedState );\n\tconst { style, className, layout } = useSelect(\n\t\t( select ) => {\n\t\t\t// Early return to avoid subscription when disabled\n\t\t\tif ( ! isEnabled ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst attributes =\n\t\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ) || {};\n\t\t\treturn {\n\t\t\t\tstyle: attributes.style,\n\t\t\t\tclassName: attributes.className,\n\t\t\t\tlayout: attributes.layout,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isEnabled ]\n\t);\n\n\tconst { value: inheritedValue } = useResolvedStyle(\n\t\tname,\n\t\tclassName,\n\t\tselectedState\n\t);\n\n\tconst [ visualizedProperty, setVisualizedProperty ] = useVisualizer();\n\tconst value = isStateSelected\n\t\t? getStyleForState( style, selectedState )\n\t\t: style;\n\tconst onChange = isStateSelected\n\t\t? ( newStyle ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tstyle: setStyleForState( style, selectedState, newStyle ),\n\t\t\t\t} );\n\t\t }\n\t\t: ( newStyle ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t\t\t} );\n\t\t };\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultDimensionsControls = getBlockSupport( name, [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultSpacingControls = getBlockSupport( name, [\n\t\tSPACING_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst { default: defaultLayout } = getBlockSupport( name, 'layout' ) || {};\n\tconst defaultControls = {\n\t\t// In the block inspector, minHeight and minWidth should not\n\t\t// be shown by default unless the block explicitly opts in.\n\t\tminHeight: false,\n\t\tminWidth: false,\n\t\t...defaultDimensionsControls,\n\t\t...defaultSpacingControls,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<StylesDimensionsPanel\n\t\t\t\tas={ DimensionsInspectorControl }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tsettings={ settings }\n\t\t\t\tallowAxialBlockGap={ isAxialBlockGapAllowed(\n\t\t\t\t\tlayout,\n\t\t\t\t\tdefaultLayout\n\t\t\t\t) }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tdefaultControls={ defaultControls }\n\t\t\t\tstyleState={ selectedState }\n\t\t\t\tonVisualize={\n\t\t\t\t\tisStateSelected ? undefined : setVisualizedProperty\n\t\t\t\t}\n\t\t\t\tinheritedValue={ inheritedValue }\n\t\t\t/>\n\t\t\t{ ! isStateSelected &&\n\t\t\t\t!! settings?.spacing?.padding &&\n\t\t\t\tvisualizedProperty === 'padding' && (\n\t\t\t\t\t<PaddingVisualizer\n\t\t\t\t\t\tforceShow={ visualizedProperty === 'padding' }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t{ ! isStateSelected &&\n\t\t\t\t!! settings?.spacing?.margin &&\n\t\t\t\tvisualizedProperty === 'margin' && (\n\t\t\t\t\t<MarginVisualizer\n\t\t\t\t\t\tforceShow={ visualizedProperty === 'margin' }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n\n/**\n * Determine whether there is block support for dimensions.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Background image feature to check for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasDimensionsSupport( blockName, feature = 'any' ) {\n\tconst support = getBlockSupport( blockName, DIMENSIONS_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn !! (\n\t\t\tsupport?.aspectRatio ||\n\t\t\t!! support?.height ||\n\t\t\t!! support?.minHeight ||\n\t\t\t!! support?.width ||\n\t\t\t!! support?.minWidth\n\t\t);\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\nexport function isExplicitAspectRatio( aspectRatio ) {\n\tif ( ! aspectRatio ) {\n\t\treturn false;\n\t}\n\n\treturn `${ aspectRatio }`.trim().toLowerCase() !== 'auto';\n}\n\nexport default {\n\tuseBlockProps,\n\tattributeKeys: [ 'height', 'minHeight', 'width', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasDimensionsSupport( name );\n\t},\n};\n\nfunction useBlockProps( { name, height, minHeight, style } ) {\n\tif (\n\t\t! hasDimensionsSupport( name, 'aspectRatio' ) ||\n\t\tshouldSkipSerialization( name, DIMENSIONS_SUPPORT_KEY, 'aspectRatio' )\n\t) {\n\t\treturn {};\n\t}\n\n\tconst hasExplicitAspectRatio = isExplicitAspectRatio(\n\t\tstyle?.dimensions?.aspectRatio\n\t);\n\tconst className = clsx( {\n\t\t'has-aspect-ratio': hasExplicitAspectRatio,\n\t} );\n\n\t// Allow dimensions-based inline style overrides to override any global styles rules that\n\t// might be set for the block, and therefore affect the display of the aspect ratio.\n\tconst inlineStyleOverrides = {};\n\n\t// Apply rules to unset incompatible styles.\n\t// Note that an explicit `aspectRatio` will win out if both an aspect ratio and height-related properties are set.\n\t// This is because the aspect ratio is a newer block support, so (in theory) any aspect ratio\n\t// that is set should be intentional and should override any existing height properties. The Cover block\n\t// and dimensions controls have logic that will manually clear the aspect ratio if height properties\n\t// are set.\n\tif ( hasExplicitAspectRatio ) {\n\t\t// To ensure the aspect ratio does not get overridden by `minHeight` or `height` unset any existing rule.\n\t\tinlineStyleOverrides.minHeight = 'unset';\n\t\tinlineStyleOverrides.height = 'unset';\n\t} else if (\n\t\tminHeight ||\n\t\tstyle?.dimensions?.minHeight ||\n\t\theight ||\n\t\tstyle?.dimensions?.height\n\t) {\n\t\t// To ensure height properties do not get overridden by `aspectRatio` unset any existing rule.\n\t\tinlineStyleOverrides.aspectRatio = 'unset';\n\t}\n\n\treturn { className, style: inlineStyleOverrides };\n}\n\n/**\n * @deprecated\n */\nexport function useCustomSides() {\n\tdeprecated( 'wp.blockEditor.__experimentalUseCustomSides', {\n\t\tsince: '6.3',\n\t\tversion: '6.4',\n\t} );\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorStore", "InspectorControls", "StylesDimensionsPanel", "clsx", "deprecated"]
|
|
7
7
|
}
|
package/build/hooks/duotone.cjs
CHANGED
|
@@ -128,7 +128,7 @@ function DuotonePanelPure({ style, setAttributes, name, clientId }) {
|
|
|
128
128
|
import_filters_panel.default,
|
|
129
129
|
{
|
|
130
130
|
value: {
|
|
131
|
-
filter: { duotone:
|
|
131
|
+
filter: { duotone: duotoneStyle }
|
|
132
132
|
},
|
|
133
133
|
onChange: (newDuotone) => {
|
|
134
134
|
const newStyle = {
|
|
@@ -153,8 +153,9 @@ function DuotonePanelPure({ style, setAttributes, name, clientId }) {
|
|
|
153
153
|
disableCustomDuotone,
|
|
154
154
|
disableCustomColors,
|
|
155
155
|
value: duotonePresetOrColors,
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
selectedSlug: (0, import_utils.getDuotoneSlugFromPreset)(duotoneStyle),
|
|
157
|
+
onChange: (newDuotone, index, slug) => {
|
|
158
|
+
const maybePreset = slug ? `var:preset|duotone|${slug}` : getDuotonePresetFromColors(
|
|
158
159
|
newDuotone,
|
|
159
160
|
duotonePalette
|
|
160
161
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/duotone.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSelector,\n\tprivateApis as globalStylesEnginePrivateApis,\n} from '@wordpress/global-styles-engine';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalDuotoneControl as DuotoneControl,\n\tuseSettings,\n} from '../components';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport {\n\tcleanEmptyObject,\n\tuseBlockSettings,\n\tusePrivateStyleOverride,\n} from './utils';\nimport { unlock } from '../lock-unlock';\nimport { default as StylesFiltersPanel } from '../components/global-styles/filters-panel';\nimport { useResolvedStyle } from '../components/global-styles/inherited-value-context';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport { store as blockEditorStore } from '../store';\n\nconst { getDuotoneFilter, getDuotoneStylesheet, getDuotoneUnsetStylesheet } =\n\tunlock( globalStylesEnginePrivateApis );\n\nconst EMPTY_ARRAY = [];\n\n// Safari does not always update the duotone filter when the duotone colors\n// are changed. This browser check is later used to force a re-render of the block\n// element to ensure the duotone filter is updated. The check is included at the\n// root of this file as it only needs to be run once per page load.\nconst isSafari =\n\twindow?.navigator.userAgent &&\n\twindow.navigator.userAgent.includes( 'Safari' ) &&\n\t! window.navigator.userAgent.includes( 'Chrome' ) &&\n\t! window.navigator.userAgent.includes( 'Chromium' );\n\nextend( [ namesPlugin ] );\n\nfunction useMultiOriginPresets( { presetSetting, defaultSetting } ) {\n\tconst [ enableDefault, userPresets, themePresets, defaultPresets ] =\n\t\tuseSettings(\n\t\t\tdefaultSetting,\n\t\t\t`${ presetSetting }.custom`,\n\t\t\t`${ presetSetting }.theme`,\n\t\t\t`${ presetSetting }.default`\n\t\t);\n\treturn useMemo(\n\t\t() => [\n\t\t\t...( userPresets || EMPTY_ARRAY ),\n\t\t\t...( themePresets || EMPTY_ARRAY ),\n\t\t\t...( ( enableDefault && defaultPresets ) || EMPTY_ARRAY ),\n\t\t],\n\t\t[ enableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function getColorsFromDuotonePreset( duotone, duotonePalette ) {\n\tif ( ! duotone ) {\n\t\treturn;\n\t}\n\tconst preset = duotonePalette?.find( ( { slug } ) => {\n\t\treturn duotone === `var:preset|duotone|${ slug }`;\n\t} );\n\n\treturn preset ? preset.colors : undefined;\n}\n\nexport function getDuotonePresetFromColors( colors, duotonePalette ) {\n\tif ( ! colors || ! Array.isArray( colors ) ) {\n\t\treturn;\n\t}\n\n\tconst preset = duotonePalette?.find( ( duotonePreset ) => {\n\t\treturn duotonePreset?.colors?.every(\n\t\t\t( val, index ) => val === colors[ index ]\n\t\t);\n\t} );\n\n\treturn preset ? `var:preset|duotone|${ preset.slug }` : undefined;\n}\n\nfunction DuotonePanelPure( { style, setAttributes, name, clientId } ) {\n\tconst duotoneStyle = style?.color?.duotone;\n\tconst settings = useBlockSettings( name );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst className = useSelect(\n\t\t( select ) =>\n\t\t\tclientId\n\t\t\t\t? select( blockEditorStore ).getBlockAttributes( clientId )\n\t\t\t\t\t\t?.className\n\t\t\t\t: undefined,\n\t\t[ clientId ]\n\t);\n\tconst { value: inheritedValue } = useResolvedStyle( name, className );\n\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.palette',\n\t\tdefaultSetting: 'color.defaultPalette',\n\t} );\n\tconst [ enableCustomColors, enableCustomDuotone ] = useSettings(\n\t\t'color.custom',\n\t\t'color.customDuotone'\n\t);\n\tconst disableCustomColors = ! enableCustomColors;\n\tconst disableCustomDuotone =\n\t\t! enableCustomDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tif ( duotonePalette?.length === 0 && disableCustomDuotone ) {\n\t\treturn null;\n\t}\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst duotonePresetOrColors =\n\t\tduotoneStyle === 'unset' || Array.isArray( duotoneStyle )\n\t\t\t? duotoneStyle\n\t\t\t: getColorsFromDuotonePreset( duotoneStyle, duotonePalette );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"filter\">\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\tfilter: { duotone: duotonePresetOrColors },\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...newDuotone?.filter,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tinheritedValue={ inheritedValue }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<DuotoneControl\n\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tvalue={ duotonePresetOrColors }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst maybePreset = getDuotonePresetFromColors(\n\t\t\t\t\t\t\tnewDuotone,\n\t\t\t\t\t\t\tduotonePalette\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\tduotone: maybePreset ?? newDuotone, // use preset or fallback to custom colors.\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: DuotonePanelPure,\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'filter.duotone' );\n\t},\n};\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `duotone` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addDuotoneAttributes( settings ) {\n\t// Previous `color.__experimentalDuotone` support flag is migrated via\n\t// block_type_metadata_settings filter in `lib/block-supports/duotone.php`.\n\tif ( ! hasBlockSupport( settings, 'filter.duotone' ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default\n\t// values if needed.\n\tif ( ! settings.attributes.style ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\nfunction useDuotoneStyles( {\n\tclientId,\n\tid: filterId,\n\tselector: duotoneSelector,\n\tattribute: duotoneAttr,\n} ) {\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\n\t// Possible values for duotone attribute:\n\t// 1. Array of colors - e.g. ['#000000', '#ffffff'].\n\t// 2. Variable for an existing Duotone preset - e.g. 'var:preset|duotone|green-blue' or 'var(--wp--preset--duotone--green-blue)''\n\t// 3. A CSS string - e.g. 'unset' to remove globally applied duotone.\n\tconst isCustom = Array.isArray( duotoneAttr );\n\tconst duotonePreset = isCustom\n\t\t? undefined\n\t\t: getColorsFromDuotonePreset( duotoneAttr, duotonePalette );\n\tconst isPreset = typeof duotoneAttr === 'string' && duotonePreset;\n\tconst isCSS = typeof duotoneAttr === 'string' && ! isPreset;\n\n\t// Match the structure of WP_Duotone_Gutenberg::render_duotone_support() in PHP.\n\tlet colors = null;\n\tif ( isPreset ) {\n\t\t// Array of colors.\n\t\tcolors = duotonePreset;\n\t} else if ( isCSS ) {\n\t\t// CSS filter property string (e.g. 'unset').\n\t\tcolors = duotoneAttr;\n\t} else if ( isCustom ) {\n\t\t// Array of colors.\n\t\tcolors = duotoneAttr;\n\t}\n\n\t// Build the CSS selectors to which the filter will be applied.\n\tconst selectors = duotoneSelector.split( ',' );\n\n\tconst selectorsScoped = selectors.map( ( selectorPart ) => {\n\t\t// Assuming the selector part is a subclass selector (not a tag name)\n\t\t// so we can prepend the filter id class. If we want to support elements\n\t\t// such as `img` or namespaces, we'll need to add a case for that here.\n\t\treturn `.${ filterId }${ selectorPart.trim() }`;\n\t} );\n\n\tconst selector = selectorsScoped.join( ', ' );\n\n\tconst isValidFilter = Array.isArray( colors ) || colors === 'unset';\n\n\tusePrivateStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tcss:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneStylesheet( selector, filterId )\n\t\t\t\t\t\t\t: getDuotoneUnsetStylesheet( selector ),\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\tusePrivateStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tassets:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneFilter( filterId, colors )\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t__unstableType: 'svgs',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\n\tconst blockElement = useBlockElement( clientId );\n\n\tuseEffect( () => {\n\t\tif ( ! isValidFilter ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Safari does not always update the duotone filter when the duotone\n\t\t// colors are changed. When using Safari, force the block element to be\n\t\t// repainted by the browser to ensure any changes are reflected\n\t\t// visually. This logic matches that used on the site frontend in\n\t\t// `block-supports/duotone.php`.\n\t\tif ( blockElement && isSafari ) {\n\t\t\tconst display = blockElement.style.display;\n\t\t\t// Switch to `inline-block` to force a repaint. In the editor,\n\t\t\t// `inline-block` is used instead of `none` to ensure that scroll\n\t\t\t// position is not affected, as `none` results in the editor\n\t\t\t// scrolling to the top of the block.\n\t\t\tblockElement.style.setProperty( 'display', 'inline-block' );\n\t\t\t// Simply accessing el.offsetHeight flushes layout and style changes\n\t\t\t// in WebKit without having to wait for setTimeout.\n\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\tblockElement.offsetHeight;\n\t\t\tblockElement.style.setProperty( 'display', display );\n\t\t}\n\t\t// `colors` must be a dependency so this effect runs when the colors\n\t\t// change in Safari.\n\t}, [ isValidFilter, blockElement, colors ] );\n}\n\n// Used for generating the instance ID\nconst DUOTONE_BLOCK_PROPS_REFERENCE = {};\n\nfunction useBlockProps( { clientId, name, style } ) {\n\tconst id = useInstanceId( DUOTONE_BLOCK_PROPS_REFERENCE );\n\tconst selector = useMemo( () => {\n\t\tconst blockType = getBlockType( name );\n\n\t\tif ( blockType ) {\n\t\t\t// Backwards compatibility for `supports.color.__experimentalDuotone`\n\t\t\t// is provided via the `block_type_metadata_settings` filter. If\n\t\t\t// `supports.filter.duotone` has not been set and the\n\t\t\t// experimental property has been, the experimental property\n\t\t\t// value is copied into `supports.filter.duotone`.\n\t\t\tconst duotoneSupport = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'filter.duotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( ! duotoneSupport ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// If the experimental duotone support was set, that value is\n\t\t\t// to be treated as a selector and requires scoping.\n\t\t\tconst experimentalDuotone = 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\tif ( experimentalDuotone ) {\n\t\t\t\tconst rootSelector = getBlockSelector( blockType );\n\t\t\t\treturn typeof experimentalDuotone === 'string'\n\t\t\t\t\t? scopeSelector( rootSelector, experimentalDuotone )\n\t\t\t\t\t: rootSelector;\n\t\t\t}\n\n\t\t\t// Regular filter.duotone support uses filter.duotone selectors with fallbacks.\n\t\t\treturn getBlockSelector( blockType, 'filter.duotone', {\n\t\t\t\tfallback: true,\n\t\t\t} );\n\t\t}\n\t}, [ name ] );\n\n\tconst attribute = style?.color?.duotone;\n\n\tconst filterClass = `wp-duotone-${ id }`;\n\n\tconst shouldRender = selector && attribute;\n\n\tuseDuotoneStyles( {\n\t\tclientId,\n\t\tid: filterClass,\n\t\tselector,\n\t\tattribute,\n\t} );\n\n\treturn {\n\t\tclassName: shouldRender ? filterClass : '',\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/duotone/add-attributes',\n\taddDuotoneAttributes\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSelector,\n\tprivateApis as globalStylesEnginePrivateApis,\n} from '@wordpress/global-styles-engine';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalDuotoneControl as DuotoneControl,\n\tuseSettings,\n} from '../components';\nimport {\n\tscopeSelector,\n\tgetDuotoneSlugFromPreset,\n} from '../components/global-styles/utils';\nimport {\n\tcleanEmptyObject,\n\tuseBlockSettings,\n\tusePrivateStyleOverride,\n} from './utils';\nimport { unlock } from '../lock-unlock';\nimport { default as StylesFiltersPanel } from '../components/global-styles/filters-panel';\nimport { useResolvedStyle } from '../components/global-styles/inherited-value-context';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport { store as blockEditorStore } from '../store';\n\nconst { getDuotoneFilter, getDuotoneStylesheet, getDuotoneUnsetStylesheet } =\n\tunlock( globalStylesEnginePrivateApis );\n\nconst EMPTY_ARRAY = [];\n\n// Safari does not always update the duotone filter when the duotone colors\n// are changed. This browser check is later used to force a re-render of the block\n// element to ensure the duotone filter is updated. The check is included at the\n// root of this file as it only needs to be run once per page load.\nconst isSafari =\n\twindow?.navigator.userAgent &&\n\twindow.navigator.userAgent.includes( 'Safari' ) &&\n\t! window.navigator.userAgent.includes( 'Chrome' ) &&\n\t! window.navigator.userAgent.includes( 'Chromium' );\n\nextend( [ namesPlugin ] );\n\nfunction useMultiOriginPresets( { presetSetting, defaultSetting } ) {\n\tconst [ enableDefault, userPresets, themePresets, defaultPresets ] =\n\t\tuseSettings(\n\t\t\tdefaultSetting,\n\t\t\t`${ presetSetting }.custom`,\n\t\t\t`${ presetSetting }.theme`,\n\t\t\t`${ presetSetting }.default`\n\t\t);\n\treturn useMemo(\n\t\t() => [\n\t\t\t...( userPresets || EMPTY_ARRAY ),\n\t\t\t...( themePresets || EMPTY_ARRAY ),\n\t\t\t...( ( enableDefault && defaultPresets ) || EMPTY_ARRAY ),\n\t\t],\n\t\t[ enableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function getColorsFromDuotonePreset( duotone, duotonePalette ) {\n\tif ( ! duotone ) {\n\t\treturn;\n\t}\n\tconst preset = duotonePalette?.find( ( { slug } ) => {\n\t\treturn duotone === `var:preset|duotone|${ slug }`;\n\t} );\n\n\treturn preset ? preset.colors : undefined;\n}\n\nexport function getDuotonePresetFromColors( colors, duotonePalette ) {\n\tif ( ! colors || ! Array.isArray( colors ) ) {\n\t\treturn;\n\t}\n\n\tconst preset = duotonePalette?.find( ( duotonePreset ) => {\n\t\treturn duotonePreset?.colors?.every(\n\t\t\t( val, index ) => val === colors[ index ]\n\t\t);\n\t} );\n\n\treturn preset ? `var:preset|duotone|${ preset.slug }` : undefined;\n}\n\nfunction DuotonePanelPure( { style, setAttributes, name, clientId } ) {\n\tconst duotoneStyle = style?.color?.duotone;\n\tconst settings = useBlockSettings( name );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst className = useSelect(\n\t\t( select ) =>\n\t\t\tclientId\n\t\t\t\t? select( blockEditorStore ).getBlockAttributes( clientId )\n\t\t\t\t\t\t?.className\n\t\t\t\t: undefined,\n\t\t[ clientId ]\n\t);\n\tconst { value: inheritedValue } = useResolvedStyle( name, className );\n\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.palette',\n\t\tdefaultSetting: 'color.defaultPalette',\n\t} );\n\tconst [ enableCustomColors, enableCustomDuotone ] = useSettings(\n\t\t'color.custom',\n\t\t'color.customDuotone'\n\t);\n\tconst disableCustomColors = ! enableCustomColors;\n\tconst disableCustomDuotone =\n\t\t! enableCustomDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tif ( duotonePalette?.length === 0 && disableCustomDuotone ) {\n\t\treturn null;\n\t}\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst duotonePresetOrColors =\n\t\tduotoneStyle === 'unset' || Array.isArray( duotoneStyle )\n\t\t\t? duotoneStyle\n\t\t\t: getColorsFromDuotonePreset( duotoneStyle, duotonePalette );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"filter\">\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\t// The raw value, not the resolved colors. The panel\n\t\t\t\t\t// decodes it for display, but needs the preset reference\n\t\t\t\t\t// to know which preset is applied: two presets can hold\n\t\t\t\t\t// the same pair of colors, and resolving first throws the\n\t\t\t\t\t// slug away.\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\tfilter: { duotone: duotoneStyle },\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...newDuotone?.filter,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tinheritedValue={ inheritedValue }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<DuotoneControl\n\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tvalue={ duotonePresetOrColors }\n\t\t\t\t\tselectedSlug={ getDuotoneSlugFromPreset( duotoneStyle ) }\n\t\t\t\t\tonChange={ ( newDuotone, index, slug ) => {\n\t\t\t\t\t\t// A slug means a preset was picked out of the palette,\n\t\t\t\t\t\t// so it identifies the choice exactly. Matching back by\n\t\t\t\t\t\t// color would resolve to whichever preset holding those\n\t\t\t\t\t\t// colors comes first, which is the wrong one whenever\n\t\t\t\t\t\t// two presets share a pair.\n\t\t\t\t\t\tconst maybePreset = slug\n\t\t\t\t\t\t\t? `var:preset|duotone|${ slug }`\n\t\t\t\t\t\t\t: getDuotonePresetFromColors(\n\t\t\t\t\t\t\t\t\tnewDuotone,\n\t\t\t\t\t\t\t\t\tduotonePalette\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\tduotone: maybePreset ?? newDuotone, // use preset or fallback to custom colors.\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: DuotonePanelPure,\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'filter.duotone' );\n\t},\n};\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `duotone` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addDuotoneAttributes( settings ) {\n\t// Previous `color.__experimentalDuotone` support flag is migrated via\n\t// block_type_metadata_settings filter in `lib/block-supports/duotone.php`.\n\tif ( ! hasBlockSupport( settings, 'filter.duotone' ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default\n\t// values if needed.\n\tif ( ! settings.attributes.style ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\nfunction useDuotoneStyles( {\n\tclientId,\n\tid: filterId,\n\tselector: duotoneSelector,\n\tattribute: duotoneAttr,\n} ) {\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\n\t// Possible values for duotone attribute:\n\t// 1. Array of colors - e.g. ['#000000', '#ffffff'].\n\t// 2. Variable for an existing Duotone preset - e.g. 'var:preset|duotone|green-blue' or 'var(--wp--preset--duotone--green-blue)''\n\t// 3. A CSS string - e.g. 'unset' to remove globally applied duotone.\n\tconst isCustom = Array.isArray( duotoneAttr );\n\tconst duotonePreset = isCustom\n\t\t? undefined\n\t\t: getColorsFromDuotonePreset( duotoneAttr, duotonePalette );\n\tconst isPreset = typeof duotoneAttr === 'string' && duotonePreset;\n\tconst isCSS = typeof duotoneAttr === 'string' && ! isPreset;\n\n\t// Match the structure of WP_Duotone_Gutenberg::render_duotone_support() in PHP.\n\tlet colors = null;\n\tif ( isPreset ) {\n\t\t// Array of colors.\n\t\tcolors = duotonePreset;\n\t} else if ( isCSS ) {\n\t\t// CSS filter property string (e.g. 'unset').\n\t\tcolors = duotoneAttr;\n\t} else if ( isCustom ) {\n\t\t// Array of colors.\n\t\tcolors = duotoneAttr;\n\t}\n\n\t// Build the CSS selectors to which the filter will be applied.\n\tconst selectors = duotoneSelector.split( ',' );\n\n\tconst selectorsScoped = selectors.map( ( selectorPart ) => {\n\t\t// Assuming the selector part is a subclass selector (not a tag name)\n\t\t// so we can prepend the filter id class. If we want to support elements\n\t\t// such as `img` or namespaces, we'll need to add a case for that here.\n\t\treturn `.${ filterId }${ selectorPart.trim() }`;\n\t} );\n\n\tconst selector = selectorsScoped.join( ', ' );\n\n\tconst isValidFilter = Array.isArray( colors ) || colors === 'unset';\n\n\tusePrivateStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tcss:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneStylesheet( selector, filterId )\n\t\t\t\t\t\t\t: getDuotoneUnsetStylesheet( selector ),\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\tusePrivateStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tassets:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneFilter( filterId, colors )\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t__unstableType: 'svgs',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\n\tconst blockElement = useBlockElement( clientId );\n\n\tuseEffect( () => {\n\t\tif ( ! isValidFilter ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Safari does not always update the duotone filter when the duotone\n\t\t// colors are changed. When using Safari, force the block element to be\n\t\t// repainted by the browser to ensure any changes are reflected\n\t\t// visually. This logic matches that used on the site frontend in\n\t\t// `block-supports/duotone.php`.\n\t\tif ( blockElement && isSafari ) {\n\t\t\tconst display = blockElement.style.display;\n\t\t\t// Switch to `inline-block` to force a repaint. In the editor,\n\t\t\t// `inline-block` is used instead of `none` to ensure that scroll\n\t\t\t// position is not affected, as `none` results in the editor\n\t\t\t// scrolling to the top of the block.\n\t\t\tblockElement.style.setProperty( 'display', 'inline-block' );\n\t\t\t// Simply accessing el.offsetHeight flushes layout and style changes\n\t\t\t// in WebKit without having to wait for setTimeout.\n\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\tblockElement.offsetHeight;\n\t\t\tblockElement.style.setProperty( 'display', display );\n\t\t}\n\t\t// `colors` must be a dependency so this effect runs when the colors\n\t\t// change in Safari.\n\t}, [ isValidFilter, blockElement, colors ] );\n}\n\n// Used for generating the instance ID\nconst DUOTONE_BLOCK_PROPS_REFERENCE = {};\n\nfunction useBlockProps( { clientId, name, style } ) {\n\tconst id = useInstanceId( DUOTONE_BLOCK_PROPS_REFERENCE );\n\tconst selector = useMemo( () => {\n\t\tconst blockType = getBlockType( name );\n\n\t\tif ( blockType ) {\n\t\t\t// Backwards compatibility for `supports.color.__experimentalDuotone`\n\t\t\t// is provided via the `block_type_metadata_settings` filter. If\n\t\t\t// `supports.filter.duotone` has not been set and the\n\t\t\t// experimental property has been, the experimental property\n\t\t\t// value is copied into `supports.filter.duotone`.\n\t\t\tconst duotoneSupport = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'filter.duotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( ! duotoneSupport ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// If the experimental duotone support was set, that value is\n\t\t\t// to be treated as a selector and requires scoping.\n\t\t\tconst experimentalDuotone = 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\tif ( experimentalDuotone ) {\n\t\t\t\tconst rootSelector = getBlockSelector( blockType );\n\t\t\t\treturn typeof experimentalDuotone === 'string'\n\t\t\t\t\t? scopeSelector( rootSelector, experimentalDuotone )\n\t\t\t\t\t: rootSelector;\n\t\t\t}\n\n\t\t\t// Regular filter.duotone support uses filter.duotone selectors with fallbacks.\n\t\t\treturn getBlockSelector( blockType, 'filter.duotone', {\n\t\t\t\tfallback: true,\n\t\t\t} );\n\t\t}\n\t}, [ name ] );\n\n\tconst attribute = style?.color?.duotone;\n\n\tconst filterClass = `wp-duotone-${ id }`;\n\n\tconst shouldRender = selector && attribute;\n\n\tuseDuotoneStyles( {\n\t\tclientId,\n\t\tid: filterClass,\n\t\tselector,\n\t\tattribute,\n\t} );\n\n\treturn {\n\t\tclassName: shouldRender ? filterClass : '',\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/duotone/add-attributes',\n\taddDuotoneAttributes\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_utils", "globalStylesEnginePrivateApis", "namesPlugin", "blockEditorStore", "StylesFiltersPanel", "DuotoneControl"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/elements.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { getBlockSupport } from '@wordpress/blocks';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tuseHasColorPanel,\n\tdefault as StylesColorPanel,\n} from '../components/global-styles/color-panel';\nimport { useResolvedStyle } from '../components/global-styles/inherited-value-context';\nimport { cleanEmptyObject } from './utils';\nimport { store as blockEditorStore } from '../store';\nimport { COLOR_SUPPORT_KEY } from './color';\nimport useBlockColorContrastWarning from './contrast-checker';\nimport {\n\tgetStyleForState,\n\tisDefaultBlockStyleState,\n\tsetStyleForState,\n\tuseBlockStyleState,\n} from './block-style-state';\n\nfunction ElementsInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst updatedStyle = resetAllFilter( attributes.style );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"elements\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function ElementsEdit( {\n\tclientId,\n\tname,\n\tsetAttributes,\n\tsettings,\n\tasWrapper,\n\tlabel,\n\tdefaultControls,\n} ) {\n\tconst selectedState = useBlockStyleState();\n\tconst isEnabled = useHasColorPanel( settings );\n\n\tconst { style, className } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isEnabled ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst attributes =\n\t\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId );\n\t\t\treturn {\n\t\t\t\tstyle: attributes?.style,\n\t\t\t\tclassName: attributes?.className,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isEnabled ]\n\t);\n\n\tconst { value: inheritedValue } = useResolvedStyle(\n\t\tname,\n\t\tclassName,\n\t\tselectedState\n\t);\n\n\tconst isStateSelected = ! isDefaultBlockStyleState( selectedState );\n\n\tconst value = useMemo( () => {\n\t\tif ( isStateSelected ) {\n\t\t\treturn getStyleForState( style, selectedState );\n\t\t}\n\t\treturn style;\n\t}, [ isStateSelected, selectedState, style ] );\n\n\tconst onChange = isStateSelected\n\t\t? ( newStyle ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tstyle: setStyleForState( style, selectedState, newStyle ),\n\t\t\t\t} );\n\t\t }\n\t\t: ( newStyle ) => {\n\t\t\t\tsetAttributes( { style: cleanEmptyObject( newStyle ) } );\n\t\t };\n\n\t// Text and background color failures are reported by the Typography and\n\t// Background panels, which own those selections.\n\tconst enableContrastChecking =\n\t\t!! value?.elements?.link?.color?.text &&\n\t\tsettings?.color?.link &&\n\t\tfalse !==\n\t\t\tgetBlockSupport( name, [\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t'enableContrastChecker',\n\t\t\t] );\n\n\tconst contrastWarning = useBlockColorContrastWarning( {\n\t\tclientId,\n\t\tname,\n\t\tenabled: !! enableContrastChecking,\n\t\tcheckTextColor: false,\n\t\tmessageOverride: __(\n\t\t\t'This link color has poor contrast against the background. Consider increasing contrast.'\n\t\t),\n\t} );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tdefaultControls = defaultControls\n\t\t? defaultControls\n\t\t: getBlockSupport( name, [\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t'__experimentalDefaultControls',\n\t\t ] );\n\n\tconst Wrapper = asWrapper || ElementsInspectorControl;\n\n\treturn (\n\t\t<StylesColorPanel\n\t\t\tas={ Wrapper }\n\t\t\tpanelId={ clientId }\n\t\t\tsettings={ settings }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t\tlabel={ label }\n\t\t\tcontrastWarning={ contrastWarning }\n\t\t\tinheritedValue={ inheritedValue }\n\t\t/>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgC;AAChC,qBAAqC;AACrC,kBAA0B;AAC1B,kBAAmB;AACnB,gCAA8B;AAC9B,yBAGO;AACP,qCAAiC;AACjC,mBAAiC;AACjC,mBAA0C;AAC1C,mBAAkC;AAClC,8BAAyC;AACzC,+BAKO;AAeL;AAbF,SAAS,yBAA0B,EAAE,UAAU,eAAe,GAAI;AACjE,QAAM,+BAA2B;AAAA,IAChC,CAAE,eAAgB;AACjB,YAAM,eAAe,eAAgB,WAAW,KAAM;AACtD,aAAO;AAAA,QACN,GAAG;AAAA,QACH,WAAO,+BAAkB,YAAa;AAAA,MACvC;AAAA,IACD;AAAA,IACA,CAAE,cAAe;AAAA,EAClB;AAEA,SACC;AAAA,IAAC,0BAAAA;AAAA,IAAA;AAAA,MACA,OAAM;AAAA,MACN,gBAAiB;AAAA,MAEf;AAAA;AAAA,EACH;AAEF;AAEO,SAAS,aAAc;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,oBAAgB,6CAAmB;AACzC,QAAM,gBAAY,qCAAkB,QAAS;AAE7C,QAAM,EAAE,OAAO,UAAU,QAAI;AAAA,IAC5B,CAAE,WAAY;AACb,UAAK,CAAE,WAAY;AAClB,eAAO,CAAC;AAAA,MACT;AACA,YAAM,aACL,OAAQ,aAAAC,KAAiB,EAAE,mBAAoB,QAAS;AACzD,aAAO;AAAA,QACN,OAAO,YAAY;AAAA,QACnB,WAAW,YAAY;AAAA,MACxB;AAAA,IACD;AAAA,IACA,CAAE,UAAU,SAAU;AAAA,EACvB;AAEA,QAAM,EAAE,OAAO,eAAe,QAAI;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,kBAAkB,KAAE,mDAA0B,aAAc;AAElE,QAAM,YAAQ,wBAAS,MAAM;AAC5B,QAAK,iBAAkB;AACtB,iBAAO,2CAAkB,OAAO,aAAc;AAAA,IAC/C;AACA,WAAO;AAAA,EACR,GAAG,CAAE,iBAAiB,eAAe,KAAM,CAAE;AAE7C,QAAM,WAAW,kBACd,CAAE,aAAc;AAChB,kBAAe;AAAA,MACd,WAAO,2CAAkB,OAAO,eAAe,QAAS;AAAA,IACzD,CAAE;AAAA,EACF,IACA,CAAE,aAAc;AAChB,kBAAe,EAAE,WAAO,+BAAkB,QAAS,EAAE,CAAE;AAAA,EACvD;AAIH,QAAM,yBACL,CAAC,CAAE,OAAO,UAAU,MAAM,OAAO,QACjC,UAAU,OAAO,QACjB,cACC,+BAAiB,MAAM;AAAA,IACtB;AAAA,IACA;AAAA,EACD,CAAE;AAEJ,QAAM,sBAAkB,wBAAAC,SAA8B;AAAA,IACrD;AAAA,IACA;AAAA,IACA,SAAS,CAAC,CAAE;AAAA,IACZ,gBAAgB;AAAA,IAChB,qBAAiB;AAAA,MAChB;AAAA,IACD;AAAA,EACD,CAAE;AAEF,MAAK,CAAE,WAAY;AAClB,WAAO;AAAA,EACR;AAEA,oBAAkB,kBACf,sBACA,+BAAiB,MAAM;AAAA,IACvB;AAAA,IACA;AAAA,EACA,CAAE;AAEL,QAAM,UAAU,aAAa;AAE7B,SACC;AAAA,IAAC,mBAAAC;AAAA,IAAA;AAAA,MACA,IAAK;AAAA,MACL,SAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACD;AAEF;",
|
|
6
6
|
"names": ["InspectorControls", "blockEditorStore", "useBlockColorContrastWarning", "StylesColorPanel"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/fit-text.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { useEffect, useCallback, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nconst EMPTY_OBJECT = {};\nconst MIN_FONT_SIZE_FOR_WARNING = 12;\n\n/**\n * Internal dependencies\n */\nimport { optimizeFitText } from '../utils/fit-text-utils';\nimport { store as blockEditorStore } from '../store';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport InspectorControls from '../components/inspector-controls';\nimport FitTextSizeWarning from '../components/fit-text-size-warning';\nimport { unlock } from '../lock-unlock';\n\nexport const FIT_TEXT_SUPPORT_KEY = 'typography.fitText';\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fitText` attribute.\n *\n * @param {Object} settings Original block settings.\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition.\n\tif ( settings.attributes?.fitText ) {\n\t\treturn settings;\n\t}\n\n\t// Add fitText attribute.\n\treturn {\n\t\t...settings,\n\t\tattributes: {\n\t\t\t...settings.attributes,\n\t\t\tfitText: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t};\n}\n\n/**\n * Custom hook to handle fit text functionality in the editor.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.fitText Fit text attribute.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n */\nfunction useFitText( { fitText, name, clientId } ) {\n\tconst [ fontSize, setFontSize ] = useState( null );\n\tconst hasFitTextSupport = hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY );\n\tconst blockElement = useBlockElement( clientId );\n\n\t// Monitor block attribute changes, parent changes, and block mode.\n\t// Any attribute or parent change may change the available space.\n\t// Block mode is needed to disable fit text when in HTML editing mode.\n\tconst { blockAttributes, parentId, blockMode } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! clientId || ! hasFitTextSupport || ! fitText ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\t\t\tconst _blockMode =\n\t\t\t\tselect( blockEditorStore ).getBlockMode( clientId );\n\t\t\tif ( _blockMode === 'html' ) {\n\t\t\t\treturn { blockMode: _blockMode };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tblockAttributes:\n\t\t\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ),\n\t\t\t\tparentId:\n\t\t\t\t\tselect( blockEditorStore ).getBlockRootClientId( clientId ),\n\t\t\t\tblockMode: _blockMode,\n\t\t\t};\n\t\t},\n\t\t[ clientId, hasFitTextSupport, fitText ]\n\t);\n\n\tconst applyFitText = useCallback( () => {\n\t\tif ( ! blockElement || ! hasFitTextSupport || ! fitText ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get or create style element with unique ID\n\t\tconst styleId = `fit-text-${ clientId }`;\n\t\tlet styleElement = blockElement.ownerDocument.getElementById( styleId );\n\t\tif ( ! styleElement ) {\n\t\t\tstyleElement = blockElement.ownerDocument.createElement( 'style' );\n\t\t\tstyleElement.id = styleId;\n\t\t\tblockElement.ownerDocument.head.appendChild( styleElement );\n\t\t}\n\n\t\tconst blockSelector = `#block-${ clientId }`;\n\n\t\tconst applyFontSizeStyle = ( size ) => {\n\t\t\tif ( size === 0 ) {\n\t\t\t\tstyleElement.textContent = '';\n\t\t\t} else {\n\t\t\t\tstyleElement.textContent = `${ blockSelector } { font-size: ${ size }px !important; }`;\n\t\t\t}\n\t\t};\n\n\t\tconst optimalSize = optimizeFitText( blockElement, applyFontSizeStyle );\n\t\tsetFontSize( optimalSize );\n\t}, [ blockElement, clientId, hasFitTextSupport, fitText ] );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! fitText ||\n\t\t\t! blockElement ||\n\t\t\t! clientId ||\n\t\t\t! hasFitTextSupport ||\n\t\t\tblockMode === 'html'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Store current element value for cleanup\n\t\tconst currentElement = blockElement;\n\t\tconst previousVisibility = currentElement.style.visibility;\n\n\t\t// Store IDs for cleanup\n\t\tlet hideFrameId = null;\n\t\tlet calculateFrameId = null;\n\t\tlet showTimeoutId = null;\n\n\t\t// We are hiding the element doing the calculation of fit text\n\t\t// and then showing it again to avoid the user noticing a flash of potentially\n\t\t// big fitText while the binary search is happening.\n\t\thideFrameId = window.requestAnimationFrame( () => {\n\t\t\tcurrentElement.style.visibility = 'hidden';\n\t\t\t// Wait for browser to render the hidden state\n\t\t\tcalculateFrameId = window.requestAnimationFrame( () => {\n\t\t\t\tapplyFitText();\n\n\t\t\t\t// Using a timeout instead of requestAnimationFrame, because\n\t\t\t\t// with requestAnimationFrame a flash of very high size\n\t\t\t\t// can still occur although rare.\n\t\t\t\tshowTimeoutId = setTimeout( () => {\n\t\t\t\t\tcurrentElement.style.visibility = previousVisibility;\n\t\t\t\t}, 10 );\n\t\t\t} );\n\t\t} );\n\n\t\t// Watch for size changes\n\t\tlet resizeObserver;\n\t\tif ( window.ResizeObserver && currentElement.parentElement ) {\n\t\t\tresizeObserver = new window.ResizeObserver( applyFitText );\n\t\t\tresizeObserver.observe( currentElement.parentElement );\n\t\t\tresizeObserver.observe( currentElement );\n\t\t}\n\n\t\t// Cleanup function\n\t\treturn () => {\n\t\t\t// Cancel pending async operations\n\t\t\tif ( hideFrameId !== null ) {\n\t\t\t\twindow.cancelAnimationFrame( hideFrameId );\n\t\t\t}\n\t\t\tif ( calculateFrameId !== null ) {\n\t\t\t\twindow.cancelAnimationFrame( calculateFrameId );\n\t\t\t}\n\t\t\tif ( showTimeoutId !== null ) {\n\t\t\t\tclearTimeout( showTimeoutId );\n\t\t\t}\n\n\t\t\tif ( resizeObserver ) {\n\t\t\t\tresizeObserver.disconnect();\n\t\t\t}\n\n\t\t\tconst styleId = `fit-text-${ clientId }`;\n\t\t\tconst styleElement =\n\t\t\t\tcurrentElement.ownerDocument.getElementById( styleId );\n\t\t\tif ( styleElement ) {\n\t\t\t\tstyleElement.remove();\n\t\t\t}\n\t\t};\n\t}, [\n\t\tfitText,\n\t\tclientId,\n\t\tparentId,\n\t\tapplyFitText,\n\t\tblockElement,\n\t\thasFitTextSupport,\n\t\tblockMode,\n\t] );\n\n\t// Trigger fit text recalculation when content changes\n\tuseEffect( () => {\n\t\tif (\n\t\t\tfitText &&\n\t\t\tblockElement &&\n\t\t\thasFitTextSupport &&\n\t\t\tblockMode !== 'html'\n\t\t) {\n\t\t\t// Wait for next frame to ensure DOM has updated after content changes\n\t\t\tconst frameId = window.requestAnimationFrame( () => {\n\t\t\t\tif ( blockElement ) {\n\t\t\t\t\tapplyFitText();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn () => window.cancelAnimationFrame( frameId );\n\t\t}\n\t}, [\n\t\tblockAttributes,\n\t\tfitText,\n\t\tapplyFitText,\n\t\tblockElement,\n\t\thasFitTextSupport,\n\t\tblockMode,\n\t] );\n\n\treturn { fontSize };\n}\n\n/**\n * Fit text control component for the typography panel.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @param {Function} props.setAttributes Function to set block attributes.\n * @param {string} props.name Block name.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @param {string} props.fontSize Font size slug.\n * @param {Object} props.style Block style object.\n */\nexport function FitTextControl( {\n\tclientId,\n\tfitText = false,\n\tsetAttributes,\n\tname,\n\tfontSize,\n\tstyle,\n} ) {\n\tconst hasSelectedStyleState = useSelect(\n\t\t( select ) => {\n\t\t\tconst { hasSelectedStyleState: hasSelectedBlockStyleState } =\n\t\t\t\tunlock( select( blockEditorStore ) );\n\n\t\t\treturn hasSelectedBlockStyleState( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn null;\n\t}\n\n\tif ( hasSelectedStyleState ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => fitText }\n\t\t\tlabel={ __( 'Fit text' ) }\n\t\t\tonDeselect={ () => setAttributes( { fitText: undefined } ) }\n\t\t\tresetAllFilter={ () => ( { fitText: undefined } ) }\n\t\t\tpanelId={ clientId }\n\t\t>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Fit text' ) }\n\t\t\t\tchecked={ fitText }\n\t\t\t\tonChange={ () => {\n\t\t\t\t\tconst newFitText = ! fitText || undefined;\n\t\t\t\t\tconst updates = { fitText: newFitText };\n\n\t\t\t\t\t// When enabling fit text, clear font size if it has a value\n\t\t\t\t\tif ( newFitText ) {\n\t\t\t\t\t\tif ( fontSize ) {\n\t\t\t\t\t\t\tupdates.fontSize = undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( style?.typography?.fontSize ) {\n\t\t\t\t\t\t\tupdates.style = {\n\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\t...style?.typography,\n\t\t\t\t\t\t\t\t\tfontSize: undefined,\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\n\t\t\t\t\tsetAttributes( updates );\n\t\t\t\t} }\n\t\t\t\thelp={\n\t\t\t\t\tfitText\n\t\t\t\t\t\t? __( 'Text will resize to fit its container.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'The text will resize to fit its container, resetting other font size settings.'\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\n/**\n * Override props applied to the block element on save.\n *\n * @param {Object} props Additional props applied to the block element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n * @return {Object} Filtered props applied to the block element.\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tconst { fitText } = attributes;\n\n\tif ( ! fitText ) {\n\t\treturn props;\n\t}\n\n\t// Add CSS class for frontend detection and styling\n\tconst className = props.className\n\t\t? `${ props.className } has-fit-text`\n\t\t: 'has-fit-text';\n\n\treturn {\n\t\t...props,\n\t\tclassName,\n\t};\n}\n\n/**\n * Override props applied to the block element in the editor.\n *\n * @param {Object} props Component props including block attributes.\n * @param {string} props.name Block name.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @return {Object} Filtered props applied to the block element.\n */\nfunction useBlockProps( { name, fitText } ) {\n\tif ( fitText && hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn {\n\t\t\tclassName: 'has-fit-text',\n\t\t};\n\t}\n\treturn {};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fit-text/addAttribute',\n\taddAttributes\n);\n\nconst hasFitTextSupport = ( blockNameOrType ) => {\n\treturn hasBlockSupport( blockNameOrType, FIT_TEXT_SUPPORT_KEY );\n};\n\n/**\n * Component that handles the fit text font size and displays a warning\n * if the fit text font size is below a minimum threshold.\n *\n * @param {Object} props Component props.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n * @param {boolean} props.isSelected Whether the block is selected.\n * @return {Element|null} Warning component or null.\n */\nfunction FitTextFontSize( { fitText, name, clientId, isSelected } ) {\n\tconst { fontSize } = useFitText( { fitText, name, clientId } );\n\tif ( isSelected && fontSize && fontSize < MIN_FONT_SIZE_FOR_WARNING ) {\n\t\treturn (\n\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t<FitTextSizeWarning />\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\treturn null;\n}\n\n/*\n * Fit-text requires that layout calculations be done even when a block is not\n * currently selected. Therefore, the regular hooking approach using an\n * exported `edit` method is not enough, and we must use this HoC with the\n * `editor.BlockEdit` filter.\n */\nconst addFitTextControl = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn function AddFitTextControl( props ) {\n\t\tconst { name, attributes, clientId, isSelected, setAttributes } = props;\n\t\tconst { fitText } = attributes;\n\t\tconst supportsFitText = hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY );\n\t\tif ( ! supportsFitText ) {\n\t\t\treturn <BlockEdit { ...props } />;\n\t\t}\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t\t<FitTextControl\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tfitText={ fitText }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tfontSize={ attributes.fontSize }\n\t\t\t\t\t\tstyle={ attributes.style }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ fitText && (\n\t\t\t\t\t<FitTextFontSize\n\t\t\t\t\t\tfitText={ fitText }\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n}, 'addFitTextControl' );\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/fit-text/add-fit-text-control',\n\taddFitTextControl\n);\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fitText', 'fontSize', 'style' ],\n\thasSupport: hasFitTextSupport,\n\tedit: () => null,\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { useEffect, useCallback, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nconst EMPTY_OBJECT = {};\nconst MIN_FONT_SIZE_FOR_WARNING = 12;\nimport { optimizeFitText } from '../utils/fit-text-utils';\nimport { store as blockEditorStore } from '../store';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport InspectorControls from '../components/inspector-controls';\nimport FitTextSizeWarning from '../components/fit-text-size-warning';\nimport { unlock } from '../lock-unlock';\n\nexport const FIT_TEXT_SUPPORT_KEY = 'typography.fitText';\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fitText` attribute.\n *\n * @param {Object} settings Original block settings.\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition.\n\tif ( settings.attributes?.fitText ) {\n\t\treturn settings;\n\t}\n\n\t// Add fitText attribute.\n\treturn {\n\t\t...settings,\n\t\tattributes: {\n\t\t\t...settings.attributes,\n\t\t\tfitText: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t};\n}\n\n/**\n * Custom hook to handle fit text functionality in the editor.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.fitText Fit text attribute.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n */\nfunction useFitText( { fitText, name, clientId } ) {\n\tconst [ fontSize, setFontSize ] = useState( null );\n\tconst hasFitTextSupport = hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY );\n\tconst blockElement = useBlockElement( clientId );\n\n\t// Monitor block attribute changes, parent changes, and block mode.\n\t// Any attribute or parent change may change the available space.\n\t// Block mode is needed to disable fit text when in HTML editing mode.\n\tconst { blockAttributes, parentId, blockMode } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! clientId || ! hasFitTextSupport || ! fitText ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\t\t\tconst _blockMode =\n\t\t\t\tselect( blockEditorStore ).getBlockMode( clientId );\n\t\t\tif ( _blockMode === 'html' ) {\n\t\t\t\treturn { blockMode: _blockMode };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tblockAttributes:\n\t\t\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ),\n\t\t\t\tparentId:\n\t\t\t\t\tselect( blockEditorStore ).getBlockRootClientId( clientId ),\n\t\t\t\tblockMode: _blockMode,\n\t\t\t};\n\t\t},\n\t\t[ clientId, hasFitTextSupport, fitText ]\n\t);\n\n\tconst applyFitText = useCallback( () => {\n\t\tif ( ! blockElement || ! hasFitTextSupport || ! fitText ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get or create style element with unique ID\n\t\tconst styleId = `fit-text-${ clientId }`;\n\t\tlet styleElement = blockElement.ownerDocument.getElementById( styleId );\n\t\tif ( ! styleElement ) {\n\t\t\tstyleElement = blockElement.ownerDocument.createElement( 'style' );\n\t\t\tstyleElement.id = styleId;\n\t\t\tblockElement.ownerDocument.head.appendChild( styleElement );\n\t\t}\n\n\t\tconst blockSelector = `#block-${ clientId }`;\n\n\t\tconst applyFontSizeStyle = ( size ) => {\n\t\t\tif ( size === 0 ) {\n\t\t\t\tstyleElement.textContent = '';\n\t\t\t} else {\n\t\t\t\tstyleElement.textContent = `${ blockSelector } { font-size: ${ size }px !important; }`;\n\t\t\t}\n\t\t};\n\n\t\tconst optimalSize = optimizeFitText( blockElement, applyFontSizeStyle );\n\t\tsetFontSize( optimalSize );\n\t}, [ blockElement, clientId, hasFitTextSupport, fitText ] );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! fitText ||\n\t\t\t! blockElement ||\n\t\t\t! clientId ||\n\t\t\t! hasFitTextSupport ||\n\t\t\tblockMode === 'html'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Store current element value for cleanup\n\t\tconst currentElement = blockElement;\n\t\tconst previousVisibility = currentElement.style.visibility;\n\n\t\t// Store IDs for cleanup\n\t\tlet hideFrameId = null;\n\t\tlet calculateFrameId = null;\n\t\tlet showTimeoutId = null;\n\n\t\t// We are hiding the element doing the calculation of fit text\n\t\t// and then showing it again to avoid the user noticing a flash of potentially\n\t\t// big fitText while the binary search is happening.\n\t\thideFrameId = window.requestAnimationFrame( () => {\n\t\t\tcurrentElement.style.visibility = 'hidden';\n\t\t\t// Wait for browser to render the hidden state\n\t\t\tcalculateFrameId = window.requestAnimationFrame( () => {\n\t\t\t\tapplyFitText();\n\n\t\t\t\t// Using a timeout instead of requestAnimationFrame, because\n\t\t\t\t// with requestAnimationFrame a flash of very high size\n\t\t\t\t// can still occur although rare.\n\t\t\t\tshowTimeoutId = setTimeout( () => {\n\t\t\t\t\tcurrentElement.style.visibility = previousVisibility;\n\t\t\t\t}, 10 );\n\t\t\t} );\n\t\t} );\n\n\t\t// Watch for size changes\n\t\tlet resizeObserver;\n\t\tif ( window.ResizeObserver && currentElement.parentElement ) {\n\t\t\tresizeObserver = new window.ResizeObserver( applyFitText );\n\t\t\tresizeObserver.observe( currentElement.parentElement );\n\t\t\tresizeObserver.observe( currentElement );\n\t\t}\n\n\t\t// Cleanup function\n\t\treturn () => {\n\t\t\t// Cancel pending async operations\n\t\t\tif ( hideFrameId !== null ) {\n\t\t\t\twindow.cancelAnimationFrame( hideFrameId );\n\t\t\t}\n\t\t\tif ( calculateFrameId !== null ) {\n\t\t\t\twindow.cancelAnimationFrame( calculateFrameId );\n\t\t\t}\n\t\t\tif ( showTimeoutId !== null ) {\n\t\t\t\tclearTimeout( showTimeoutId );\n\t\t\t}\n\n\t\t\tif ( resizeObserver ) {\n\t\t\t\tresizeObserver.disconnect();\n\t\t\t}\n\n\t\t\tconst styleId = `fit-text-${ clientId }`;\n\t\t\tconst styleElement =\n\t\t\t\tcurrentElement.ownerDocument.getElementById( styleId );\n\t\t\tif ( styleElement ) {\n\t\t\t\tstyleElement.remove();\n\t\t\t}\n\t\t};\n\t}, [\n\t\tfitText,\n\t\tclientId,\n\t\tparentId,\n\t\tapplyFitText,\n\t\tblockElement,\n\t\thasFitTextSupport,\n\t\tblockMode,\n\t] );\n\n\t// Trigger fit text recalculation when content changes\n\tuseEffect( () => {\n\t\tif (\n\t\t\tfitText &&\n\t\t\tblockElement &&\n\t\t\thasFitTextSupport &&\n\t\t\tblockMode !== 'html'\n\t\t) {\n\t\t\t// Wait for next frame to ensure DOM has updated after content changes\n\t\t\tconst frameId = window.requestAnimationFrame( () => {\n\t\t\t\tif ( blockElement ) {\n\t\t\t\t\tapplyFitText();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn () => window.cancelAnimationFrame( frameId );\n\t\t}\n\t}, [\n\t\tblockAttributes,\n\t\tfitText,\n\t\tapplyFitText,\n\t\tblockElement,\n\t\thasFitTextSupport,\n\t\tblockMode,\n\t] );\n\n\treturn { fontSize };\n}\n\n/**\n * Fit text control component for the typography panel.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @param {Function} props.setAttributes Function to set block attributes.\n * @param {string} props.name Block name.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @param {string} props.fontSize Font size slug.\n * @param {Object} props.style Block style object.\n */\nexport function FitTextControl( {\n\tclientId,\n\tfitText = false,\n\tsetAttributes,\n\tname,\n\tfontSize,\n\tstyle,\n} ) {\n\tconst hasSelectedStyleState = useSelect(\n\t\t( select ) => {\n\t\t\tconst { hasSelectedStyleState: hasSelectedBlockStyleState } =\n\t\t\t\tunlock( select( blockEditorStore ) );\n\n\t\t\treturn hasSelectedBlockStyleState( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn null;\n\t}\n\n\tif ( hasSelectedStyleState ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => fitText }\n\t\t\tlabel={ __( 'Fit text' ) }\n\t\t\tonDeselect={ () => setAttributes( { fitText: undefined } ) }\n\t\t\tresetAllFilter={ () => ( { fitText: undefined } ) }\n\t\t\tpanelId={ clientId }\n\t\t>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Fit text' ) }\n\t\t\t\tchecked={ fitText }\n\t\t\t\tonChange={ () => {\n\t\t\t\t\tconst newFitText = ! fitText || undefined;\n\t\t\t\t\tconst updates = { fitText: newFitText };\n\n\t\t\t\t\t// When enabling fit text, clear font size if it has a value\n\t\t\t\t\tif ( newFitText ) {\n\t\t\t\t\t\tif ( fontSize ) {\n\t\t\t\t\t\t\tupdates.fontSize = undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( style?.typography?.fontSize ) {\n\t\t\t\t\t\t\tupdates.style = {\n\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\t...style?.typography,\n\t\t\t\t\t\t\t\t\tfontSize: undefined,\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\n\t\t\t\t\tsetAttributes( updates );\n\t\t\t\t} }\n\t\t\t\thelp={\n\t\t\t\t\tfitText\n\t\t\t\t\t\t? __( 'Text will resize to fit its container.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'The text will resize to fit its container, resetting other font size settings.'\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\n/**\n * Override props applied to the block element on save.\n *\n * @param {Object} props Additional props applied to the block element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n * @return {Object} Filtered props applied to the block element.\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tconst { fitText } = attributes;\n\n\tif ( ! fitText ) {\n\t\treturn props;\n\t}\n\n\t// Add CSS class for frontend detection and styling\n\tconst className = props.className\n\t\t? `${ props.className } has-fit-text`\n\t\t: 'has-fit-text';\n\n\treturn {\n\t\t...props,\n\t\tclassName,\n\t};\n}\n\n/**\n * Override props applied to the block element in the editor.\n *\n * @param {Object} props Component props including block attributes.\n * @param {string} props.name Block name.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @return {Object} Filtered props applied to the block element.\n */\nfunction useBlockProps( { name, fitText } ) {\n\tif ( fitText && hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn {\n\t\t\tclassName: 'has-fit-text',\n\t\t};\n\t}\n\treturn {};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fit-text/addAttribute',\n\taddAttributes\n);\n\nconst hasFitTextSupport = ( blockNameOrType ) => {\n\treturn hasBlockSupport( blockNameOrType, FIT_TEXT_SUPPORT_KEY );\n};\n\n/**\n * Component that handles the fit text font size and displays a warning\n * if the fit text font size is below a minimum threshold.\n *\n * @param {Object} props Component props.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n * @param {boolean} props.isSelected Whether the block is selected.\n * @return {Element|null} Warning component or null.\n */\nfunction FitTextFontSize( { fitText, name, clientId, isSelected } ) {\n\tconst { fontSize } = useFitText( { fitText, name, clientId } );\n\tif ( isSelected && fontSize && fontSize < MIN_FONT_SIZE_FOR_WARNING ) {\n\t\treturn (\n\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t<FitTextSizeWarning />\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\treturn null;\n}\n\n/*\n * Fit-text requires that layout calculations be done even when a block is not\n * currently selected. Therefore, the regular hooking approach using an\n * exported `edit` method is not enough, and we must use this HoC with the\n * `editor.BlockEdit` filter.\n */\nconst addFitTextControl = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn function AddFitTextControl( props ) {\n\t\tconst { name, attributes, clientId, isSelected, setAttributes } = props;\n\t\tconst { fitText } = attributes;\n\t\tconst supportsFitText = hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY );\n\t\tif ( ! supportsFitText ) {\n\t\t\treturn <BlockEdit { ...props } />;\n\t\t}\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t\t<FitTextControl\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tfitText={ fitText }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tfontSize={ attributes.fontSize }\n\t\t\t\t\t\tstyle={ attributes.style }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ fitText && (\n\t\t\t\t\t<FitTextFontSize\n\t\t\t\t\t\tfitText={ fitText }\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n}, 'addFitTextControl' );\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/fit-text/add-fit-text-control',\n\taddFitTextControl\n);\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fitText', 'fontSize', 'style' ],\n\thasSupport: hasFitTextSupport,\n\tedit: () => null,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["hasFitTextSupport", "blockEditorStore", "ToolsPanelItem", "InspectorControls", "FitTextSizeWarning"]
|
|
7
7
|
}
|
|
@@ -38,12 +38,10 @@ module.exports = __toCommonJS(font_family_exports);
|
|
|
38
38
|
var import_hooks = require("@wordpress/hooks");
|
|
39
39
|
var import_blocks = require("@wordpress/blocks");
|
|
40
40
|
var import_token_list = __toESM(require("@wordpress/token-list"));
|
|
41
|
-
var
|
|
41
|
+
var import_kebab_case = require("@wordpress/kebab-case");
|
|
42
42
|
var import_utils = require("./utils.cjs");
|
|
43
43
|
var import_typography = require("./typography.cjs");
|
|
44
|
-
var import_lock_unlock = require("../lock-unlock.cjs");
|
|
45
44
|
var FONT_FAMILY_SUPPORT_KEY = "typography.__experimentalFontFamily";
|
|
46
|
-
var { kebabCase } = (0, import_lock_unlock.unlock)(import_components.privateApis);
|
|
47
45
|
function addAttributes(settings) {
|
|
48
46
|
if (!(0, import_blocks.hasBlockSupport)(settings, FONT_FAMILY_SUPPORT_KEY)) {
|
|
49
47
|
return settings;
|
|
@@ -72,7 +70,7 @@ function addSaveProps(props, blockType, attributes) {
|
|
|
72
70
|
return props;
|
|
73
71
|
}
|
|
74
72
|
const classes = new import_token_list.default(props.className);
|
|
75
|
-
classes.add(`has-${kebabCase(attributes?.fontFamily)}-font-family`);
|
|
73
|
+
classes.add(`has-${(0, import_kebab_case.kebabCase)(attributes?.fontFamily)}-font-family`);
|
|
76
74
|
const newClassName = classes.value;
|
|
77
75
|
props.className = newClassName ? newClassName : void 0;
|
|
78
76
|
return props;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/font-family.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { kebabCase } from '@wordpress/kebab-case';\nimport { shouldSkipSerialization } from './utils';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\n\nexport const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fontFamily` attribute.\n *\n * @param {Object} settings Original block settings\n * @return {Object} Filtered block settings\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontFamily ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontFamily: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font family.\n *\n * @param {Object} props Additional props applied to save element\n * @param {Object} blockType Block type\n * @param {Object} attributes Block attributes\n * @return {Object} Filtered props applied to save element\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontFamily'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\tif ( ! attributes?.fontFamily ) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( `has-${ kebabCase( attributes?.fontFamily ) }-font-family` );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\nfunction useBlockProps( { name, fontFamily } ) {\n\treturn addSaveProps( {}, name, { fontFamily } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontFamily' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_FAMILY_SUPPORT_KEY );\n\t},\n};\n\n/**\n * Resets the font family block support attribute. This can be used when\n * disabling the font family support controls for a block via a progressive\n * discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontFamily( { setAttributes } ) {\n\tsetAttributes( { fontFamily: undefined } );\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fontFamily/addAttribute',\n\taddAttributes\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,oBAAgC;AAChC,wBAAsB;AACtB,wBAA0B;AAC1B,mBAAwC;AACxC,wBAAuC;AAEhC,IAAM,0BAA0B;AASvC,SAAS,cAAe,UAAW;AAClC,MAAK,KAAE,+BAAiB,UAAU,uBAAwB,GAAI;AAC7D,WAAO;AAAA,EACR;AAGA,MAAK,CAAE,SAAS,WAAW,YAAa;AACvC,WAAO,OAAQ,SAAS,YAAY;AAAA,MACnC,YAAY;AAAA,QACX,MAAM;AAAA,MACP;AAAA,IACD,CAAE;AAAA,EACH;AAEA,SAAO;AACR;AAUA,SAAS,aAAc,OAAO,WAAW,YAAa;AACrD,MAAK,KAAE,+BAAiB,WAAW,uBAAwB,GAAI;AAC9D,WAAO;AAAA,EACR;AAEA,UACC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACD,GACC;AACD,WAAO;AAAA,EACR;AAEA,MAAK,CAAE,YAAY,YAAa;AAC/B,WAAO;AAAA,EACR;AAGA,QAAM,UAAU,IAAI,kBAAAA,QAAW,MAAM,SAAU;AAC/C,UAAQ,IAAK,WAAQ,6BAAW,YAAY,UAAW,CAAE,cAAe;AACxE,QAAM,eAAe,QAAQ;AAC7B,QAAM,YAAY,eAAe,eAAe;AAEhD,SAAO;AACR;AAEA,SAAS,cAAe,EAAE,MAAM,WAAW,GAAI;AAC9C,SAAO,aAAc,CAAC,GAAG,MAAM,EAAE,WAAW,CAAE;AAC/C;AAEA,IAAO,sBAAQ;AAAA,EACd;AAAA,EACA;AAAA,EACA,eAAe,CAAE,YAAa;AAAA,EAC9B,WAAY,MAAO;AAClB,eAAO,+BAAiB,MAAM,uBAAwB;AAAA,EACvD;AACD;AAUO,SAAS,gBAAiB,EAAE,cAAc,GAAI;AACpD,gBAAe,EAAE,YAAY,OAAU,CAAE;AAC1C;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
|
|
6
|
+
"names": ["TokenList"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/font-size.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { getTypographyFontSizeValue } from '@wordpress/global-styles-engine';\nimport {\n\tgetFontSize,\n\tgetFontSizeClass,\n\tgetFontSizeObjectByValue,\n\tFontSizePicker,\n} from '../components/font-sizes';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n} from './utils';\nimport { useSettings } from '../components/use-settings';\n\nexport const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';\n\n/**\n * Filters registered block settings, extending attributes to include\n * `fontSize` and `fontWeight` attributes.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontSize ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontSize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font size.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockNameOrType, attributes ) {\n\tif ( ! hasBlockSupport( blockNameOrType, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockNameOrType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontSize'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( getFontSizeClass( attributes.fontSize ) );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Inspector control panel containing the font size related configuration\n *\n * @param {Object} props\n *\n * @return {Element} Font size edit element.\n */\nexport function FontSizeEdit( props ) {\n\tconst {\n\t\tattributes: { fontSize, style },\n\t\tsetAttributes,\n\t} = props;\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\tconst onChange = ( value, selectedItem ) => {\n\t\t// Use the selectedItem's slug if available, otherwise fall back to finding by value\n\t\tconst fontSizeSlug =\n\t\t\tselectedItem?.slug ||\n\t\t\tgetFontSizeObjectByValue( fontSizes, value ).slug;\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\ttypography: {\n\t\t\t\t\t...style?.typography,\n\t\t\t\t\tfontSize: fontSizeSlug ? undefined : value,\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tfontSize: fontSizeSlug,\n\t\t} );\n\t};\n\n\tconst fontSizeObject = getFontSize(\n\t\tfontSizes,\n\t\tfontSize,\n\t\tstyle?.typography?.fontSize\n\t);\n\n\tconst fontSizeValue =\n\t\tfontSizeObject?.size || style?.typography?.fontSize || fontSize;\n\n\treturn (\n\t\t<FontSizePicker\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ fontSize || fontSizeValue }\n\t\t\tvalueMode={ fontSize ? 'slug' : 'literal' }\n\t\t\twithReset={ false }\n\t\t\twithSlider\n\t\t/>\n\t);\n}\n\n/**\n * Custom hook that checks if font-size settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsFontSizeDisabled( { name: blockName } = {} ) {\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = !! fontSizes?.length;\n\n\treturn (\n\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) || ! hasFontSizes\n\t);\n}\n\nfunction useBlockProps( { name, fontSize, style } ) {\n\tconst [ fontSizes, fluidTypographySettings, layoutSettings ] = useSettings(\n\t\t'typography.fontSizes',\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\n\t/*\n\t * Only add inline styles if the block supports font sizes,\n\t * doesn't skip serialization of font sizes,\n\t * and has either a custom font size or a preset font size.\n\t */\n\tif (\n\t\t! hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY ) ||\n\t\tshouldSkipSerialization( name, TYPOGRAPHY_SUPPORT_KEY, 'fontSize' ) ||\n\t\t( ! fontSize && ! style?.typography?.fontSize )\n\t) {\n\t\treturn;\n\t}\n\n\tlet props;\n\n\tif ( style?.typography?.fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getTypographyFontSizeValue(\n\t\t\t\t\t{ size: style.typography.fontSize },\n\t\t\t\t\t{\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfluid: fluidTypographySettings,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlayout: layoutSettings,\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getFontSize(\n\t\t\t\t\tfontSizes,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle?.typography?.fontSize\n\t\t\t\t).size,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( ! props ) {\n\t\treturn;\n\t}\n\n\treturn addSaveProps( props, name, { fontSize } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontSize', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY );\n\t},\n};\n\nconst MIGRATION_PATHS = {\n\tfontSize: [ [ 'fontSize' ], [ 'style', 'typography', 'fontSize' ] ],\n};\n\nfunction addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tfontSize: hasBlockSupport(\n\t\t\tdestinationBlockType,\n\t\t\tFONT_SIZE_SUPPORT_KEY\n\t\t),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/font/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/font-size/addTransforms',\n\taddTransforms\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["TokenList"]
|
|
7
7
|
}
|
package/build/hooks/gap.cjs
CHANGED
|
@@ -21,10 +21,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var gap_exports = {};
|
|
22
22
|
__export(gap_exports, {
|
|
23
23
|
getGapBoxControlValueFromStyle: () => getGapBoxControlValueFromStyle,
|
|
24
|
-
getGapCSSValue: () => getGapCSSValue
|
|
24
|
+
getGapCSSValue: () => getGapCSSValue,
|
|
25
|
+
isAxialBlockGapAllowed: () => isAxialBlockGapAllowed
|
|
25
26
|
});
|
|
26
27
|
module.exports = __toCommonJS(gap_exports);
|
|
27
28
|
var import_utils = require("../components/spacing-sizes-control/utils.cjs");
|
|
29
|
+
function isAxialBlockGapAllowed(layout, defaultLayout) {
|
|
30
|
+
const usedLayout = layout?.inherit || layout?.contentSize || layout?.wideSize ? { ...layout, type: "constrained" } : layout || defaultLayout || {};
|
|
31
|
+
return ["flex", "grid"].includes(usedLayout?.type);
|
|
32
|
+
}
|
|
28
33
|
function getGapBoxControlValueFromStyle(blockGapValue) {
|
|
29
34
|
if (!blockGapValue) {
|
|
30
35
|
return null;
|
|
@@ -47,6 +52,7 @@ function getGapCSSValue(blockGapValue, defaultValue = "0") {
|
|
|
47
52
|
// Annotate the CommonJS export names for ESM import in node:
|
|
48
53
|
0 && (module.exports = {
|
|
49
54
|
getGapBoxControlValueFromStyle,
|
|
50
|
-
getGapCSSValue
|
|
55
|
+
getGapCSSValue,
|
|
56
|
+
isAxialBlockGapAllowed
|
|
51
57
|
});
|
|
52
58
|
//# sourceMappingURL=gap.cjs.map
|
package/build/hooks/gap.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/gap.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { getSpacingPresetCssVar } from '../components/spacing-sizes-control/utils';\n\n/**\n * Returns whether the current layout can use separate row and column gaps.\n *\n * @param {?Object} layout The block instance's layout attribute.\n * @param {?Object} defaultLayout The block's default supported layout.\n * @return {boolean} Whether axial block gap controls should be available.\n */\nexport function isAxialBlockGapAllowed( layout, defaultLayout ) {\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultLayout || {};\n\n\treturn [ 'flex', 'grid' ].includes( usedLayout?.type );\n}\n\n/**\n * Returns a BoxControl object value from a given blockGap style value.\n * The string check is for backwards compatibility before Gutenberg supported\n * split gap values (row and column) and the value was a string n + unit.\n *\n * @param {?string | ?Object} blockGapValue A block gap string or axial object value, e.g., '10px' or { top: '10px', left: '10px'}.\n * @return {Object|null} A value to pass to the BoxControl component.\n */\nexport function getGapBoxControlValueFromStyle( blockGapValue ) {\n\tif ( ! blockGapValue ) {\n\t\treturn null;\n\t}\n\n\tconst isValueString = typeof blockGapValue === 'string';\n\treturn {\n\t\ttop: isValueString ? blockGapValue : blockGapValue?.top,\n\t\tleft: isValueString ? blockGapValue : blockGapValue?.left,\n\t};\n}\n\n/**\n * Returns a CSS value for the `gap` property from a given blockGap style.\n *\n * @param {?string | ?Object} blockGapValue A block gap string or axial object value, e.g., '10px' or { top: '10px', left: '10px'}.\n * @param {?string} defaultValue A default gap value.\n * @return {string|null} The concatenated gap value (row and column).\n */\nexport function getGapCSSValue( blockGapValue, defaultValue = '0' ) {\n\tconst blockGapBoxControlValue =\n\t\tgetGapBoxControlValueFromStyle( blockGapValue );\n\tif ( ! blockGapBoxControlValue ) {\n\t\treturn null;\n\t}\n\n\tconst row =\n\t\tgetSpacingPresetCssVar( blockGapBoxControlValue?.top ) || defaultValue;\n\tconst column =\n\t\tgetSpacingPresetCssVar( blockGapBoxControlValue?.left ) || defaultValue;\n\n\treturn row === column ? row : `${ row } ${ column }`;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuC;AAShC,SAAS,uBAAwB,QAAQ,eAAgB;AAC/D,QAAM,aACL,QAAQ,WAAW,QAAQ,eAAe,QAAQ,WAC/C,EAAE,GAAG,QAAQ,MAAM,cAAc,IACjC,UAAU,iBAAiB,CAAC;AAEhC,SAAO,CAAE,QAAQ,MAAO,EAAE,SAAU,YAAY,IAAK;AACtD;AAUO,SAAS,+BAAgC,eAAgB;AAC/D,MAAK,CAAE,eAAgB;AACtB,WAAO;AAAA,EACR;AAEA,QAAM,gBAAgB,OAAO,kBAAkB;AAC/C,SAAO;AAAA,IACN,KAAK,gBAAgB,gBAAgB,eAAe;AAAA,IACpD,MAAM,gBAAgB,gBAAgB,eAAe;AAAA,EACtD;AACD;AASO,SAAS,eAAgB,eAAe,eAAe,KAAM;AACnE,QAAM,0BACL,+BAAgC,aAAc;AAC/C,MAAK,CAAE,yBAA0B;AAChC,WAAO;AAAA,EACR;AAEA,QAAM,UACL,qCAAwB,yBAAyB,GAAI,KAAK;AAC3D,QAAM,aACL,qCAAwB,yBAAyB,IAAK,KAAK;AAE5D,SAAO,QAAQ,SAAS,MAAM,GAAI,GAAI,IAAK,MAAO;AACnD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/generated-class-name.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport, getBlockDefaultClassName } from '@wordpress/blocks';\n\n/**\n * Override props assigned to save component to inject generated className if\n * block supports it. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addGeneratedClassName( extraProps, blockType ) {\n\t// Adding the generated className.\n\tif ( hasBlockSupport( blockType, 'className', true ) ) {\n\t\tif ( typeof extraProps.className === 'string' ) {\n\t\t\t// We have some extra classes and want to add the default classname\n\t\t\t// We use uniq to prevent duplicate classnames.\n\n\t\t\textraProps.className = [\n\t\t\t\t...new Set( [\n\t\t\t\t\tgetBlockDefaultClassName( blockType.name ),\n\t\t\t\t\t...extraProps.className.split( ' ' ),\n\t\t\t\t] ),\n\t\t\t]\n\t\t\t\t.join( ' ' )\n\t\t\t\t.trim();\n\t\t} else {\n\t\t\t// There is no string in the className variable,\n\t\t\t// so we just dump the default name in there.\n\t\t\textraProps.className = getBlockDefaultClassName( blockType.name );\n\t\t}\n\t}\n\treturn extraProps;\n}\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/generated-class-name/save-props',\n\taddGeneratedClassName\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,oBAA0D;AAYnD,SAAS,sBAAuB,YAAY,WAAY;AAE9D,UAAK,+BAAiB,WAAW,aAAa,IAAK,GAAI;AACtD,QAAK,OAAO,WAAW,cAAc,UAAW;AAI/C,iBAAW,YAAY;AAAA,QACtB,GAAG,oBAAI,IAAK;AAAA,cACX,wCAA0B,UAAU,IAAK;AAAA,UACzC,GAAG,WAAW,UAAU,MAAO,GAAI;AAAA,QACpC,CAAE;AAAA,MACH,EACE,KAAM,GAAI,EACV,KAAK;AAAA,IACR,OAAO;AAGN,iBAAW,gBAAY,wCAA0B,UAAU,IAAK;AAAA,IACjE;AAAA,EACD;AACA,SAAO;AACR;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/grid-visualizer.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;
|
|
4
|
+
"sourcesContent": ["import { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useSelect } from '@wordpress/data';\nimport { GridVisualizer, useGridLayoutSync } from '../components/grid';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport useBlockVisibility from '../components/block-visibility/use-block-visibility';\nimport { deviceTypeKey } from '../store/private-keys';\nimport { BLOCK_VISIBILITY_VIEWPORTS } from '../components/block-visibility/constants';\n\nfunction GridLayoutSync( props ) {\n\tuseGridLayoutSync( props );\n}\n\nfunction GridTools( { clientId, layout } ) {\n\tconst { isVisible, blockVisibility, deviceType, viewportSettings } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tisBlockSelected,\n\t\t\t\t\thasSelectedInnerBlock,\n\t\t\t\t\tisDraggingBlocks,\n\t\t\t\t\tgetTemplateLock,\n\t\t\t\t\tgetBlockEditingMode,\n\t\t\t\t\tgetBlockAttributes,\n\t\t\t\t\tgetSettings,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t// These calls are purposely ordered from least expensive to most expensive.\n\t\t\t\t// Hides the visualizer in cases where the user is not or cannot interact with it.\n\t\t\t\t// Also hide if a child block is selected, because layout-child.js will render\n\t\t\t\t// the visualizer in that case (with proper childGridClientId handling).\n\t\t\t\tif (\n\t\t\t\t\t( ! isDraggingBlocks() && ! isBlockSelected( clientId ) ) ||\n\t\t\t\t\tgetTemplateLock( clientId ) ||\n\t\t\t\t\tgetBlockEditingMode( clientId ) !== 'default' ||\n\t\t\t\t\thasSelectedInnerBlock( clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn { isVisible: false };\n\t\t\t\t}\n\n\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\tconst settings = getSettings();\n\t\t\t\tconst currentDeviceType =\n\t\t\t\t\tsettings?.[ deviceTypeKey ]?.toLowerCase() ||\n\t\t\t\t\tBLOCK_VISIBILITY_VIEWPORTS.desktop.key;\n\n\t\t\t\treturn {\n\t\t\t\t\tisVisible: true,\n\t\t\t\t\tblockVisibility: attributes?.metadata?.blockVisibility,\n\t\t\t\t\tdeviceType: currentDeviceType,\n\t\t\t\t\tviewportSettings:\n\t\t\t\t\t\tsettings?.__experimentalFeatures?.viewport,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\t// Get the block's DOM element to derive the canvas iframe window,\n\t// so viewport detection matches the actual block rendering context\n\tconst blockElement = useBlockElement( clientId );\n\tconst rawCanvasView = blockElement?.ownerDocument?.defaultView;\n\tconst canvasView = rawCanvasView === null ? undefined : rawCanvasView;\n\n\tconst { isBlockCurrentlyHidden, currentViewport } = useBlockVisibility( {\n\t\tblockVisibility,\n\t\tdeviceType,\n\t\tview: canvasView,\n\t\tviewportSettings,\n\t} );\n\n\t// Check whether any ancestor is hidden at the viewport actually detected\n\t// from the canvas, so it stays consistent with how blocks are hidden.\n\tconst isAnyAncestorHidden = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isVisible ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { isBlockParentHiddenAtViewport } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn isBlockParentHiddenAtViewport( clientId, currentViewport );\n\t\t},\n\t\t[ clientId, currentViewport, isVisible ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GridLayoutSync clientId={ clientId } />\n\t\t\t{ isVisible &&\n\t\t\t\t! isBlockCurrentlyHidden &&\n\t\t\t\t! isAnyAncestorHidden && (\n\t\t\t\t\t<GridVisualizer\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tparentLayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst addGridVisualizerToBlockEdit = createHigherOrderComponent(\n\t( BlockEdit ) =>\n\t\tfunction AddGridVisualizerToBlockEdit( props ) {\n\t\t\tif ( props.attributes.layout?.type !== 'grid' ) {\n\t\t\t\treturn <BlockEdit key=\"edit\" { ...props } />;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<GridTools\n\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\tlayout={ props.attributes.layout }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockEdit key=\"edit\" { ...props } />\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t'addGridVisualizerToBlockEdit'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/grid-visualizer',\n\taddGridVisualizerToBlockEdit\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAA2C;AAC3C,mBAA0B;AAC1B,kBAA0B;AAC1B,kBAAkD;AAClD,mBAA0C;AAC1C,yBAAuB;AACvB,4BAAgC;AAChC,kCAA+B;AAC/B,0BAA8B;AAC9B,uBAA2C;AA+EzC;AA7EF,SAAS,eAAgB,OAAQ;AAChC,qCAAmB,KAAM;AAC1B;AAEA,SAAS,UAAW,EAAE,UAAU,OAAO,GAAI;AAC1C,QAAM,EAAE,WAAW,iBAAiB,YAAY,iBAAiB,QAChE;AAAA,IACC,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,aAAAA,KAAiB;AAM7B,UACG,CAAE,iBAAiB,KAAK,CAAE,gBAAiB,QAAS,KACtD,gBAAiB,QAAS,KAC1B,oBAAqB,QAAS,MAAM,aACpC,sBAAuB,QAAS,GAC/B;AACD,eAAO,EAAE,WAAW,MAAM;AAAA,MAC3B;AAEA,YAAM,aAAa,mBAAoB,QAAS;AAChD,YAAM,WAAW,YAAY;AAC7B,YAAM,oBACL,WAAY,iCAAc,GAAG,YAAY,KACzC,4CAA2B,QAAQ;AAEpC,aAAO;AAAA,QACN,WAAW;AAAA,QACX,iBAAiB,YAAY,UAAU;AAAA,QACvC,YAAY;AAAA,QACZ,kBACC,UAAU,wBAAwB;AAAA,MACpC;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAID,QAAM,mBAAe,uCAAiB,QAAS;AAC/C,QAAM,gBAAgB,cAAc,eAAe;AACnD,QAAM,aAAa,kBAAkB,OAAO,SAAY;AAExD,QAAM,EAAE,wBAAwB,gBAAgB,QAAI,4BAAAC,SAAoB;AAAA,IACvE;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,EACD,CAAE;AAIF,QAAM,0BAAsB;AAAA,IAC3B,CAAE,WAAY;AACb,UAAK,CAAE,WAAY;AAClB,eAAO;AAAA,MACR;AACA,YAAM,EAAE,8BAA8B,QAAI;AAAA,QACzC,OAAQ,aAAAD,KAAiB;AAAA,MAC1B;AACA,aAAO,8BAA+B,UAAU,eAAgB;AAAA,IACjE;AAAA,IACA,CAAE,UAAU,iBAAiB,SAAU;AAAA,EACxC;AAEA,SACC,4EACC;AAAA,gDAAC,kBAAe,UAAsB;AAAA,IACpC,aACD,CAAE,0BACF,CAAE,uBACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,cAAe;AAAA;AAAA,IAChB;AAAA,KAEH;AAEF;AAEA,IAAM,mCAA+B;AAAA,EACpC,CAAE,cACD,SAAS,6BAA8B,OAAQ;AAC9C,QAAK,MAAM,WAAW,QAAQ,SAAS,QAAS;AAC/C,aAAO,4CAAC,aAAuB,GAAG,SAAZ,MAAoB;AAAA,IAC3C;AAEA,WACC,4EACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,UAAW,MAAM;AAAA,UACjB,QAAS,MAAM,WAAW;AAAA;AAAA,MAC3B;AAAA,MACA,4CAAC,aAAuB,GAAG,SAAZ,MAAoB;AAAA,OACpC;AAAA,EAEF;AAAA,EACD;AACD;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
|
|
6
6
|
"names": ["blockEditorStore", "useBlockVisibility"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/index.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import {\n\tcreateBlockEditFilter,\n\tcreateBlockListBlockFilter,\n\tcreateBlockSaveFilter,\n} from './utils';\nimport './compat';\nimport './cross-origin-isolation';\nimport align from './align';\nimport background from './background';\nimport './lock';\nimport allowedBlocks from './allowed-blocks';\nimport anchor from './anchor';\nimport ariaLabel from './aria-label';\nimport blockFields from './block-fields';\nimport customClassName from './custom-class-name';\nimport './generated-class-name';\nimport style from './style';\nimport './settings';\nimport color from './color';\nimport dimensions from './dimensions';\nimport duotone from './duotone';\nimport fontFamily from './font-family';\nimport fontSize from './font-size';\nimport textAlign from './text-align';\nimport fitText from './fit-text';\nimport border from './border';\nimport customCSS from './custom-css';\nimport position from './position';\nimport blockStyleVariation from './block-style-variation';\nimport layout from './layout';\nimport childLayout from './layout-child';\nimport './metadata';\nimport blockHooks from './block-hooks';\nimport blockBindingsPanel from './block-bindings';\nimport listView from './list-view';\nimport './block-renaming';\nimport './grid-visualizer';\nimport AutoRegisterControls from './auto-inspector-controls';\n\ncreateBlockEditFilter(\n\t[\n\t\talign,\n\t\ttextAlign,\n\t\tanchor,\n\t\tcustomClassName,\n\t\tstyle,\n\t\tcustomCSS,\n\t\tduotone,\n\t\tfitText,\n\t\tposition,\n\t\tlayout,\n\t\tblockHooks,\n\t\tblockBindingsPanel,\n\t\tchildLayout,\n\t\tallowedBlocks,\n\t\tblockFields,\n\t\tlistView,\n\t\tAutoRegisterControls,\n\t].filter( Boolean )\n);\ncreateBlockListBlockFilter( [\n\talign,\n\ttextAlign,\n\tbackground,\n\tstyle,\n\tcolor,\n\tdimensions,\n\tduotone,\n\tfontFamily,\n\tfontSize,\n\tfitText,\n\tborder,\n\tcustomCSS,\n\tposition,\n\tblockStyleVariation,\n\tchildLayout,\n] );\ncreateBlockSaveFilter( [\n\talign,\n\ttextAlign,\n\tanchor,\n\tariaLabel,\n\tcustomClassName,\n\tborder,\n\tcustomCSS,\n\tfitText,\n\tcolor,\n\tstyle,\n\tfontFamily,\n\tfontSize,\n] );\n\nexport { useCustomSides } from './dimensions';\nexport { getDimensionsClassesAndStyles } from './use-dimensions-props';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getShadowClassesAndStyles } from './use-shadow-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\nexport { setBackgroundStyleDefaults } from './background';\nexport { useZoomOut } from './use-zoom-out';\nexport { BlockStyleVariationOverridesWithConfig } from './block-style-variation';\nexport { useStyleOverride } from './utils';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAIO;AACP,oBAAO;AACP,oCAAO;AACP,mBAAkB;AAClB,wBAAuB;AACvB,kBAAO;AACP,4BAA0B;AAC1B,oBAAmB;AACnB,wBAAsB;AACtB,0BAAwB;AACxB,+BAA4B;AAC5B,kCAAO;AACP,mBAAkB;AAClB,sBAAO;AACP,mBAAkB;AAClB,wBAAuB;AACvB,qBAAoB;AACpB,yBAAuB;AACvB,uBAAqB;AACrB,wBAAsB;AACtB,sBAAoB;AACpB,oBAAmB;AACnB,wBAAsB;AACtB,sBAAqB;AACrB,mCAAgC;AAChC,oBAAmB;AACnB,0BAAwB;AACxB,sBAAO;AACP,yBAAuB;AACvB,4BAA+B;AAC/B,uBAAqB;AACrB,4BAAO;AACP,6BAAO;AACP,qCAAiC;AAuDjC,IAAAA,qBAA+B;AAC/B,kCAA8C;AAC9C,IAAAC,iBAAkD;AAClD,8BAA0D;AAC1D,8BAA0C;AAC1C,6BAAwD;AACxD,+BAA2C;AAC3C,kCAA8C;AAC9C,iBAA+B;AAC/B,+BAAgC;AAChC,IAAAC,qBAA2C;AAC3C,0BAA2B;AAC3B,IAAAC,gCAAuD;AACvD,IAAAC,gBAAiC;AAAA,IAlEjC;AAAA,EACC;AAAA,IACC,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,+BAAAC;AAAA,EACD,EAAE,OAAQ,OAAQ;AACnB;AAAA,IACA,yCAA4B;AAAA,EAC3B,aAAAhB;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAgB;AAAA,EACA,aAAAb;AAAA,EACA,aAAAc;AAAA,EACA,kBAAAC;AAAA,EACA,eAAAb;AAAA,EACA,mBAAAc;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAd;AAAA,EACA,cAAAe;AAAA,EACA,kBAAAjB;AAAA,EACA,gBAAAG;AAAA,EACA,6BAAAe;AAAA,EACA,oBAAAX;AACD,CAAE;AAAA,IACF,oCAAuB;AAAA,EACtB,aAAAZ;AAAA,EACA,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,kBAAAsB;AAAA,EACA,yBAAArB;AAAA,EACA,cAAAmB;AAAA,EACA,kBAAAjB;AAAA,EACA,gBAAAE;AAAA,EACA,aAAAW;AAAA,EACA,aAAAd;AAAA,EACA,mBAAAgB;AAAA,EACA,iBAAAC;AACD,CAAE;",
|
|
6
6
|
"names": ["import_dimensions", "import_layout", "import_background", "import_block_style_variation", "import_utils", "align", "textAlign", "anchor", "customClassName", "style", "customCSS", "duotone", "fitText", "position", "layout", "blockHooks", "blockBindingsPanel", "childLayout", "allowedBlocks", "blockFields", "listView", "AutoRegisterControls", "background", "color", "dimensions", "fontFamily", "fontSize", "border", "blockStyleVariation", "ariaLabel"]
|
|
7
7
|
}
|