@wordpress/block-editor 17.0.0 → 17.1.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 +45 -0
- package/build/autocompleters/block.cjs +1 -1
- package/build/autocompleters/block.cjs.map +1 -1
- package/build/components/alignment-control/index.cjs +1 -1
- package/build/components/alignment-control/index.cjs.map +1 -1
- package/build/components/alignment-control/ui.cjs +1 -1
- package/build/components/alignment-control/ui.cjs.map +1 -1
- package/build/components/autocomplete/index.cjs +1 -1
- package/build/components/autocomplete/index.cjs.map +1 -1
- package/build/components/background-image-control/index.cjs +19 -2
- package/build/components/background-image-control/index.cjs.map +3 -3
- package/build/components/block-alignment-control/index.cjs +1 -1
- package/build/components/block-alignment-control/index.cjs.map +1 -1
- package/build/components/block-alignment-control/ui.cjs +1 -1
- package/build/components/block-alignment-control/ui.cjs.map +1 -1
- package/build/components/block-alignment-matrix-control/index.cjs +1 -1
- package/build/components/block-alignment-matrix-control/index.cjs.map +1 -1
- package/build/components/block-allowed-blocks/allowed-blocks-control.cjs +1 -1
- package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +1 -1
- package/build/components/block-allowed-blocks/modal.cjs +3 -2
- package/build/components/block-allowed-blocks/modal.cjs.map +4 -4
- package/build/components/block-bindings/attribute-control.cjs +1 -1
- package/build/components/block-bindings/attribute-control.cjs.map +1 -1
- package/build/components/block-bindings/source-fields-list.cjs +1 -1
- package/build/components/block-bindings/source-fields-list.cjs.map +1 -1
- package/build/components/block-breadcrumb/index.cjs +1 -1
- package/build/components/block-breadcrumb/index.cjs.map +1 -1
- package/build/components/block-canvas/index.cjs +1 -1
- package/build/components/block-canvas/index.cjs.map +1 -1
- package/build/components/block-card/index.cjs +1 -1
- package/build/components/block-card/index.cjs.map +1 -1
- package/build/components/block-compare/block-view.cjs +1 -1
- package/build/components/block-compare/block-view.cjs.map +1 -1
- package/build/components/block-compare/index.cjs +1 -1
- package/build/components/block-compare/index.cjs.map +1 -1
- package/build/components/block-context/index.cjs +1 -1
- package/build/components/block-context/index.cjs.map +1 -1
- package/build/components/block-controls/fill.cjs +1 -1
- package/build/components/block-controls/fill.cjs.map +1 -1
- package/build/components/block-controls/index.cjs +1 -1
- package/build/components/block-controls/index.cjs.map +1 -1
- package/build/components/block-controls/slot.cjs +1 -1
- package/build/components/block-controls/slot.cjs.map +1 -1
- package/build/components/block-draggable/draggable-chip.cjs +1 -1
- package/build/components/block-draggable/draggable-chip.cjs.map +1 -1
- package/build/components/block-draggable/index.cjs +1 -1
- package/build/components/block-draggable/index.cjs.map +1 -1
- package/build/components/block-edit/edit.cjs +1 -1
- package/build/components/block-edit/edit.cjs.map +2 -2
- package/build/components/block-edit/index.cjs +1 -1
- package/build/components/block-edit/index.cjs.map +1 -1
- package/build/components/block-edit/multiple-usage-warning.cjs +1 -1
- package/build/components/block-edit/multiple-usage-warning.cjs.map +1 -1
- package/build/components/block-edit-visually-button/index.cjs +1 -1
- package/build/components/block-edit-visually-button/index.cjs.map +1 -1
- package/build/components/block-full-height-alignment-control/index.cjs +1 -1
- package/build/components/block-full-height-alignment-control/index.cjs.map +1 -1
- package/build/components/block-heading-level-dropdown/heading-level-icon.cjs +1 -1
- package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +1 -1
- package/build/components/block-heading-level-dropdown/index.cjs +1 -1
- package/build/components/block-heading-level-dropdown/index.cjs.map +1 -1
- package/build/components/block-icon/index.cjs +1 -1
- package/build/components/block-icon/index.cjs.map +1 -1
- package/build/components/block-inspector/edit-contents.cjs +1 -1
- package/build/components/block-inspector/edit-contents.cjs.map +1 -1
- package/build/components/block-inspector/index.cjs +8 -16
- package/build/components/block-inspector/index.cjs.map +3 -3
- package/build/components/block-keyboard-shortcuts/index.cjs +1 -1
- package/build/components/block-keyboard-shortcuts/index.cjs.map +1 -1
- package/build/components/block-list/block-crash-warning.cjs +1 -1
- package/build/components/block-list/block-crash-warning.cjs.map +1 -1
- package/build/components/block-list/block-html.cjs +1 -1
- package/build/components/block-list/block-html.cjs.map +1 -1
- package/build/components/block-list/block-invalid-warning.cjs +1 -1
- package/build/components/block-list/block-invalid-warning.cjs.map +1 -1
- package/build/components/block-list/block.cjs +1 -1
- package/build/components/block-list/block.cjs.map +1 -1
- package/build/components/block-list/index.cjs +1 -1
- package/build/components/block-list/index.cjs.map +1 -1
- package/build/components/block-list/layout.cjs +1 -1
- package/build/components/block-list/layout.cjs.map +1 -1
- package/build/components/block-list/subdirectory-icon.cjs +1 -1
- package/build/components/block-list/subdirectory-icon.cjs.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.cjs +17 -4
- package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
- package/build/components/block-list/zoom-out-separator.cjs +1 -1
- package/build/components/block-list/zoom-out-separator.cjs.map +1 -1
- package/build/components/block-list-appender/index.cjs +1 -1
- package/build/components/block-list-appender/index.cjs.map +1 -1
- package/build/components/block-lock/menu-item.cjs +1 -1
- package/build/components/block-lock/menu-item.cjs.map +1 -1
- package/build/components/block-lock/modal.cjs +1 -1
- package/build/components/block-lock/modal.cjs.map +1 -1
- package/build/components/block-lock/toolbar.cjs +1 -1
- package/build/components/block-lock/toolbar.cjs.map +1 -1
- package/build/components/block-manager/category.cjs +1 -1
- package/build/components/block-manager/category.cjs.map +1 -1
- package/build/components/block-manager/checklist.cjs +1 -1
- package/build/components/block-manager/checklist.cjs.map +1 -1
- package/build/components/block-manager/index.cjs +1 -1
- package/build/components/block-manager/index.cjs.map +1 -1
- package/build/components/block-mover/button.cjs +1 -1
- package/build/components/block-mover/button.cjs.map +1 -1
- package/build/components/block-mover/index.cjs +1 -1
- package/build/components/block-mover/index.cjs.map +1 -1
- package/build/components/block-navigation/dropdown.cjs +1 -1
- package/build/components/block-navigation/dropdown.cjs.map +1 -1
- package/build/components/block-parent-selector/index.cjs +1 -1
- package/build/components/block-parent-selector/index.cjs.map +1 -1
- package/build/components/block-pattern-setup/index.cjs +1 -1
- package/build/components/block-pattern-setup/index.cjs.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.cjs +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.cjs.map +1 -1
- package/build/components/block-patterns-list/index.cjs +1 -1
- package/build/components/block-patterns-list/index.cjs.map +1 -1
- package/build/components/block-patterns-paging/index.cjs +1 -1
- package/build/components/block-patterns-paging/index.cjs.map +1 -1
- package/build/components/block-popover/cover.cjs +1 -1
- package/build/components/block-popover/cover.cjs.map +1 -1
- package/build/components/block-popover/drop-zone.cjs +1 -1
- package/build/components/block-popover/drop-zone.cjs.map +1 -1
- package/build/components/block-popover/inbetween.cjs +1 -1
- package/build/components/block-popover/inbetween.cjs.map +1 -1
- package/build/components/block-popover/index.cjs +1 -1
- package/build/components/block-popover/index.cjs.map +1 -1
- package/build/components/block-preview/auto.cjs +1 -1
- package/build/components/block-preview/auto.cjs.map +1 -1
- package/build/components/block-preview/index.cjs +2 -3
- package/build/components/block-preview/index.cjs.map +3 -3
- package/build/components/block-quick-navigation/index.cjs +1 -1
- package/build/components/block-quick-navigation/index.cjs.map +1 -1
- package/build/components/block-removal-warning-modal/index.cjs +1 -1
- package/build/components/block-removal-warning-modal/index.cjs.map +1 -1
- package/build/components/block-rename/modal.cjs +1 -1
- package/build/components/block-rename/modal.cjs.map +1 -1
- package/build/components/block-rename/rename-control.cjs +1 -1
- package/build/components/block-rename/rename-control.cjs.map +1 -1
- package/build/components/block-selection-clearer/index.cjs +1 -1
- package/build/components/block-selection-clearer/index.cjs.map +1 -1
- package/build/components/block-settings-menu/block-html-convert-button.cjs +1 -1
- package/build/components/block-settings-menu/block-html-convert-button.cjs.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.cjs +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.cjs.map +1 -1
- package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs +1 -1
- package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +1 -1
- package/build/components/block-settings-menu/index.cjs +1 -1
- package/build/components/block-settings-menu/index.cjs.map +1 -1
- package/build/components/block-settings-menu-controls/index.cjs +1 -1
- package/build/components/block-settings-menu-controls/index.cjs.map +1 -1
- package/build/components/block-styles/index.cjs +1 -1
- package/build/components/block-styles/index.cjs.map +1 -1
- package/build/components/block-styles/menu-items.cjs +1 -1
- package/build/components/block-styles/menu-items.cjs.map +1 -1
- package/build/components/block-switcher/block-styles-menu.cjs +1 -1
- package/build/components/block-switcher/block-styles-menu.cjs.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.cjs +1 -1
- package/build/components/block-switcher/block-transformations-menu.cjs.map +1 -1
- package/build/components/block-switcher/block-variation-transformations.cjs +1 -1
- package/build/components/block-switcher/block-variation-transformations.cjs.map +1 -1
- package/build/components/block-switcher/index.cjs +3 -2
- package/build/components/block-switcher/index.cjs.map +4 -4
- package/build/components/block-switcher/pattern-transformations-menu.cjs +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.cjs.map +1 -1
- package/build/components/block-switcher/preview-block-popover.cjs +1 -1
- package/build/components/block-switcher/preview-block-popover.cjs.map +1 -1
- package/build/components/block-toolbar/block-styles-dropdown.cjs +1 -1
- package/build/components/block-toolbar/block-styles-dropdown.cjs.map +1 -1
- package/build/components/block-toolbar/block-toolbar-icon.cjs +1 -1
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +1 -1
- package/build/components/block-toolbar/change-design.cjs +1 -1
- package/build/components/block-toolbar/change-design.cjs.map +1 -1
- package/build/components/block-toolbar/edit-section-button.cjs +1 -1
- package/build/components/block-toolbar/edit-section-button.cjs.map +1 -1
- package/build/components/block-toolbar/index.cjs +1 -1
- package/build/components/block-toolbar/index.cjs.map +1 -1
- package/build/components/block-toolbar/pattern-overrides-dropdown.cjs +3 -2
- package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +4 -4
- package/build/components/block-toolbar/switch-section-style.cjs +1 -1
- package/build/components/block-toolbar/switch-section-style.cjs.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.cjs +1 -1
- package/build/components/block-tools/block-toolbar-popover.cjs.map +1 -1
- package/build/components/block-tools/empty-block-inserter.cjs +1 -1
- package/build/components/block-tools/empty-block-inserter.cjs.map +1 -1
- package/build/components/block-tools/index.cjs +1 -1
- package/build/components/block-tools/index.cjs.map +1 -1
- package/build/components/block-tools/insertion-point.cjs +1 -1
- package/build/components/block-tools/insertion-point.cjs.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserter-button.cjs +1 -1
- package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.cjs +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +1 -1
- package/build/components/block-types-list/index.cjs +1 -1
- package/build/components/block-types-list/index.cjs.map +1 -1
- package/build/components/block-variation-picker/index.cjs +1 -1
- package/build/components/block-variation-picker/index.cjs.map +1 -1
- package/build/components/block-variation-transforms/index.cjs +1 -1
- package/build/components/block-variation-transforms/index.cjs.map +1 -1
- package/build/components/block-vertical-alignment-control/index.cjs +1 -1
- package/build/components/block-vertical-alignment-control/index.cjs.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.cjs +1 -1
- package/build/components/block-vertical-alignment-control/ui.cjs.map +1 -1
- package/build/components/block-visibility/constants.cjs.map +1 -1
- package/build/components/block-visibility/modal.cjs +1 -1
- package/build/components/block-visibility/modal.cjs.map +1 -1
- package/build/components/block-visibility/viewport-menu-item.cjs +1 -1
- package/build/components/block-visibility/viewport-menu-item.cjs.map +1 -1
- package/build/components/block-visibility/viewport-toolbar.cjs +1 -1
- package/build/components/block-visibility/viewport-toolbar.cjs.map +1 -1
- package/build/components/block-visibility/viewport-visibility-info.cjs +1 -1
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +1 -1
- package/build/components/border-radius-control/index.cjs +1 -1
- package/build/components/border-radius-control/index.cjs.map +1 -1
- package/build/components/border-radius-control/linked-button.cjs +1 -1
- package/build/components/border-radius-control/linked-button.cjs.map +1 -1
- package/build/components/button-block-appender/index.cjs +1 -1
- package/build/components/button-block-appender/index.cjs.map +1 -1
- package/build/components/child-layout-control/index.cjs +1 -1
- package/build/components/child-layout-control/index.cjs.map +1 -1
- package/build/components/color-palette/control.cjs +1 -1
- package/build/components/color-palette/control.cjs.map +1 -1
- package/build/components/color-palette/with-color-context.cjs +1 -1
- package/build/components/color-palette/with-color-context.cjs.map +1 -1
- package/build/components/color-style-selector/index.cjs +1 -1
- package/build/components/color-style-selector/index.cjs.map +1 -1
- package/build/components/colors/with-colors.cjs +1 -1
- package/build/components/colors/with-colors.cjs.map +1 -1
- package/build/components/colors-gradients/control.cjs +1 -1
- package/build/components/colors-gradients/control.cjs.map +1 -1
- package/build/components/colors-gradients/dropdown.cjs +1 -1
- package/build/components/colors-gradients/dropdown.cjs.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.cjs +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +1 -1
- package/build/components/contrast-checker/index.cjs +1 -1
- package/build/components/contrast-checker/index.cjs.map +1 -1
- package/build/components/convert-to-group-buttons/index.cjs +1 -1
- package/build/components/convert-to-group-buttons/index.cjs.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.cjs +1 -1
- package/build/components/convert-to-group-buttons/toolbar.cjs.map +1 -1
- package/build/components/copy-handler/index.cjs +1 -1
- package/build/components/copy-handler/index.cjs.map +1 -1
- package/build/components/date-format-picker/index.cjs +1 -1
- package/build/components/date-format-picker/index.cjs.map +1 -1
- package/build/components/default-block-appender/index.cjs +1 -1
- package/build/components/default-block-appender/index.cjs.map +1 -1
- package/build/components/dimension-control/index.cjs +1 -1
- package/build/components/dimension-control/index.cjs.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +1 -1
- package/build/components/dimensions-tool/index.cjs +1 -1
- package/build/components/dimensions-tool/index.cjs.map +1 -1
- package/build/components/dimensions-tool/scale-tool.cjs +1 -1
- package/build/components/dimensions-tool/scale-tool.cjs.map +1 -1
- package/build/components/dimensions-tool/width-height-tool.cjs +1 -1
- package/build/components/dimensions-tool/width-height-tool.cjs.map +1 -1
- package/build/components/duotone-control/index.cjs +1 -1
- package/build/components/duotone-control/index.cjs.map +1 -1
- package/build/components/editable-text/index.cjs +1 -1
- package/build/components/editable-text/index.cjs.map +1 -1
- package/build/components/editor-styles/index.cjs +1 -1
- package/build/components/editor-styles/index.cjs.map +1 -1
- package/build/components/fit-text-size-warning/index.cjs +1 -1
- package/build/components/fit-text-size-warning/index.cjs.map +1 -1
- package/build/components/font-appearance-control/index.cjs +1 -1
- package/build/components/font-appearance-control/index.cjs.map +1 -1
- package/build/components/font-family/index.cjs +1 -1
- package/build/components/font-family/index.cjs.map +1 -1
- package/build/components/font-sizes/font-size-picker.cjs +1 -1
- package/build/components/font-sizes/font-size-picker.cjs.map +1 -1
- package/build/components/font-sizes/with-font-sizes.cjs +1 -1
- package/build/components/font-sizes/with-font-sizes.cjs.map +1 -1
- package/build/components/global-styles/advanced-panel.cjs +1 -1
- package/build/components/global-styles/advanced-panel.cjs.map +1 -1
- package/build/components/global-styles/background-panel.cjs +1 -1
- package/build/components/global-styles/background-panel.cjs.map +2 -2
- package/build/components/global-styles/border-panel.cjs +20 -43
- package/build/components/global-styles/border-panel.cjs.map +3 -3
- package/build/components/global-styles/color-gradient-dropdown-item.cjs +1 -1
- package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +1 -1
- package/build/components/global-styles/color-panel.cjs +1 -1
- package/build/components/global-styles/color-panel.cjs.map +1 -1
- package/build/components/global-styles/dimensions-panel.cjs +1 -1
- package/build/components/global-styles/dimensions-panel.cjs.map +1 -1
- package/build/components/global-styles/filters-panel.cjs +1 -1
- package/build/components/global-styles/filters-panel.cjs.map +1 -1
- package/build/components/global-styles/image-settings-panel.cjs +1 -1
- package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
- package/build/components/global-styles/inheritance/index.cjs +1 -1
- package/build/components/global-styles/inheritance/index.cjs.map +1 -1
- package/build/components/global-styles/shadow-panel-components.cjs +1 -1
- package/build/components/global-styles/shadow-panel-components.cjs.map +1 -1
- package/build/components/global-styles/state-control-badges.cjs +1 -1
- package/build/components/global-styles/state-control-badges.cjs.map +1 -1
- package/build/components/global-styles/state-control.cjs +1 -1
- package/build/components/global-styles/state-control.cjs.map +1 -1
- package/build/components/global-styles/typography-panel.cjs +1 -1
- package/build/components/global-styles/typography-panel.cjs.map +1 -1
- package/build/components/grid/grid-item-movers.cjs +1 -1
- package/build/components/grid/grid-item-movers.cjs.map +1 -1
- package/build/components/grid/grid-item-resizer.cjs +1 -1
- package/build/components/grid/grid-item-resizer.cjs.map +1 -1
- package/build/components/grid/grid-visualizer.cjs +1 -1
- package/build/components/grid/grid-visualizer.cjs.map +1 -1
- package/build/components/height-control/index.cjs +1 -1
- package/build/components/height-control/index.cjs.map +1 -1
- package/build/components/html-element-control/index.cjs +1 -1
- package/build/components/html-element-control/index.cjs.map +1 -1
- package/build/components/iframe/index.cjs +1 -1
- package/build/components/iframe/index.cjs.map +2 -2
- package/build/components/image-editor/aspect-ratio-dropdown.cjs +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +1 -1
- package/build/components/image-editor/context.cjs +1 -1
- package/build/components/image-editor/context.cjs.map +1 -1
- package/build/components/image-editor/cropper.cjs +1 -1
- package/build/components/image-editor/cropper.cjs.map +1 -1
- package/build/components/image-editor/form-controls.cjs +1 -1
- package/build/components/image-editor/form-controls.cjs.map +1 -1
- package/build/components/image-editor/index.cjs +1 -1
- package/build/components/image-editor/index.cjs.map +1 -1
- package/build/components/image-editor/rotation-button.cjs +1 -1
- package/build/components/image-editor/rotation-button.cjs.map +1 -1
- package/build/components/image-editor/zoom-dropdown.cjs +1 -1
- package/build/components/image-editor/zoom-dropdown.cjs.map +1 -1
- package/build/components/image-size-control/index.cjs +1 -1
- package/build/components/image-size-control/index.cjs.map +1 -1
- package/build/components/inner-blocks/button-block-appender.cjs +1 -1
- package/build/components/inner-blocks/button-block-appender.cjs.map +1 -1
- package/build/components/inner-blocks/default-block-appender.cjs +1 -1
- package/build/components/inner-blocks/default-block-appender.cjs.map +1 -1
- package/build/components/inner-blocks/index.cjs +1 -1
- package/build/components/inner-blocks/index.cjs.map +1 -1
- package/build/components/inner-content/index.cjs +1 -1
- package/build/components/inner-content/index.cjs.map +1 -1
- package/build/components/inserter/block-patterns-explorer/index.cjs +1 -1
- package/build/components/inserter/block-patterns-explorer/index.cjs.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.cjs +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.cjs +1 -1
- package/build/components/inserter/block-patterns-tab/index.cjs.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.cjs +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +1 -1
- package/build/components/inserter/block-types-tab.cjs +1 -1
- package/build/components/inserter/block-types-tab.cjs.map +1 -1
- package/build/components/inserter/category-tabs/index.cjs +1 -1
- package/build/components/inserter/category-tabs/index.cjs.map +1 -1
- package/build/components/inserter/hooks/use-patterns-paging.cjs.map +1 -1
- package/build/components/inserter/index.cjs +1 -1
- package/build/components/inserter/index.cjs.map +1 -1
- package/build/components/inserter/library.cjs +1 -1
- package/build/components/inserter/library.cjs.map +1 -1
- package/build/components/inserter/media-tab/media-list.cjs +1 -1
- package/build/components/inserter/media-tab/media-list.cjs.map +1 -1
- package/build/components/inserter/media-tab/media-panel.cjs +1 -1
- package/build/components/inserter/media-tab/media-panel.cjs.map +1 -1
- package/build/components/inserter/media-tab/media-preview.cjs +1 -1
- package/build/components/inserter/media-tab/media-preview.cjs.map +1 -1
- package/build/components/inserter/media-tab/media-tab.cjs +1 -1
- package/build/components/inserter/media-tab/media-tab.cjs.map +1 -1
- package/build/components/inserter/media-tab/utils.cjs +1 -1
- package/build/components/inserter/media-tab/utils.cjs.map +1 -1
- package/build/components/inserter/menu.cjs +2 -2
- package/build/components/inserter/menu.cjs.map +3 -3
- package/build/components/inserter/mobile-tab-navigation.cjs +1 -1
- package/build/components/inserter/mobile-tab-navigation.cjs.map +1 -1
- package/build/components/inserter/no-results.cjs +1 -1
- package/build/components/inserter/no-results.cjs.map +1 -1
- package/build/components/inserter/panel.cjs +1 -1
- package/build/components/inserter/panel.cjs.map +1 -1
- package/build/components/inserter/preview-panel.cjs +1 -1
- package/build/components/inserter/preview-panel.cjs.map +1 -1
- package/build/components/inserter/quick-inserter.cjs +1 -1
- package/build/components/inserter/quick-inserter.cjs.map +1 -1
- package/build/components/inserter/search-results.cjs +1 -1
- package/build/components/inserter/search-results.cjs.map +1 -1
- package/build/components/inserter/tips.cjs +1 -1
- package/build/components/inserter/tips.cjs.map +1 -1
- package/build/components/inserter-draggable-blocks/index.cjs +1 -1
- package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
- package/build/components/inserter-list-item/index.cjs +1 -1
- package/build/components/inserter-list-item/index.cjs.map +1 -1
- package/build/components/inserter-listbox/group.cjs +1 -1
- package/build/components/inserter-listbox/group.cjs.map +1 -1
- package/build/components/inserter-listbox/index.cjs +1 -1
- package/build/components/inserter-listbox/index.cjs.map +1 -1
- package/build/components/inserter-listbox/item.cjs +1 -1
- package/build/components/inserter-listbox/item.cjs.map +1 -1
- package/build/components/inserter-listbox/row.cjs +1 -1
- package/build/components/inserter-listbox/row.cjs.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.cjs +1 -1
- package/build/components/inspector-controls/block-support-slot-container.cjs.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.cjs +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.cjs.map +1 -1
- package/build/components/inspector-controls/fill.cjs +1 -1
- package/build/components/inspector-controls/fill.cjs.map +1 -1
- package/build/components/inspector-controls/groups.cjs +3 -1
- package/build/components/inspector-controls/groups.cjs.map +2 -2
- package/build/components/inspector-controls/index.cjs +1 -1
- package/build/components/inspector-controls/index.cjs.map +1 -1
- package/build/components/inspector-controls/last-item.cjs +1 -1
- package/build/components/inspector-controls/last-item.cjs.map +1 -1
- package/build/components/inspector-controls/list-view-content-popover.cjs +1 -1
- package/build/components/inspector-controls/list-view-content-popover.cjs.map +1 -1
- package/build/components/inspector-controls/slot.cjs +1 -1
- package/build/components/inspector-controls/slot.cjs.map +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +1 -1
- package/build/components/inspector-controls-tabs/content-tab.cjs +3 -4
- package/build/components/inspector-controls-tabs/content-tab.cjs.map +3 -3
- package/build/components/inspector-controls-tabs/index.cjs +1 -1
- package/build/components/inspector-controls-tabs/index.cjs.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.cjs +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.cjs +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.cjs.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.cjs +2 -4
- package/build/components/inspector-controls-tabs/styles-tab.cjs.map +3 -3
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs +1 -2
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
- package/build/components/inspector-popover-header/index.cjs +6 -5
- package/build/components/inspector-popover-header/index.cjs.map +4 -4
- package/build/components/justify-content-control/index.cjs +1 -1
- package/build/components/justify-content-control/index.cjs.map +1 -1
- package/build/components/justify-content-control/ui.cjs +1 -1
- package/build/components/justify-content-control/ui.cjs.map +1 -1
- package/build/components/letter-spacing-control/index.cjs +1 -1
- package/build/components/letter-spacing-control/index.cjs.map +1 -1
- package/build/components/line-height-control/index.cjs +1 -1
- package/build/components/line-height-control/index.cjs.map +1 -1
- package/build/components/link-control/index.cjs +1 -1
- package/build/components/link-control/index.cjs.map +3 -3
- package/build/components/link-control/link-preview.cjs +1 -1
- package/build/components/link-control/link-preview.cjs.map +1 -1
- package/build/components/link-control/search-create-button.cjs +1 -1
- package/build/components/link-control/search-create-button.cjs.map +1 -1
- package/build/components/link-control/search-input.cjs +1 -1
- package/build/components/link-control/search-input.cjs.map +2 -2
- package/build/components/link-control/search-item.cjs +1 -1
- package/build/components/link-control/search-item.cjs.map +1 -1
- package/build/components/link-control/search-results.cjs +1 -1
- package/build/components/link-control/search-results.cjs.map +1 -1
- package/build/components/link-control/settings-drawer.cjs +1 -1
- package/build/components/link-control/settings-drawer.cjs.map +1 -1
- package/build/components/link-control/settings.cjs +1 -1
- package/build/components/link-control/settings.cjs.map +1 -1
- package/build/components/link-picker/link-picker.cjs +1 -1
- package/build/components/link-picker/link-picker.cjs.map +1 -1
- package/build/components/link-picker/link-preview.cjs +1 -1
- package/build/components/link-picker/link-preview.cjs.map +1 -1
- package/build/components/list-view/appender.cjs +1 -1
- package/build/components/list-view/appender.cjs.map +1 -1
- package/build/components/list-view/aria-referenced-text.cjs +1 -1
- package/build/components/list-view/aria-referenced-text.cjs.map +1 -1
- package/build/components/list-view/block-contents.cjs +1 -1
- package/build/components/list-view/block-contents.cjs.map +1 -1
- package/build/components/list-view/block-select-button.cjs +10 -2
- package/build/components/list-view/block-select-button.cjs.map +3 -3
- package/build/components/list-view/block.cjs +3 -2
- package/build/components/list-view/block.cjs.map +3 -3
- package/build/components/list-view/branch.cjs +1 -1
- package/build/components/list-view/branch.cjs.map +1 -1
- package/build/components/list-view/drop-indicator.cjs +1 -1
- package/build/components/list-view/drop-indicator.cjs.map +1 -1
- package/build/components/list-view/expander.cjs +1 -1
- package/build/components/list-view/expander.cjs.map +1 -1
- package/build/components/list-view/index.cjs +1 -1
- package/build/components/list-view/index.cjs.map +1 -1
- package/build/components/list-view/leaf.cjs +1 -1
- package/build/components/list-view/leaf.cjs.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.cjs.map +1 -1
- package/build/components/media-placeholder/index.cjs +1 -1
- package/build/components/media-placeholder/index.cjs.map +1 -1
- package/build/components/media-replace-flow/index.cjs +5 -2
- package/build/components/media-replace-flow/index.cjs.map +3 -3
- package/build/components/multi-selection-inspector/index.cjs +1 -1
- package/build/components/multi-selection-inspector/index.cjs.map +1 -1
- package/build/components/navigable-toolbar/index.cjs +4 -1
- package/build/components/navigable-toolbar/index.cjs.map +3 -3
- package/build/components/observe-typing/index.cjs +1 -1
- package/build/components/observe-typing/index.cjs.map +1 -1
- package/build/components/panel-color-settings/index.cjs +1 -1
- package/build/components/panel-color-settings/index.cjs.map +1 -1
- package/build/components/plain-text/index.cjs +1 -1
- package/build/components/plain-text/index.cjs.map +1 -1
- package/build/components/preset-input-control/custom-value-controls.cjs +1 -1
- package/build/components/preset-input-control/custom-value-controls.cjs.map +1 -1
- package/build/components/preset-input-control/index.cjs +1 -1
- package/build/components/preset-input-control/index.cjs.map +1 -1
- package/build/components/provider/block-refs-provider.cjs +1 -1
- package/build/components/provider/block-refs-provider.cjs.map +1 -1
- package/build/components/provider/index.cjs +21 -4
- package/build/components/provider/index.cjs.map +3 -3
- package/build/components/provider/with-registry-provider.cjs +1 -1
- package/build/components/provider/with-registry-provider.cjs.map +1 -1
- package/build/components/publish-date-time-picker/index.cjs +1 -1
- package/build/components/publish-date-time-picker/index.cjs.map +1 -1
- package/build/components/recursion-provider/index.cjs +1 -1
- package/build/components/recursion-provider/index.cjs.map +1 -1
- package/build/components/resizable-box-popover/index.cjs +1 -1
- package/build/components/resizable-box-popover/index.cjs.map +1 -1
- package/build/components/resolution-tool/index.cjs +1 -1
- package/build/components/resolution-tool/index.cjs.map +1 -1
- package/build/components/responsive-block-control/index.cjs +1 -1
- package/build/components/responsive-block-control/index.cjs.map +1 -1
- package/build/components/responsive-block-control/label.cjs +1 -1
- package/build/components/responsive-block-control/label.cjs.map +1 -1
- package/build/components/rich-text/content.cjs +1 -1
- package/build/components/rich-text/content.cjs.map +1 -1
- package/build/components/rich-text/event-listeners/enter.cjs +23 -11
- package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/index.cjs +0 -2
- package/build/components/rich-text/event-listeners/index.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-rules.cjs +4 -2
- package/build/components/rich-text/event-listeners/input-rules.cjs.map +2 -2
- package/build/components/rich-text/format-edit.cjs +1 -1
- package/build/components/rich-text/format-edit.cjs.map +1 -1
- package/build/components/rich-text/format-toolbar/index.cjs +1 -1
- package/build/components/rich-text/format-toolbar/index.cjs.map +1 -1
- package/build/components/rich-text/format-toolbar-container.cjs +1 -1
- package/build/components/rich-text/format-toolbar-container.cjs.map +1 -1
- package/build/components/rich-text/get-rich-text-values.cjs +1 -1
- package/build/components/rich-text/get-rich-text-values.cjs.map +1 -1
- package/build/components/rich-text/index.cjs +1 -1
- package/build/components/rich-text/index.cjs.map +1 -1
- package/build/components/rich-text/multiline.cjs +1 -1
- package/build/components/rich-text/multiline.cjs.map +1 -1
- package/build/components/rich-text/toolbar-button.cjs +1 -1
- package/build/components/rich-text/toolbar-button.cjs.map +1 -1
- package/build/components/rich-text/utils.cjs +1 -1
- package/build/components/rich-text/utils.cjs.map +1 -1
- package/build/components/rich-text/with-deprecations.cjs +1 -1
- package/build/components/rich-text/with-deprecations.cjs.map +1 -1
- package/build/components/skip-to-selected-block/index.cjs +1 -1
- package/build/components/skip-to-selected-block/index.cjs.map +1 -1
- package/build/components/spacing-sizes-control/index.cjs +1 -1
- package/build/components/spacing-sizes-control/index.cjs.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.cjs +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.cjs +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/single.cjs +1 -1
- package/build/components/spacing-sizes-control/input-controls/single.cjs.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +1 -1
- package/build/components/spacing-sizes-control/linked-button.cjs +1 -1
- package/build/components/spacing-sizes-control/linked-button.cjs.map +1 -1
- package/build/components/tabbed-sidebar/index.cjs +1 -1
- package/build/components/tabbed-sidebar/index.cjs.map +1 -1
- package/build/components/text-alignment-control/index.cjs +1 -1
- package/build/components/text-alignment-control/index.cjs.map +1 -1
- package/build/components/text-decoration-control/index.cjs +1 -1
- package/build/components/text-decoration-control/index.cjs.map +1 -1
- package/build/components/text-indent-control/index.cjs +1 -1
- package/build/components/text-indent-control/index.cjs.map +1 -1
- package/build/components/text-transform-control/index.cjs +1 -1
- package/build/components/text-transform-control/index.cjs.map +1 -1
- package/build/components/typewriter/index.cjs +1 -1
- package/build/components/typewriter/index.cjs.map +1 -1
- package/build/components/unit-control/index.cjs +1 -1
- package/build/components/unit-control/index.cjs.map +1 -1
- package/build/components/url-input/button.cjs +1 -1
- package/build/components/url-input/button.cjs.map +1 -1
- package/build/components/url-input/index.cjs +1 -1
- package/build/components/url-input/index.cjs.map +1 -1
- package/build/components/url-popover/image-url-input-ui.cjs +1 -1
- package/build/components/url-popover/image-url-input-ui.cjs.map +1 -1
- package/build/components/url-popover/index.cjs +1 -1
- package/build/components/url-popover/index.cjs.map +1 -1
- package/build/components/url-popover/link-editor.cjs +1 -1
- package/build/components/url-popover/link-editor.cjs.map +1 -1
- package/build/components/url-popover/link-viewer-url.cjs +1 -1
- package/build/components/url-popover/link-viewer-url.cjs.map +1 -1
- package/build/components/url-popover/link-viewer.cjs +1 -1
- package/build/components/url-popover/link-viewer.cjs.map +1 -1
- package/build/components/use-block-drop-zone/index.cjs.map +1 -1
- package/build/components/warning/index.cjs +1 -1
- package/build/components/warning/index.cjs.map +1 -1
- package/build/components/writing-flow/index.cjs +6 -1
- package/build/components/writing-flow/index.cjs.map +4 -4
- package/build/components/writing-flow/use-arrow-nav.cjs.map +1 -1
- package/build/components/writing-flow/use-input.cjs +12 -2
- package/build/components/writing-flow/use-input.cjs.map +2 -2
- package/build/components/writing-flow/use-tab-nav.cjs +85 -42
- package/build/components/writing-flow/use-tab-nav.cjs.map +4 -4
- package/build/components/{rich-text/event-listeners/undo-automatic-change.cjs → writing-flow/use-undo-automatic-change.cjs} +18 -15
- package/build/components/writing-flow/use-undo-automatic-change.cjs.map +7 -0
- package/build/components/writing-mode-control/index.cjs +1 -1
- package/build/components/writing-mode-control/index.cjs.map +1 -1
- package/build/hooks/align.cjs +1 -1
- package/build/hooks/align.cjs.map +1 -1
- package/build/hooks/allowed-blocks.cjs +1 -1
- package/build/hooks/allowed-blocks.cjs.map +1 -1
- package/build/hooks/anchor.cjs +1 -1
- package/build/hooks/anchor.cjs.map +1 -1
- package/build/hooks/auto-inspector-controls.cjs +1 -1
- package/build/hooks/auto-inspector-controls.cjs.map +1 -1
- package/build/hooks/background.cjs +1 -1
- package/build/hooks/background.cjs.map +1 -1
- package/build/hooks/block-bindings.cjs +1 -1
- package/build/hooks/block-bindings.cjs.map +1 -1
- package/build/hooks/block-hooks.cjs +1 -1
- package/build/hooks/block-hooks.cjs.map +1 -1
- package/build/hooks/block-style-variation.cjs +1 -1
- package/build/hooks/block-style-variation.cjs.map +1 -1
- package/build/hooks/border.cjs +3 -47
- package/build/hooks/border.cjs.map +3 -3
- package/build/hooks/custom-class-name.cjs +1 -1
- package/build/hooks/custom-class-name.cjs.map +1 -1
- package/build/hooks/custom-css.cjs +1 -1
- package/build/hooks/custom-css.cjs.map +1 -1
- package/build/hooks/dimensions.cjs +1 -1
- package/build/hooks/dimensions.cjs.map +1 -1
- package/build/hooks/duotone.cjs +1 -1
- package/build/hooks/duotone.cjs.map +1 -1
- package/build/hooks/elements.cjs +1 -1
- package/build/hooks/elements.cjs.map +1 -1
- package/build/hooks/fit-text.cjs +1 -1
- package/build/hooks/fit-text.cjs.map +1 -1
- package/build/hooks/font-size.cjs +1 -1
- package/build/hooks/font-size.cjs.map +1 -1
- package/build/hooks/generate-fields-from-attributes.cjs.map +1 -1
- package/build/hooks/grid-visualizer.cjs +1 -1
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/index.cjs +0 -2
- package/build/hooks/index.cjs.map +3 -3
- package/build/hooks/layout-child.cjs +1 -1
- package/build/hooks/layout-child.cjs.map +1 -1
- package/build/hooks/layout.cjs +1 -1
- package/build/hooks/layout.cjs.map +1 -1
- package/build/hooks/line-height.cjs +1 -1
- package/build/hooks/line-height.cjs.map +1 -1
- package/build/hooks/list-view.cjs +1 -1
- package/build/hooks/list-view.cjs.map +1 -1
- package/build/hooks/position.cjs +2 -2
- package/build/hooks/position.cjs.map +3 -3
- package/build/hooks/spacing-visualizer.cjs +1 -1
- package/build/hooks/spacing-visualizer.cjs.map +1 -1
- package/build/hooks/states.cjs +1 -1
- package/build/hooks/states.cjs.map +1 -1
- package/build/hooks/style.cjs +3 -3
- package/build/hooks/style.cjs.map +3 -3
- package/build/hooks/text-align.cjs +1 -1
- package/build/hooks/text-align.cjs.map +1 -1
- package/build/hooks/typography.cjs +1 -1
- package/build/hooks/typography.cjs.map +1 -1
- package/build/hooks/utils.cjs +1 -1
- package/build/hooks/utils.cjs.map +1 -1
- package/build/layouts/constrained.cjs +1 -1
- package/build/layouts/constrained.cjs.map +1 -1
- package/build/layouts/flex.cjs +4 -1
- package/build/layouts/flex.cjs.map +3 -3
- package/build/layouts/grid.cjs +1 -1
- package/build/layouts/grid.cjs.map +1 -1
- package/build/store/actions.cjs +12 -9
- package/build/store/actions.cjs.map +3 -3
- package/build-module/autocompleters/block.mjs +1 -1
- package/build-module/autocompleters/block.mjs.map +1 -1
- package/build-module/components/alignment-control/index.mjs +1 -1
- package/build-module/components/alignment-control/index.mjs.map +1 -1
- package/build-module/components/alignment-control/ui.mjs +1 -1
- package/build-module/components/alignment-control/ui.mjs.map +1 -1
- package/build-module/components/autocomplete/index.mjs +1 -1
- package/build-module/components/autocomplete/index.mjs.map +1 -1
- package/build-module/components/background-image-control/index.mjs +19 -2
- package/build-module/components/background-image-control/index.mjs.map +3 -3
- package/build-module/components/block-alignment-control/index.mjs +1 -1
- package/build-module/components/block-alignment-control/index.mjs.map +1 -1
- package/build-module/components/block-alignment-control/ui.mjs +1 -1
- package/build-module/components/block-alignment-control/ui.mjs.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.mjs +1 -1
- package/build-module/components/block-alignment-matrix-control/index.mjs.map +1 -1
- package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs +1 -1
- package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +1 -1
- package/build-module/components/block-allowed-blocks/modal.mjs +3 -3
- package/build-module/components/block-allowed-blocks/modal.mjs.map +3 -3
- package/build-module/components/block-bindings/attribute-control.mjs +1 -1
- package/build-module/components/block-bindings/attribute-control.mjs.map +1 -1
- package/build-module/components/block-bindings/source-fields-list.mjs +1 -1
- package/build-module/components/block-bindings/source-fields-list.mjs.map +1 -1
- package/build-module/components/block-breadcrumb/index.mjs +1 -1
- package/build-module/components/block-breadcrumb/index.mjs.map +1 -1
- package/build-module/components/block-canvas/index.mjs +1 -1
- package/build-module/components/block-canvas/index.mjs.map +1 -1
- package/build-module/components/block-card/index.mjs +1 -1
- package/build-module/components/block-card/index.mjs.map +1 -1
- package/build-module/components/block-compare/block-view.mjs +1 -1
- package/build-module/components/block-compare/block-view.mjs.map +1 -1
- package/build-module/components/block-compare/index.mjs +1 -1
- package/build-module/components/block-compare/index.mjs.map +1 -1
- package/build-module/components/block-context/index.mjs +1 -1
- package/build-module/components/block-context/index.mjs.map +1 -1
- package/build-module/components/block-controls/fill.mjs +1 -1
- package/build-module/components/block-controls/fill.mjs.map +1 -1
- package/build-module/components/block-controls/index.mjs +1 -1
- package/build-module/components/block-controls/index.mjs.map +1 -1
- package/build-module/components/block-controls/slot.mjs +1 -1
- package/build-module/components/block-controls/slot.mjs.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.mjs +1 -1
- package/build-module/components/block-draggable/draggable-chip.mjs.map +1 -1
- package/build-module/components/block-draggable/index.mjs +1 -1
- package/build-module/components/block-draggable/index.mjs.map +1 -1
- package/build-module/components/block-edit/edit.mjs +1 -1
- package/build-module/components/block-edit/edit.mjs.map +2 -2
- package/build-module/components/block-edit/index.mjs +1 -1
- package/build-module/components/block-edit/index.mjs.map +1 -1
- package/build-module/components/block-edit/multiple-usage-warning.mjs +1 -1
- package/build-module/components/block-edit/multiple-usage-warning.mjs.map +1 -1
- package/build-module/components/block-edit-visually-button/index.mjs +1 -1
- package/build-module/components/block-edit-visually-button/index.mjs.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.mjs +1 -1
- package/build-module/components/block-full-height-alignment-control/index.mjs.map +1 -1
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs +1 -1
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.mjs +1 -1
- package/build-module/components/block-heading-level-dropdown/index.mjs.map +1 -1
- package/build-module/components/block-icon/index.mjs +1 -1
- package/build-module/components/block-icon/index.mjs.map +1 -1
- package/build-module/components/block-inspector/edit-contents.mjs +1 -1
- package/build-module/components/block-inspector/edit-contents.mjs.map +1 -1
- package/build-module/components/block-inspector/index.mjs +8 -16
- package/build-module/components/block-inspector/index.mjs.map +3 -3
- package/build-module/components/block-keyboard-shortcuts/index.mjs +1 -1
- package/build-module/components/block-keyboard-shortcuts/index.mjs.map +1 -1
- package/build-module/components/block-list/block-crash-warning.mjs +1 -1
- package/build-module/components/block-list/block-crash-warning.mjs.map +1 -1
- package/build-module/components/block-list/block-html.mjs +1 -1
- package/build-module/components/block-list/block-html.mjs.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.mjs +1 -1
- package/build-module/components/block-list/block-invalid-warning.mjs.map +1 -1
- package/build-module/components/block-list/block.mjs +1 -1
- package/build-module/components/block-list/block.mjs.map +1 -1
- package/build-module/components/block-list/index.mjs +1 -1
- package/build-module/components/block-list/index.mjs.map +1 -1
- package/build-module/components/block-list/layout.mjs +1 -1
- package/build-module/components/block-list/layout.mjs.map +1 -1
- package/build-module/components/block-list/subdirectory-icon.mjs +1 -1
- package/build-module/components/block-list/subdirectory-icon.mjs.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.mjs +17 -4
- package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
- package/build-module/components/block-list/zoom-out-separator.mjs +1 -1
- package/build-module/components/block-list/zoom-out-separator.mjs.map +1 -1
- package/build-module/components/block-list-appender/index.mjs +1 -1
- package/build-module/components/block-list-appender/index.mjs.map +1 -1
- package/build-module/components/block-lock/menu-item.mjs +1 -1
- package/build-module/components/block-lock/menu-item.mjs.map +1 -1
- package/build-module/components/block-lock/modal.mjs +1 -1
- package/build-module/components/block-lock/modal.mjs.map +1 -1
- package/build-module/components/block-lock/toolbar.mjs +1 -1
- package/build-module/components/block-lock/toolbar.mjs.map +1 -1
- package/build-module/components/block-manager/category.mjs +1 -1
- package/build-module/components/block-manager/category.mjs.map +1 -1
- package/build-module/components/block-manager/checklist.mjs +1 -1
- package/build-module/components/block-manager/checklist.mjs.map +1 -1
- package/build-module/components/block-manager/index.mjs +1 -1
- package/build-module/components/block-manager/index.mjs.map +1 -1
- package/build-module/components/block-mover/button.mjs +1 -1
- package/build-module/components/block-mover/button.mjs.map +1 -1
- package/build-module/components/block-mover/index.mjs +1 -1
- package/build-module/components/block-mover/index.mjs.map +1 -1
- package/build-module/components/block-navigation/dropdown.mjs +1 -1
- package/build-module/components/block-navigation/dropdown.mjs.map +1 -1
- package/build-module/components/block-parent-selector/index.mjs +1 -1
- package/build-module/components/block-parent-selector/index.mjs.map +1 -1
- package/build-module/components/block-pattern-setup/index.mjs +1 -1
- package/build-module/components/block-pattern-setup/index.mjs.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.mjs +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +1 -1
- package/build-module/components/block-patterns-list/index.mjs +1 -1
- package/build-module/components/block-patterns-list/index.mjs.map +1 -1
- package/build-module/components/block-patterns-paging/index.mjs +1 -1
- package/build-module/components/block-patterns-paging/index.mjs.map +1 -1
- package/build-module/components/block-popover/cover.mjs +1 -1
- package/build-module/components/block-popover/cover.mjs.map +1 -1
- package/build-module/components/block-popover/drop-zone.mjs +1 -1
- package/build-module/components/block-popover/drop-zone.mjs.map +1 -1
- package/build-module/components/block-popover/inbetween.mjs +1 -1
- package/build-module/components/block-popover/inbetween.mjs.map +1 -1
- package/build-module/components/block-popover/index.mjs +1 -1
- package/build-module/components/block-popover/index.mjs.map +1 -1
- package/build-module/components/block-preview/auto.mjs +1 -1
- package/build-module/components/block-preview/auto.mjs.map +1 -1
- package/build-module/components/block-preview/index.mjs +2 -3
- package/build-module/components/block-preview/index.mjs.map +3 -3
- package/build-module/components/block-quick-navigation/index.mjs +1 -1
- package/build-module/components/block-quick-navigation/index.mjs.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.mjs +1 -1
- package/build-module/components/block-removal-warning-modal/index.mjs.map +1 -1
- package/build-module/components/block-rename/modal.mjs +1 -1
- package/build-module/components/block-rename/modal.mjs.map +1 -1
- package/build-module/components/block-rename/rename-control.mjs +1 -1
- package/build-module/components/block-rename/rename-control.mjs.map +1 -1
- package/build-module/components/block-selection-clearer/index.mjs +1 -1
- package/build-module/components/block-selection-clearer/index.mjs.map +1 -1
- package/build-module/components/block-settings-menu/block-html-convert-button.mjs +1 -1
- package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.mjs +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +1 -1
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs +1 -1
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +1 -1
- 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 +1 -1
- package/build-module/components/block-settings-menu/index.mjs +1 -1
- package/build-module/components/block-settings-menu/index.mjs.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.mjs +1 -1
- package/build-module/components/block-settings-menu-controls/index.mjs.map +1 -1
- package/build-module/components/block-styles/index.mjs +1 -1
- package/build-module/components/block-styles/index.mjs.map +1 -1
- package/build-module/components/block-styles/menu-items.mjs +1 -1
- package/build-module/components/block-styles/menu-items.mjs.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.mjs +1 -1
- package/build-module/components/block-switcher/block-styles-menu.mjs.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.mjs +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.mjs.map +1 -1
- package/build-module/components/block-switcher/block-variation-transformations.mjs +1 -1
- package/build-module/components/block-switcher/block-variation-transformations.mjs.map +1 -1
- package/build-module/components/block-switcher/index.mjs +3 -3
- package/build-module/components/block-switcher/index.mjs.map +3 -3
- package/build-module/components/block-switcher/pattern-transformations-menu.mjs +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.mjs +1 -1
- package/build-module/components/block-switcher/preview-block-popover.mjs.map +1 -1
- package/build-module/components/block-toolbar/block-styles-dropdown.mjs +1 -1
- package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs +1 -1
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +1 -1
- package/build-module/components/block-toolbar/change-design.mjs +1 -1
- package/build-module/components/block-toolbar/change-design.mjs.map +1 -1
- package/build-module/components/block-toolbar/edit-section-button.mjs +1 -1
- package/build-module/components/block-toolbar/edit-section-button.mjs.map +1 -1
- package/build-module/components/block-toolbar/index.mjs +1 -1
- package/build-module/components/block-toolbar/index.mjs.map +1 -1
- package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs +4 -7
- package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +3 -3
- package/build-module/components/block-toolbar/switch-section-style.mjs +1 -1
- package/build-module/components/block-toolbar/switch-section-style.mjs.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.mjs +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.mjs.map +1 -1
- package/build-module/components/block-tools/empty-block-inserter.mjs +1 -1
- package/build-module/components/block-tools/empty-block-inserter.mjs.map +1 -1
- package/build-module/components/block-tools/index.mjs +1 -1
- package/build-module/components/block-tools/index.mjs.map +1 -1
- package/build-module/components/block-tools/insertion-point.mjs +1 -1
- package/build-module/components/block-tools/insertion-point.mjs.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.mjs +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +1 -1
- package/build-module/components/block-types-list/index.mjs +1 -1
- package/build-module/components/block-types-list/index.mjs.map +1 -1
- package/build-module/components/block-variation-picker/index.mjs +1 -1
- package/build-module/components/block-variation-picker/index.mjs.map +1 -1
- package/build-module/components/block-variation-transforms/index.mjs +1 -1
- package/build-module/components/block-variation-transforms/index.mjs.map +1 -1
- package/build-module/components/block-vertical-alignment-control/index.mjs +1 -1
- package/build-module/components/block-vertical-alignment-control/index.mjs.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.mjs +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.mjs.map +1 -1
- package/build-module/components/block-visibility/constants.mjs.map +1 -1
- package/build-module/components/block-visibility/modal.mjs +1 -1
- package/build-module/components/block-visibility/modal.mjs.map +1 -1
- package/build-module/components/block-visibility/viewport-menu-item.mjs +1 -1
- package/build-module/components/block-visibility/viewport-menu-item.mjs.map +1 -1
- package/build-module/components/block-visibility/viewport-toolbar.mjs +1 -1
- package/build-module/components/block-visibility/viewport-toolbar.mjs.map +1 -1
- package/build-module/components/block-visibility/viewport-visibility-info.mjs +1 -1
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +1 -1
- package/build-module/components/border-radius-control/index.mjs +1 -1
- package/build-module/components/border-radius-control/index.mjs.map +1 -1
- package/build-module/components/border-radius-control/linked-button.mjs +1 -1
- package/build-module/components/border-radius-control/linked-button.mjs.map +1 -1
- package/build-module/components/button-block-appender/index.mjs +1 -1
- package/build-module/components/button-block-appender/index.mjs.map +1 -1
- package/build-module/components/child-layout-control/index.mjs +1 -1
- package/build-module/components/child-layout-control/index.mjs.map +1 -1
- package/build-module/components/color-palette/control.mjs +1 -1
- package/build-module/components/color-palette/control.mjs.map +1 -1
- package/build-module/components/color-palette/with-color-context.mjs +1 -1
- package/build-module/components/color-palette/with-color-context.mjs.map +1 -1
- package/build-module/components/color-style-selector/index.mjs +1 -1
- package/build-module/components/color-style-selector/index.mjs.map +1 -1
- package/build-module/components/colors/with-colors.mjs +1 -1
- package/build-module/components/colors/with-colors.mjs.map +1 -1
- package/build-module/components/colors-gradients/control.mjs +1 -1
- package/build-module/components/colors-gradients/control.mjs.map +1 -1
- package/build-module/components/colors-gradients/dropdown.mjs +1 -1
- package/build-module/components/colors-gradients/dropdown.mjs.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +1 -1
- package/build-module/components/contrast-checker/index.mjs +1 -1
- package/build-module/components/contrast-checker/index.mjs.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.mjs +1 -1
- package/build-module/components/convert-to-group-buttons/index.mjs.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.mjs +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +1 -1
- package/build-module/components/copy-handler/index.mjs +1 -1
- package/build-module/components/copy-handler/index.mjs.map +1 -1
- package/build-module/components/date-format-picker/index.mjs +1 -1
- package/build-module/components/date-format-picker/index.mjs.map +1 -1
- package/build-module/components/default-block-appender/index.mjs +1 -1
- package/build-module/components/default-block-appender/index.mjs.map +1 -1
- package/build-module/components/dimension-control/index.mjs +1 -1
- package/build-module/components/dimension-control/index.mjs.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +1 -1
- package/build-module/components/dimensions-tool/index.mjs +1 -1
- package/build-module/components/dimensions-tool/index.mjs.map +1 -1
- package/build-module/components/dimensions-tool/scale-tool.mjs +1 -1
- package/build-module/components/dimensions-tool/scale-tool.mjs.map +1 -1
- package/build-module/components/dimensions-tool/width-height-tool.mjs +1 -1
- package/build-module/components/dimensions-tool/width-height-tool.mjs.map +1 -1
- package/build-module/components/duotone-control/index.mjs +1 -1
- package/build-module/components/duotone-control/index.mjs.map +1 -1
- package/build-module/components/editable-text/index.mjs +1 -1
- package/build-module/components/editable-text/index.mjs.map +1 -1
- package/build-module/components/editor-styles/index.mjs +1 -1
- package/build-module/components/editor-styles/index.mjs.map +1 -1
- package/build-module/components/fit-text-size-warning/index.mjs +1 -1
- package/build-module/components/fit-text-size-warning/index.mjs.map +1 -1
- package/build-module/components/font-appearance-control/index.mjs +1 -1
- package/build-module/components/font-appearance-control/index.mjs.map +1 -1
- package/build-module/components/font-family/index.mjs +1 -1
- package/build-module/components/font-family/index.mjs.map +1 -1
- package/build-module/components/font-sizes/font-size-picker.mjs +1 -1
- package/build-module/components/font-sizes/font-size-picker.mjs.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.mjs +1 -1
- package/build-module/components/font-sizes/with-font-sizes.mjs.map +1 -1
- package/build-module/components/global-styles/advanced-panel.mjs +1 -1
- package/build-module/components/global-styles/advanced-panel.mjs.map +1 -1
- package/build-module/components/global-styles/background-panel.mjs +1 -1
- package/build-module/components/global-styles/background-panel.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +20 -43
- package/build-module/components/global-styles/border-panel.mjs.map +3 -3
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +1 -1
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +1 -1
- package/build-module/components/global-styles/color-panel.mjs +1 -1
- package/build-module/components/global-styles/color-panel.mjs.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.mjs +1 -1
- package/build-module/components/global-styles/dimensions-panel.mjs.map +1 -1
- package/build-module/components/global-styles/filters-panel.mjs +1 -1
- package/build-module/components/global-styles/filters-panel.mjs.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.mjs +1 -1
- package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
- package/build-module/components/global-styles/inheritance/index.mjs +1 -1
- package/build-module/components/global-styles/inheritance/index.mjs.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.mjs +1 -1
- package/build-module/components/global-styles/shadow-panel-components.mjs.map +1 -1
- package/build-module/components/global-styles/state-control-badges.mjs +1 -1
- package/build-module/components/global-styles/state-control-badges.mjs.map +1 -1
- package/build-module/components/global-styles/state-control.mjs +1 -1
- package/build-module/components/global-styles/state-control.mjs.map +1 -1
- package/build-module/components/global-styles/typography-panel.mjs +1 -1
- package/build-module/components/global-styles/typography-panel.mjs.map +1 -1
- package/build-module/components/grid/grid-item-movers.mjs +1 -1
- package/build-module/components/grid/grid-item-movers.mjs.map +1 -1
- package/build-module/components/grid/grid-item-resizer.mjs +1 -1
- package/build-module/components/grid/grid-item-resizer.mjs.map +1 -1
- package/build-module/components/grid/grid-visualizer.mjs +1 -1
- package/build-module/components/grid/grid-visualizer.mjs.map +1 -1
- package/build-module/components/height-control/index.mjs +1 -1
- package/build-module/components/height-control/index.mjs.map +1 -1
- package/build-module/components/html-element-control/index.mjs +1 -1
- package/build-module/components/html-element-control/index.mjs.map +1 -1
- package/build-module/components/iframe/index.mjs +1 -1
- package/build-module/components/iframe/index.mjs.map +2 -2
- package/build-module/components/image-editor/aspect-ratio-dropdown.mjs +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +1 -1
- package/build-module/components/image-editor/context.mjs +1 -1
- package/build-module/components/image-editor/context.mjs.map +1 -1
- package/build-module/components/image-editor/cropper.mjs +1 -1
- package/build-module/components/image-editor/cropper.mjs.map +1 -1
- package/build-module/components/image-editor/form-controls.mjs +1 -1
- package/build-module/components/image-editor/form-controls.mjs.map +1 -1
- package/build-module/components/image-editor/index.mjs +1 -1
- package/build-module/components/image-editor/index.mjs.map +1 -1
- package/build-module/components/image-editor/rotation-button.mjs +1 -1
- package/build-module/components/image-editor/rotation-button.mjs.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.mjs +1 -1
- package/build-module/components/image-editor/zoom-dropdown.mjs.map +1 -1
- package/build-module/components/image-size-control/index.mjs +1 -1
- package/build-module/components/image-size-control/index.mjs.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.mjs +1 -1
- package/build-module/components/inner-blocks/button-block-appender.mjs.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.mjs +1 -1
- package/build-module/components/inner-blocks/default-block-appender.mjs.map +1 -1
- package/build-module/components/inner-blocks/index.mjs +1 -1
- package/build-module/components/inner-blocks/index.mjs.map +1 -1
- package/build-module/components/inner-content/index.mjs +1 -1
- package/build-module/components/inner-content/index.mjs.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/index.mjs +1 -1
- package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.mjs +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.mjs.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +1 -1
- package/build-module/components/inserter/block-types-tab.mjs +1 -1
- package/build-module/components/inserter/block-types-tab.mjs.map +1 -1
- package/build-module/components/inserter/category-tabs/index.mjs +1 -1
- package/build-module/components/inserter/category-tabs/index.mjs.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +1 -1
- package/build-module/components/inserter/index.mjs +1 -1
- package/build-module/components/inserter/index.mjs.map +1 -1
- package/build-module/components/inserter/library.mjs +1 -1
- package/build-module/components/inserter/library.mjs.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.mjs +1 -1
- package/build-module/components/inserter/media-tab/media-list.mjs.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.mjs +1 -1
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.mjs +1 -1
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.mjs +1 -1
- package/build-module/components/inserter/media-tab/media-tab.mjs.map +1 -1
- package/build-module/components/inserter/media-tab/utils.mjs +1 -1
- package/build-module/components/inserter/media-tab/utils.mjs.map +1 -1
- package/build-module/components/inserter/menu.mjs +2 -2
- package/build-module/components/inserter/menu.mjs.map +3 -3
- package/build-module/components/inserter/mobile-tab-navigation.mjs +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.mjs.map +1 -1
- package/build-module/components/inserter/no-results.mjs +1 -1
- package/build-module/components/inserter/no-results.mjs.map +1 -1
- package/build-module/components/inserter/panel.mjs +1 -1
- package/build-module/components/inserter/panel.mjs.map +1 -1
- package/build-module/components/inserter/preview-panel.mjs +1 -1
- package/build-module/components/inserter/preview-panel.mjs.map +1 -1
- package/build-module/components/inserter/quick-inserter.mjs +1 -1
- package/build-module/components/inserter/quick-inserter.mjs.map +1 -1
- package/build-module/components/inserter/search-results.mjs +1 -1
- package/build-module/components/inserter/search-results.mjs.map +1 -1
- package/build-module/components/inserter/tips.mjs +1 -1
- package/build-module/components/inserter/tips.mjs.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.mjs +1 -1
- package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
- package/build-module/components/inserter-list-item/index.mjs +1 -1
- package/build-module/components/inserter-list-item/index.mjs.map +1 -1
- package/build-module/components/inserter-listbox/group.mjs +1 -1
- package/build-module/components/inserter-listbox/group.mjs.map +1 -1
- package/build-module/components/inserter-listbox/index.mjs +1 -1
- package/build-module/components/inserter-listbox/index.mjs.map +1 -1
- package/build-module/components/inserter-listbox/item.mjs +1 -1
- package/build-module/components/inserter-listbox/item.mjs.map +1 -1
- package/build-module/components/inserter-listbox/row.mjs +1 -1
- package/build-module/components/inserter-listbox/row.mjs.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.mjs +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.mjs +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +1 -1
- package/build-module/components/inspector-controls/fill.mjs +1 -1
- package/build-module/components/inspector-controls/fill.mjs.map +1 -1
- package/build-module/components/inspector-controls/groups.mjs +3 -1
- package/build-module/components/inspector-controls/groups.mjs.map +2 -2
- package/build-module/components/inspector-controls/index.mjs +1 -1
- package/build-module/components/inspector-controls/index.mjs.map +1 -1
- package/build-module/components/inspector-controls/last-item.mjs +1 -1
- package/build-module/components/inspector-controls/last-item.mjs.map +1 -1
- package/build-module/components/inspector-controls/list-view-content-popover.mjs +1 -1
- package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +1 -1
- package/build-module/components/inspector-controls/slot.mjs +1 -1
- package/build-module/components/inspector-controls/slot.mjs.map +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +1 -1
- package/build-module/components/inspector-controls-tabs/content-tab.mjs +4 -5
- package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +3 -3
- package/build-module/components/inspector-controls-tabs/index.mjs +1 -1
- package/build-module/components/inspector-controls-tabs/index.mjs.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.mjs +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs +2 -4
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +3 -3
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs +1 -2
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
- package/build-module/components/inspector-popover-header/index.mjs +7 -8
- package/build-module/components/inspector-popover-header/index.mjs.map +3 -3
- package/build-module/components/justify-content-control/index.mjs +1 -1
- package/build-module/components/justify-content-control/index.mjs.map +1 -1
- package/build-module/components/justify-content-control/ui.mjs +1 -1
- package/build-module/components/justify-content-control/ui.mjs.map +1 -1
- package/build-module/components/letter-spacing-control/index.mjs +1 -1
- package/build-module/components/letter-spacing-control/index.mjs.map +1 -1
- package/build-module/components/line-height-control/index.mjs +1 -1
- package/build-module/components/line-height-control/index.mjs.map +1 -1
- package/build-module/components/link-control/index.mjs +1 -1
- package/build-module/components/link-control/index.mjs.map +3 -3
- package/build-module/components/link-control/link-preview.mjs +1 -1
- package/build-module/components/link-control/link-preview.mjs.map +1 -1
- package/build-module/components/link-control/search-create-button.mjs +1 -1
- package/build-module/components/link-control/search-create-button.mjs.map +1 -1
- package/build-module/components/link-control/search-input.mjs +1 -1
- package/build-module/components/link-control/search-input.mjs.map +2 -2
- package/build-module/components/link-control/search-item.mjs +1 -1
- package/build-module/components/link-control/search-item.mjs.map +1 -1
- package/build-module/components/link-control/search-results.mjs +1 -1
- package/build-module/components/link-control/search-results.mjs.map +1 -1
- package/build-module/components/link-control/settings-drawer.mjs +1 -1
- package/build-module/components/link-control/settings-drawer.mjs.map +1 -1
- package/build-module/components/link-control/settings.mjs +1 -1
- package/build-module/components/link-control/settings.mjs.map +1 -1
- package/build-module/components/link-picker/link-picker.mjs +1 -1
- package/build-module/components/link-picker/link-picker.mjs.map +1 -1
- package/build-module/components/link-picker/link-preview.mjs +1 -1
- package/build-module/components/link-picker/link-preview.mjs.map +1 -1
- package/build-module/components/list-view/appender.mjs +1 -1
- package/build-module/components/list-view/appender.mjs.map +1 -1
- package/build-module/components/list-view/aria-referenced-text.mjs +1 -1
- package/build-module/components/list-view/aria-referenced-text.mjs.map +1 -1
- package/build-module/components/list-view/block-contents.mjs +1 -1
- package/build-module/components/list-view/block-contents.mjs.map +1 -1
- package/build-module/components/list-view/block-select-button.mjs +10 -2
- package/build-module/components/list-view/block-select-button.mjs.map +3 -3
- package/build-module/components/list-view/block.mjs +3 -2
- package/build-module/components/list-view/block.mjs.map +3 -3
- package/build-module/components/list-view/branch.mjs +1 -1
- package/build-module/components/list-view/branch.mjs.map +1 -1
- package/build-module/components/list-view/drop-indicator.mjs +1 -1
- package/build-module/components/list-view/drop-indicator.mjs.map +1 -1
- package/build-module/components/list-view/expander.mjs +1 -1
- package/build-module/components/list-view/expander.mjs.map +1 -1
- package/build-module/components/list-view/index.mjs +1 -1
- package/build-module/components/list-view/index.mjs.map +1 -1
- package/build-module/components/list-view/leaf.mjs +1 -1
- package/build-module/components/list-view/leaf.mjs.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +1 -1
- package/build-module/components/media-placeholder/index.mjs +1 -1
- package/build-module/components/media-placeholder/index.mjs.map +1 -1
- package/build-module/components/media-replace-flow/index.mjs +5 -2
- package/build-module/components/media-replace-flow/index.mjs.map +3 -3
- package/build-module/components/multi-selection-inspector/index.mjs +1 -1
- package/build-module/components/multi-selection-inspector/index.mjs.map +1 -1
- package/build-module/components/navigable-toolbar/index.mjs +4 -1
- package/build-module/components/navigable-toolbar/index.mjs.map +3 -3
- package/build-module/components/observe-typing/index.mjs +1 -1
- package/build-module/components/observe-typing/index.mjs.map +1 -1
- package/build-module/components/panel-color-settings/index.mjs +1 -1
- package/build-module/components/panel-color-settings/index.mjs.map +1 -1
- package/build-module/components/plain-text/index.mjs +1 -1
- package/build-module/components/plain-text/index.mjs.map +1 -1
- package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -1
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +1 -1
- package/build-module/components/preset-input-control/index.mjs +1 -1
- package/build-module/components/preset-input-control/index.mjs.map +1 -1
- package/build-module/components/provider/block-refs-provider.mjs +1 -1
- package/build-module/components/provider/block-refs-provider.mjs.map +1 -1
- package/build-module/components/provider/index.mjs +21 -4
- package/build-module/components/provider/index.mjs.map +3 -3
- package/build-module/components/provider/with-registry-provider.mjs +1 -1
- package/build-module/components/provider/with-registry-provider.mjs.map +1 -1
- package/build-module/components/publish-date-time-picker/index.mjs +1 -1
- package/build-module/components/publish-date-time-picker/index.mjs.map +1 -1
- package/build-module/components/recursion-provider/index.mjs +1 -1
- package/build-module/components/recursion-provider/index.mjs.map +1 -1
- package/build-module/components/resizable-box-popover/index.mjs +1 -1
- package/build-module/components/resizable-box-popover/index.mjs.map +1 -1
- package/build-module/components/resolution-tool/index.mjs +1 -1
- package/build-module/components/resolution-tool/index.mjs.map +1 -1
- package/build-module/components/responsive-block-control/index.mjs +1 -1
- package/build-module/components/responsive-block-control/index.mjs.map +1 -1
- package/build-module/components/responsive-block-control/label.mjs +1 -1
- package/build-module/components/responsive-block-control/label.mjs.map +1 -1
- package/build-module/components/rich-text/content.mjs +1 -1
- package/build-module/components/rich-text/content.mjs.map +1 -1
- package/build-module/components/rich-text/event-listeners/enter.mjs +23 -11
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/index.mjs +0 -2
- package/build-module/components/rich-text/event-listeners/index.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-rules.mjs +4 -2
- package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/format-edit.mjs +1 -1
- package/build-module/components/rich-text/format-edit.mjs.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.mjs +1 -1
- package/build-module/components/rich-text/format-toolbar/index.mjs.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.mjs +1 -1
- package/build-module/components/rich-text/format-toolbar-container.mjs.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.mjs +1 -1
- package/build-module/components/rich-text/get-rich-text-values.mjs.map +1 -1
- package/build-module/components/rich-text/index.mjs +1 -1
- package/build-module/components/rich-text/index.mjs.map +1 -1
- package/build-module/components/rich-text/multiline.mjs +1 -1
- package/build-module/components/rich-text/multiline.mjs.map +1 -1
- package/build-module/components/rich-text/toolbar-button.mjs +1 -1
- package/build-module/components/rich-text/toolbar-button.mjs.map +1 -1
- package/build-module/components/rich-text/utils.mjs +1 -1
- package/build-module/components/rich-text/utils.mjs.map +1 -1
- package/build-module/components/rich-text/with-deprecations.mjs +1 -1
- package/build-module/components/rich-text/with-deprecations.mjs.map +1 -1
- package/build-module/components/skip-to-selected-block/index.mjs +1 -1
- package/build-module/components/skip-to-selected-block/index.mjs.map +1 -1
- package/build-module/components/spacing-sizes-control/index.mjs +1 -1
- package/build-module/components/spacing-sizes-control/index.mjs.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/axial.mjs +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/separated.mjs +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/single.mjs +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.mjs +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.mjs.map +1 -1
- package/build-module/components/tabbed-sidebar/index.mjs +1 -1
- package/build-module/components/tabbed-sidebar/index.mjs.map +1 -1
- package/build-module/components/text-alignment-control/index.mjs +1 -1
- package/build-module/components/text-alignment-control/index.mjs.map +1 -1
- package/build-module/components/text-decoration-control/index.mjs +1 -1
- package/build-module/components/text-decoration-control/index.mjs.map +1 -1
- package/build-module/components/text-indent-control/index.mjs +1 -1
- package/build-module/components/text-indent-control/index.mjs.map +1 -1
- package/build-module/components/text-transform-control/index.mjs +1 -1
- package/build-module/components/text-transform-control/index.mjs.map +1 -1
- package/build-module/components/typewriter/index.mjs +1 -1
- package/build-module/components/typewriter/index.mjs.map +1 -1
- package/build-module/components/unit-control/index.mjs +1 -1
- package/build-module/components/unit-control/index.mjs.map +1 -1
- package/build-module/components/url-input/button.mjs +1 -1
- package/build-module/components/url-input/button.mjs.map +1 -1
- package/build-module/components/url-input/index.mjs +1 -1
- package/build-module/components/url-input/index.mjs.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.mjs +1 -1
- package/build-module/components/url-popover/image-url-input-ui.mjs.map +1 -1
- package/build-module/components/url-popover/index.mjs +1 -1
- package/build-module/components/url-popover/index.mjs.map +1 -1
- package/build-module/components/url-popover/link-editor.mjs +1 -1
- package/build-module/components/url-popover/link-editor.mjs.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.mjs +1 -1
- package/build-module/components/url-popover/link-viewer-url.mjs.map +1 -1
- package/build-module/components/url-popover/link-viewer.mjs +1 -1
- package/build-module/components/url-popover/link-viewer.mjs.map +1 -1
- package/build-module/components/use-block-drop-zone/index.mjs.map +1 -1
- package/build-module/components/warning/index.mjs +1 -1
- package/build-module/components/warning/index.mjs.map +1 -1
- package/build-module/components/writing-flow/index.mjs +6 -1
- package/build-module/components/writing-flow/index.mjs.map +3 -3
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +1 -1
- package/build-module/components/writing-flow/use-input.mjs +12 -2
- package/build-module/components/writing-flow/use-input.mjs.map +2 -2
- package/build-module/components/writing-flow/use-tab-nav.mjs +87 -44
- package/build-module/components/writing-flow/use-tab-nav.mjs.map +4 -4
- package/build-module/components/writing-flow/use-undo-automatic-change.mjs +36 -0
- package/build-module/components/writing-flow/use-undo-automatic-change.mjs.map +7 -0
- package/build-module/components/writing-mode-control/index.mjs +1 -1
- package/build-module/components/writing-mode-control/index.mjs.map +1 -1
- package/build-module/hooks/align.mjs +1 -1
- package/build-module/hooks/align.mjs.map +1 -1
- package/build-module/hooks/allowed-blocks.mjs +1 -1
- package/build-module/hooks/allowed-blocks.mjs.map +1 -1
- package/build-module/hooks/anchor.mjs +1 -1
- package/build-module/hooks/anchor.mjs.map +1 -1
- package/build-module/hooks/auto-inspector-controls.mjs +1 -1
- package/build-module/hooks/auto-inspector-controls.mjs.map +1 -1
- package/build-module/hooks/background.mjs +1 -1
- package/build-module/hooks/background.mjs.map +1 -1
- package/build-module/hooks/block-bindings.mjs +1 -1
- package/build-module/hooks/block-bindings.mjs.map +1 -1
- package/build-module/hooks/block-hooks.mjs +1 -1
- package/build-module/hooks/block-hooks.mjs.map +1 -1
- package/build-module/hooks/block-style-variation.mjs +1 -1
- package/build-module/hooks/block-style-variation.mjs.map +1 -1
- package/build-module/hooks/border.mjs +2 -46
- package/build-module/hooks/border.mjs.map +3 -3
- package/build-module/hooks/custom-class-name.mjs +1 -1
- package/build-module/hooks/custom-class-name.mjs.map +1 -1
- package/build-module/hooks/custom-css.mjs +1 -1
- package/build-module/hooks/custom-css.mjs.map +1 -1
- package/build-module/hooks/dimensions.mjs +1 -1
- package/build-module/hooks/dimensions.mjs.map +1 -1
- package/build-module/hooks/duotone.mjs +1 -1
- package/build-module/hooks/duotone.mjs.map +1 -1
- package/build-module/hooks/elements.mjs +1 -1
- package/build-module/hooks/elements.mjs.map +1 -1
- package/build-module/hooks/fit-text.mjs +1 -1
- package/build-module/hooks/fit-text.mjs.map +1 -1
- package/build-module/hooks/font-size.mjs +1 -1
- package/build-module/hooks/font-size.mjs.map +1 -1
- package/build-module/hooks/generate-fields-from-attributes.mjs.map +1 -1
- package/build-module/hooks/grid-visualizer.mjs +1 -1
- package/build-module/hooks/grid-visualizer.mjs.map +2 -2
- package/build-module/hooks/index.mjs +0 -2
- package/build-module/hooks/index.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +1 -1
- package/build-module/hooks/layout-child.mjs.map +1 -1
- package/build-module/hooks/layout.mjs +1 -1
- package/build-module/hooks/layout.mjs.map +1 -1
- package/build-module/hooks/line-height.mjs +1 -1
- package/build-module/hooks/line-height.mjs.map +1 -1
- package/build-module/hooks/list-view.mjs +1 -1
- package/build-module/hooks/list-view.mjs.map +1 -1
- package/build-module/hooks/position.mjs +2 -2
- package/build-module/hooks/position.mjs.map +3 -3
- package/build-module/hooks/spacing-visualizer.mjs +1 -1
- package/build-module/hooks/spacing-visualizer.mjs.map +1 -1
- package/build-module/hooks/states.mjs +1 -1
- package/build-module/hooks/states.mjs.map +1 -1
- package/build-module/hooks/style.mjs +4 -3
- package/build-module/hooks/style.mjs.map +3 -3
- package/build-module/hooks/text-align.mjs +1 -1
- package/build-module/hooks/text-align.mjs.map +1 -1
- package/build-module/hooks/typography.mjs +1 -1
- package/build-module/hooks/typography.mjs.map +1 -1
- package/build-module/hooks/utils.mjs +1 -1
- package/build-module/hooks/utils.mjs.map +1 -1
- package/build-module/layouts/constrained.mjs +1 -1
- package/build-module/layouts/constrained.mjs.map +1 -1
- package/build-module/layouts/flex.mjs +4 -1
- package/build-module/layouts/flex.mjs.map +3 -3
- package/build-module/layouts/grid.mjs +1 -1
- package/build-module/layouts/grid.mjs.map +1 -1
- package/build-module/store/actions.mjs +12 -9
- package/build-module/store/actions.mjs.map +2 -2
- package/build-style/content-rtl.css +14 -19
- package/build-style/content.css +14 -19
- package/build-style/style-rtl.css +100 -233
- package/build-style/style.css +100 -233
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/components/block-visibility/constants.d.ts +1 -1
- package/package.json +42 -44
- package/src/autocompleters/test/block.js +1 -0
- package/src/components/alignment-control/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +34 -16
- package/src/components/alignment-control/test/{index.js → index.jsdom.test.jsx} +2 -1
- package/src/components/background-image-control/README.md +1 -1
- package/src/components/background-image-control/{index.js → index.jsx} +32 -1
- package/src/components/background-image-control/style.scss +5 -3
- package/src/components/background-image-control/test/{index.js → index.jsdom.test.js} +1 -0
- package/src/components/block-alignment-control/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +68 -13
- package/src/components/block-alignment-control/test/{index.js → index.jsdom.test.jsx} +2 -1
- package/src/components/block-allowed-blocks/{modal.js → modal.jsx} +3 -3
- package/src/components/block-bindings/test/{use-block-bindings-utils.js → use-block-bindings-utils.jsdom.test.js} +2 -1
- package/src/components/block-breadcrumb/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +2 -2
- package/src/components/block-breadcrumb/test/{index.js → index.jsdom.test.jsx} +1 -0
- package/src/components/block-compare/test/__snapshots__/{block-view.js.snap → block-view.jsdom.test.jsx.snap} +2 -2
- package/src/components/block-compare/test/{block-view.js → block-view.jsdom.test.jsx} +1 -0
- package/src/components/block-controls/test/{index.js → index.jsdom.test.jsx} +1 -0
- package/src/components/block-edit/{edit.js → edit.jsx} +1 -1
- package/src/components/block-edit/test/{edit.js → edit.jsdom.test.jsx} +1 -0
- package/src/components/block-icon/content.scss +0 -6
- package/src/components/block-icon/style.scss +0 -6
- package/src/components/block-icon/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +6 -2
- package/src/components/block-inspector/{index.js → index.jsx} +8 -13
- package/src/components/block-list/content.scss +4 -1
- package/src/components/block-list/use-block-props/use-is-hovered.js +24 -5
- package/src/components/block-manager/style.scss +2 -0
- package/src/components/block-mover/test/mover-description.js +1 -0
- package/src/components/block-preview/{index.js → index.jsx} +1 -2
- package/src/components/block-preview/test/{index.js → index.jsdom.test.jsx} +10 -6
- package/src/components/block-selection-clearer/test/{index.js → index.jsdom.test.jsx} +24 -19
- package/src/components/block-settings-menu/test/{block-mode-toggle.js → block-mode-toggle.jsdom.test.jsx} +5 -1
- package/src/components/block-styles/test/utils.js +1 -0
- package/src/components/block-switcher/{index.js → index.jsx} +3 -3
- package/src/components/block-switcher/test/{index.js → index.jsdom.test.jsx} +8 -4
- package/src/components/block-switcher/test/use-transformed.patterns.js +1 -0
- package/src/components/block-switcher/test/utils.js +1 -0
- package/src/components/block-title/test/{index.js → index.jsdom.test.jsx} +7 -3
- package/src/components/block-toolbar/{pattern-overrides-dropdown.js → pattern-overrides-dropdown.jsx} +3 -6
- package/src/components/block-toolbar/style.scss +1 -1
- package/src/components/block-toolbar/test/{block-toolbar-icon.js → block-toolbar-icon.jsdom.test.jsx} +25 -21
- package/src/components/block-variation-picker/content.scss +5 -3
- package/src/components/block-vertical-alignment-control/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +55 -11
- package/src/components/block-vertical-alignment-control/test/{index.js → index.jsdom.test.jsx} +2 -1
- package/src/components/block-visibility/constants.ts +1 -1
- package/src/components/block-visibility/test/{use-block-visibility.js → use-block-visibility.jsdom.test.js} +6 -5
- package/src/components/block-visibility/test/utils.js +2 -1
- package/src/components/border-radius-control/test/{index.js → index.jsdom.test.jsx} +8 -1
- package/src/components/border-radius-control/test/utils.js +1 -0
- package/src/components/button-block-appender/content.scss +1 -1
- package/src/components/child-layout-control/test/{index.js → index.jsdom.test.jsx} +18 -15
- package/src/components/color-palette/test/{control.js → control.jsdom.test.jsx} +15 -4
- package/src/components/colors/test/utils.js +1 -0
- package/src/components/colors/test/{with-colors.js → with-colors.jsdom.test.jsx} +4 -3
- package/src/components/colors-gradients/test/{control.js → control.jsdom.test.jsx} +8 -3
- package/src/components/contrast-checker/test/{index.js → index.jsdom.test.jsx} +2 -1
- package/src/components/default-block-appender/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +4 -4
- package/src/components/default-block-appender/test/{index.js → index.jsdom.test.jsx} +8 -7
- package/src/components/dimensions-tool/test/{index.js → index.jsdom.test.jsx} +27 -22
- package/src/components/dimensions-tool/test/utils.js +1 -0
- package/src/components/duotone-control/test/{index.js → index.jsdom.test.jsx} +6 -3
- package/src/components/font-sizes/test/fluid-utils.js +1 -0
- package/src/components/font-sizes/test/utils.js +1 -0
- package/src/components/global-styles/{background-panel.js → background-panel.jsx} +2 -2
- package/src/components/global-styles/{border-panel.js → border-panel.jsx} +17 -40
- package/src/components/global-styles/{image-settings-panel.js → image-settings-panel.jsx} +1 -1
- package/src/components/global-styles/inheritance/test/{index.js → index.jsdom.test.jsx} +5 -2
- package/src/components/global-styles/test/{background-panel.js → background-panel.jsdom.test.jsx} +11 -6
- package/src/components/global-styles/test/{border-panel.js → border-panel.jsdom.test.jsx} +113 -13
- package/src/components/global-styles/test/{color-panel.js → color-panel.jsdom.test.jsx} +5 -0
- package/src/components/global-styles/test/{dimensions-panel.js → dimensions-panel.jsdom.test.jsx} +14 -14
- package/src/components/global-styles/test/{filters-panel.js → filters-panel.jsdom.test.jsx} +7 -4
- package/src/components/global-styles/test/{inherited-value-context-core.js → inherited-value-context-core.jsdom.test.js} +11 -10
- package/src/components/global-styles/test/{inherited-value-context.js → inherited-value-context.jsdom.test.jsx} +19 -18
- package/src/components/global-styles/test/{state-control-badges.js → state-control-badges.jsdom.test.jsx} +3 -2
- package/src/components/global-styles/test/{typography-panel-core.js → typography-panel-core.jsdom.test.jsx} +5 -2
- package/src/components/global-styles/test/{typography-panel.js → typography-panel.jsdom.test.jsx} +18 -13
- package/src/components/global-styles/test/typography-utils.js +1 -0
- package/src/components/global-styles/test/utils.js +1 -0
- package/src/components/grid/style.scss +0 -10
- package/src/components/iframe/{index.js → index.jsx} +3 -3
- package/src/components/image-editor/test/index.js +1 -0
- package/src/components/image-size-control/test/{index.js → index.jsdom.test.jsx} +8 -3
- package/src/components/inner-blocks/test/__snapshots__/index.jsdom.test.jsx.snap +15 -0
- package/src/components/inner-blocks/test/{index.js → index.jsdom.test.jsx} +2 -0
- package/src/components/inner-content/test/{index.js → index.jsdom.test.jsx} +1 -0
- package/src/components/inserter/hooks/use-patterns-paging.js +1 -1
- package/src/components/inserter/media-tab/test/{hooks.js → hooks.jsdom.test.js} +12 -11
- package/src/components/inserter/media-tab/test/{media-panel.js → media-panel.jsdom.test.jsx} +15 -12
- package/src/components/inserter/{menu.js → menu.jsx} +1 -1
- package/src/components/inserter/style.scss +2 -6
- package/src/components/inserter/test/get-appender-label.js +12 -11
- package/src/components/inserter/test/search-items.js +1 -0
- package/src/components/inserter-draggable-blocks/{index.js → index.jsx} +1 -1
- package/src/components/inserter-list-item/style.scss +1 -0
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls-tabs/{content-tab.js → content-tab.jsx} +7 -14
- package/src/components/inspector-controls-tabs/{styles-tab.js → styles-tab.jsx} +1 -4
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -8
- package/src/components/inspector-popover-header/{index.js → index.jsx} +6 -7
- package/src/components/line-height-control/test/{index.js → index.jsdom.test.jsx} +3 -0
- package/src/components/link-control/{index.js → index.jsx} +3 -0
- package/src/components/link-control/{search-input.js → search-input.jsx} +1 -1
- package/src/components/link-control/style.scss +1 -1
- package/src/components/link-control/test/{index.js → index.jsdom.test.jsx} +52 -42
- package/src/components/link-control/test/is-url-like.js +1 -0
- package/src/components/link-control/test/{url-normalization.test.js → url-normalization.jsdom.test.jsx} +21 -20
- package/src/components/link-picker/test/{index.js → index.jsdom.test.jsx} +31 -30
- package/src/components/list-view/{block-select-button.js → block-select-button.jsx} +6 -1
- package/src/components/list-view/{block.js → block.jsx} +6 -4
- package/src/components/list-view/style.scss +55 -35
- package/src/components/list-view/test/use-list-view-drop-zone.js +1 -0
- package/src/components/list-view/test/utils.js +1 -0
- package/src/components/list-view/use-list-view-drop-zone.js +1 -1
- package/src/components/media-placeholder/test/get-computed-accept-attribute.js +1 -0
- package/src/components/media-placeholder/test/{index.js → index.jsdom.test.jsx} +8 -2
- package/src/components/media-replace-flow/{index.js → index.jsx} +6 -1
- package/src/components/media-replace-flow/test/{index.js → index.jsdom.test.jsx} +3 -0
- package/src/components/navigable-toolbar/{index.js → index.jsx} +4 -0
- package/src/components/navigable-toolbar/test/index.browser.test.js +50 -0
- package/src/components/panel-color-settings/test/{index.js → index.jsdom.test.jsx} +3 -0
- package/src/components/preset-input-control/test/{index.js → index.jsdom.test.jsx} +8 -2
- package/src/components/preset-input-control/test/utils.js +1 -0
- package/src/components/provider/{index.js → index.jsx} +38 -0
- package/src/components/provider/test/{experimental-provider.js → experimental-provider.jsdom.test.jsx} +3 -2
- package/src/components/provider/test/{use-block-sync.js → use-block-sync.jsdom.test.jsx} +45 -44
- package/src/components/recursion-provider/test/{index.js → index.jsdom.test.jsx} +1 -0
- package/src/components/responsive-block-control/style.scss +1 -0
- package/src/components/responsive-block-control/test/{index.js → index.jsdom.test.jsx} +6 -3
- package/src/components/rich-text/content.scss +6 -0
- package/src/components/rich-text/event-listeners/enter.js +29 -14
- package/src/components/rich-text/event-listeners/index.js +0 -2
- package/src/components/rich-text/event-listeners/input-rules.js +7 -2
- package/src/components/spacing-sizes-control/test/{index.js → index.jsdom.test.jsx} +23 -20
- package/src/components/spacing-sizes-control/test/utils.js +1 -0
- package/src/components/url-input/test/{button.js → button.jsdom.test.jsx} +4 -1
- package/src/components/url-input/test/fixtures/validated-input-control-deprecation.js +2 -0
- package/src/components/url-input/test/{index.js → index.jsdom.test.jsx} +23 -13
- package/src/components/use-block-display-information/test/{index.js → index.jsdom.test.jsx} +14 -10
- package/src/components/use-block-drop-zone/index.js +2 -2
- package/src/components/use-block-drop-zone/test/index.js +1 -0
- package/src/components/use-on-block-drop/test/index.js +28 -31
- package/src/components/warning/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +2 -2
- package/src/components/warning/test/{index.js → index.jsdom.test.jsx} +1 -0
- package/src/components/writing-flow/{index.js → index.jsx} +5 -0
- package/src/components/writing-flow/style.scss +48 -0
- package/src/components/writing-flow/test/{index.js → index.jsdom.test.js} +1 -0
- package/src/components/writing-flow/use-arrow-nav.js +2 -2
- package/src/components/writing-flow/use-input.js +29 -2
- package/src/components/writing-flow/{use-tab-nav.js → use-tab-nav.jsx} +155 -70
- package/src/components/writing-flow/use-undo-automatic-change.js +40 -0
- package/src/elements/test/{index.js → index.jsdom.test.js} +1 -0
- package/src/hooks/block-hooks.scss +0 -9
- package/src/hooks/{border.js → border.jsx} +0 -53
- package/src/hooks/generate-fields-from-attributes.js +1 -1
- package/src/hooks/{grid-visualizer.js → grid-visualizer.jsx} +1 -1
- package/src/hooks/index.js +0 -2
- package/src/hooks/{position.js → position.jsx} +1 -1
- package/src/hooks/{style.js → style.jsx} +3 -2
- package/src/hooks/test/{align.js → align.jsdom.test.jsx} +1 -0
- package/src/hooks/test/allowed-blocks.js +1 -0
- package/src/hooks/test/{anchor.js → anchor.jsdom.test.js} +1 -0
- package/src/hooks/test/{auto-inspector-controls.js → auto-inspector-controls.jsdom.test.js} +1 -0
- package/src/hooks/test/{background.js → background.jsdom.test.jsx} +5 -2
- package/src/hooks/test/{block-style-state.js → block-style-state.jsdom.test.js} +4 -3
- package/src/hooks/test/{cross-origin-isolation.js → cross-origin-isolation.jsdom.test.js} +18 -25
- package/src/hooks/test/{custom-class-name.js → custom-class-name.jsdom.test.jsx} +1 -0
- package/src/hooks/test/{dimensions.js → dimensions.jsdom.test.js} +1 -0
- package/src/hooks/test/{duotone.js → duotone.jsdom.test.js} +1 -0
- package/src/hooks/test/{font-size.js → font-size.jsdom.test.js} +1 -0
- package/src/hooks/test/gap.js +1 -0
- package/src/hooks/test/generate-fields-from-attributes.js +1 -0
- package/src/hooks/test/generated-class-name.js +1 -0
- package/src/hooks/test/{inherited-value-wiring.js → inherited-value-wiring.jsdom.test.jsx} +49 -51
- package/src/hooks/test/{layout-child.js → layout-child.jsdom.test.js} +1 -0
- package/src/hooks/test/{layout.js → layout.jsdom.test.js} +1 -0
- package/src/hooks/test/metadata.js +1 -0
- package/src/hooks/test/preset-round-trip.js +2 -0
- package/src/hooks/test/{settings.js → settings.jsx} +1 -0
- package/src/hooks/test/state-utils.js +1 -0
- package/src/hooks/test/{style.js → style.jsdom.test.jsx} +1 -0
- package/src/hooks/test/{text-align.js → text-align.jsdom.test.jsx} +1 -0
- package/src/hooks/test/{use-typography-props.js → use-typography-props.jsdom.test.js} +1 -0
- package/src/hooks/test/{utils.js → utils.jsdom.test.js} +1 -0
- package/src/layouts/{flex.js → flex.jsx} +7 -0
- package/src/layouts/test/{constrained.js → constrained.jsdom.test.jsx} +6 -3
- package/src/layouts/test/{flex.js → flex.jsdom.test.jsx} +52 -2
- package/src/layouts/test/{flow.js → flow.jsdom.test.js} +1 -0
- package/src/layouts/test/{grid.js → grid.jsdom.test.jsx} +5 -2
- package/src/layouts/test/utils.js +1 -0
- package/src/store/actions.js +14 -12
- package/src/store/test/{actions.js → actions.jsdom.test.js} +50 -49
- package/src/store/test/array.js +1 -0
- package/src/store/test/get-block-settings.js +1 -0
- package/src/store/test/performance.js +2 -1
- package/src/store/test/private-actions.js +1 -0
- package/src/store/test/private-selectors.js +13 -3
- package/src/store/test/reducer.js +37 -8
- package/src/store/test/{registry-selectors.js → registry-selectors.jsdom.test.js} +9 -0
- package/src/store/test/{selectors.js → selectors.jsdom.test.jsx} +13 -3
- package/src/style.scss +1 -1
- package/src/utils/test/block-bindings.js +1 -0
- package/src/utils/test/color-values.js +1 -0
- package/src/utils/test/{dom.js → dom.jsdom.test.jsx} +38 -43
- package/src/utils/test/format-font-style.js +1 -0
- package/src/utils/test/format-font-weight.js +1 -0
- package/src/utils/test/get-font-styles-and-weights.js +1 -0
- package/src/utils/test/math.js +1 -0
- package/src/utils/test/object.js +1 -0
- package/src/utils/test/pasting.js +1 -0
- package/src/utils/test/selection.js +1 -0
- package/src/utils/test/sorting.js +1 -0
- package/src/utils/test/transform-styles.js +2 -1
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +0 -7
- package/build/hooks/block-fields/fields-dropdown-menu.cjs +0 -67
- package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +0 -7
- package/build/hooks/block-fields/index.cjs +0 -238
- package/build/hooks/block-fields/index.cjs.map +0 -7
- package/build/hooks/block-fields/link/index.cjs +0 -174
- package/build/hooks/block-fields/link/index.cjs.map +0 -7
- package/build/hooks/block-fields/media/index.cjs +0 -262
- package/build/hooks/block-fields/media/index.cjs.map +0 -7
- package/build/hooks/block-fields/rich-text/index.cjs +0 -146
- package/build/hooks/block-fields/rich-text/index.cjs.map +0 -7
- package/build/hooks/block-fields/use-inspector-popover-placement.cjs +0 -41
- package/build/hooks/block-fields/use-inspector-popover-placement.cjs.map +0 -7
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +0 -33
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +0 -7
- package/build-module/hooks/block-fields/fields-dropdown-menu.mjs +0 -46
- package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +0 -7
- package/build-module/hooks/block-fields/index.mjs +0 -210
- package/build-module/hooks/block-fields/index.mjs.map +0 -7
- package/build-module/hooks/block-fields/link/index.mjs +0 -141
- package/build-module/hooks/block-fields/link/index.mjs.map +0 -7
- package/build-module/hooks/block-fields/media/index.mjs +0 -241
- package/build-module/hooks/block-fields/media/index.mjs.map +0 -7
- package/build-module/hooks/block-fields/rich-text/index.mjs +0 -115
- package/build-module/hooks/block-fields/rich-text/index.mjs.map +0 -7
- package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs +0 -16
- package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs.map +0 -7
- package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -143
- package/src/components/inner-blocks/test/__snapshots__/index.js.snap +0 -15
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +0 -39
- package/src/hooks/block-fields/fields-dropdown-menu.js +0 -47
- package/src/hooks/block-fields/index.js +0 -302
- package/src/hooks/block-fields/link/index.js +0 -155
- package/src/hooks/block-fields/link/styles.scss +0 -18
- package/src/hooks/block-fields/media/index.js +0 -269
- package/src/hooks/block-fields/media/styles.scss +0 -77
- package/src/hooks/block-fields/rich-text/index.js +0 -123
- package/src/hooks/block-fields/rich-text/styles.scss +0 -24
- package/src/hooks/block-fields/styles.scss +0 -33
- package/src/hooks/block-fields/use-inspector-popover-placement.js +0 -16
- /package/src/autocompleters/{block.js → block.jsx} +0 -0
- /package/src/components/alignment-control/{index.js → index.jsx} +0 -0
- /package/src/components/alignment-control/{ui.js → ui.jsx} +0 -0
- /package/src/components/autocomplete/{index.js → index.jsx} +0 -0
- /package/src/components/block-alignment-control/{index.js → index.jsx} +0 -0
- /package/src/components/block-alignment-control/{ui.js → ui.jsx} +0 -0
- /package/src/components/block-alignment-matrix-control/{index.js → index.jsx} +0 -0
- /package/src/components/block-allowed-blocks/{allowed-blocks-control.js → allowed-blocks-control.jsx} +0 -0
- /package/src/components/block-bindings/{attribute-control.js → attribute-control.jsx} +0 -0
- /package/src/components/block-bindings/{source-fields-list.js → source-fields-list.jsx} +0 -0
- /package/src/components/block-breadcrumb/{index.js → index.jsx} +0 -0
- /package/src/components/block-canvas/{index.js → index.jsx} +0 -0
- /package/src/components/block-card/{index.js → index.jsx} +0 -0
- /package/src/components/block-compare/{block-view.js → block-view.jsx} +0 -0
- /package/src/components/block-compare/{index.js → index.jsx} +0 -0
- /package/src/components/block-context/{index.js → index.jsx} +0 -0
- /package/src/components/block-controls/{fill.js → fill.jsx} +0 -0
- /package/src/components/block-controls/{index.js → index.jsx} +0 -0
- /package/src/components/block-controls/{slot.js → slot.jsx} +0 -0
- /package/src/components/block-draggable/{draggable-chip.js → draggable-chip.jsx} +0 -0
- /package/src/components/block-draggable/{index.js → index.jsx} +0 -0
- /package/src/components/block-edit/{index.js → index.jsx} +0 -0
- /package/src/components/block-edit/{multiple-usage-warning.js → multiple-usage-warning.jsx} +0 -0
- /package/src/components/block-edit-visually-button/{index.js → index.jsx} +0 -0
- /package/src/components/block-full-height-alignment-control/{index.js → index.jsx} +0 -0
- /package/src/components/block-heading-level-dropdown/{heading-level-icon.js → heading-level-icon.jsx} +0 -0
- /package/src/components/block-heading-level-dropdown/{index.js → index.jsx} +0 -0
- /package/src/components/block-icon/{index.js → index.jsx} +0 -0
- /package/src/components/block-icon/test/{index.js → index.jsdom.test.jsx} +0 -0
- /package/src/components/block-inspector/{edit-contents.js → edit-contents.jsx} +0 -0
- /package/src/components/block-keyboard-shortcuts/{index.js → index.jsx} +0 -0
- /package/src/components/block-list/{block-crash-warning.js → block-crash-warning.jsx} +0 -0
- /package/src/components/block-list/{block-html.js → block-html.jsx} +0 -0
- /package/src/components/block-list/{block-invalid-warning.js → block-invalid-warning.jsx} +0 -0
- /package/src/components/block-list/{block.js → block.jsx} +0 -0
- /package/src/components/block-list/{index.js → index.jsx} +0 -0
- /package/src/components/block-list/{layout.js → layout.jsx} +0 -0
- /package/src/components/block-list/{subdirectory-icon.js → subdirectory-icon.jsx} +0 -0
- /package/src/components/block-list/{zoom-out-separator.js → zoom-out-separator.jsx} +0 -0
- /package/src/components/block-list-appender/{index.js → index.jsx} +0 -0
- /package/src/components/block-lock/{menu-item.js → menu-item.jsx} +0 -0
- /package/src/components/block-lock/{modal.js → modal.jsx} +0 -0
- /package/src/components/block-lock/{toolbar.js → toolbar.jsx} +0 -0
- /package/src/components/block-manager/{category.js → category.jsx} +0 -0
- /package/src/components/block-manager/{checklist.js → checklist.jsx} +0 -0
- /package/src/components/block-manager/{index.js → index.jsx} +0 -0
- /package/src/components/block-mover/{button.js → button.jsx} +0 -0
- /package/src/components/block-mover/{index.js → index.jsx} +0 -0
- /package/src/components/block-navigation/{dropdown.js → dropdown.jsx} +0 -0
- /package/src/components/block-parent-selector/{index.js → index.jsx} +0 -0
- /package/src/components/block-pattern-setup/{index.js → index.jsx} +0 -0
- /package/src/components/block-pattern-setup/{setup-toolbar.js → setup-toolbar.jsx} +0 -0
- /package/src/components/block-patterns-list/{index.js → index.jsx} +0 -0
- /package/src/components/block-patterns-paging/{index.js → index.jsx} +0 -0
- /package/src/components/block-popover/{cover.js → cover.jsx} +0 -0
- /package/src/components/block-popover/{drop-zone.js → drop-zone.jsx} +0 -0
- /package/src/components/block-popover/{inbetween.js → inbetween.jsx} +0 -0
- /package/src/components/block-popover/{index.js → index.jsx} +0 -0
- /package/src/components/block-preview/{auto.js → auto.jsx} +0 -0
- /package/src/components/block-quick-navigation/{index.js → index.jsx} +0 -0
- /package/src/components/block-removal-warning-modal/{index.js → index.jsx} +0 -0
- /package/src/components/block-rename/{modal.js → modal.jsx} +0 -0
- /package/src/components/block-rename/{rename-control.js → rename-control.jsx} +0 -0
- /package/src/components/block-selection-clearer/{index.js → index.jsx} +0 -0
- /package/src/components/block-settings-menu/{block-html-convert-button.js → block-html-convert-button.jsx} +0 -0
- /package/src/components/block-settings-menu/{block-mode-toggle.js → block-mode-toggle.jsx} +0 -0
- /package/src/components/block-settings-menu/{block-parent-selector-menu-item.js → block-parent-selector-menu-item.jsx} +0 -0
- /package/src/components/block-settings-menu/{block-settings-dropdown.js → block-settings-dropdown.jsx} +0 -0
- /package/src/components/block-settings-menu/{index.js → index.jsx} +0 -0
- /package/src/components/block-settings-menu-controls/{index.js → index.jsx} +0 -0
- /package/src/components/block-styles/{index.js → index.jsx} +0 -0
- /package/src/components/block-styles/{menu-items.js → menu-items.jsx} +0 -0
- /package/src/components/block-switcher/{block-styles-menu.js → block-styles-menu.jsx} +0 -0
- /package/src/components/block-switcher/{block-transformations-menu.js → block-transformations-menu.jsx} +0 -0
- /package/src/components/block-switcher/{block-variation-transformations.js → block-variation-transformations.jsx} +0 -0
- /package/src/components/block-switcher/{pattern-transformations-menu.js → pattern-transformations-menu.jsx} +0 -0
- /package/src/components/block-switcher/{preview-block-popover.js → preview-block-popover.jsx} +0 -0
- /package/src/components/block-toolbar/{block-styles-dropdown.js → block-styles-dropdown.jsx} +0 -0
- /package/src/components/block-toolbar/{block-toolbar-icon.js → block-toolbar-icon.jsx} +0 -0
- /package/src/components/block-toolbar/{change-design.js → change-design.jsx} +0 -0
- /package/src/components/block-toolbar/{edit-section-button.js → edit-section-button.jsx} +0 -0
- /package/src/components/block-toolbar/{index.js → index.jsx} +0 -0
- /package/src/components/block-toolbar/{switch-section-style.js → switch-section-style.jsx} +0 -0
- /package/src/components/block-tools/{block-toolbar-popover.js → block-toolbar-popover.jsx} +0 -0
- /package/src/components/block-tools/{empty-block-inserter.js → empty-block-inserter.jsx} +0 -0
- /package/src/components/block-tools/{index.js → index.jsx} +0 -0
- /package/src/components/block-tools/{insertion-point.js → insertion-point.jsx} +0 -0
- /package/src/components/block-tools/{zoom-out-mode-inserter-button.js → zoom-out-mode-inserter-button.jsx} +0 -0
- /package/src/components/block-tools/{zoom-out-mode-inserters.js → zoom-out-mode-inserters.jsx} +0 -0
- /package/src/components/block-types-list/{index.js → index.jsx} +0 -0
- /package/src/components/block-variation-picker/{index.js → index.jsx} +0 -0
- /package/src/components/block-variation-transforms/{index.js → index.jsx} +0 -0
- /package/src/components/block-vertical-alignment-control/{index.js → index.jsx} +0 -0
- /package/src/components/block-vertical-alignment-control/{ui.js → ui.jsx} +0 -0
- /package/src/components/block-visibility/{modal.js → modal.jsx} +0 -0
- /package/src/components/block-visibility/{viewport-menu-item.js → viewport-menu-item.jsx} +0 -0
- /package/src/components/block-visibility/{viewport-toolbar.js → viewport-toolbar.jsx} +0 -0
- /package/src/components/block-visibility/{viewport-visibility-info.js → viewport-visibility-info.jsx} +0 -0
- /package/src/components/border-radius-control/{index.js → index.jsx} +0 -0
- /package/src/components/border-radius-control/{linked-button.js → linked-button.jsx} +0 -0
- /package/src/components/button-block-appender/{index.js → index.jsx} +0 -0
- /package/src/components/child-layout-control/{index.js → index.jsx} +0 -0
- /package/src/components/color-palette/{control.js → control.jsx} +0 -0
- /package/src/components/color-palette/{with-color-context.js → with-color-context.jsx} +0 -0
- /package/src/components/color-style-selector/{index.js → index.jsx} +0 -0
- /package/src/components/colors/{with-colors.js → with-colors.jsx} +0 -0
- /package/src/components/colors-gradients/{control.js → control.jsx} +0 -0
- /package/src/components/colors-gradients/{dropdown.js → dropdown.jsx} +0 -0
- /package/src/components/colors-gradients/{panel-color-gradient-settings.js → panel-color-gradient-settings.jsx} +0 -0
- /package/src/components/contrast-checker/{index.js → index.jsx} +0 -0
- /package/src/components/convert-to-group-buttons/{index.js → index.jsx} +0 -0
- /package/src/components/convert-to-group-buttons/{toolbar.js → toolbar.jsx} +0 -0
- /package/src/components/copy-handler/{index.js → index.jsx} +0 -0
- /package/src/components/date-format-picker/{index.js → index.jsx} +0 -0
- /package/src/components/default-block-appender/{index.js → index.jsx} +0 -0
- /package/src/components/dimension-control/{index.js → index.jsx} +0 -0
- /package/src/components/dimensions-tool/{aspect-ratio-tool.js → aspect-ratio-tool.jsx} +0 -0
- /package/src/components/dimensions-tool/{index.js → index.jsx} +0 -0
- /package/src/components/dimensions-tool/{scale-tool.js → scale-tool.jsx} +0 -0
- /package/src/components/dimensions-tool/{width-height-tool.js → width-height-tool.jsx} +0 -0
- /package/src/components/duotone-control/{index.js → index.jsx} +0 -0
- /package/src/components/editable-text/{index.js → index.jsx} +0 -0
- /package/src/components/editor-styles/{index.js → index.jsx} +0 -0
- /package/src/components/fit-text-size-warning/{index.js → index.jsx} +0 -0
- /package/src/components/font-appearance-control/{index.js → index.jsx} +0 -0
- /package/src/components/font-family/{index.js → index.jsx} +0 -0
- /package/src/components/font-sizes/{font-size-picker.js → font-size-picker.jsx} +0 -0
- /package/src/components/font-sizes/{with-font-sizes.js → with-font-sizes.jsx} +0 -0
- /package/src/components/global-styles/{advanced-panel.js → advanced-panel.jsx} +0 -0
- /package/src/components/global-styles/{color-gradient-dropdown-item.js → color-gradient-dropdown-item.jsx} +0 -0
- /package/src/components/global-styles/{color-panel.js → color-panel.jsx} +0 -0
- /package/src/components/global-styles/{dimensions-panel.js → dimensions-panel.jsx} +0 -0
- /package/src/components/global-styles/{filters-panel.js → filters-panel.jsx} +0 -0
- /package/src/components/global-styles/inheritance/{index.js → index.jsx} +0 -0
- /package/src/components/global-styles/{shadow-panel-components.js → shadow-panel-components.jsx} +0 -0
- /package/src/components/global-styles/{state-control-badges.js → state-control-badges.jsx} +0 -0
- /package/src/components/global-styles/{state-control.js → state-control.jsx} +0 -0
- /package/src/components/global-styles/{typography-panel.js → typography-panel.jsx} +0 -0
- /package/src/components/grid/{grid-item-movers.js → grid-item-movers.jsx} +0 -0
- /package/src/components/grid/{grid-item-resizer.js → grid-item-resizer.jsx} +0 -0
- /package/src/components/grid/{grid-visualizer.js → grid-visualizer.jsx} +0 -0
- /package/src/components/height-control/{index.js → index.jsx} +0 -0
- /package/src/components/html-element-control/{index.js → index.jsx} +0 -0
- /package/src/components/image-editor/{aspect-ratio-dropdown.js → aspect-ratio-dropdown.jsx} +0 -0
- /package/src/components/image-editor/{context.js → context.jsx} +0 -0
- /package/src/components/image-editor/{cropper.js → cropper.jsx} +0 -0
- /package/src/components/image-editor/{form-controls.js → form-controls.jsx} +0 -0
- /package/src/components/image-editor/{index.js → index.jsx} +0 -0
- /package/src/components/image-editor/{rotation-button.js → rotation-button.jsx} +0 -0
- /package/src/components/image-editor/{zoom-dropdown.js → zoom-dropdown.jsx} +0 -0
- /package/src/components/image-size-control/{index.js → index.jsx} +0 -0
- /package/src/components/inner-blocks/{button-block-appender.js → button-block-appender.jsx} +0 -0
- /package/src/components/inner-blocks/{default-block-appender.js → default-block-appender.jsx} +0 -0
- /package/src/components/inner-blocks/{index.js → index.jsx} +0 -0
- /package/src/components/inner-content/{index.js → index.jsx} +0 -0
- /package/src/components/inserter/block-patterns-explorer/{index.js → index.jsx} +0 -0
- /package/src/components/inserter/block-patterns-explorer/{pattern-explorer-sidebar.js → pattern-explorer-sidebar.jsx} +0 -0
- /package/src/components/inserter/block-patterns-explorer/{pattern-list.js → pattern-list.jsx} +0 -0
- /package/src/components/inserter/block-patterns-tab/{index.js → index.jsx} +0 -0
- /package/src/components/inserter/block-patterns-tab/{pattern-category-previews.js → pattern-category-previews.jsx} +0 -0
- /package/src/components/inserter/block-patterns-tab/{patterns-filter.js → patterns-filter.jsx} +0 -0
- /package/src/components/inserter/{block-types-tab.js → block-types-tab.jsx} +0 -0
- /package/src/components/inserter/category-tabs/{index.js → index.jsx} +0 -0
- /package/src/components/inserter/{index.js → index.jsx} +0 -0
- /package/src/components/inserter/{library.js → library.jsx} +0 -0
- /package/src/components/inserter/media-tab/{media-list.js → media-list.jsx} +0 -0
- /package/src/components/inserter/media-tab/{media-panel.js → media-panel.jsx} +0 -0
- /package/src/components/inserter/media-tab/{media-preview.js → media-preview.jsx} +0 -0
- /package/src/components/inserter/media-tab/{media-tab.js → media-tab.jsx} +0 -0
- /package/src/components/inserter/media-tab/{utils.js → utils.jsx} +0 -0
- /package/src/components/inserter/{mobile-tab-navigation.js → mobile-tab-navigation.jsx} +0 -0
- /package/src/components/inserter/{no-results.js → no-results.jsx} +0 -0
- /package/src/components/inserter/{panel.js → panel.jsx} +0 -0
- /package/src/components/inserter/{preview-panel.js → preview-panel.jsx} +0 -0
- /package/src/components/inserter/{quick-inserter.js → quick-inserter.jsx} +0 -0
- /package/src/components/inserter/{search-results.js → search-results.jsx} +0 -0
- /package/src/components/inserter/{tips.js → tips.jsx} +0 -0
- /package/src/components/inserter-list-item/{index.js → index.jsx} +0 -0
- /package/src/components/inserter-listbox/{group.js → group.jsx} +0 -0
- /package/src/components/inserter-listbox/{index.js → index.jsx} +0 -0
- /package/src/components/inserter-listbox/{item.js → item.jsx} +0 -0
- /package/src/components/inserter-listbox/{row.js → row.jsx} +0 -0
- /package/src/components/inspector-controls/{block-support-slot-container.js → block-support-slot-container.jsx} +0 -0
- /package/src/components/inspector-controls/{block-support-tools-panel.js → block-support-tools-panel.jsx} +0 -0
- /package/src/components/inspector-controls/{fill.js → fill.jsx} +0 -0
- /package/src/components/inspector-controls/{index.js → index.jsx} +0 -0
- /package/src/components/inspector-controls/{last-item.js → last-item.jsx} +0 -0
- /package/src/components/inspector-controls/{list-view-content-popover.js → list-view-content-popover.jsx} +0 -0
- /package/src/components/inspector-controls/{slot.js → slot.jsx} +0 -0
- /package/src/components/inspector-controls-tabs/{advanced-controls-panel.js → advanced-controls-panel.jsx} +0 -0
- /package/src/components/inspector-controls-tabs/{index.js → index.jsx} +0 -0
- /package/src/components/inspector-controls-tabs/{position-controls-panel.js → position-controls-panel.jsx} +0 -0
- /package/src/components/inspector-controls-tabs/{settings-tab.js → settings-tab.jsx} +0 -0
- /package/src/components/justify-content-control/{index.js → index.jsx} +0 -0
- /package/src/components/justify-content-control/{ui.js → ui.jsx} +0 -0
- /package/src/components/letter-spacing-control/{index.js → index.jsx} +0 -0
- /package/src/components/line-height-control/{index.js → index.jsx} +0 -0
- /package/src/components/link-control/{link-preview.js → link-preview.jsx} +0 -0
- /package/src/components/link-control/{search-create-button.js → search-create-button.jsx} +0 -0
- /package/src/components/link-control/{search-item.js → search-item.jsx} +0 -0
- /package/src/components/link-control/{search-results.js → search-results.jsx} +0 -0
- /package/src/components/link-control/{settings-drawer.js → settings-drawer.jsx} +0 -0
- /package/src/components/link-control/{settings.js → settings.jsx} +0 -0
- /package/src/components/link-picker/{link-picker.js → link-picker.jsx} +0 -0
- /package/src/components/link-picker/{link-preview.js → link-preview.jsx} +0 -0
- /package/src/components/list-view/{appender.js → appender.jsx} +0 -0
- /package/src/components/list-view/{aria-referenced-text.js → aria-referenced-text.jsx} +0 -0
- /package/src/components/list-view/{block-contents.js → block-contents.jsx} +0 -0
- /package/src/components/list-view/{branch.js → branch.jsx} +0 -0
- /package/src/components/list-view/{drop-indicator.js → drop-indicator.jsx} +0 -0
- /package/src/components/list-view/{expander.js → expander.jsx} +0 -0
- /package/src/components/list-view/{index.js → index.jsx} +0 -0
- /package/src/components/list-view/{leaf.js → leaf.jsx} +0 -0
- /package/src/components/media-placeholder/{index.js → index.jsx} +0 -0
- /package/src/components/multi-selection-inspector/{index.js → index.jsx} +0 -0
- /package/src/components/observe-typing/{index.js → index.jsx} +0 -0
- /package/src/components/panel-color-settings/{index.js → index.jsx} +0 -0
- /package/src/components/plain-text/{index.js → index.jsx} +0 -0
- /package/src/components/preset-input-control/{custom-value-controls.js → custom-value-controls.jsx} +0 -0
- /package/src/components/preset-input-control/{index.js → index.jsx} +0 -0
- /package/src/components/provider/{block-refs-provider.js → block-refs-provider.jsx} +0 -0
- /package/src/components/provider/{with-registry-provider.js → with-registry-provider.jsx} +0 -0
- /package/src/components/publish-date-time-picker/{index.js → index.jsx} +0 -0
- /package/src/components/recursion-provider/{index.js → index.jsx} +0 -0
- /package/src/components/resizable-box-popover/{index.js → index.jsx} +0 -0
- /package/src/components/resolution-tool/{index.js → index.jsx} +0 -0
- /package/src/components/responsive-block-control/{index.js → index.jsx} +0 -0
- /package/src/components/responsive-block-control/{label.js → label.jsx} +0 -0
- /package/src/components/rich-text/{content.js → content.jsx} +0 -0
- /package/src/components/rich-text/{format-edit.js → format-edit.jsx} +0 -0
- /package/src/components/rich-text/format-toolbar/{index.js → index.jsx} +0 -0
- /package/src/components/rich-text/{format-toolbar-container.js → format-toolbar-container.jsx} +0 -0
- /package/src/components/rich-text/{get-rich-text-values.js → get-rich-text-values.jsx} +0 -0
- /package/src/components/rich-text/{index.js → index.jsx} +0 -0
- /package/src/components/rich-text/{multiline.js → multiline.jsx} +0 -0
- /package/src/components/rich-text/{toolbar-button.js → toolbar-button.jsx} +0 -0
- /package/src/components/rich-text/{utils.js → utils.jsx} +0 -0
- /package/src/components/rich-text/{with-deprecations.js → with-deprecations.jsx} +0 -0
- /package/src/components/skip-to-selected-block/{index.js → index.jsx} +0 -0
- /package/src/components/spacing-sizes-control/{index.js → index.jsx} +0 -0
- /package/src/components/spacing-sizes-control/input-controls/{axial.js → axial.jsx} +0 -0
- /package/src/components/spacing-sizes-control/input-controls/{separated.js → separated.jsx} +0 -0
- /package/src/components/spacing-sizes-control/input-controls/{single.js → single.jsx} +0 -0
- /package/src/components/spacing-sizes-control/input-controls/{spacing-input-control.js → spacing-input-control.jsx} +0 -0
- /package/src/components/spacing-sizes-control/{linked-button.js → linked-button.jsx} +0 -0
- /package/src/components/tabbed-sidebar/{index.js → index.jsx} +0 -0
- /package/src/components/text-alignment-control/{index.js → index.jsx} +0 -0
- /package/src/components/text-decoration-control/{index.js → index.jsx} +0 -0
- /package/src/components/text-indent-control/{index.js → index.jsx} +0 -0
- /package/src/components/text-transform-control/{index.js → index.jsx} +0 -0
- /package/src/components/typewriter/{index.js → index.jsx} +0 -0
- /package/src/components/unit-control/{index.js → index.jsx} +0 -0
- /package/src/components/url-input/{button.js → button.jsx} +0 -0
- /package/src/components/url-input/{index.js → index.jsx} +0 -0
- /package/src/components/url-popover/{image-url-input-ui.js → image-url-input-ui.jsx} +0 -0
- /package/src/components/url-popover/{index.js → index.jsx} +0 -0
- /package/src/components/url-popover/{link-editor.js → link-editor.jsx} +0 -0
- /package/src/components/url-popover/{link-viewer-url.js → link-viewer-url.jsx} +0 -0
- /package/src/components/url-popover/{link-viewer.js → link-viewer.jsx} +0 -0
- /package/src/components/warning/{index.js → index.jsx} +0 -0
- /package/src/components/writing-mode-control/{index.js → index.jsx} +0 -0
- /package/src/hooks/{align.js → align.jsx} +0 -0
- /package/src/hooks/{allowed-blocks.js → allowed-blocks.jsx} +0 -0
- /package/src/hooks/{anchor.js → anchor.jsx} +0 -0
- /package/src/hooks/{auto-inspector-controls.js → auto-inspector-controls.jsx} +0 -0
- /package/src/hooks/{background.js → background.jsx} +0 -0
- /package/src/hooks/{block-bindings.js → block-bindings.jsx} +0 -0
- /package/src/hooks/{block-hooks.js → block-hooks.jsx} +0 -0
- /package/src/hooks/{block-style-variation.js → block-style-variation.jsx} +0 -0
- /package/src/hooks/{custom-class-name.js → custom-class-name.jsx} +0 -0
- /package/src/hooks/{custom-css.js → custom-css.jsx} +0 -0
- /package/src/hooks/{dimensions.js → dimensions.jsx} +0 -0
- /package/src/hooks/{duotone.js → duotone.jsx} +0 -0
- /package/src/hooks/{elements.js → elements.jsx} +0 -0
- /package/src/hooks/{fit-text.js → fit-text.jsx} +0 -0
- /package/src/hooks/{font-size.js → font-size.jsx} +0 -0
- /package/src/hooks/{layout-child.js → layout-child.jsx} +0 -0
- /package/src/hooks/{layout.js → layout.jsx} +0 -0
- /package/src/hooks/{line-height.js → line-height.jsx} +0 -0
- /package/src/hooks/{list-view.js → list-view.jsx} +0 -0
- /package/src/hooks/{spacing-visualizer.js → spacing-visualizer.jsx} +0 -0
- /package/src/hooks/{states.js → states.jsx} +0 -0
- /package/src/hooks/{text-align.js → text-align.jsx} +0 -0
- /package/src/hooks/{typography.js → typography.jsx} +0 -0
- /package/src/hooks/{utils.js → utils.jsx} +0 -0
- /package/src/layouts/{constrained.js → constrained.jsx} +0 -0
- /package/src/layouts/{grid.js → grid.jsx} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/block-bindings.
|
|
3
|
+
"sources": ["../../src/hooks/block-bindings.jsx"],
|
|
4
4
|
"sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalText as WCText,\n\t__experimentalToolsPanel as ToolsPanel,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockBindingsAttributeControl,\n\tuseBlockBindingsUtils,\n} from '../components/block-bindings';\nimport { unlock } from '../lock-unlock';\nimport InspectorControls from '../components/inspector-controls';\nimport BlockContext from '../components/block-context';\nimport { store as blockEditorStore } from '../store';\n\nconst useToolsPanelDropdownMenuProps = () => {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\treturn ! isMobile\n\t\t? {\n\t\t\t\tpopoverProps: {\n\t\t\t\t\tplacement: 'left-start',\n\t\t\t\t\t// For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)\n\t\t\t\t\toffset: 259,\n\t\t\t\t},\n\t\t }\n\t\t: {};\n};\n\nexport const BlockBindingsPanel = ( { name: blockName, metadata } ) => {\n\tconst blockContext = useContext( BlockContext );\n\tconst { removeAllBlockBindings } = useBlockBindingsUtils();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { bindableAttributes, hasCompatibleFields } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __experimentalBlockBindingsSupportedAttributes } =\n\t\t\t\tselect( blockEditorStore ).getSettings();\n\t\t\tconst {\n\t\t\t\tgetAllBlockBindingsSources,\n\t\t\t\tgetBlockBindingsSourceFieldsList,\n\t\t\t} = unlock( select( blocksStore ) );\n\n\t\t\treturn {\n\t\t\t\tbindableAttributes:\n\t\t\t\t\t__experimentalBlockBindingsSupportedAttributes?.[\n\t\t\t\t\t\tblockName\n\t\t\t\t\t],\n\t\t\t\thasCompatibleFields: Object.values(\n\t\t\t\t\tgetAllBlockBindingsSources()\n\t\t\t\t).some(\n\t\t\t\t\t( source ) =>\n\t\t\t\t\t\tgetBlockBindingsSourceFieldsList( source, blockContext )\n\t\t\t\t\t\t\t?.length > 0\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ blockName, blockContext ]\n\t);\n\n\t// Return early if there are no bindable attributes.\n\tif ( ! bindableAttributes || bindableAttributes.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst { bindings } = metadata || {};\n\n\tif ( bindings === undefined && ! hasCompatibleFields ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls group=\"bindings\">\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Attributes' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tremoveAllBlockBindings();\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\tclassName=\"block-editor-bindings__panel\"\n\t\t\t>\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t{ bindableAttributes.map( ( attribute ) => (\n\t\t\t\t\t\t<BlockBindingsAttributeControl\n\t\t\t\t\t\t\tkey={ attribute }\n\t\t\t\t\t\t\tattribute={ attribute }\n\t\t\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\t\t\tbinding={ bindings?.[ attribute ] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t\t{ /*\n\t\t\t\t\tUse a div element to make the ToolsPanelHiddenInnerWrapper\n\t\t\t\t\ttoggle the visibility of this help text automatically.\n\t\t\t\t*/ }\n\t\t\t\t<WCText as=\"div\" variant=\"muted\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Attributes connected to custom fields or other dynamic data.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</WCText>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default {\n\tedit: BlockBindingsPanel,\n\tattributeKeys: [ 'metadata' ],\n\thasSupport( name ) {\n\t\treturn ! [\n\t\t\t'core/post-date',\n\t\t\t'core/navigation-link',\n\t\t\t'core/navigation-submenu',\n\t\t].includes( name );\n\t},\n};\n"],
|
|
5
5
|
"mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,SAAS,mBAAmB;AACrC;AAAA,EACC,2BAA2B;AAAA,EAC3B,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,OACtB;AACP,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,wBAAwB;AACjC;AAAA,EACC;AAAA,EACA;AAAA,OACM;AACP,SAAS,cAAc;AACvB,OAAO,uBAAuB;AAC9B,OAAO,kBAAkB;AACzB,SAAS,SAAS,wBAAwB;AA2DvC,SAUG,KAVH;AAzDH,IAAM,iCAAiC,MAAM;AAC5C,QAAM,WAAW,iBAAkB,UAAU,GAAI;AACjD,SAAO,CAAE,WACN;AAAA,IACA,cAAc;AAAA,MACb,WAAW;AAAA;AAAA,MAEX,QAAQ;AAAA,IACT;AAAA,EACA,IACA,CAAC;AACL;AAEO,IAAM,qBAAqB,CAAE,EAAE,MAAM,WAAW,SAAS,MAAO;AACtE,QAAM,eAAe,WAAY,YAAa;AAC9C,QAAM,EAAE,uBAAuB,IAAI,sBAAsB;AACzD,QAAM,oBAAoB,+BAA+B;AAEzD,QAAM,EAAE,oBAAoB,oBAAoB,IAAI;AAAA,IACnD,CAAE,WAAY;AACb,YAAM,EAAE,+CAA+C,IACtD,OAAQ,gBAAiB,EAAE,YAAY;AACxC,YAAM;AAAA,QACL;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,OAAQ,WAAY,CAAE;AAElC,aAAO;AAAA,QACN,oBACC,iDACC,SACD;AAAA,QACD,qBAAqB,OAAO;AAAA,UAC3B,2BAA2B;AAAA,QAC5B,EAAE;AAAA,UACD,CAAE,WACD,iCAAkC,QAAQ,YAAa,GACpD,SAAS;AAAA,QACd;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,WAAW,YAAa;AAAA,EAC3B;AAGA,MAAK,CAAE,sBAAsB,mBAAmB,WAAW,GAAI;AAC9D,WAAO;AAAA,EACR;AAEA,QAAM,EAAE,SAAS,IAAI,YAAY,CAAC;AAElC,MAAK,aAAa,UAAa,CAAE,qBAAsB;AACtD,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,qBAAkB,OAAM,YACxB;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,YAAa;AAAA,MACzB,UAAW,MAAM;AAChB,+BAAuB;AAAA,MACxB;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MAEV;AAAA,4BAAC,aAAU,YAAU,MAAC,aAAW,MAC9B,6BAAmB,IAAK,CAAE,cAC3B;AAAA,UAAC;AAAA;AAAA,YAEA;AAAA,YACA;AAAA,YACA,SAAU,WAAY,SAAU;AAAA;AAAA,UAH1B;AAAA,QAIP,CACC,GACH;AAAA,QAKA,oBAAC,UAAO,IAAG,OAAM,SAAQ,SACxB,8BAAC,OACE;AAAA,UACD;AAAA,QACD,GACD,GACD;AAAA;AAAA;AAAA,EACD,GACD;AAEF;AAEA,IAAO,yBAAQ;AAAA,EACd,MAAM;AAAA,EACN,eAAe,CAAE,UAAW;AAAA,EAC5B,WAAY,MAAO;AAClB,WAAO,CAAE;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,SAAU,IAAK;AAAA,EAClB;AACD;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/block-hooks.
|
|
3
|
+
"sources": ["../../src/hooks/block-hooks.jsx"],
|
|
4
4
|
"sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { Fragment, useMemo } from '@wordpress/element';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { InspectorControls } from '../components';\nimport { store as blockEditorStore } from '../store';\n\nconst EMPTY_OBJECT = {};\n\nfunction BlockHooksControlPure( {\n\tname,\n\tclientId,\n\tmetadata: { ignoredHookedBlocks = [] } = {},\n} ) {\n\tconst blockTypes = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockTypes(),\n\t\t[]\n\t);\n\n\t// A hooked block added via a filter will not be exposed through a block\n\t// type's `blockHooks` property; however, if the containing layout has been\n\t// modified, it will be present in the anchor block's `ignoredHookedBlocks`\n\t// metadata.\n\tconst hookedBlocksForCurrentBlock = useMemo(\n\t\t() =>\n\t\t\tblockTypes?.filter(\n\t\t\t\t( { name: blockName, blockHooks } ) =>\n\t\t\t\t\t( blockHooks && name in blockHooks ) ||\n\t\t\t\t\tignoredHookedBlocks.includes( blockName )\n\t\t\t),\n\t\t[ blockTypes, name, ignoredHookedBlocks ]\n\t);\n\n\tconst hookedBlockClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks, getBlockRootClientId, getGlobalBlockCount } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst _hookedBlockClientIds = hookedBlocksForCurrentBlock.reduce(\n\t\t\t\t( clientIds, block ) => {\n\t\t\t\t\t// If the block doesn't exist anywhere in the block tree,\n\t\t\t\t\t// we know that we have to set the toggle to disabled.\n\t\t\t\t\tif ( getGlobalBlockCount( block.name ) === 0 ) {\n\t\t\t\t\t\treturn clientIds;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst relativePosition = block?.blockHooks?.[ name ];\n\t\t\t\t\tlet candidates;\n\n\t\t\t\t\tswitch ( relativePosition ) {\n\t\t\t\t\t\tcase 'before':\n\t\t\t\t\t\tcase 'after':\n\t\t\t\t\t\t\t// Any of the current block's siblings (with the right block type) qualifies\n\t\t\t\t\t\t\t// as a hooked block (inserted `before` or `after` the current one), as the block\n\t\t\t\t\t\t\t// might've been automatically inserted and then moved around a bit by the user.\n\t\t\t\t\t\t\tcandidates = getBlocks( rootClientId );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'first_child':\n\t\t\t\t\t\tcase 'last_child':\n\t\t\t\t\t\t\t// Any of the current block's child blocks (with the right block type) qualifies\n\t\t\t\t\t\t\t// as a hooked first or last child block, as the block might've been automatically\n\t\t\t\t\t\t\t// inserted and then moved around a bit by the user.\n\t\t\t\t\t\t\tcandidates = getBlocks( clientId );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase undefined:\n\t\t\t\t\t\t\t// If we haven't found a blockHooks field with a relative position for the hooked\n\t\t\t\t\t\t\t// block, it means that it was added by a filter. In this case, we look for the block\n\t\t\t\t\t\t\t// both among the current block's siblings and its children.\n\t\t\t\t\t\t\tcandidates = [\n\t\t\t\t\t\t\t\t...getBlocks( rootClientId ),\n\t\t\t\t\t\t\t\t...getBlocks( clientId ),\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst hookedBlock = candidates?.find(\n\t\t\t\t\t\t( candidate ) => candidate.name === block.name\n\t\t\t\t\t);\n\n\t\t\t\t\t// If the block exists in the designated location, we consider it hooked\n\t\t\t\t\t// and show the toggle as enabled.\n\t\t\t\t\tif ( hookedBlock ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...clientIds,\n\t\t\t\t\t\t\t[ block.name ]: hookedBlock.clientId,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\t// If no hooked block was found in any of its designated locations,\n\t\t\t\t\t// we set the toggle to disabled.\n\t\t\t\t\treturn clientIds;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\n\t\t\tif ( Object.values( _hookedBlockClientIds ).length > 0 ) {\n\t\t\t\treturn _hookedBlockClientIds;\n\t\t\t}\n\n\t\t\treturn EMPTY_OBJECT;\n\t\t},\n\t\t[ hookedBlocksForCurrentBlock, name, clientId ]\n\t);\n\n\tconst { getBlockIndex, getBlockCount, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { insertBlock, removeBlock } = useDispatch( blockEditorStore );\n\n\tif ( ! hookedBlocksForCurrentBlock.length ) {\n\t\treturn null;\n\t}\n\n\t// Group by block namespace (i.e. prefix before the slash).\n\tconst groupedHookedBlocks = hookedBlocksForCurrentBlock.reduce(\n\t\t( groups, block ) => {\n\t\t\tconst [ namespace ] = block.name.split( '/' );\n\t\t\tif ( ! groups[ namespace ] ) {\n\t\t\t\tgroups[ namespace ] = [];\n\t\t\t}\n\t\t\tgroups[ namespace ].push( block );\n\t\t\treturn groups;\n\t\t},\n\t\t{}\n\t);\n\n\tconst insertBlockIntoDesignatedLocation = ( block, relativePosition ) => {\n\t\tconst blockIndex = getBlockIndex( clientId );\n\t\tconst innerBlocksLength = getBlockCount( clientId );\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\tswitch ( relativePosition ) {\n\t\t\tcase 'before':\n\t\t\tcase 'after':\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblock,\n\t\t\t\t\trelativePosition === 'after' ? blockIndex + 1 : blockIndex,\n\t\t\t\t\trootClientId, // Insert as a child of the current block's parent\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'first_child':\n\t\t\tcase 'last_child':\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblock,\n\t\t\t\t\t// TODO: It'd be great if insertBlock() would accept negative indices for insertion.\n\t\t\t\t\trelativePosition === 'first_child' ? 0 : innerBlocksLength,\n\t\t\t\t\tclientId, // Insert as a child of the current block.\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase undefined:\n\t\t\t\t// If we do not know the relative position, it is because the block was\n\t\t\t\t// added via a filter. In this case, we default to inserting it after the\n\t\t\t\t// current block.\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblock,\n\t\t\t\t\tblockIndex + 1,\n\t\t\t\t\trootClientId, // Insert as a child of the current block's parent\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody\n\t\t\t\tclassName=\"block-editor-hooks__block-hooks\"\n\t\t\t\ttitle={ __( 'Plugins' ) }\n\t\t\t\tinitialOpen\n\t\t\t>\n\t\t\t\t<p className=\"block-editor-hooks__block-hooks-helptext\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Manage the inclusion of blocks added automatically by plugins.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t{ Object.keys( groupedHookedBlocks ).map( ( vendor ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={ vendor }>\n\t\t\t\t\t\t\t<h3>{ vendor }</h3>\n\t\t\t\t\t\t\t{ groupedHookedBlocks[ vendor ].map( ( block ) => {\n\t\t\t\t\t\t\t\tconst checked =\n\t\t\t\t\t\t\t\t\tblock.name in hookedBlockClientIds;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ checked }\n\t\t\t\t\t\t\t\t\t\tkey={ block.title }\n\t\t\t\t\t\t\t\t\t\tlabel={ block.title }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tif ( ! checked ) {\n\t\t\t\t\t\t\t\t\t\t\t\t// Create and insert block.\n\t\t\t\t\t\t\t\t\t\t\t\tconst relativePosition =\n\t\t\t\t\t\t\t\t\t\t\t\t\tblock.blockHooks[ name ];\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlockIntoDesignatedLocation(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock( block.name ),\n\t\t\t\t\t\t\t\t\t\t\t\t\trelativePosition\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Remove block.\n\t\t\t\t\t\t\t\t\t\t\tremoveBlock(\n\t\t\t\t\t\t\t\t\t\t\t\thookedBlockClientIds[\n\t\t\t\t\t\t\t\t\t\t\t\t\tblock.name\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\tedit: BlockHooksControlPure,\n\tattributeKeys: [ 'metadata' ],\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["getBlockRootClientId"]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// packages/block-editor/src/hooks/block-style-variation.
|
|
1
|
+
// packages/block-editor/src/hooks/block-style-variation.jsx
|
|
2
2
|
import { getBlockTypes, store as blocksStore } from "@wordpress/blocks";
|
|
3
3
|
import { useSelect } from "@wordpress/data";
|
|
4
4
|
import { useMemo } from "@wordpress/element";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/block-style-variation.
|
|
3
|
+
"sources": ["../../src/hooks/block-style-variation.jsx"],
|
|
4
4
|
"sourcesContent": ["import { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\ttoStyles,\n\tgetBlockSelectors,\n\tprivateApis as globalStylesEnginePrivateApis,\n} from '@wordpress/global-styles-engine';\nimport { usePrivateStyleOverride } from './utils';\nimport { store as blockEditorStore } from '../store';\nimport { globalStylesDataKey } from '../store/private-keys';\nimport { unlock } from '../lock-unlock';\n\nconst { getVariationStyle } = unlock( globalStylesEnginePrivateApis );\n\nconst VARIATION_PREFIX = 'is-style-';\n\nfunction getVariationMatches( className ) {\n\tif ( ! className ) {\n\t\treturn [];\n\t}\n\treturn className.split( /\\s+/ ).reduce( ( matches, name ) => {\n\t\tif ( name.startsWith( VARIATION_PREFIX ) ) {\n\t\t\tconst match = name.slice( VARIATION_PREFIX.length );\n\t\t\tif ( match !== 'default' ) {\n\t\t\t\tmatches.push( match );\n\t\t\t}\n\t\t}\n\t\treturn matches;\n\t}, [] );\n}\n\n/**\n * Get the first block style variation that has been registered from the class string.\n *\n * @param {string} className CSS class string for a block.\n * @param {Array} registeredStyles Currently registered block styles.\n *\n * @return {string|null} The name of the first registered variation.\n */\nexport function getVariationNameFromClass( className, registeredStyles = [] ) {\n\t// The global flag affects how capturing groups work in JS. So the regex\n\t// below will only return full CSS classes not just the variation name.\n\tconst matches = getVariationMatches( className );\n\n\tif ( ! matches ) {\n\t\treturn null;\n\t}\n\n\tfor ( const variation of matches ) {\n\t\tif ( registeredStyles.some( ( style ) => style.name === variation ) ) {\n\t\t\treturn variation;\n\t\t}\n\t}\n\treturn null;\n}\n\n// A helper component to apply a style override using the useStyleOverride hook.\nfunction OverrideStyles( { override } ) {\n\tusePrivateStyleOverride( override );\n}\n\n/**\n * This component is used to generate new block style variation overrides\n * based on an incoming theme config. If a matching style is found in the config,\n * a new override is created and returned. The overrides can be used in conjunction with\n * useStyleOverride to apply the new styles to the editor. Its use is\n * subject to change.\n *\n * @param {Object} props Props.\n * @param {Object} props.config A global styles object, containing settings and styles.\n * @return {React.JSX.Element} An array of new block variation overrides.\n */\nexport function BlockStyleVariationOverridesWithConfig( { config } ) {\n\tconst { overrides } = useSelect(\n\t\t( select ) => ( {\n\t\t\toverrides: unlock( select( blockEditorStore ) ).getStyleOverrides(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { getBlockName } = useSelect( blockEditorStore );\n\n\tconst overridesWithConfig = useMemo( () => {\n\t\tif ( ! overrides?.length ) {\n\t\t\treturn;\n\t\t}\n\t\tconst newOverrides = [];\n\t\tconst overriddenClientIds = [];\n\t\tfor ( const [ , override ] of overrides ) {\n\t\t\tif (\n\t\t\t\toverride?.variation &&\n\t\t\t\toverride?.clientId &&\n\t\t\t\t/*\n\t\t\t\t * Because this component overwrites existing style overrides,\n\t\t\t\t * filter out any overrides that are already present in the store.\n\t\t\t\t */\n\t\t\t\t! overriddenClientIds.includes( override.clientId )\n\t\t\t) {\n\t\t\t\tconst blockName = getBlockName( override.clientId );\n\t\t\t\tconst configStyles =\n\t\t\t\t\tconfig?.styles?.blocks?.[ blockName ]?.variations?.[\n\t\t\t\t\t\toverride.variation\n\t\t\t\t\t];\n\t\t\t\tif ( configStyles ) {\n\t\t\t\t\tconst variationConfig = {\n\t\t\t\t\t\tsettings: config?.settings,\n\t\t\t\t\t\t// The variation style data is all that is needed to generate\n\t\t\t\t\t\t// the styles for the current application to a block. The variation\n\t\t\t\t\t\t// name is updated to match the instance specific class name.\n\t\t\t\t\t\tstyles: {\n\t\t\t\t\t\t\tblocks: {\n\t\t\t\t\t\t\t\t[ blockName ]: {\n\t\t\t\t\t\t\t\t\tvariations: {\n\t\t\t\t\t\t\t\t\t\t[ `${ override.variation }-${ override.clientId }` ]:\n\t\t\t\t\t\t\t\t\t\t\tconfigStyles,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\tconst blockSelectors = getBlockSelectors(\n\t\t\t\t\t\tgetBlockTypes(),\n\t\t\t\t\t\toverride.clientId\n\t\t\t\t\t);\n\t\t\t\t\tconst hasBlockGapSupport = false;\n\t\t\t\t\tconst hasFallbackGapSupport = true;\n\t\t\t\t\tconst disableLayoutStyles = true;\n\t\t\t\t\tconst disableRootPadding = true;\n\t\t\t\t\tconst variationStyles = toStyles(\n\t\t\t\t\t\tvariationConfig,\n\t\t\t\t\t\tblockSelectors,\n\t\t\t\t\t\thasBlockGapSupport,\n\t\t\t\t\t\thasFallbackGapSupport,\n\t\t\t\t\t\tdisableLayoutStyles,\n\t\t\t\t\t\tdisableRootPadding,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tblockGap: false,\n\t\t\t\t\t\t\tblockStyles: true,\n\t\t\t\t\t\t\tlayoutStyles: false,\n\t\t\t\t\t\t\tmarginReset: false,\n\t\t\t\t\t\t\tpresets: false,\n\t\t\t\t\t\t\trootPadding: false,\n\t\t\t\t\t\t\tvariationStyles: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tnewOverrides.push( {\n\t\t\t\t\t\tid: `${ override.variation }-${ override.clientId }`,\n\t\t\t\t\t\tcss: variationStyles,\n\t\t\t\t\t\t__unstableType: 'variation',\n\t\t\t\t\t\tvariation: override.variation,\n\t\t\t\t\t\t// The clientId will be stored with the override and used to ensure\n\t\t\t\t\t\t// the order of overrides matches the order of blocks so that the\n\t\t\t\t\t\t// correct CSS cascade is maintained.\n\t\t\t\t\t\tclientId: override.clientId,\n\t\t\t\t\t} );\n\t\t\t\t\toverriddenClientIds.push( override.clientId );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn newOverrides;\n\t}, [ config, overrides, getBlockName ] );\n\n\tif ( ! overridesWithConfig || ! overridesWithConfig.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ overridesWithConfig.map( ( override ) => (\n\t\t\t\t<OverrideStyles key={ override.id } override={ override } />\n\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nfunction useBlockStyleVariation( name, variation, clientId ) {\n\tconst { globalSettings, globalStyles } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tglobalSettings: settings.__experimentalFeatures,\n\t\t\tglobalStyles: settings[ globalStylesDataKey ],\n\t\t};\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\tconst variationStyles = getVariationStyle(\n\t\t\t{\n\t\t\t\tsettings: globalSettings,\n\t\t\t\tstyles: globalStyles,\n\t\t\t},\n\t\t\tname,\n\t\t\tvariation\n\t\t);\n\n\t\treturn {\n\t\t\tsettings: globalSettings,\n\t\t\t// The variation style data is all that is needed to generate\n\t\t\t// the styles for the current application to a block. The variation\n\t\t\t// name is updated to match the instance specific class name.\n\t\t\tstyles: {\n\t\t\t\tblocks: {\n\t\t\t\t\t[ name ]: {\n\t\t\t\t\t\tvariations: {\n\t\t\t\t\t\t\t[ `${ variation }-${ clientId }` ]: variationStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}, [ globalSettings, globalStyles, variation, clientId, name ] );\n}\n\n// Rather than leveraging `useInstanceId` here, the `clientId` is used.\n// This is so that the variation style override's ID is predictable\n// when the order of applied style variations changes.\nfunction useBlockProps( { name, className, clientId } ) {\n\tconst { getBlockStyles } = useSelect( blocksStore );\n\n\tconst registeredStyles = getBlockStyles( name );\n\tconst variation = getVariationNameFromClass( className, registeredStyles );\n\tconst variationClass = `${ VARIATION_PREFIX }${ variation }-${ clientId }`;\n\n\tconst { settings, styles } = useBlockStyleVariation(\n\t\tname,\n\t\tvariation,\n\t\tclientId\n\t);\n\n\tconst variationStyles = useMemo( () => {\n\t\tif ( ! variation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst variationConfig = { settings, styles };\n\t\tconst blockSelectors = getBlockSelectors( getBlockTypes(), clientId );\n\t\tconst hasBlockGapSupport = false;\n\t\tconst hasFallbackGapSupport = true;\n\t\tconst disableLayoutStyles = true;\n\t\tconst disableRootPadding = true;\n\n\t\treturn toStyles(\n\t\t\tvariationConfig,\n\t\t\tblockSelectors,\n\t\t\thasBlockGapSupport,\n\t\t\thasFallbackGapSupport,\n\t\t\tdisableLayoutStyles,\n\t\t\tdisableRootPadding,\n\t\t\t{\n\t\t\t\tblockGap: false,\n\t\t\t\tblockStyles: true,\n\t\t\t\tlayoutStyles: false,\n\t\t\t\tmarginReset: false,\n\t\t\t\tpresets: false,\n\t\t\t\trootPadding: false,\n\t\t\t\tvariationStyles: true,\n\t\t\t}\n\t\t);\n\t}, [ variation, settings, styles, clientId ] );\n\n\tusePrivateStyleOverride( {\n\t\tid: `variation-${ clientId }`,\n\t\tcss: variationStyles,\n\t\t__unstableType: 'variation',\n\t\tvariation,\n\t\t// The clientId will be stored with the override and used to ensure\n\t\t// the order of overrides matches the order of blocks so that the\n\t\t// correct CSS cascade is maintained.\n\t\tclientId,\n\t} );\n\n\treturn variation ? { className: variationClass } : {};\n}\n\nexport default {\n\thasSupport: () => true,\n\tattributeKeys: [ 'className' ],\n\tisMatch: ( { className } ) => getVariationMatches( className ).length > 0,\n\tuseBlockProps,\n};\n"],
|
|
5
5
|
"mappings": ";AAAA,SAAS,eAAe,SAAS,mBAAmB;AACpD,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB;AAAA,EACC;AAAA,EACA;AAAA,EACA,eAAe;AAAA,OACT;AACP,SAAS,+BAA+B;AACxC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,2BAA2B;AACpC,SAAS,cAAc;AA4JrB,mBAEE,WAFF;AA1JF,IAAM,EAAE,kBAAkB,IAAI,OAAQ,6BAA8B;AAEpE,IAAM,mBAAmB;AAEzB,SAAS,oBAAqB,WAAY;AACzC,MAAK,CAAE,WAAY;AAClB,WAAO,CAAC;AAAA,EACT;AACA,SAAO,UAAU,MAAO,KAAM,EAAE,OAAQ,CAAE,SAAS,SAAU;AAC5D,QAAK,KAAK,WAAY,gBAAiB,GAAI;AAC1C,YAAM,QAAQ,KAAK,MAAO,iBAAiB,MAAO;AAClD,UAAK,UAAU,WAAY;AAC1B,gBAAQ,KAAM,KAAM;AAAA,MACrB;AAAA,IACD;AACA,WAAO;AAAA,EACR,GAAG,CAAC,CAAE;AACP;AAUO,SAAS,0BAA2B,WAAW,mBAAmB,CAAC,GAAI;AAG7E,QAAM,UAAU,oBAAqB,SAAU;AAE/C,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AAEA,aAAY,aAAa,SAAU;AAClC,QAAK,iBAAiB,KAAM,CAAE,UAAW,MAAM,SAAS,SAAU,GAAI;AACrE,aAAO;AAAA,IACR;AAAA,EACD;AACA,SAAO;AACR;AAGA,SAAS,eAAgB,EAAE,SAAS,GAAI;AACvC,0BAAyB,QAAS;AACnC;AAaO,SAAS,uCAAwC,EAAE,OAAO,GAAI;AACpE,QAAM,EAAE,UAAU,IAAI;AAAA,IACrB,CAAE,YAAc;AAAA,MACf,WAAW,OAAQ,OAAQ,gBAAiB,CAAE,EAAE,kBAAkB;AAAA,IACnE;AAAA,IACA,CAAC;AAAA,EACF;AACA,QAAM,EAAE,aAAa,IAAI,UAAW,gBAAiB;AAErD,QAAM,sBAAsB,QAAS,MAAM;AAC1C,QAAK,CAAE,WAAW,QAAS;AAC1B;AAAA,IACD;AACA,UAAM,eAAe,CAAC;AACtB,UAAM,sBAAsB,CAAC;AAC7B,eAAY,CAAE,EAAE,QAAS,KAAK,WAAY;AACzC,UACC,UAAU,aACV,UAAU;AAAA;AAAA;AAAA;AAAA,MAKV,CAAE,oBAAoB,SAAU,SAAS,QAAS,GACjD;AACD,cAAM,YAAY,aAAc,SAAS,QAAS;AAClD,cAAM,eACL,QAAQ,QAAQ,SAAU,SAAU,GAAG,aACtC,SAAS,SACV;AACD,YAAK,cAAe;AACnB,gBAAM,kBAAkB;AAAA,YACvB,UAAU,QAAQ;AAAA;AAAA;AAAA;AAAA,YAIlB,QAAQ;AAAA,cACP,QAAQ;AAAA,gBACP,CAAE,SAAU,GAAG;AAAA,kBACd,YAAY;AAAA,oBACX,CAAE,GAAI,SAAS,SAAU,IAAK,SAAS,QAAS,EAAG,GAClD;AAAA,kBACF;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AACA,gBAAM,iBAAiB;AAAA,YACtB,cAAc;AAAA,YACd,SAAS;AAAA,UACV;AACA,gBAAM,qBAAqB;AAC3B,gBAAM,wBAAwB;AAC9B,gBAAM,sBAAsB;AAC5B,gBAAM,qBAAqB;AAC3B,gBAAM,kBAAkB;AAAA,YACvB;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,cACC,UAAU;AAAA,cACV,aAAa;AAAA,cACb,cAAc;AAAA,cACd,aAAa;AAAA,cACb,SAAS;AAAA,cACT,aAAa;AAAA,cACb,iBAAiB;AAAA,YAClB;AAAA,UACD;AACA,uBAAa,KAAM;AAAA,YAClB,IAAI,GAAI,SAAS,SAAU,IAAK,SAAS,QAAS;AAAA,YAClD,KAAK;AAAA,YACL,gBAAgB;AAAA,YAChB,WAAW,SAAS;AAAA;AAAA;AAAA;AAAA,YAIpB,UAAU,SAAS;AAAA,UACpB,CAAE;AACF,8BAAoB,KAAM,SAAS,QAAS;AAAA,QAC7C;AAAA,MACD;AAAA,IACD;AACA,WAAO;AAAA,EACR,GAAG,CAAE,QAAQ,WAAW,YAAa,CAAE;AAEvC,MAAK,CAAE,uBAAuB,CAAE,oBAAoB,QAAS;AAC5D,WAAO;AAAA,EACR;AAEA,SACC,gCACG,8BAAoB,IAAK,CAAE,aAC5B,oBAAC,kBAAmC,YAAd,SAAS,EAA2B,CACzD,GACH;AAEF;AAEA,SAAS,uBAAwB,MAAM,WAAW,UAAW;AAC5D,QAAM,EAAE,gBAAgB,aAAa,IAAI,UAAW,CAAE,WAAY;AACjE,UAAM,WAAW,OAAQ,gBAAiB,EAAE,YAAY;AACxD,WAAO;AAAA,MACN,gBAAgB,SAAS;AAAA,MACzB,cAAc,SAAU,mBAAoB;AAAA,IAC7C;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,SAAO,QAAS,MAAM;AACrB,UAAM,kBAAkB;AAAA,MACvB;AAAA,QACC,UAAU;AAAA,QACV,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAEA,WAAO;AAAA,MACN,UAAU;AAAA;AAAA;AAAA;AAAA,MAIV,QAAQ;AAAA,QACP,QAAQ;AAAA,UACP,CAAE,IAAK,GAAG;AAAA,YACT,YAAY;AAAA,cACX,CAAE,GAAI,SAAU,IAAK,QAAS,EAAG,GAAG;AAAA,YACrC;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD,GAAG,CAAE,gBAAgB,cAAc,WAAW,UAAU,IAAK,CAAE;AAChE;AAKA,SAAS,cAAe,EAAE,MAAM,WAAW,SAAS,GAAI;AACvD,QAAM,EAAE,eAAe,IAAI,UAAW,WAAY;AAElD,QAAM,mBAAmB,eAAgB,IAAK;AAC9C,QAAM,YAAY,0BAA2B,WAAW,gBAAiB;AACzE,QAAM,iBAAiB,GAAI,gBAAiB,GAAI,SAAU,IAAK,QAAS;AAExE,QAAM,EAAE,UAAU,OAAO,IAAI;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,kBAAkB,QAAS,MAAM;AACtC,QAAK,CAAE,WAAY;AAClB;AAAA,IACD;AAEA,UAAM,kBAAkB,EAAE,UAAU,OAAO;AAC3C,UAAM,iBAAiB,kBAAmB,cAAc,GAAG,QAAS;AACpE,UAAM,qBAAqB;AAC3B,UAAM,wBAAwB;AAC9B,UAAM,sBAAsB;AAC5B,UAAM,qBAAqB;AAE3B,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACC,UAAU;AAAA,QACV,aAAa;AAAA,QACb,cAAc;AAAA,QACd,aAAa;AAAA,QACb,SAAS;AAAA,QACT,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,IACD;AAAA,EACD,GAAG,CAAE,WAAW,UAAU,QAAQ,QAAS,CAAE;AAE7C,0BAAyB;AAAA,IACxB,IAAI,aAAc,QAAS;AAAA,IAC3B,KAAK;AAAA,IACL,gBAAgB;AAAA,IAChB;AAAA;AAAA;AAAA;AAAA,IAIA;AAAA,EACD,CAAE;AAEF,SAAO,YAAY,EAAE,WAAW,eAAe,IAAI,CAAC;AACrD;AAEA,IAAO,gCAAQ;AAAA,EACd,YAAY,MAAM;AAAA,EAClB,eAAe,CAAE,WAAY;AAAA,EAC7B,SAAS,CAAE,EAAE,UAAU,MAAO,oBAAqB,SAAU,EAAE,SAAS;AAAA,EACxE;AACD;",
|
|
6
6
|
"names": []
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
// packages/block-editor/src/hooks/border.
|
|
1
|
+
// packages/block-editor/src/hooks/border.jsx
|
|
2
2
|
import clsx from "clsx";
|
|
3
3
|
import { hasBlockSupport, getBlockSupport } from "@wordpress/blocks";
|
|
4
4
|
import { __experimentalHasSplitBorders as hasSplitBorders } from "@wordpress/components";
|
|
5
5
|
import { useCallback, useMemo } from "@wordpress/element";
|
|
6
6
|
import { addFilter } from "@wordpress/hooks";
|
|
7
7
|
import { useSelect } from "@wordpress/data";
|
|
8
|
-
import { __ } from "@wordpress/i18n";
|
|
9
8
|
import { getColorClassName } from "../components/colors/index.mjs";
|
|
10
9
|
import InspectorControls from "../components/inspector-controls/index.mjs";
|
|
11
10
|
import useMultipleOriginColorsAndGradients from "../components/colors-gradients/use-multiple-origin-colors-and-gradients.mjs";
|
|
12
11
|
import { cleanEmptyObject, shouldSkipSerialization } from "./utils.mjs";
|
|
13
12
|
import {
|
|
14
13
|
useHasBorderPanel,
|
|
15
|
-
useHasBorderPanelControls,
|
|
16
14
|
BorderPanel as StylesBorderPanel
|
|
17
15
|
} from "../components/global-styles/index.mjs";
|
|
18
16
|
import { useResolvedStyle } from "../components/global-styles/inherited-value-context.mjs";
|
|
@@ -23,11 +21,9 @@ import {
|
|
|
23
21
|
setStyleForState,
|
|
24
22
|
useBlockStyleState
|
|
25
23
|
} from "./block-style-state.mjs";
|
|
26
|
-
import { unlock } from "../lock-unlock.mjs";
|
|
27
24
|
import { jsx } from "react/jsx-runtime";
|
|
28
25
|
var BORDER_SUPPORT_KEY = "__experimentalBorder";
|
|
29
26
|
var SHADOW_SUPPORT_KEY = "shadow";
|
|
30
|
-
var EMPTY_ARRAY = [];
|
|
31
27
|
var getColorByProperty = (colors, property, value) => {
|
|
32
28
|
let matchedColor;
|
|
33
29
|
colors.some(
|
|
@@ -193,45 +189,6 @@ function hasBorderSupport(blockName, feature = "any") {
|
|
|
193
189
|
function hasShadowSupport(blockName) {
|
|
194
190
|
return hasBlockSupport(blockName, SHADOW_SUPPORT_KEY);
|
|
195
191
|
}
|
|
196
|
-
function useBorderPanelLabel({
|
|
197
|
-
clientId,
|
|
198
|
-
hasBorderControl,
|
|
199
|
-
hasShadowControl
|
|
200
|
-
} = {}) {
|
|
201
|
-
const [color, radius, style, width, shadow] = useSelect(
|
|
202
|
-
(select) => {
|
|
203
|
-
if (!clientId) {
|
|
204
|
-
return EMPTY_ARRAY;
|
|
205
|
-
}
|
|
206
|
-
const { getBlockSettings } = unlock(select(blockEditorStore));
|
|
207
|
-
return getBlockSettings(
|
|
208
|
-
clientId,
|
|
209
|
-
"border.color",
|
|
210
|
-
"border.radius",
|
|
211
|
-
"border.style",
|
|
212
|
-
"border.width",
|
|
213
|
-
"shadow"
|
|
214
|
-
);
|
|
215
|
-
},
|
|
216
|
-
[clientId]
|
|
217
|
-
);
|
|
218
|
-
const settings = useMemo(
|
|
219
|
-
() => ({ border: { color, radius, style, width }, shadow }),
|
|
220
|
-
[color, radius, style, width, shadow]
|
|
221
|
-
);
|
|
222
|
-
const controls = useHasBorderPanelControls(settings);
|
|
223
|
-
if (!hasBorderControl && !hasShadowControl && clientId) {
|
|
224
|
-
hasBorderControl = controls?.hasBorderColor || controls?.hasBorderStyle || controls?.hasBorderWidth || controls?.hasBorderRadius;
|
|
225
|
-
hasShadowControl = controls?.hasShadow;
|
|
226
|
-
}
|
|
227
|
-
if (hasBorderControl && hasShadowControl) {
|
|
228
|
-
return __("Border & Shadow");
|
|
229
|
-
}
|
|
230
|
-
if (hasShadowControl) {
|
|
231
|
-
return __("Shadow");
|
|
232
|
-
}
|
|
233
|
-
return __("Border");
|
|
234
|
-
}
|
|
235
192
|
function removeBorderAttribute(style, attribute) {
|
|
236
193
|
return cleanEmptyObject({
|
|
237
194
|
...style,
|
|
@@ -334,7 +291,6 @@ export {
|
|
|
334
291
|
getMultiOriginColor,
|
|
335
292
|
hasBorderSupport,
|
|
336
293
|
hasShadowSupport,
|
|
337
|
-
removeBorderAttribute
|
|
338
|
-
useBorderPanelLabel
|
|
294
|
+
removeBorderAttribute
|
|
339
295
|
};
|
|
340
296
|
//# sourceMappingURL=border.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/border.
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport { hasBlockSupport, getBlockSupport } from '@wordpress/blocks';\nimport { __experimentalHasSplitBorders as hasSplitBorders } from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { getColorClassName } from '../components/colors';\nimport InspectorControls from '../components/inspector-controls';\nimport useMultipleOriginColorsAndGradients from '../components/colors-gradients/use-multiple-origin-colors-and-gradients';\nimport { cleanEmptyObject, shouldSkipSerialization } from './utils';\nimport {\n\tuseHasBorderPanel,\n\tuseHasBorderPanelControls,\n\tBorderPanel as StylesBorderPanel,\n} from '../components/global-styles';\nimport { useResolvedStyle } from '../components/global-styles/inherited-value-context';\nimport { store as blockEditorStore } from '../store';\nimport {\n\tgetStyleForState,\n\tisDefaultBlockStyleState,\n\tsetStyleForState,\n\tuseBlockStyleState,\n} from './block-style-state';\nimport { unlock } from '../lock-unlock';\n\nexport const BORDER_SUPPORT_KEY = '__experimentalBorder';\nexport const SHADOW_SUPPORT_KEY = 'shadow';\n\nconst EMPTY_ARRAY = [];\n\nconst getColorByProperty = ( colors, property, value ) => {\n\tlet matchedColor;\n\n\tcolors.some( ( origin ) =>\n\t\torigin.colors.some( ( color ) => {\n\t\t\tif ( color[ property ] === value ) {\n\t\t\t\tmatchedColor = color;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} )\n\t);\n\n\treturn matchedColor;\n};\n\nexport const getMultiOriginColor = ( { colors, namedColor, customColor } ) => {\n\t// Search each origin (default, theme, or user) for matching color by name.\n\tif ( namedColor ) {\n\t\tconst colorObject = getColorByProperty( colors, 'slug', namedColor );\n\t\tif ( colorObject ) {\n\t\t\treturn colorObject;\n\t\t}\n\t}\n\n\t// Skip if no custom color or matching named color.\n\tif ( ! customColor ) {\n\t\treturn { color: undefined };\n\t}\n\n\t// Attempt to find color via custom color value or build new object.\n\tconst colorObject = getColorByProperty( colors, 'color', customColor );\n\treturn colorObject ? colorObject : { color: customColor };\n};\n\nfunction getColorSlugFromVariable( value ) {\n\tconst namedColor = /var:preset\\|color\\|(.+)/.exec( value );\n\tif ( namedColor && namedColor[ 1 ] ) {\n\t\treturn namedColor[ 1 ];\n\t}\n\treturn null;\n}\n\nfunction styleToAttributes( style ) {\n\tif ( hasSplitBorders( style?.border ) ) {\n\t\treturn {\n\t\t\tstyle,\n\t\t\tborderColor: undefined,\n\t\t};\n\t}\n\n\tconst borderColorValue = style?.border?.color;\n\tconst borderColorSlug = borderColorValue?.startsWith( 'var:preset|color|' )\n\t\t? borderColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst updatedStyle = { ...style };\n\tupdatedStyle.border = {\n\t\t...updatedStyle.border,\n\t\tcolor: borderColorSlug ? undefined : borderColorValue,\n\t};\n\treturn {\n\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\tborderColor: borderColorSlug,\n\t};\n}\n\nfunction attributesToStyle( attributes ) {\n\tif ( hasSplitBorders( attributes.style?.border ) ) {\n\t\treturn attributes.style;\n\t}\n\treturn {\n\t\t...attributes.style,\n\t\tborder: {\n\t\t\t...attributes.style?.border,\n\t\t\tcolor: attributes.borderColor\n\t\t\t\t? 'var:preset|color|' + attributes.borderColor\n\t\t\t\t: attributes.style?.border?.color,\n\t\t},\n\t};\n}\n\nfunction BordersInspectorControl( { label, children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributesToStyle( attributes );\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...styleToAttributes( 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=\"border\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function BorderPanel( { clientId, name, setAttributes, settings } ) {\n\tconst selectedState = useBlockStyleState();\n\tconst isEnabled = useHasBorderPanel( settings );\n\tconst { style, borderColor, className } = 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 {\n\t\t\t\tstyle: _style,\n\t\t\t\tborderColor: _borderColor,\n\t\t\t\tclassName: _className,\n\t\t\t} = select( blockEditorStore ).getBlockAttributes( clientId ) || {};\n\t\t\treturn {\n\t\t\t\tstyle: _style,\n\t\t\t\tborderColor: _borderColor,\n\t\t\t\tclassName: _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 attributesToStyle( { style, borderColor } );\n\t}, [ isStateSelected, selectedState, style, borderColor ] );\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( styleToAttributes( newStyle ) );\n\t\t };\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = {\n\t\t...getBlockSupport( name, [\n\t\t\tBORDER_SUPPORT_KEY,\n\t\t\t'__experimentalDefaultControls',\n\t\t] ),\n\t\t...getBlockSupport( name, [\n\t\t\tSHADOW_SUPPORT_KEY,\n\t\t\t'__experimentalDefaultControls',\n\t\t] ),\n\t};\n\n\treturn (\n\t\t<StylesBorderPanel\n\t\t\tas={ BordersInspectorControl }\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\tinheritedValue={ inheritedValue }\n\t\t/>\n\t);\n}\n\n/**\n * Determine whether there is block support for border properties.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Border feature to check support for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasBorderSupport( blockName, feature = 'any' ) {\n\tconst support = getBlockSupport( blockName, BORDER_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?.color ||\n\t\t\tsupport?.radius ||\n\t\t\tsupport?.width ||\n\t\t\tsupport?.style\n\t\t);\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\n/**\n * Determine whether there is block support for shadow properties.\n *\n * @param {string} blockName Block name.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasShadowSupport( blockName ) {\n\treturn hasBlockSupport( blockName, SHADOW_SUPPORT_KEY );\n}\n\nexport function useBorderPanelLabel( {\n\tclientId,\n\thasBorderControl,\n\thasShadowControl,\n} = {} ) {\n\tconst [ color, radius, style, width, shadow ] = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\tconst { getBlockSettings } = unlock( select( blockEditorStore ) );\n\t\t\treturn getBlockSettings(\n\t\t\t\tclientId,\n\t\t\t\t'border.color',\n\t\t\t\t'border.radius',\n\t\t\t\t'border.style',\n\t\t\t\t'border.width',\n\t\t\t\t'shadow'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { border: { color, radius, style, width }, shadow } ),\n\t\t[ color, radius, style, width, shadow ]\n\t);\n\tconst controls = useHasBorderPanelControls( settings );\n\n\tif ( ! hasBorderControl && ! hasShadowControl && clientId ) {\n\t\thasBorderControl =\n\t\t\tcontrols?.hasBorderColor ||\n\t\t\tcontrols?.hasBorderStyle ||\n\t\t\tcontrols?.hasBorderWidth ||\n\t\t\tcontrols?.hasBorderRadius;\n\t\thasShadowControl = controls?.hasShadow;\n\t}\n\n\tif ( hasBorderControl && hasShadowControl ) {\n\t\treturn __( 'Border & Shadow' );\n\t}\n\n\tif ( hasShadowControl ) {\n\t\treturn __( 'Shadow' );\n\t}\n\n\treturn __( 'Border' );\n}\n\n/**\n * Returns a new style object where the specified border attribute has been\n * removed.\n *\n * @param {Object} style Styles from block attributes.\n * @param {string} attribute The border style attribute to clear.\n *\n * @return {Object} Style object with the specified attribute removed.\n */\nexport function removeBorderAttribute( style, attribute ) {\n\treturn cleanEmptyObject( {\n\t\t...style,\n\t\tborder: {\n\t\t\t...style?.border,\n\t\t\t[ attribute ]: undefined,\n\t\t},\n\t} );\n}\n\n/**\n * Filters registered block settings, extending attributes to include\n * `borderColor` if needed.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Updated block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBorderSupport( settings, 'color' ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify default value if needed.\n\tif ( settings.attributes.borderColor ) {\n\t\treturn settings;\n\t}\n\n\t// Add new borderColor attribute to block settings.\n\treturn {\n\t\t...settings,\n\t\tattributes: {\n\t\t\t...settings.attributes,\n\t\t\tborderColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t};\n}\n\n/**\n * Override props assigned to save component to inject border color.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object|string} blockNameOrType Block type definition.\n * @param {Object} attributes Block's attributes.\n *\n * @return {Object} Filtered props to apply to save element.\n */\nfunction addSaveProps( props, blockNameOrType, attributes ) {\n\tif (\n\t\t! hasBorderSupport( blockNameOrType, 'color' ) ||\n\t\tshouldSkipSerialization( blockNameOrType, BORDER_SUPPORT_KEY, 'color' )\n\t) {\n\t\treturn props;\n\t}\n\n\tconst borderClasses = getBorderClasses( attributes );\n\tconst newClassName = clsx( props.className, borderClasses );\n\n\t// If we are clearing the last of the previous classes in `className`\n\t// set it to `undefined` to avoid rendering empty DOM attributes.\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Generates a CSS class name consisting of all the applicable border color\n * classes given the current block attributes.\n *\n * @param {Object} attributes Block's attributes.\n *\n * @return {string} CSS class name.\n */\nexport function getBorderClasses( attributes ) {\n\tconst { borderColor, style } = attributes;\n\tconst borderColorClass = getColorClassName( 'border-color', borderColor );\n\n\treturn clsx( {\n\t\t'has-border-color': borderColor || style?.border?.color,\n\t\t[ borderColorClass ]: !! borderColorClass,\n\t} );\n}\n\nfunction useBlockProps( { name, borderColor, style } ) {\n\tconst { colors } = useMultipleOriginColorsAndGradients();\n\n\tif (\n\t\t! hasBorderSupport( name, 'color' ) ||\n\t\tshouldSkipSerialization( name, BORDER_SUPPORT_KEY, 'color' )\n\t) {\n\t\treturn {};\n\t}\n\n\tconst { color: borderColorValue } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: borderColor,\n\t} );\n\tconst { color: borderTopColor } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: getColorSlugFromVariable( style?.border?.top?.color ),\n\t} );\n\tconst { color: borderRightColor } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: getColorSlugFromVariable( style?.border?.right?.color ),\n\t} );\n\n\tconst { color: borderBottomColor } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: getColorSlugFromVariable( style?.border?.bottom?.color ),\n\t} );\n\tconst { color: borderLeftColor } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: getColorSlugFromVariable( style?.border?.left?.color ),\n\t} );\n\n\tconst extraStyles = {\n\t\tborderTopColor: borderTopColor || borderColorValue,\n\t\tborderRightColor: borderRightColor || borderColorValue,\n\t\tborderBottomColor: borderBottomColor || borderColorValue,\n\t\tborderLeftColor: borderLeftColor || borderColorValue,\n\t};\n\n\treturn addSaveProps(\n\t\t{ style: cleanEmptyObject( extraStyles ) || {} },\n\t\tname,\n\t\t{ borderColor, style }\n\t);\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'borderColor', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBorderSupport( name, 'color' );\n\t},\n};\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/border/addAttributes',\n\taddAttributes\n);\n"],
|
|
5
|
-
"mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,iBAAiB,uBAAuB;AACjD,SAAS,iCAAiC,uBAAuB;AACjE,SAAS,aAAa,eAAe;AACrC,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,
|
|
3
|
+
"sources": ["../../src/hooks/border.jsx"],
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { hasBlockSupport, getBlockSupport } from '@wordpress/blocks';\nimport { __experimentalHasSplitBorders as hasSplitBorders } from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\nimport { useSelect } from '@wordpress/data';\nimport { getColorClassName } from '../components/colors';\nimport InspectorControls from '../components/inspector-controls';\nimport useMultipleOriginColorsAndGradients from '../components/colors-gradients/use-multiple-origin-colors-and-gradients';\nimport { cleanEmptyObject, shouldSkipSerialization } from './utils';\nimport {\n\tuseHasBorderPanel,\n\tBorderPanel as StylesBorderPanel,\n} from '../components/global-styles';\nimport { useResolvedStyle } from '../components/global-styles/inherited-value-context';\nimport { store as blockEditorStore } from '../store';\nimport {\n\tgetStyleForState,\n\tisDefaultBlockStyleState,\n\tsetStyleForState,\n\tuseBlockStyleState,\n} from './block-style-state';\n\nexport const BORDER_SUPPORT_KEY = '__experimentalBorder';\nexport const SHADOW_SUPPORT_KEY = 'shadow';\n\nconst getColorByProperty = ( colors, property, value ) => {\n\tlet matchedColor;\n\n\tcolors.some( ( origin ) =>\n\t\torigin.colors.some( ( color ) => {\n\t\t\tif ( color[ property ] === value ) {\n\t\t\t\tmatchedColor = color;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} )\n\t);\n\n\treturn matchedColor;\n};\n\nexport const getMultiOriginColor = ( { colors, namedColor, customColor } ) => {\n\t// Search each origin (default, theme, or user) for matching color by name.\n\tif ( namedColor ) {\n\t\tconst colorObject = getColorByProperty( colors, 'slug', namedColor );\n\t\tif ( colorObject ) {\n\t\t\treturn colorObject;\n\t\t}\n\t}\n\n\t// Skip if no custom color or matching named color.\n\tif ( ! customColor ) {\n\t\treturn { color: undefined };\n\t}\n\n\t// Attempt to find color via custom color value or build new object.\n\tconst colorObject = getColorByProperty( colors, 'color', customColor );\n\treturn colorObject ? colorObject : { color: customColor };\n};\n\nfunction getColorSlugFromVariable( value ) {\n\tconst namedColor = /var:preset\\|color\\|(.+)/.exec( value );\n\tif ( namedColor && namedColor[ 1 ] ) {\n\t\treturn namedColor[ 1 ];\n\t}\n\treturn null;\n}\n\nfunction styleToAttributes( style ) {\n\tif ( hasSplitBorders( style?.border ) ) {\n\t\treturn {\n\t\t\tstyle,\n\t\t\tborderColor: undefined,\n\t\t};\n\t}\n\n\tconst borderColorValue = style?.border?.color;\n\tconst borderColorSlug = borderColorValue?.startsWith( 'var:preset|color|' )\n\t\t? borderColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst updatedStyle = { ...style };\n\tupdatedStyle.border = {\n\t\t...updatedStyle.border,\n\t\tcolor: borderColorSlug ? undefined : borderColorValue,\n\t};\n\treturn {\n\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\tborderColor: borderColorSlug,\n\t};\n}\n\nfunction attributesToStyle( attributes ) {\n\tif ( hasSplitBorders( attributes.style?.border ) ) {\n\t\treturn attributes.style;\n\t}\n\treturn {\n\t\t...attributes.style,\n\t\tborder: {\n\t\t\t...attributes.style?.border,\n\t\t\tcolor: attributes.borderColor\n\t\t\t\t? 'var:preset|color|' + attributes.borderColor\n\t\t\t\t: attributes.style?.border?.color,\n\t\t},\n\t};\n}\n\nfunction BordersInspectorControl( { label, children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributesToStyle( attributes );\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...styleToAttributes( 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=\"border\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function BorderPanel( { clientId, name, setAttributes, settings } ) {\n\tconst selectedState = useBlockStyleState();\n\tconst isEnabled = useHasBorderPanel( settings );\n\tconst { style, borderColor, className } = 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 {\n\t\t\t\tstyle: _style,\n\t\t\t\tborderColor: _borderColor,\n\t\t\t\tclassName: _className,\n\t\t\t} = select( blockEditorStore ).getBlockAttributes( clientId ) || {};\n\t\t\treturn {\n\t\t\t\tstyle: _style,\n\t\t\t\tborderColor: _borderColor,\n\t\t\t\tclassName: _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 attributesToStyle( { style, borderColor } );\n\t}, [ isStateSelected, selectedState, style, borderColor ] );\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( styleToAttributes( newStyle ) );\n\t\t };\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = {\n\t\t...getBlockSupport( name, [\n\t\t\tBORDER_SUPPORT_KEY,\n\t\t\t'__experimentalDefaultControls',\n\t\t] ),\n\t\t...getBlockSupport( name, [\n\t\t\tSHADOW_SUPPORT_KEY,\n\t\t\t'__experimentalDefaultControls',\n\t\t] ),\n\t};\n\n\treturn (\n\t\t<StylesBorderPanel\n\t\t\tas={ BordersInspectorControl }\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\tinheritedValue={ inheritedValue }\n\t\t/>\n\t);\n}\n\n/**\n * Determine whether there is block support for border properties.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Border feature to check support for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasBorderSupport( blockName, feature = 'any' ) {\n\tconst support = getBlockSupport( blockName, BORDER_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?.color ||\n\t\t\tsupport?.radius ||\n\t\t\tsupport?.width ||\n\t\t\tsupport?.style\n\t\t);\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\n/**\n * Determine whether there is block support for shadow properties.\n *\n * @param {string} blockName Block name.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasShadowSupport( blockName ) {\n\treturn hasBlockSupport( blockName, SHADOW_SUPPORT_KEY );\n}\n\n/**\n * Returns a new style object where the specified border attribute has been\n * removed.\n *\n * @param {Object} style Styles from block attributes.\n * @param {string} attribute The border style attribute to clear.\n *\n * @return {Object} Style object with the specified attribute removed.\n */\nexport function removeBorderAttribute( style, attribute ) {\n\treturn cleanEmptyObject( {\n\t\t...style,\n\t\tborder: {\n\t\t\t...style?.border,\n\t\t\t[ attribute ]: undefined,\n\t\t},\n\t} );\n}\n\n/**\n * Filters registered block settings, extending attributes to include\n * `borderColor` if needed.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Updated block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBorderSupport( settings, 'color' ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify default value if needed.\n\tif ( settings.attributes.borderColor ) {\n\t\treturn settings;\n\t}\n\n\t// Add new borderColor attribute to block settings.\n\treturn {\n\t\t...settings,\n\t\tattributes: {\n\t\t\t...settings.attributes,\n\t\t\tborderColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t};\n}\n\n/**\n * Override props assigned to save component to inject border color.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object|string} blockNameOrType Block type definition.\n * @param {Object} attributes Block's attributes.\n *\n * @return {Object} Filtered props to apply to save element.\n */\nfunction addSaveProps( props, blockNameOrType, attributes ) {\n\tif (\n\t\t! hasBorderSupport( blockNameOrType, 'color' ) ||\n\t\tshouldSkipSerialization( blockNameOrType, BORDER_SUPPORT_KEY, 'color' )\n\t) {\n\t\treturn props;\n\t}\n\n\tconst borderClasses = getBorderClasses( attributes );\n\tconst newClassName = clsx( props.className, borderClasses );\n\n\t// If we are clearing the last of the previous classes in `className`\n\t// set it to `undefined` to avoid rendering empty DOM attributes.\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Generates a CSS class name consisting of all the applicable border color\n * classes given the current block attributes.\n *\n * @param {Object} attributes Block's attributes.\n *\n * @return {string} CSS class name.\n */\nexport function getBorderClasses( attributes ) {\n\tconst { borderColor, style } = attributes;\n\tconst borderColorClass = getColorClassName( 'border-color', borderColor );\n\n\treturn clsx( {\n\t\t'has-border-color': borderColor || style?.border?.color,\n\t\t[ borderColorClass ]: !! borderColorClass,\n\t} );\n}\n\nfunction useBlockProps( { name, borderColor, style } ) {\n\tconst { colors } = useMultipleOriginColorsAndGradients();\n\n\tif (\n\t\t! hasBorderSupport( name, 'color' ) ||\n\t\tshouldSkipSerialization( name, BORDER_SUPPORT_KEY, 'color' )\n\t) {\n\t\treturn {};\n\t}\n\n\tconst { color: borderColorValue } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: borderColor,\n\t} );\n\tconst { color: borderTopColor } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: getColorSlugFromVariable( style?.border?.top?.color ),\n\t} );\n\tconst { color: borderRightColor } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: getColorSlugFromVariable( style?.border?.right?.color ),\n\t} );\n\n\tconst { color: borderBottomColor } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: getColorSlugFromVariable( style?.border?.bottom?.color ),\n\t} );\n\tconst { color: borderLeftColor } = getMultiOriginColor( {\n\t\tcolors,\n\t\tnamedColor: getColorSlugFromVariable( style?.border?.left?.color ),\n\t} );\n\n\tconst extraStyles = {\n\t\tborderTopColor: borderTopColor || borderColorValue,\n\t\tborderRightColor: borderRightColor || borderColorValue,\n\t\tborderBottomColor: borderBottomColor || borderColorValue,\n\t\tborderLeftColor: borderLeftColor || borderColorValue,\n\t};\n\n\treturn addSaveProps(\n\t\t{ style: cleanEmptyObject( extraStyles ) || {} },\n\t\tname,\n\t\t{ borderColor, style }\n\t);\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'borderColor', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBorderSupport( name, 'color' );\n\t},\n};\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/border/addAttributes',\n\taddAttributes\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["colorObject"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/custom-class-name.
|
|
3
|
+
"sources": ["../../src/hooks/custom-class-name.jsx"],
|
|
4
4
|
"sourcesContent": ["import clsx from 'clsx';\nimport { addFilter } from '@wordpress/hooks';\nimport { TextControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { InspectorControls } from '../components';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * Filters registered block settings, extending attributes to include `className`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( hasBlockSupport( settings, 'customClassName', true ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tclassName: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction CustomClassNameControlsPure( { className, setAttributes } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<TextControl\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tlabel={ __( 'Additional CSS class(es)' ) }\n\t\t\t\tvalue={ className || '' }\n\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tclassName: nextValue !== '' ? nextValue : undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\thelp={ __( 'Separate multiple classes with spaces.' ) }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\tedit: CustomClassNameControlsPure,\n\taddSaveProps,\n\tattributeKeys: [ 'className' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'customClassName', true );\n\t},\n};\n\n/**\n * Override props assigned to save component to inject the className, if block\n * supports customClassName. 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 * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif (\n\t\thasBlockSupport( blockType, 'customClassName', true ) &&\n\t\tattributes.className\n\t) {\n\t\textraProps.className = clsx(\n\t\t\textraProps.className,\n\t\t\tattributes.className\n\t\t);\n\t}\n\n\treturn extraProps;\n}\n\nexport function addTransforms( result, source, index, results ) {\n\tif ( ! hasBlockSupport( result.name, 'customClassName', true ) ) {\n\t\treturn result;\n\t}\n\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the class should not be kept.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\n\t// If we are transforming one block to multiple blocks or multiple blocks to one block,\n\t// we ignore the class during the transform.\n\tif (\n\t\t( results.length === 1 && source.length > 1 ) ||\n\t\t( results.length > 1 && source.length === 1 )\n\t) {\n\t\treturn result;\n\t}\n\n\t// If we are in presence of transform between one or more block in the source\n\t// that have one or more blocks in the result\n\t// we apply the class on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( source[ index ] ) {\n\t\tconst originClassName = source[ index ]?.attributes.className;\n\t\t// Avoid overriding classes if the transformed block already includes them.\n\t\tif ( originClassName && result.attributes.className === undefined ) {\n\t\t\treturn {\n\t\t\t\t...result,\n\t\t\t\tattributes: {\n\t\t\t\t\t...result.attributes,\n\t\t\t\t\tclassName: originClassName,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t}\n\treturn result;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/custom-class-name/attribute',\n\taddAttribute\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/customClassName/addTransforms',\n\taddTransforms\n);\n"],
|
|
5
5
|
"mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,UAAU;AACnB,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AA+BjC;AAtBI,SAAS,aAAc,UAAW;AACxC,MAAK,gBAAiB,UAAU,mBAAmB,IAAK,GAAI;AAE3D,aAAS,aAAa;AAAA,MACrB,GAAG,SAAS;AAAA,MACZ,WAAW;AAAA,QACV,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;AAEA,SAAS,4BAA6B,EAAE,WAAW,cAAc,GAAI;AACpE,QAAM,mBAAmB,oBAAoB;AAC7C,MAAK,qBAAqB,WAAY;AACrC,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,qBAAkB,OAAM,YACxB;AAAA,IAAC;AAAA;AAAA,MACA,cAAa;AAAA,MACb,OAAQ,GAAI,0BAA2B;AAAA,MACvC,OAAQ,aAAa;AAAA,MACrB,UAAW,CAAE,cAAe;AAC3B,sBAAe;AAAA,UACd,WAAW,cAAc,KAAK,YAAY;AAAA,QAC3C,CAAE;AAAA,MACH;AAAA,MACA,MAAO,GAAI,wCAAyC;AAAA;AAAA,EACrD,GACD;AAEF;AAEA,IAAO,4BAAQ;AAAA,EACd,MAAM;AAAA,EACN;AAAA,EACA,eAAe,CAAE,WAAY;AAAA,EAC7B,WAAY,MAAO;AAClB,WAAO,gBAAiB,MAAM,mBAAmB,IAAK;AAAA,EACvD;AACD;AAaO,SAAS,aAAc,YAAY,WAAW,YAAa;AACjE,MACC,gBAAiB,WAAW,mBAAmB,IAAK,KACpD,WAAW,WACV;AACD,eAAW,YAAY;AAAA,MACtB,WAAW;AAAA,MACX,WAAW;AAAA,IACZ;AAAA,EACD;AAEA,SAAO;AACR;AAEO,SAAS,cAAe,QAAQ,QAAQ,OAAO,SAAU;AAC/D,MAAK,CAAE,gBAAiB,OAAO,MAAM,mBAAmB,IAAK,GAAI;AAChE,WAAO;AAAA,EACR;AAIA,MAAK,QAAQ,WAAW,KAAK,OAAO,YAAY,WAAW,OAAO,QAAS;AAC1E,WAAO;AAAA,EACR;AAIA,MACG,QAAQ,WAAW,KAAK,OAAO,SAAS,KACxC,QAAQ,SAAS,KAAK,OAAO,WAAW,GACzC;AACD,WAAO;AAAA,EACR;AAMA,MAAK,OAAQ,KAAM,GAAI;AACtB,UAAM,kBAAkB,OAAQ,KAAM,GAAG,WAAW;AAEpD,QAAK,mBAAmB,OAAO,WAAW,cAAc,QAAY;AACnE,aAAO;AAAA,QACN,GAAG;AAAA,QACH,YAAY;AAAA,UACX,GAAG,OAAO;AAAA,UACV,WAAW;AAAA,QACZ;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR;AAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;AAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
|
|
6
6
|
"names": []
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// packages/block-editor/src/hooks/custom-css.
|
|
1
|
+
// packages/block-editor/src/hooks/custom-css.jsx
|
|
2
2
|
import { useEffect, useMemo } from "@wordpress/element";
|
|
3
3
|
import { useDispatch, useSelect } from "@wordpress/data";
|
|
4
4
|
import { useInstanceId } from "@wordpress/compose";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/custom-css.
|
|
3
|
+
"sources": ["../../src/hooks/custom-css.jsx"],
|
|
4
4
|
"sourcesContent": ["import { useEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { processCSSNesting } from '@wordpress/global-styles-engine';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport InspectorControls from '../components/inspector-controls';\nimport AdvancedPanel, {\n\tvalidateCSS,\n} from '../components/global-styles/advanced-panel';\nimport { cleanEmptyObject, usePrivateStyleOverride } from './utils';\nimport { store as blockEditorStore } from '../store';\n\n// Stable reference for useInstanceId.\nconst CUSTOM_CSS_INSTANCE_REFERENCE = {};\n\n// Stable empty object reference for useSelect.\nconst EMPTY_STYLE = {};\n\n/**\n * Inspector control for custom CSS.\n *\n * @param {Object} props Component props.\n * @param {string} props.blockName Block name.\n * @param {Function} props.setAttributes Function to set block attributes.\n * @param {Object} props.style Block style attribute.\n */\nfunction CustomCSSControl( { blockName, setAttributes, style } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\tconst blockType = getBlockType( blockName );\n\n\tfunction onChange( newStyle ) {\n\t\t// Normalize whitespace-only CSS to undefined so it gets cleaned up.\n\t\tconst css = newStyle?.css?.trim() ? newStyle.css : undefined;\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( { ...newStyle, css } ),\n\t\t} );\n\t}\n\n\tconst cssHelpText = sprintf(\n\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Quote'.\n\t\t__(\n\t\t\t'Add your own CSS to customize the appearance of the %s block. You do not need to include a CSS selector, just add the property and value, e.g. color: red;.'\n\t\t),\n\t\tblockType?.title\n\t);\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<AdvancedPanel\n\t\t\t\tvalue={ style }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tinheritedValue={ style }\n\t\t\t\thelp={ cssHelpText }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nconst CUSTOM_CSS_WARNING_NOTICE_ID = 'custom-css-edit-warning';\n\nfunction CustomCSSEdit( { clientId, name, setAttributes } ) {\n\tconst { style, canEditCSS } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tstyle: getBlockAttributes( clientId )?.style || EMPTY_STYLE,\n\t\t\t\tcanEditCSS: getSettings().canEditCSS,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Don't render the panel if user lacks edit_css capability.\n\tif ( ! canEditCSS ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<CustomCSSControl\n\t\t\tblockName={ name }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\n/**\n * Hook to handle custom CSS for a block in the editor.\n * Generates a unique class and applies scoped CSS via style override.\n *\n * @param {Object} props Block props.\n * @param {Object} props.style Block style attribute.\n * @param {string} props.clientId Block client ID.\n * @return {Object} Block props including className for custom CSS scoping.\n */\nfunction useBlockProps( { style, clientId } ) {\n\tconst customCSS = style?.css;\n\n\t// Validate CSS is non-empty and passes validation checks.\n\tconst isValidCSS =\n\t\ttypeof customCSS === 'string' &&\n\t\tcustomCSS.trim().length > 0 &&\n\t\tvalidateCSS( customCSS );\n\n\tconst canEditCSS = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().canEditCSS,\n\t\t[]\n\t);\n\n\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t// Show a warning notice when the user lacks edit_css and a block has\n\t// custom CSS. The fixed notice ID ensures only one notice is shown\n\t// regardless of how many blocks have CSS.\n\tconst hasCustomCSS = !! customCSS?.trim();\n\tuseEffect( () => {\n\t\tif ( ! canEditCSS && hasCustomCSS ) {\n\t\t\tcreateWarningNotice(\n\t\t\t\t__(\n\t\t\t\t\t'This post contains blocks with custom CSS. You do not have permission to edit CSS. If you save this post, the custom CSS will be removed.'\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tid: CUSTOM_CSS_WARNING_NOTICE_ID,\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [ canEditCSS, hasCustomCSS, createWarningNotice ] );\n\n\tconst customCSSIdentifier = useInstanceId(\n\t\tCUSTOM_CSS_INSTANCE_REFERENCE,\n\t\t'wp-custom-css'\n\t);\n\n\tconst customCSSSelector = `.${ customCSSIdentifier }`;\n\n\t// Transform the custom CSS using the same logic as global styles.\n\t// Only process if CSS is valid (doesn't contain HTML markup).\n\tconst transformedCSS = useMemo( () => {\n\t\tif ( ! isValidCSS ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn processCSSNesting( customCSS, customCSSSelector );\n\t}, [ customCSS, customCSSSelector, isValidCSS ] );\n\n\t// Inject the CSS via style override. The type makes EditorStyles print\n\t// it after all other overrides (e.g. block style variations), matching\n\t// the front end where the custom CSS stylesheet is printed last. The\n\t// clientId keeps custom CSS overrides in block order relative to each\n\t// other, which is the order they print in on the front end.\n\tusePrivateStyleOverride( {\n\t\tcss: transformedCSS,\n\t\tclientId,\n\t\t__unstableType: 'custom-css',\n\t} );\n\n\t// Only add the class if there's valid custom CSS.\n\tif ( ! isValidCSS ) {\n\t\treturn {};\n\t}\n\n\treturn {\n\t\tclassName: `has-custom-css ${ customCSSIdentifier }`,\n\t};\n}\n\n/**\n * Adds a marker class to blocks with custom CSS for server-side rendering.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type definition.\n * @param {Object} attributes Block's attributes.\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, 'customCSS', true ) ) {\n\t\treturn props;\n\t}\n\n\tif ( ! attributes?.style?.css?.trim() ) {\n\t\treturn props;\n\t}\n\n\t// Add a class to indicate this block has custom CSS.\n\t// The actual CSS is rendered server-side using the render_block filter.\n\tconst className = props.className\n\t\t? `${ props.className } has-custom-css`\n\t\t: 'has-custom-css';\n\n\treturn {\n\t\t...props,\n\t\tclassName,\n\t};\n}\n\nexport default {\n\tedit: CustomCSSEdit,\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'customCSS', true );\n\t},\n};\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/dimensions.
|
|
3
|
+
"sources": ["../../src/hooks/dimensions.jsx"],
|
|
4
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
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/duotone.
|
|
3
|
+
"sources": ["../../src/hooks/duotone.jsx"],
|
|
4
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
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/elements.
|
|
3
|
+
"sources": ["../../src/hooks/elements.jsx"],
|
|
4
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
5
|
"mappings": ";AAAA,SAAS,uBAAuB;AAChC,SAAS,SAAS,mBAAmB;AACrC,SAAS,iBAAiB;AAC1B,SAAS,UAAU;AACnB,OAAO,uBAAuB;AAC9B;AAAA,EACC;AAAA,EACA,WAAW;AAAA,OACL;AACP,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,yBAAyB;AAClC,OAAO,kCAAkC;AACzC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAeL;AAbF,SAAS,yBAA0B,EAAE,UAAU,eAAe,GAAI;AACjE,QAAM,2BAA2B;AAAA,IAChC,CAAE,eAAgB;AACjB,YAAM,eAAe,eAAgB,WAAW,KAAM;AACtD,aAAO;AAAA,QACN,GAAG;AAAA,QACH,OAAO,iBAAkB,YAAa;AAAA,MACvC;AAAA,IACD;AAAA,IACA,CAAE,cAAe;AAAA,EAClB;AAEA,SACC;AAAA,IAAC;AAAA;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,gBAAgB,mBAAmB;AACzC,QAAM,YAAY,iBAAkB,QAAS;AAE7C,QAAM,EAAE,OAAO,UAAU,IAAI;AAAA,IAC5B,CAAE,WAAY;AACb,UAAK,CAAE,WAAY;AAClB,eAAO,CAAC;AAAA,MACT;AACA,YAAM,aACL,OAAQ,gBAAiB,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,IAAI;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,kBAAkB,CAAE,yBAA0B,aAAc;AAElE,QAAM,QAAQ,QAAS,MAAM;AAC5B,QAAK,iBAAkB;AACtB,aAAO,iBAAkB,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,OAAO,iBAAkB,OAAO,eAAe,QAAS;AAAA,IACzD,CAAE;AAAA,EACF,IACA,CAAE,aAAc;AAChB,kBAAe,EAAE,OAAO,iBAAkB,QAAS,EAAE,CAAE;AAAA,EACvD;AAIH,QAAM,yBACL,CAAC,CAAE,OAAO,UAAU,MAAM,OAAO,QACjC,UAAU,OAAO,QACjB,UACC,gBAAiB,MAAM;AAAA,IACtB;AAAA,IACA;AAAA,EACD,CAAE;AAEJ,QAAM,kBAAkB,6BAA8B;AAAA,IACrD;AAAA,IACA;AAAA,IACA,SAAS,CAAC,CAAE;AAAA,IACZ,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,MAChB;AAAA,IACD;AAAA,EACD,CAAE;AAEF,MAAK,CAAE,WAAY;AAClB,WAAO;AAAA,EACR;AAEA,oBAAkB,kBACf,kBACA,gBAAiB,MAAM;AAAA,IACvB;AAAA,IACA;AAAA,EACA,CAAE;AAEL,QAAM,UAAU,aAAa;AAE7B,SACC;AAAA,IAAC;AAAA;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": []
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// packages/block-editor/src/hooks/fit-text.
|
|
1
|
+
// packages/block-editor/src/hooks/fit-text.jsx
|
|
2
2
|
import { addFilter } from "@wordpress/hooks";
|
|
3
3
|
import { hasBlockSupport } from "@wordpress/blocks";
|
|
4
4
|
import { useEffect, useCallback, useState } from "@wordpress/element";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/fit-text.
|
|
3
|
+
"sources": ["../../src/hooks/fit-text.jsx"],
|
|
4
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
5
|
"mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAChC,SAAS,WAAW,aAAa,gBAAgB;AACjD,SAAS,iBAAiB;AAC1B,SAAS,UAAU;AACnB;AAAA,EACC;AAAA,EACA,gCAAgC;AAAA,OAC1B;AACP,SAAS,kCAAkC;AAG3C,SAAS,uBAAuB;AAChC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,uBAAuB;AAChC,OAAO,uBAAuB;AAC9B,OAAO,wBAAwB;AAC/B,SAAS,cAAc;AA4PpB,SAoIA,UApIA,KAoIA,YApIA;AAnQH,IAAM,eAAe,CAAC;AACtB,IAAM,4BAA4B;AAQ3B,IAAM,uBAAuB;AASpC,SAAS,cAAe,UAAW;AAClC,MAAK,CAAE,gBAAiB,UAAU,oBAAqB,GAAI;AAC1D,WAAO;AAAA,EACR;AAGA,MAAK,SAAS,YAAY,SAAU;AACnC,WAAO;AAAA,EACR;AAGA,SAAO;AAAA,IACN,GAAG;AAAA,IACH,YAAY;AAAA,MACX,GAAG,SAAS;AAAA,MACZ,SAAS;AAAA,QACR,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;AAUA,SAAS,WAAY,EAAE,SAAS,MAAM,SAAS,GAAI;AAClD,QAAM,CAAE,UAAU,WAAY,IAAI,SAAU,IAAK;AACjD,QAAMA,qBAAoB,gBAAiB,MAAM,oBAAqB;AACtE,QAAM,eAAe,gBAAiB,QAAS;AAK/C,QAAM,EAAE,iBAAiB,UAAU,UAAU,IAAI;AAAA,IAChD,CAAE,WAAY;AACb,UAAK,CAAE,YAAY,CAAEA,sBAAqB,CAAE,SAAU;AACrD,eAAO;AAAA,MACR;AACA,YAAM,aACL,OAAQ,gBAAiB,EAAE,aAAc,QAAS;AACnD,UAAK,eAAe,QAAS;AAC5B,eAAO,EAAE,WAAW,WAAW;AAAA,MAChC;AACA,aAAO;AAAA,QACN,iBACC,OAAQ,gBAAiB,EAAE,mBAAoB,QAAS;AAAA,QACzD,UACC,OAAQ,gBAAiB,EAAE,qBAAsB,QAAS;AAAA,QAC3D,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,IACA,CAAE,UAAUA,oBAAmB,OAAQ;AAAA,EACxC;AAEA,QAAM,eAAe,YAAa,MAAM;AACvC,QAAK,CAAE,gBAAgB,CAAEA,sBAAqB,CAAE,SAAU;AACzD;AAAA,IACD;AAGA,UAAM,UAAU,YAAa,QAAS;AACtC,QAAI,eAAe,aAAa,cAAc,eAAgB,OAAQ;AACtE,QAAK,CAAE,cAAe;AACrB,qBAAe,aAAa,cAAc,cAAe,OAAQ;AACjE,mBAAa,KAAK;AAClB,mBAAa,cAAc,KAAK,YAAa,YAAa;AAAA,IAC3D;AAEA,UAAM,gBAAgB,UAAW,QAAS;AAE1C,UAAM,qBAAqB,CAAE,SAAU;AACtC,UAAK,SAAS,GAAI;AACjB,qBAAa,cAAc;AAAA,MAC5B,OAAO;AACN,qBAAa,cAAc,GAAI,aAAc,iBAAkB,IAAK;AAAA,MACrE;AAAA,IACD;AAEA,UAAM,cAAc,gBAAiB,cAAc,kBAAmB;AACtE,gBAAa,WAAY;AAAA,EAC1B,GAAG,CAAE,cAAc,UAAUA,oBAAmB,OAAQ,CAAE;AAE1D,YAAW,MAAM;AAChB,QACC,CAAE,WACF,CAAE,gBACF,CAAE,YACF,CAAEA,sBACF,cAAc,QACb;AACD;AAAA,IACD;AAGA,UAAM,iBAAiB;AACvB,UAAM,qBAAqB,eAAe,MAAM;AAGhD,QAAI,cAAc;AAClB,QAAI,mBAAmB;AACvB,QAAI,gBAAgB;AAKpB,kBAAc,OAAO,sBAAuB,MAAM;AACjD,qBAAe,MAAM,aAAa;AAElC,yBAAmB,OAAO,sBAAuB,MAAM;AACtD,qBAAa;AAKb,wBAAgB,WAAY,MAAM;AACjC,yBAAe,MAAM,aAAa;AAAA,QACnC,GAAG,EAAG;AAAA,MACP,CAAE;AAAA,IACH,CAAE;AAGF,QAAI;AACJ,QAAK,OAAO,kBAAkB,eAAe,eAAgB;AAC5D,uBAAiB,IAAI,OAAO,eAAgB,YAAa;AACzD,qBAAe,QAAS,eAAe,aAAc;AACrD,qBAAe,QAAS,cAAe;AAAA,IACxC;AAGA,WAAO,MAAM;AAEZ,UAAK,gBAAgB,MAAO;AAC3B,eAAO,qBAAsB,WAAY;AAAA,MAC1C;AACA,UAAK,qBAAqB,MAAO;AAChC,eAAO,qBAAsB,gBAAiB;AAAA,MAC/C;AACA,UAAK,kBAAkB,MAAO;AAC7B,qBAAc,aAAc;AAAA,MAC7B;AAEA,UAAK,gBAAiB;AACrB,uBAAe,WAAW;AAAA,MAC3B;AAEA,YAAM,UAAU,YAAa,QAAS;AACtC,YAAM,eACL,eAAe,cAAc,eAAgB,OAAQ;AACtD,UAAK,cAAe;AACnB,qBAAa,OAAO;AAAA,MACrB;AAAA,IACD;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACAA;AAAA,IACA;AAAA,EACD,CAAE;AAGF,YAAW,MAAM;AAChB,QACC,WACA,gBACAA,sBACA,cAAc,QACb;AAED,YAAM,UAAU,OAAO,sBAAuB,MAAM;AACnD,YAAK,cAAe;AACnB,uBAAa;AAAA,QACd;AAAA,MACD,CAAE;AAEF,aAAO,MAAM,OAAO,qBAAsB,OAAQ;AAAA,IACnD;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACAA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,SAAO,EAAE,SAAS;AACnB;AAaO,SAAS,eAAgB;AAAA,EAC/B;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,wBAAwB;AAAA,IAC7B,CAAE,WAAY;AACb,YAAM,EAAE,uBAAuB,2BAA2B,IACzD,OAAQ,OAAQ,gBAAiB,CAAE;AAEpC,aAAO,2BAA4B,QAAS;AAAA,IAC7C;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,MAAK,CAAE,gBAAiB,MAAM,oBAAqB,GAAI;AACtD,WAAO;AAAA,EACR;AAEA,MAAK,uBAAwB;AAC5B,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAW,MAAM;AAAA,MACjB,OAAQ,GAAI,UAAW;AAAA,MACvB,YAAa,MAAM,cAAe,EAAE,SAAS,OAAU,CAAE;AAAA,MACzD,gBAAiB,OAAQ,EAAE,SAAS,OAAU;AAAA,MAC9C,SAAU;AAAA,MAEV;AAAA,QAAC;AAAA;AAAA,UACA,OAAQ,GAAI,UAAW;AAAA,UACvB,SAAU;AAAA,UACV,UAAW,MAAM;AAChB,kBAAM,aAAa,CAAE,WAAW;AAChC,kBAAM,UAAU,EAAE,SAAS,WAAW;AAGtC,gBAAK,YAAa;AACjB,kBAAK,UAAW;AACf,wBAAQ,WAAW;AAAA,cACpB;AACA,kBAAK,OAAO,YAAY,UAAW;AAClC,wBAAQ,QAAQ;AAAA,kBACf,GAAG;AAAA,kBACH,YAAY;AAAA,oBACX,GAAG,OAAO;AAAA,oBACV,UAAU;AAAA,kBACX;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAEA,0BAAe,OAAQ;AAAA,UACxB;AAAA,UACA,MACC,UACG,GAAI,wCAAyC,IAC7C;AAAA,YACA;AAAA,UACA;AAAA;AAAA,MAEL;AAAA;AAAA,EACD;AAEF;AAUA,SAAS,aAAc,OAAO,WAAW,YAAa;AACrD,MAAK,CAAE,gBAAiB,WAAW,oBAAqB,GAAI;AAC3D,WAAO;AAAA,EACR;AAEA,QAAM,EAAE,QAAQ,IAAI;AAEpB,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AAGA,QAAM,YAAY,MAAM,YACrB,GAAI,MAAM,SAAU,kBACpB;AAEH,SAAO;AAAA,IACN,GAAG;AAAA,IACH;AAAA,EACD;AACD;AAUA,SAAS,cAAe,EAAE,MAAM,QAAQ,GAAI;AAC3C,MAAK,WAAW,gBAAiB,MAAM,oBAAqB,GAAI;AAC/D,WAAO;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACD;AACA,SAAO,CAAC;AACT;AAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAM,oBAAoB,CAAE,oBAAqB;AAChD,SAAO,gBAAiB,iBAAiB,oBAAqB;AAC/D;AAaA,SAAS,gBAAiB,EAAE,SAAS,MAAM,UAAU,WAAW,GAAI;AACnE,QAAM,EAAE,SAAS,IAAI,WAAY,EAAE,SAAS,MAAM,SAAS,CAAE;AAC7D,MAAK,cAAc,YAAY,WAAW,2BAA4B;AACrE,WACC,oBAAC,qBAAkB,OAAM,cACxB,8BAAC,sBAAmB,GACrB;AAAA,EAEF;AACA,SAAO;AACR;AAQA,IAAM,oBAAoB,2BAA4B,CAAE,cAAe;AACtE,SAAO,SAAS,kBAAmB,OAAQ;AAC1C,UAAM,EAAE,MAAM,YAAY,UAAU,YAAY,cAAc,IAAI;AAClE,UAAM,EAAE,QAAQ,IAAI;AACpB,UAAM,kBAAkB,gBAAiB,MAAM,oBAAqB;AACpE,QAAK,CAAE,iBAAkB;AACxB,aAAO,oBAAC,aAAY,GAAG,OAAQ;AAAA,IAChC;AACA,WACC,iCACC;AAAA,0BAAC,aAAY,GAAG,OAAQ;AAAA,MACxB,oBAAC,qBAAkB,OAAM,cACxB;AAAA,QAAC;AAAA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAW,WAAW;AAAA,UACtB,OAAQ,WAAW;AAAA;AAAA,MACpB,GACD;AAAA,MACE,WACD;AAAA,QAAC;AAAA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACD;AAAA,OAEF;AAAA,EAEF;AACD,GAAG,mBAAoB;AAEvB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAO,mBAAQ;AAAA,EACd;AAAA,EACA;AAAA,EACA,eAAe,CAAE,WAAW,YAAY,OAAQ;AAAA,EAChD,YAAY;AAAA,EACZ,MAAM,MAAM;AACb;",
|
|
6
6
|
"names": ["hasFitTextSupport"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/hooks/font-size.
|
|
3
|
+
"sources": ["../../src/hooks/font-size.jsx"],
|
|
4
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
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|