@wordpress/block-editor 12.26.0 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +1 -1
- package/build/autocompleters/block.js +7 -6
- package/build/autocompleters/block.js.map +1 -1
- package/build/autocompleters/link.js +10 -8
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/alignment-control/index.js +3 -3
- package/build/components/alignment-control/index.js.map +1 -1
- package/build/components/alignment-control/ui.js +2 -2
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/audio-player/audio-url-parser.native.js +24 -0
- package/build/components/audio-player/audio-url-parser.native.js.map +1 -0
- package/build/components/audio-player/index.native.js +174 -0
- package/build/components/audio-player/index.native.js.map +1 -0
- package/build/components/autocomplete/index.js +3 -4
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-alignment-control/index.js +3 -3
- package/build/components/block-alignment-control/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +33 -30
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +2 -2
- package/build/components/block-alignment-control/ui.native.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +5 -5
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-bindings-toolbar-indicator/index.js +92 -11
- package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +38 -34
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-canvas/index.js +36 -31
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-caption/index.native.js +15 -14
- package/build/components/block-caption/index.native.js.map +1 -1
- package/build/components/block-card/index.js +32 -27
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/block-view.js +27 -18
- package/build/components/block-compare/block-view.js.map +1 -1
- package/build/components/block-compare/index.js +23 -22
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-context/index.js +3 -4
- package/build/components/block-context/index.js.map +1 -1
- package/build/components/block-controls/fill.js +22 -16
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/index.js +3 -3
- package/build/components/block-controls/index.js.map +1 -1
- package/build/components/block-controls/slot.js +6 -4
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +12 -9
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-controls/use-has-block-controls.js +1 -1
- package/build/components/block-controls/use-has-block-controls.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +27 -19
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.native.js +9 -8
- package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build/components/block-draggable/dropping-insertion-point.native.js +3 -4
- package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
- package/build/components/block-draggable/index.js +14 -13
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +37 -30
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-edit/edit.js +5 -6
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-edit/edit.native.js +3 -4
- package/build/components/block-edit/edit.native.js.map +1 -1
- package/build/components/block-edit/index.js +17 -9
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-edit/multiple-usage-warning.js +47 -0
- package/build/components/block-edit/multiple-usage-warning.js.map +1 -0
- package/build/components/block-edit-visually-button/index.js +9 -6
- package/build/components/block-edit-visually-button/index.js.map +1 -1
- package/build/components/block-full-height-alignment-control/index.js +2 -2
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/heading-level-icon.js +3 -5
- package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.js +4 -4
- package/build/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.native.js +4 -4
- package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build/components/block-icon/index.js +6 -5
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-icon/index.native.js +6 -5
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +3 -3
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-inspector/index.js +102 -88
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
- package/build/components/block-list/block-crash-warning.js +5 -4
- package/build/components/block-list/block-crash-warning.js.map +1 -1
- package/build/components/block-list/block-crash-warning.native.js +2 -2
- package/build/components/block-list/block-crash-warning.native.js.map +1 -1
- package/build/components/block-list/block-html.js +2 -2
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +25 -21
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js +12 -11
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js +5 -4
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +29 -28
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +2 -2
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js +35 -33
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +107 -62
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +63 -54
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/grid-item.native.js +5 -4
- package/build/components/block-list/grid-item.native.js.map +1 -1
- package/build/components/block-list/index.js +38 -34
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +97 -85
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/insertion-point.native.js +12 -10
- package/build/components/block-list/insertion-point.native.js.map +1 -1
- package/build/components/block-list/layout.js +7 -3
- package/build/components/block-list/layout.js.map +1 -1
- package/build/components/block-list/subdirectory-icon.js +8 -7
- package/build/components/block-list/subdirectory-icon.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +1 -1
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list-appender/index.js +9 -8
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js +4 -4
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-lock/menu-item.js +13 -10
- package/build/components/block-lock/menu-item.js.map +1 -1
- package/build/components/block-lock/modal.js +107 -90
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-lock/toolbar.js +18 -15
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js +17 -15
- package/build/components/block-media-update-progress/index.native.js.map +1 -1
- package/build/components/block-mover/button.js +19 -16
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +34 -27
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +29 -27
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +11 -9
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-parent-selector/index.js +14 -15
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +88 -76
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +50 -45
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-list/index.js +96 -86
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +70 -52
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-popover/cover.js +13 -10
- package/build/components/block-popover/cover.js.map +1 -1
- package/build/components/block-popover/drop-zone.js +11 -10
- package/build/components/block-popover/drop-zone.js.map +1 -1
- package/build/components/block-popover/inbetween.js +8 -7
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +9 -7
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/auto.js +53 -47
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +16 -14
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +24 -16
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +18 -12
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-rename/modal.js +44 -37
- package/build/components/block-rename/modal.js.map +1 -1
- package/build/components/block-rename/rename-control.js +24 -21
- package/build/components/block-rename/rename-control.js.map +1 -1
- package/build/components/block-selection-clearer/index.js +2 -2
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings/button.native.js +13 -9
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/block-settings/container.native.js +40 -28
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings-menu/block-html-convert-button.js +5 -4
- package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +5 -4
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +93 -75
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +10 -6
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +29 -24
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +43 -38
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +7 -7
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/menu-items.js +17 -14
- package/build/components/block-styles/menu-items.js.map +1 -1
- package/build/components/block-styles/preview-panel.js +2 -2
- package/build/components/block-styles/preview-panel.js.map +1 -1
- package/build/components/block-styles/preview.native.js +24 -21
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +8 -7
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js +32 -30
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +2 -2
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-switcher/block-variation-transformations.js +19 -17
- package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build/components/block-switcher/index.js +85 -70
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +61 -51
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +22 -17
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js +38 -34
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-toolbar/index.js +53 -43
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/index.native.js +27 -21
- package/build/components/block-toolbar/index.native.js.map +1 -1
- package/build/components/block-toolbar/shuffle.js +7 -5
- package/build/components/block-toolbar/shuffle.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +61 -48
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +8 -7
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.js +15 -14
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build/components/block-tools/empty-block-inserter.js +13 -11
- package/build/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build/components/block-tools/index.js +29 -26
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +42 -40
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +33 -32
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-types-list/index.js +15 -15
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +30 -26
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.js +30 -25
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +32 -25
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +53 -47
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/icons.js +31 -26
- package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build/components/block-vertical-alignment-control/index.js +3 -3
- package/build/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +2 -2
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +3 -3
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +43 -38
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +23 -21
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +12 -11
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/button-block-appender/index.js +15 -12
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/button-block-appender/index.native.js +28 -24
- package/build/components/button-block-appender/index.native.js.map +1 -1
- package/build/components/caption/index.native.js +22 -21
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/child-layout-control/index.js +137 -129
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/color-palette/control.js +2 -2
- package/build/components/color-palette/control.js.map +1 -1
- package/build/components/color-palette/with-color-context.js +2 -2
- package/build/components/color-palette/with-color-context.js.map +1 -1
- package/build/components/color-style-selector/index.js +29 -20
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/utils.js +3 -3
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +8 -7
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +53 -39
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +70 -61
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +21 -18
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js +11 -7
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/contrast-checker/index.js +10 -8
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/contrast-checker/index.native.js +12 -10
- package/build/components/contrast-checker/index.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +17 -13
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +20 -18
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/copy-handler/index.js +2 -2
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +44 -40
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +32 -30
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-block-appender/index.native.js +14 -12
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js +13 -14
- package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build/components/dimensions-tool/index.js +116 -115
- package/build/components/dimensions-tool/index.js.map +1 -1
- package/build/components/dimensions-tool/scale-tool.js +16 -16
- package/build/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build/components/dimensions-tool/width-height-tool.js +37 -33
- package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
- package/build/components/duotone-control/index.js +21 -18
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editable-text/index.js +6 -5
- package/build/components/editable-text/index.js.map +1 -1
- package/build/components/editor-styles/index.js +23 -21
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +18 -16
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/floating-toolbar/nav-up-icon.js +14 -13
- package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
- package/build/components/font-appearance-control/index.js +2 -2
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +2 -2
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/font-size-picker.js +2 -2
- package/build/components/font-sizes/font-size-picker.js.map +1 -1
- package/build/components/font-sizes/utils.js +4 -3
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +3 -3
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +17 -15
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/background-panel.js +187 -121
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/border-panel.js +62 -56
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +111 -87
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.native.js +14 -11
- package/build/components/global-styles/color-panel.native.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +183 -171
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +78 -65
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +14 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +26 -22
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/index.js +18 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +74 -65
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/theme-file-uri-utils.js +80 -0
- package/build/components/global-styles/theme-file-uri-utils.js.map +1 -0
- package/build/components/global-styles/typography-panel.js +175 -134
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-context.native.js +450 -0
- package/build/components/global-styles/use-global-styles-context.native.js.map +1 -0
- package/build/components/global-styles/use-global-styles-output.js +113 -78
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/gradients/with-gradient.js +2 -2
- package/build/components/gradients/with-gradient.js.map +1 -1
- package/build/components/grid-visualizer/grid-item-resizer.js +59 -58
- package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build/components/grid-visualizer/grid-visualizer.js +20 -15
- package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build/components/height-control/index.js +39 -32
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/iframe/index.js +70 -62
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +73 -69
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/context.js +5 -4
- package/build/components/image-editor/context.js.map +1 -1
- package/build/components/image-editor/cropper.js +24 -21
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/form-controls.js +11 -7
- package/build/components/image-editor/form-controls.js.map +1 -1
- package/build/components/image-editor/index.js +22 -13
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/image-editor/rotation-button.js +2 -2
- package/build/components/image-editor/rotation-button.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js +4 -4
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/image-link-destinations/index.native.js +37 -27
- package/build/components/image-link-destinations/index.native.js.map +1 -1
- package/build/components/image-size-control/index.js +53 -45
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.native.js +37 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +2 -2
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +2 -2
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +19 -16
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +31 -29
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +10 -13
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +20 -17
- package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
- package/build/components/inner-blocks/with-client-id.js +2 -2
- package/build/components/inner-blocks/with-client-id.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/index.js +22 -20
- package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +39 -36
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +25 -19
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +38 -31
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -4
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +42 -31
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +54 -42
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +108 -66
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +2 -2
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +26 -20
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +9 -4
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +33 -5
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/index.js +6 -6
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +21 -19
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +15 -8
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +9 -9
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +19 -17
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +92 -66
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +44 -36
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/media-tab/utils.js +2 -2
- package/build/components/inserter/media-tab/utils.js.map +1 -1
- package/build/components/inserter/menu.js +101 -84
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js +34 -28
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +56 -40
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/no-results.js +10 -7
- package/build/components/inserter/no-results.js.map +1 -1
- package/build/components/inserter/no-results.native.js +13 -8
- package/build/components/inserter/no-results.native.js.map +1 -1
- package/build/components/inserter/panel.js +15 -10
- package/build/components/inserter/panel.js.map +1 -1
- package/build/components/inserter/preview-panel.js +24 -20
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +35 -31
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/reusable-block-rename-hint.js +20 -18
- package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-results.js +52 -41
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/search-results.native.js +3 -3
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inserter/tabs.js +30 -26
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter/tabs.native.js +20 -18
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/tips.js +7 -5
- package/build/components/inserter/tips.js.map +1 -1
- package/build/components/inserter-button/index.native.js +28 -23
- package/build/components/inserter-button/index.native.js.map +1 -1
- package/build/components/inserter-button/sparkles.js +8 -7
- package/build/components/inserter-button/sparkles.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +14 -13
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js +68 -62
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inserter-listbox/group.js +2 -2
- package/build/components/inserter-listbox/group.js.map +1 -1
- package/build/components/inserter-listbox/index.js +5 -4
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +10 -8
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js +2 -2
- package/build/components/inserter-listbox/row.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +2 -2
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +5 -5
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js +22 -17
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +12 -5
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/index.js +3 -3
- package/build/components/inspector-controls/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +11 -10
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +3 -3
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
- package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +44 -32
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +8 -7
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab-hint.js +20 -18
- package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.js +6 -2
- package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +31 -26
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +31 -26
- package/build/components/inspector-popover-header/index.js.map +1 -1
- package/build/components/justify-content-control/index.js +3 -3
- package/build/components/justify-content-control/index.js.map +1 -1
- package/build/components/justify-content-control/ui.js +2 -2
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +3 -4
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +17 -16
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +2 -2
- package/build/components/line-height-control/index.native.js.map +1 -1
- package/build/components/link-control/index.js +101 -84
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +61 -49
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-create-button.js +6 -5
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +32 -31
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +12 -11
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +50 -46
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +37 -30
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/settings.js +10 -9
- package/build/components/link-control/settings.js.map +1 -1
- package/build/components/list-view/appender.js +24 -22
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/aria-referenced-text.js +6 -6
- package/build/components/list-view/aria-referenced-text.js.map +1 -1
- package/build/components/list-view/block-contents.js +32 -29
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +50 -42
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +96 -84
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +101 -95
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +38 -31
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/expander.js +8 -6
- package/build/components/list-view/expander.js.map +1 -1
- package/build/components/list-view/index.js +42 -38
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +5 -4
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/media-placeholder/index.js +99 -79
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +63 -52
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +72 -60
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-replace-flow/index.native.js +2 -2
- package/build/components/media-replace-flow/index.native.js.map +1 -1
- package/build/components/media-upload/index.native.js +44 -40
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/media-upload-progress/index.native.js +39 -15
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +19 -15
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +9 -7
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/observe-typing/index.js +6 -6
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/panel-color-settings/index.js +2 -2
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/plain-text/index.js +4 -5
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +3 -3
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +5 -4
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/index.js +11 -7
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +5 -5
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +30 -26
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js +36 -15
- package/build/components/publish-date-time-picker/index.js.map +1 -1
- package/build/components/recursion-provider/index.js +6 -5
- package/build/components/recursion-provider/index.js.map +1 -1
- package/build/components/resizable-box-popover/index.js +7 -6
- package/build/components/resizable-box-popover/index.js.map +1 -1
- package/build/components/resolution-tool/index.js +12 -11
- package/build/components/resolution-tool/index.js.map +1 -1
- package/build/components/responsive-block-control/index.js +30 -26
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/responsive-block-control/label.js +11 -7
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/content.js +8 -5
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +2 -2
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/format-edit.js +5 -5
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +37 -33
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.native.js +8 -7
- package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +17 -12
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.native.js +5 -4
- package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +4 -4
- package/build/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build/components/rich-text/index.js +87 -76
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +51 -47
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +62 -62
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/rich-text/native/format-edit.js +3 -4
- package/build/components/rich-text/native/format-edit.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +87 -80
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/native/toolbar-button-with-options.native.js +19 -16
- package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
- package/build/components/rich-text/toolbar-button.js +8 -7
- package/build/components/rich-text/toolbar-button.js.map +1 -1
- package/build/components/rich-text/utils.js +5 -4
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/rich-text/with-deprecations.js +2 -2
- package/build/components/rich-text/with-deprecations.js.map +1 -1
- package/build/components/segmented-text-control/index.js +20 -19
- package/build/components/segmented-text-control/index.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +6 -6
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +23 -19
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.js +19 -18
- package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js +18 -17
- package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/single.js +2 -2
- package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +103 -100
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/sides-dropdown/index.js +42 -34
- package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +2 -1
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/text-alignment-control/index.js +2 -2
- package/build/components/text-alignment-control/index.js.map +1 -1
- package/build/components/text-decoration-control/index.js +2 -2
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +2 -2
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js +35 -26
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/typewriter/index.js +5 -4
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/ungroup-button/index.native.js +8 -6
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/unit-control/index.js +2 -2
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/unsupported-block-details/index.native.js +31 -28
- package/build/components/unsupported-block-details/index.native.js.map +1 -1
- package/build/components/url-input/button.js +31 -28
- package/build/components/url-input/button.js.map +1 -1
- package/build/components/url-input/index.js +27 -22
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-input/index.native.js +2 -2
- package/build/components/url-input/index.native.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +104 -91
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js +24 -19
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +15 -14
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +6 -5
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +14 -13
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-commands/index.js +2 -2
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/video-player/gridicon-play.native.js +8 -7
- package/build/components/video-player/gridicon-play.native.js.map +1 -1
- package/build/components/video-player/index.native.js +43 -40
- package/build/components/video-player/index.native.js.map +1 -1
- package/build/components/warning/index.js +34 -26
- package/build/components/warning/index.js.map +1 -1
- package/build/components/warning/index.native.js +17 -13
- package/build/components/warning/index.native.js.map +1 -1
- package/build/components/writing-flow/index.js +9 -6
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js +19 -16
- package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +3 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +2 -2
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/align.js +10 -10
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +29 -24
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/background.js +6 -5
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-bindings.js +89 -0
- package/build/hooks/block-bindings.js.map +1 -0
- package/build/hooks/block-hooks.js +41 -33
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-style-variation.js +142 -0
- package/build/hooks/block-style-variation.js.map +1 -0
- package/build/hooks/border.js +6 -5
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +11 -9
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +23 -15
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/contrast-checker.js +2 -2
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/custom-class-name.js +17 -16
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/dimensions.js +24 -21
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +49 -45
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +3 -3
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +2 -2
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +4 -2
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout-child.js +26 -24
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/layout.js +61 -55
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/line-height.js +2 -2
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/position.js +28 -26
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/spacing-visualizer.js +10 -9
- package/build/hooks/spacing-visualizer.js.map +1 -1
- package/build/hooks/style.js +23 -13
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/text-align.js +19 -18
- package/build/hooks/text-align.js.map +1 -1
- package/build/hooks/typography.js +6 -5
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +11 -8
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +47 -15
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/use-typography-props.js +4 -3
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/use-zoom-out.js +2 -2
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/hooks/utils.js +18 -17
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +66 -58
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +75 -61
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/grid.js +146 -125
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +7 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +39 -7
- package/build/store/actions.js.map +1 -1
- package/build/store/get-block-settings.js +2 -49
- package/build/store/get-block-settings.js.map +1 -1
- package/build/store/reducer.js +21 -14
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +33 -6
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +2 -0
- package/build/store/utils.js.map +1 -1
- package/build/utils/transform-styles/index.js +1 -1
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/autocompleters/block.js +9 -6
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/autocompleters/link.js +12 -8
- package/build-module/autocompleters/link.js.map +1 -1
- package/build-module/components/alignment-control/index.js +3 -3
- package/build-module/components/alignment-control/index.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +2 -2
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/audio-player/audio-url-parser.native.js +16 -0
- package/build-module/components/audio-player/audio-url-parser.native.js.map +1 -0
- package/build-module/components/audio-player/index.native.js +167 -0
- package/build-module/components/audio-player/index.native.js.map +1 -0
- package/build-module/components/autocomplete/index.js +2 -2
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-alignment-control/index.js +3 -3
- package/build-module/components/block-alignment-control/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +34 -30
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +2 -2
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +5 -5
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-bindings-toolbar-indicator/index.js +94 -13
- package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +38 -32
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-canvas/index.js +37 -31
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-caption/index.native.js +15 -14
- package/build-module/components/block-caption/index.native.js.map +1 -1
- package/build-module/components/block-card/index.js +34 -28
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js +28 -18
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-compare/index.js +24 -22
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-context/index.js +2 -2
- package/build-module/components/block-context/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +24 -16
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/index.js +3 -3
- package/build-module/components/block-controls/index.js.map +1 -1
- package/build-module/components/block-controls/slot.js +6 -4
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js +12 -9
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-controls/use-has-block-controls.js +1 -1
- package/build-module/components/block-controls/use-has-block-controls.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +28 -19
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.native.js +10 -8
- package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build-module/components/block-draggable/dropping-insertion-point.native.js +2 -2
- package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
- package/build-module/components/block-draggable/index.js +14 -13
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +39 -30
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-edit/edit.js +4 -4
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-edit/edit.native.js +2 -2
- package/build-module/components/block-edit/edit.native.js.map +1 -1
- package/build-module/components/block-edit/index.js +19 -7
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-edit/multiple-usage-warning.js +40 -0
- package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -0
- package/build-module/components/block-edit-visually-button/index.js +9 -6
- package/build-module/components/block-edit-visually-button/index.js.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js +2 -2
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +2 -3
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js +4 -4
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.native.js +4 -4
- package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build-module/components/block-icon/index.js +6 -5
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-icon/index.native.js +6 -5
- package/build-module/components/block-icon/index.native.js.map +1 -1
- package/build-module/components/block-info-slot-fill/index.js +3 -3
- package/build-module/components/block-info-slot-fill/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +104 -88
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
- package/build-module/components/block-list/block-crash-warning.js +5 -4
- package/build-module/components/block-list/block-crash-warning.js.map +1 -1
- package/build-module/components/block-list/block-crash-warning.native.js +2 -2
- package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-html.js +2 -2
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +27 -21
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js +12 -11
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js +5 -4
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +29 -26
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +2 -2
- package/build-module/components/block-list/block-outline.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js +36 -33
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +109 -61
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +61 -51
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/grid-item.native.js +5 -4
- package/build-module/components/block-list/grid-item.native.js.map +1 -1
- package/build-module/components/block-list/index.js +39 -34
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +99 -85
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/insertion-point.native.js +13 -10
- package/build-module/components/block-list/insertion-point.native.js.map +1 -1
- package/build-module/components/block-list/layout.js +7 -3
- package/build-module/components/block-list/layout.js.map +1 -1
- package/build-module/components/block-list/subdirectory-icon.js +8 -7
- package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +1 -1
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +9 -8
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js +4 -4
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-lock/menu-item.js +15 -10
- package/build-module/components/block-lock/menu-item.js.map +1 -1
- package/build-module/components/block-lock/modal.js +108 -90
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js +20 -15
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-media-update-progress/index.native.js +18 -15
- package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +21 -16
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +35 -27
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +30 -27
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +12 -9
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +13 -13
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +90 -76
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +51 -45
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +98 -86
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +71 -52
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-popover/cover.js +13 -10
- package/build-module/components/block-popover/cover.js.map +1 -1
- package/build-module/components/block-popover/drop-zone.js +11 -10
- package/build-module/components/block-popover/drop-zone.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +8 -7
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +9 -7
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +55 -47
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +17 -14
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +25 -16
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +19 -12
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-rename/modal.js +45 -37
- package/build-module/components/block-rename/modal.js.map +1 -1
- package/build-module/components/block-rename/rename-control.js +26 -21
- package/build-module/components/block-rename/rename-control.js.map +1 -1
- package/build-module/components/block-selection-clearer/index.js +2 -2
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings/button.native.js +13 -9
- package/build-module/components/block-settings/button.native.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +42 -28
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-html-convert-button.js +5 -4
- package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.js +5 -4
- package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +95 -75
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +10 -6
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +30 -24
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +44 -38
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +7 -7
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js +18 -14
- package/build-module/components/block-styles/menu-items.js.map +1 -1
- package/build-module/components/block-styles/preview-panel.js +2 -2
- package/build-module/components/block-styles/preview-panel.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +25 -21
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +8 -7
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +33 -28
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +2 -2
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/block-switcher/block-variation-transformations.js +21 -17
- package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build-module/components/block-switcher/index.js +87 -70
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +62 -51
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +23 -17
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +39 -34
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +55 -43
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.native.js +29 -21
- package/build-module/components/block-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-toolbar/shuffle.js +7 -5
- package/build-module/components/block-toolbar/shuffle.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +61 -46
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +8 -7
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.js +15 -14
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build-module/components/block-tools/empty-block-inserter.js +13 -11
- package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build-module/components/block-tools/index.js +30 -26
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +43 -40
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +34 -32
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-types-list/index.js +16 -15
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +31 -26
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +31 -25
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +33 -25
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +54 -47
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/icons.js +31 -26
- package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/index.js +3 -3
- package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +2 -2
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +3 -3
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +45 -38
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +23 -21
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +12 -11
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +16 -12
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.native.js +29 -24
- package/build-module/components/button-block-appender/index.native.js.map +1 -1
- package/build-module/components/caption/index.native.js +22 -21
- package/build-module/components/caption/index.native.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +139 -129
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/color-palette/control.js +2 -2
- package/build-module/components/color-palette/control.js.map +1 -1
- package/build-module/components/color-palette/with-color-context.js +2 -2
- package/build-module/components/color-palette/with-color-context.js.map +1 -1
- package/build-module/components/color-style-selector/index.js +29 -20
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors/utils.js +3 -3
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +7 -7
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +54 -39
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +72 -61
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +23 -18
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +13 -7
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +10 -8
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/contrast-checker/index.native.js +13 -10
- package/build-module/components/contrast-checker/index.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +19 -13
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +21 -18
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/copy-handler/index.js +2 -2
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +45 -40
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +33 -30
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js +14 -12
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js +12 -12
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build-module/components/dimensions-tool/index.js +117 -113
- package/build-module/components/dimensions-tool/index.js.map +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js +15 -14
- package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build-module/components/dimensions-tool/width-height-tool.js +39 -33
- package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
- package/build-module/components/duotone-control/index.js +22 -18
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editable-text/index.js +6 -5
- package/build-module/components/editable-text/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +25 -21
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +19 -16
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/floating-toolbar/nav-up-icon.js +15 -13
- package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +2 -2
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +2 -2
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/font-size-picker.js +2 -2
- package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +3 -3
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +3 -3
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +18 -15
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +188 -121
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +63 -56
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +112 -87
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.native.js +13 -10
- package/build-module/components/global-styles/color-panel.native.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +184 -171
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +79 -65
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +13 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +27 -22
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/index.js +2 -2
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +74 -63
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/theme-file-uri-utils.js +73 -0
- package/build-module/components/global-styles/theme-file-uri-utils.js.map +1 -0
- package/build-module/components/global-styles/typography-panel.js +177 -135
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-context.native.js +431 -0
- package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -0
- package/build-module/components/global-styles/use-global-styles-output.js +114 -78
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/gradients/with-gradient.js +2 -2
- package/build-module/components/gradients/with-gradient.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-item-resizer.js +59 -58
- package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-visualizer.js +20 -15
- package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build-module/components/height-control/index.js +40 -32
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/index.js +72 -62
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +75 -69
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/context.js +5 -4
- package/build-module/components/image-editor/context.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +26 -21
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/form-controls.js +13 -7
- package/build-module/components/image-editor/form-controls.js.map +1 -1
- package/build-module/components/image-editor/index.js +23 -13
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/image-editor/rotation-button.js +2 -2
- package/build-module/components/image-editor/rotation-button.js.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js +4 -4
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build-module/components/image-link-destinations/index.native.js +39 -27
- package/build-module/components/image-link-destinations/index.native.js.map +1 -1
- package/build-module/components/image-size-control/index.js +55 -45
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.native.js +2 -0
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +2 -2
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +2 -2
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +19 -16
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +31 -29
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +11 -14
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +21 -17
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
- package/build-module/components/inner-blocks/with-client-id.js +2 -2
- package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/index.js +23 -20
- package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +40 -36
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +27 -19
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +40 -31
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -5
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +44 -31
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +56 -42
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +110 -67
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +2 -2
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +27 -20
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +9 -4
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +33 -6
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/index.js +6 -6
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +23 -19
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +14 -6
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +9 -9
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +20 -17
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +94 -66
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +46 -36
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/media-tab/utils.js +2 -2
- package/build-module/components/inserter/media-tab/utils.js.map +1 -1
- package/build-module/components/inserter/menu.js +102 -83
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js +36 -28
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +57 -40
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build-module/components/inserter/no-results.js +11 -7
- package/build-module/components/inserter/no-results.js.map +1 -1
- package/build-module/components/inserter/no-results.native.js +14 -8
- package/build-module/components/inserter/no-results.native.js.map +1 -1
- package/build-module/components/inserter/panel.js +17 -10
- package/build-module/components/inserter/panel.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +25 -20
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +36 -31
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/reusable-block-rename-hint.js +21 -18
- package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/search-results.js +53 -41
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js +3 -3
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inserter/tabs.js +31 -26
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +20 -18
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter/tips.js +7 -5
- package/build-module/components/inserter/tips.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +29 -23
- package/build-module/components/inserter-button/index.native.js.map +1 -1
- package/build-module/components/inserter-button/sparkles.js +8 -7
- package/build-module/components/inserter-button/sparkles.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +14 -13
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +69 -62
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inserter-listbox/group.js +2 -2
- package/build-module/components/inserter-listbox/group.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +6 -4
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +10 -8
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inserter-listbox/row.js +2 -2
- package/build-module/components/inserter-listbox/row.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +2 -2
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +5 -5
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +22 -17
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +14 -5
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/index.js +3 -3
- package/build-module/components/inspector-controls/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +11 -10
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +3 -3
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +45 -32
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +8 -7
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +21 -18
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js +8 -2
- package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +33 -26
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +32 -26
- package/build-module/components/inspector-popover-header/index.js.map +1 -1
- package/build-module/components/justify-content-control/index.js +3 -3
- package/build-module/components/justify-content-control/index.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js +2 -2
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +2 -2
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +17 -16
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js +2 -2
- package/build-module/components/line-height-control/index.native.js.map +1 -1
- package/build-module/components/link-control/index.js +102 -82
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +63 -49
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +6 -5
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +33 -31
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +12 -11
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +51 -46
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +39 -30
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/settings.js +11 -9
- package/build-module/components/link-control/settings.js.map +1 -1
- package/build-module/components/list-view/appender.js +25 -22
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/aria-referenced-text.js +5 -4
- package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +34 -29
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +51 -42
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +98 -84
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +102 -93
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +39 -31
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/expander.js +8 -6
- package/build-module/components/list-view/expander.js.map +1 -1
- package/build-module/components/list-view/index.js +43 -38
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +5 -4
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +101 -79
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +65 -52
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +74 -60
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.native.js +2 -2
- package/build-module/components/media-replace-flow/index.native.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +46 -40
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/media-upload-progress/index.native.js +41 -16
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +20 -15
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +9 -7
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js +5 -4
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js +2 -2
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +3 -3
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +3 -3
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +5 -4
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/index.js +12 -8
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +4 -3
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js +32 -28
- package/build-module/components/provider/with-registry-provider.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js +37 -17
- package/build-module/components/publish-date-time-picker/index.js.map +1 -1
- package/build-module/components/recursion-provider/index.js +6 -5
- package/build-module/components/recursion-provider/index.js.map +1 -1
- package/build-module/components/resizable-box-popover/index.js +7 -6
- package/build-module/components/resizable-box-popover/index.js.map +1 -1
- package/build-module/components/resolution-tool/index.js +12 -11
- package/build-module/components/resolution-tool/index.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +31 -26
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/responsive-block-control/label.js +13 -7
- package/build-module/components/responsive-block-control/label.js.map +1 -1
- package/build-module/components/rich-text/content.js +8 -5
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +2 -2
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +5 -5
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +39 -33
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.native.js +10 -7
- package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +17 -12
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.native.js +5 -4
- package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +3 -2
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build-module/components/rich-text/index.js +90 -77
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +53 -47
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +62 -62
- package/build-module/components/rich-text/multiline.js.map +1 -1
- package/build-module/components/rich-text/native/format-edit.js +3 -4
- package/build-module/components/rich-text/native/format-edit.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +89 -80
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +20 -14
- package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
- package/build-module/components/rich-text/toolbar-button.js +8 -7
- package/build-module/components/rich-text/toolbar-button.js.map +1 -1
- package/build-module/components/rich-text/utils.js +5 -4
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/rich-text/with-deprecations.js +2 -2
- package/build-module/components/rich-text/with-deprecations.js.map +1 -1
- package/build-module/components/segmented-text-control/index.js +20 -17
- package/build-module/components/segmented-text-control/index.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +5 -4
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +24 -19
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/axial.js +20 -18
- package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/separated.js +19 -17
- package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/single.js +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +106 -101
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +44 -34
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +1 -0
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/text-alignment-control/index.js +2 -2
- package/build-module/components/text-alignment-control/index.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +2 -2
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +2 -2
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +37 -26
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/typewriter/index.js +5 -4
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js +8 -6
- package/build-module/components/ungroup-button/index.native.js.map +1 -1
- package/build-module/components/unit-control/index.js +2 -2
- package/build-module/components/unit-control/index.js.map +1 -1
- package/build-module/components/unsupported-block-details/index.native.js +32 -28
- package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
- package/build-module/components/url-input/button.js +32 -28
- package/build-module/components/url-input/button.js.map +1 -1
- package/build-module/components/url-input/index.js +28 -20
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-input/index.native.js +2 -2
- package/build-module/components/url-input/index.native.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +106 -91
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js +25 -19
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +16 -14
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +6 -5
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +15 -13
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +2 -2
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/video-player/gridicon-play.native.js +8 -7
- package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
- package/build-module/components/video-player/index.native.js +44 -40
- package/build-module/components/video-player/index.native.js.map +1 -1
- package/build-module/components/warning/index.js +35 -26
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/warning/index.native.js +18 -13
- package/build-module/components/warning/index.native.js.map +1 -1
- package/build-module/components/writing-flow/index.js +11 -6
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js +19 -16
- package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +3 -3
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +2 -2
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/align.js +9 -8
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +30 -22
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/background.js +6 -5
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-bindings.js +81 -0
- package/build-module/hooks/block-bindings.js.map +1 -0
- package/build-module/hooks/block-hooks.js +42 -33
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-style-variation.js +136 -0
- package/build-module/hooks/block-style-variation.js.map +1 -0
- package/build-module/hooks/border.js +6 -5
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +11 -9
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +25 -15
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/contrast-checker.js +2 -2
- package/build-module/hooks/contrast-checker.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +17 -16
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/dimensions.js +26 -21
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +51 -45
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js +3 -3
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +2 -2
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +4 -2
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout-child.js +28 -24
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/layout.js +63 -55
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/line-height.js +2 -2
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/position.js +28 -26
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/spacing-visualizer.js +10 -9
- package/build-module/hooks/spacing-visualizer.js.map +1 -1
- package/build-module/hooks/style.js +25 -13
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/text-align.js +20 -19
- package/build-module/hooks/text-align.js.map +1 -1
- package/build-module/hooks/typography.js +6 -5
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +12 -8
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +48 -14
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +3 -3
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +2 -2
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/hooks/utils.js +18 -17
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +68 -58
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +77 -61
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/grid.js +148 -125
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +7 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +39 -7
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/get-block-settings.js +2 -46
- package/build-module/store/get-block-settings.js.map +1 -1
- package/build-module/store/reducer.js +21 -14
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +34 -7
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +1 -0
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +1 -1
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +4 -0
- package/build-style/content.css +4 -0
- package/build-style/style-rtl.css +91 -72
- package/build-style/style.css +91 -72
- package/package.json +33 -32
- package/src/components/alignment-control/test/index.js +1 -1
- package/src/components/audio-player/audio-url-parser.native.js +20 -0
- package/src/components/audio-player/index.native.js +221 -0
- package/src/components/audio-player/styles.native.scss +114 -0
- package/src/components/audio-player/test/audio-url-parser.native.js +53 -0
- package/src/components/block-bindings-toolbar-indicator/index.js +125 -10
- package/src/components/block-bindings-toolbar-indicator/style.scss +7 -8
- package/src/components/block-canvas/style.scss +1 -5
- package/src/components/block-card/index.js +9 -5
- package/src/components/block-card/style.scss +0 -11
- package/src/components/block-edit/index.js +13 -2
- package/src/components/block-edit/multiple-usage-warning.js +46 -0
- package/src/components/block-inspector/index.js +2 -4
- package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -5
- package/src/components/block-list/block-invalid-warning.native.js +1 -1
- package/src/components/block-list/block.js +64 -18
- package/src/components/block-list/block.native.js +17 -9
- package/src/components/block-patterns-list/index.js +4 -1
- package/src/components/block-patterns-list/style.scss +23 -20
- package/src/components/block-preview/style.scss +0 -26
- package/src/components/block-settings/container.native.js +2 -0
- package/src/components/block-toolbar/index.js +1 -1
- package/src/components/block-tools/index.js +6 -5
- package/src/components/block-tools/style.scss +2 -2
- package/src/components/block-tools/zoom-out-mode-inserters.js +4 -3
- package/src/components/border-radius-control/all-input-control.js +1 -1
- package/src/components/border-radius-control/input-controls.js +1 -1
- package/src/components/child-layout-control/index.js +12 -12
- package/src/components/colors/utils.js +2 -2
- package/src/components/colors/with-colors.js +2 -1
- package/src/components/colors-gradients/control.js +3 -11
- package/src/components/contrast-checker/test/index.js +8 -8
- package/src/components/dimensions-tool/aspect-ratio-tool.js +1 -1
- package/src/components/dimensions-tool/scale-tool.js +1 -1
- package/src/components/dimensions-tool/width-height-tool.js +2 -2
- package/src/components/font-sizes/utils.js +2 -1
- package/src/components/global-styles/background-panel.js +116 -46
- package/src/components/global-styles/border-panel.js +8 -5
- package/src/components/global-styles/color-panel.js +27 -22
- package/src/components/global-styles/color-panel.native.js +1 -1
- package/src/components/global-styles/dimensions-panel.js +7 -8
- package/src/components/global-styles/hooks.js +13 -1
- package/src/components/global-styles/index.js +3 -0
- package/src/components/global-styles/shadow-panel-components.js +11 -5
- package/src/components/global-styles/test/theme-file-uri-utils.js +66 -0
- package/src/components/global-styles/test/use-global-styles-context.native.js +434 -0
- package/src/components/global-styles/test/use-global-styles-output.js +11 -10
- package/src/components/global-styles/theme-file-uri-utils.js +77 -0
- package/src/components/global-styles/typography-panel.js +50 -5
- package/src/components/global-styles/use-global-styles-context.native.js +586 -0
- package/src/components/global-styles/use-global-styles-output.js +199 -101
- package/src/components/grid-visualizer/grid-visualizer.js +8 -1
- package/src/components/grid-visualizer/style.scss +2 -1
- package/src/components/height-control/index.js +1 -1
- package/src/components/iframe/content.scss +4 -0
- package/src/components/index.native.js +7 -0
- package/src/components/inner-blocks/use-nested-settings-update.js +9 -16
- package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -1
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +16 -2
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +6 -1
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +3 -2
- package/src/components/inserter/block-types-tab.js +120 -78
- package/src/components/inserter/category-tabs/index.js +1 -1
- package/src/components/inserter/hooks/use-block-types-state.js +21 -5
- package/src/components/inserter/hooks/use-insertion-point.js +53 -7
- package/src/components/inserter/library.js +17 -7
- package/src/components/inserter/menu.js +24 -11
- package/src/components/inserter/quick-inserter.js +3 -1
- package/src/components/inserter/search-results.js +2 -1
- package/src/components/inserter/style.scss +41 -18
- package/src/components/inserter/tabs.js +2 -2
- package/src/components/inspector-controls/fill.native.js +3 -5
- package/src/components/inspector-controls-tabs/index.js +15 -3
- package/src/components/inspector-controls-tabs/style.scss +2 -10
- package/src/components/link-control/index.js +10 -1
- package/src/components/link-control/style.scss +9 -3
- package/src/components/list-view/block-contents.js +1 -1
- package/src/components/media-placeholder/index.js +1 -1
- package/src/components/media-placeholder/index.native.js +2 -2
- package/src/components/media-upload-progress/index.native.js +22 -2
- package/src/components/provider/with-registry-provider.js +33 -38
- package/src/components/publish-date-time-picker/index.js +43 -15
- package/src/components/resolution-tool/index.js +1 -1
- package/src/components/rich-text/index.js +11 -5
- package/src/components/rich-text/native/index.native.js +3 -2
- package/src/components/rich-text/native/test/index.native.js +13 -13
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +48 -16
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -3
- package/src/components/spacing-sizes-control/utils.js +2 -0
- package/src/components/video-player/index.native.js +1 -1
- package/src/components/writing-flow/use-clipboard-handler.js +19 -16
- package/src/hooks/block-bindings.js +92 -0
- package/src/hooks/block-bindings.scss +3 -0
- package/src/hooks/block-style-variation.js +156 -0
- package/src/hooks/font-family.js +1 -1
- package/src/hooks/index.js +4 -0
- package/src/hooks/layout.js +1 -2
- package/src/hooks/position.js +1 -1
- package/src/hooks/style.js +9 -1
- package/src/hooks/text-align.js +17 -11
- package/src/hooks/use-bindings-attributes.js +48 -5
- package/src/hooks/use-typography-props.js +2 -1
- package/src/hooks/use-zoom-out.js +9 -2
- package/src/hooks/utils.js +21 -4
- package/src/layouts/flex.js +2 -2
- package/src/layouts/grid.js +5 -5
- package/src/private-apis.js +6 -0
- package/src/store/actions.js +45 -12
- package/src/store/get-block-settings.js +1 -46
- package/src/store/reducer.js +24 -11
- package/src/store/selectors.js +66 -11
- package/src/store/utils.js +2 -0
- package/src/style.scss +1 -0
- package/src/utils/test/__snapshots__/transform-styles.js.snap +1 -1
- package/src/utils/test/transform-styles.js +2 -2
- package/src/utils/transform-styles/index.js +3 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
1
|
/**
|
|
3
2
|
* External dependencies
|
|
4
3
|
*/
|
|
@@ -23,6 +22,7 @@ import useBlockDisplayInformation from '../components/use-block-display-informat
|
|
|
23
22
|
import { cleanEmptyObject, useStyleOverride } from './utils';
|
|
24
23
|
import { unlock } from '../lock-unlock';
|
|
25
24
|
import { store as blockEditorStore } from '../store';
|
|
25
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
26
26
|
const {
|
|
27
27
|
CustomSelectControl
|
|
28
28
|
} = unlock(componentsPrivateApis);
|
|
@@ -251,30 +251,32 @@ export function PositionPanelPure({
|
|
|
251
251
|
|
|
252
252
|
// Only display position controls if there is at least one option to choose from.
|
|
253
253
|
return Platform.select({
|
|
254
|
-
web: options.length > 1 ?
|
|
255
|
-
group: "position"
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
254
|
+
web: options.length > 1 ? /*#__PURE__*/_jsx(InspectorControls, {
|
|
255
|
+
group: "position",
|
|
256
|
+
children: /*#__PURE__*/_jsx(BaseControl, {
|
|
257
|
+
className: "block-editor-hooks__position-selection",
|
|
258
|
+
__nextHasNoMarginBottom: true,
|
|
259
|
+
help: stickyHelpText,
|
|
260
|
+
children: /*#__PURE__*/_jsx(CustomSelectControl, {
|
|
261
|
+
__next40pxDefaultSize: true,
|
|
262
|
+
className: "block-editor-hooks__position-selection__select-control",
|
|
263
|
+
label: __('Position'),
|
|
264
|
+
hideLabelFromVision: true,
|
|
265
|
+
describedBy: sprintf(
|
|
266
|
+
// translators: %s: Currently selected position.
|
|
267
|
+
__('Currently selected position: %s'), selectedOption.name),
|
|
268
|
+
options: options,
|
|
269
|
+
value: selectedOption,
|
|
270
|
+
__experimentalShowSelectedHint: true,
|
|
271
|
+
onChange: ({
|
|
272
|
+
selectedItem
|
|
273
|
+
}) => {
|
|
274
|
+
onChangeType(selectedItem.value);
|
|
275
|
+
},
|
|
276
|
+
size: "__unstable-large"
|
|
277
|
+
})
|
|
278
|
+
})
|
|
279
|
+
}) : null,
|
|
278
280
|
native: null
|
|
279
281
|
});
|
|
280
282
|
}
|
|
@@ -284,7 +286,7 @@ export default {
|
|
|
284
286
|
if (isPositionDisabled) {
|
|
285
287
|
return null;
|
|
286
288
|
}
|
|
287
|
-
return
|
|
289
|
+
return /*#__PURE__*/_jsx(PositionPanelPure, {
|
|
288
290
|
...props
|
|
289
291
|
});
|
|
290
292
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__","_x","sprintf","getBlockSupport","hasBlockSupport","BaseControl","privateApis","componentsPrivateApis","useInstanceId","useSelect","useMemo","Platform","useSettings","InspectorControls","useBlockDisplayInformation","cleanEmptyObject","useStyleOverride","unlock","store","blockEditorStore","CustomSelectControl","POSITION_SUPPORT_KEY","OPTION_CLASSNAME","DEFAULT_OPTION","key","value","name","className","STICKY_OPTION","__experimentalHint","FIXED_OPTION","POSITION_SIDES","VALID_POSITION_TYPES","getPositionCSS","selector","style","output","type","positionType","position","includes","forEach","side","undefined","hasStickyPositionSupport","blockType","support","sticky","hasFixedPositionSupport","fixed","hasPositionSupport","hasPositionValue","props","attributes","hasStickyOrFixedPositionValue","resetPosition","setAttributes","top","right","bottom","left","useIsPositionDisabled","blockName","allowFixed","allowSticky","isDisabled","PositionPanelPure","clientId","firstParentClientId","select","getBlockParents","parents","length","blockInformation","stickyHelpText","title","options","availableOptions","push","onChangeType","next","placementValue","newStyle","selectedOption","find","option","web","createElement","group","__nextHasNoMarginBottom","help","__next40pxDefaultSize","label","hideLabelFromVision","describedBy","__experimentalShowSelectedHint","onChange","selectedItem","size","native","edit","Edit","isPositionDisabled","useBlockProps","attributeKeys","hasSupport","hasPositionBlockSupport","allowPositionStyles","id","positionSelector","css"],"sources":["@wordpress/block-editor/src/hooks/position.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport {\n\tBaseControl,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport useBlockDisplayInformation from '../components/use-block-display-information';\nimport { cleanEmptyObject, useStyleOverride } from './utils';\nimport { unlock } from '../lock-unlock';\nimport { store as blockEditorStore } from '../store';\n\nconst { CustomSelectControl } = unlock( componentsPrivateApis );\n\nconst POSITION_SUPPORT_KEY = 'position';\n\nconst OPTION_CLASSNAME =\n\t'block-editor-hooks__position-selection__select-control__option';\n\nconst DEFAULT_OPTION = {\n\tkey: 'default',\n\tvalue: '',\n\tname: __( 'Default' ),\n\tclassName: OPTION_CLASSNAME,\n};\n\nconst STICKY_OPTION = {\n\tkey: 'sticky',\n\tvalue: 'sticky',\n\tname: _x( 'Sticky', 'Name for the value of the CSS position property' ),\n\tclassName: OPTION_CLASSNAME,\n\t__experimentalHint: __(\n\t\t'The block will stick to the top of the window instead of scrolling.'\n\t),\n};\n\nconst FIXED_OPTION = {\n\tkey: 'fixed',\n\tvalue: 'fixed',\n\tname: _x( 'Fixed', 'Name for the value of the CSS position property' ),\n\tclassName: OPTION_CLASSNAME,\n\t__experimentalHint: __(\n\t\t'The block will not move when the page is scrolled.'\n\t),\n};\n\nconst POSITION_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nconst VALID_POSITION_TYPES = [ 'sticky', 'fixed' ];\n\n/**\n * Get calculated position CSS.\n *\n * @param {Object} props Component props.\n * @param {string} props.selector Selector to use.\n * @param {Object} props.style Style object.\n * @return {string} The generated CSS rules.\n */\nexport function getPositionCSS( { selector, style } ) {\n\tlet output = '';\n\n\tconst { type: positionType } = style?.position || {};\n\n\tif ( ! VALID_POSITION_TYPES.includes( positionType ) ) {\n\t\treturn output;\n\t}\n\n\toutput += `${ selector } {`;\n\toutput += `position: ${ positionType };`;\n\n\tPOSITION_SIDES.forEach( ( side ) => {\n\t\tif ( style?.position?.[ side ] !== undefined ) {\n\t\t\toutput += `${ side }: ${ style.position[ side ] };`;\n\t\t}\n\t} );\n\n\tif ( positionType === 'sticky' || positionType === 'fixed' ) {\n\t\t// TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json.\n\t\toutput += `z-index: 10`;\n\t}\n\toutput += `}`;\n\n\treturn output;\n}\n\n/**\n * Determines if there is sticky position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasStickyPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.sticky );\n}\n\n/**\n * Determines if there is fixed position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasFixedPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.fixed );\n}\n\n/**\n * Determines if there is position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! support;\n}\n\n/**\n * Checks if there is a current value in the position block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a position value set.\n */\nexport function hasPositionValue( props ) {\n\treturn props.attributes.style?.position?.type !== undefined;\n}\n\n/**\n * Checks if the block is currently set to a sticky or fixed position.\n * This check is helpful for determining how to position block toolbars or other elements.\n *\n * @param {Object} attributes Block attributes.\n * @return {boolean} Whether or not the block is set to a sticky or fixed position.\n */\nexport function hasStickyOrFixedPositionValue( attributes ) {\n\tconst positionType = attributes?.style?.position?.type;\n\treturn positionType === 'sticky' || positionType === 'fixed';\n}\n\n/**\n * Resets the position block support attributes. This can be used when disabling\n * the position support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetPosition( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: undefined,\n\t\t\t\ttop: undefined,\n\t\t\t\tright: undefined,\n\t\t\t\tbottom: undefined,\n\t\t\t\tleft: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if position settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether padding setting is disabled.\n */\nexport function useIsPositionDisabled( { name: blockName } = {} ) {\n\tconst [ allowFixed, allowSticky ] = useSettings(\n\t\t'position.fixed',\n\t\t'position.sticky'\n\t);\n\tconst isDisabled = ! allowFixed && ! allowSticky;\n\n\treturn ! hasPositionSupport( blockName ) || isDisabled;\n}\n\n/*\n * Position controls rendered in an inspector control panel.\n *\n * @param {Object} props\n *\n * @return {Element} Position panel.\n */\nexport function PositionPanelPure( {\n\tstyle = {},\n\tclientId,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst allowFixed = hasFixedPositionSupport( blockName );\n\tconst allowSticky = hasStickyPositionSupport( blockName );\n\tconst value = style?.position?.type;\n\n\tconst { firstParentClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\tconst parents = getBlockParents( clientId );\n\t\t\treturn { firstParentClientId: parents[ parents.length - 1 ] };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\tconst stickyHelpText =\n\t\tallowSticky && value === STICKY_OPTION.value && blockInformation\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: the name of the parent block. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'The block will stick to the scrollable area of the parent %s block.'\n\t\t\t\t\t),\n\t\t\t\t\tblockInformation.title\n\t\t\t )\n\t\t\t: null;\n\n\tconst options = useMemo( () => {\n\t\tconst availableOptions = [ DEFAULT_OPTION ];\n\t\t// Display options if they are allowed, or if a block already has a valid value set.\n\t\t// This allows for a block to be switched off from a position type that is not allowed.\n\t\tif ( allowSticky || value === STICKY_OPTION.value ) {\n\t\t\tavailableOptions.push( STICKY_OPTION );\n\t\t}\n\t\tif ( allowFixed || value === FIXED_OPTION.value ) {\n\t\t\tavailableOptions.push( FIXED_OPTION );\n\t\t}\n\t\treturn availableOptions;\n\t}, [ allowFixed, allowSticky, value ] );\n\n\tconst onChangeType = ( next ) => {\n\t\t// For now, use a hard-coded `0px` value for the position.\n\t\t// `0px` is preferred over `0` as it can be used in `calc()` functions.\n\t\t// In the future, it could be useful to allow for an offset value.\n\t\tconst placementValue = '0px';\n\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: next,\n\t\t\t\ttop:\n\t\t\t\t\tnext === 'sticky' || next === 'fixed'\n\t\t\t\t\t\t? placementValue\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst selectedOption = value\n\t\t? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION\n\t\t: DEFAULT_OPTION;\n\n\t// Only display position controls if there is at least one option to choose from.\n\treturn Platform.select( {\n\t\tweb:\n\t\t\toptions.length > 1 ? (\n\t\t\t\t<InspectorControls group=\"position\">\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tclassName=\"block-editor-hooks__position-selection\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\thelp={ stickyHelpText }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__position-selection__select-control\"\n\t\t\t\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Currently selected position.\n\t\t\t\t\t\t\t\t__( 'Currently selected position: %s' ),\n\t\t\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ selectedOption }\n\t\t\t\t\t\t\t__experimentalShowSelectedHint\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChangeType( selectedItem.value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</InspectorControls>\n\t\t\t) : null,\n\t\tnative: null,\n\t} );\n}\n\nexport default {\n\tedit: function Edit( props ) {\n\t\tconst isPositionDisabled = useIsPositionDisabled( props );\n\t\tif ( isPositionDisabled ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <PositionPanelPure { ...props } />;\n\t},\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, POSITION_SUPPORT_KEY );\n\t},\n};\n\nfunction useBlockProps( { name, style } ) {\n\tconst hasPositionBlockSupport = hasBlockSupport(\n\t\tname,\n\t\tPOSITION_SUPPORT_KEY\n\t);\n\tconst isPositionDisabled = useIsPositionDisabled( { name } );\n\tconst allowPositionStyles = hasPositionBlockSupport && ! isPositionDisabled;\n\n\tconst id = useInstanceId( useBlockProps );\n\n\t// Higher specificity to override defaults in editor UI.\n\tconst positionSelector = `.wp-container-${ id }.wp-container-${ id }`;\n\n\t// Get CSS string for the current position values.\n\tlet css;\n\tif ( allowPositionStyles ) {\n\t\tcss =\n\t\t\tgetPositionCSS( {\n\t\t\t\tselector: positionSelector,\n\t\t\t\tstyle,\n\t\t\t} ) || '';\n\t}\n\n\t// Attach a `wp-container-` id-based class name.\n\tconst className = clsx( {\n\t\t[ `wp-container-${ id }` ]: allowPositionStyles && !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t[ `is-position-${ style?.position?.type }` ]:\n\t\t\tallowPositionStyles && !! css && !! style?.position?.type,\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn { className };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","__","_x","sprintf","getBlockSupport","hasBlockSupport","BaseControl","privateApis","componentsPrivateApis","useInstanceId","useSelect","useMemo","Platform","useSettings","InspectorControls","useBlockDisplayInformation","cleanEmptyObject","useStyleOverride","unlock","store","blockEditorStore","jsx","_jsx","CustomSelectControl","POSITION_SUPPORT_KEY","OPTION_CLASSNAME","DEFAULT_OPTION","key","value","name","className","STICKY_OPTION","__experimentalHint","FIXED_OPTION","POSITION_SIDES","VALID_POSITION_TYPES","getPositionCSS","selector","style","output","type","positionType","position","includes","forEach","side","undefined","hasStickyPositionSupport","blockType","support","sticky","hasFixedPositionSupport","fixed","hasPositionSupport","hasPositionValue","props","attributes","hasStickyOrFixedPositionValue","resetPosition","setAttributes","top","right","bottom","left","useIsPositionDisabled","blockName","allowFixed","allowSticky","isDisabled","PositionPanelPure","clientId","firstParentClientId","select","getBlockParents","parents","length","blockInformation","stickyHelpText","title","options","availableOptions","push","onChangeType","next","placementValue","newStyle","selectedOption","find","option","web","group","children","__nextHasNoMarginBottom","help","__next40pxDefaultSize","label","hideLabelFromVision","describedBy","__experimentalShowSelectedHint","onChange","selectedItem","size","native","edit","Edit","isPositionDisabled","useBlockProps","attributeKeys","hasSupport","hasPositionBlockSupport","allowPositionStyles","id","positionSelector","css"],"sources":["@wordpress/block-editor/src/hooks/position.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport {\n\tBaseControl,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport useBlockDisplayInformation from '../components/use-block-display-information';\nimport { cleanEmptyObject, useStyleOverride } from './utils';\nimport { unlock } from '../lock-unlock';\nimport { store as blockEditorStore } from '../store';\n\nconst { CustomSelectControl } = unlock( componentsPrivateApis );\n\nconst POSITION_SUPPORT_KEY = 'position';\n\nconst OPTION_CLASSNAME =\n\t'block-editor-hooks__position-selection__select-control__option';\n\nconst DEFAULT_OPTION = {\n\tkey: 'default',\n\tvalue: '',\n\tname: __( 'Default' ),\n\tclassName: OPTION_CLASSNAME,\n};\n\nconst STICKY_OPTION = {\n\tkey: 'sticky',\n\tvalue: 'sticky',\n\tname: _x( 'Sticky', 'Name for the value of the CSS position property' ),\n\tclassName: OPTION_CLASSNAME,\n\t__experimentalHint: __(\n\t\t'The block will stick to the top of the window instead of scrolling.'\n\t),\n};\n\nconst FIXED_OPTION = {\n\tkey: 'fixed',\n\tvalue: 'fixed',\n\tname: _x( 'Fixed', 'Name for the value of the CSS position property' ),\n\tclassName: OPTION_CLASSNAME,\n\t__experimentalHint: __(\n\t\t'The block will not move when the page is scrolled.'\n\t),\n};\n\nconst POSITION_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nconst VALID_POSITION_TYPES = [ 'sticky', 'fixed' ];\n\n/**\n * Get calculated position CSS.\n *\n * @param {Object} props Component props.\n * @param {string} props.selector Selector to use.\n * @param {Object} props.style Style object.\n * @return {string} The generated CSS rules.\n */\nexport function getPositionCSS( { selector, style } ) {\n\tlet output = '';\n\n\tconst { type: positionType } = style?.position || {};\n\n\tif ( ! VALID_POSITION_TYPES.includes( positionType ) ) {\n\t\treturn output;\n\t}\n\n\toutput += `${ selector } {`;\n\toutput += `position: ${ positionType };`;\n\n\tPOSITION_SIDES.forEach( ( side ) => {\n\t\tif ( style?.position?.[ side ] !== undefined ) {\n\t\t\toutput += `${ side }: ${ style.position[ side ] };`;\n\t\t}\n\t} );\n\n\tif ( positionType === 'sticky' || positionType === 'fixed' ) {\n\t\t// TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json.\n\t\toutput += `z-index: 10`;\n\t}\n\toutput += `}`;\n\n\treturn output;\n}\n\n/**\n * Determines if there is sticky position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasStickyPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.sticky );\n}\n\n/**\n * Determines if there is fixed position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasFixedPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.fixed );\n}\n\n/**\n * Determines if there is position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! support;\n}\n\n/**\n * Checks if there is a current value in the position block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a position value set.\n */\nexport function hasPositionValue( props ) {\n\treturn props.attributes.style?.position?.type !== undefined;\n}\n\n/**\n * Checks if the block is currently set to a sticky or fixed position.\n * This check is helpful for determining how to position block toolbars or other elements.\n *\n * @param {Object} attributes Block attributes.\n * @return {boolean} Whether or not the block is set to a sticky or fixed position.\n */\nexport function hasStickyOrFixedPositionValue( attributes ) {\n\tconst positionType = attributes?.style?.position?.type;\n\treturn positionType === 'sticky' || positionType === 'fixed';\n}\n\n/**\n * Resets the position block support attributes. This can be used when disabling\n * the position support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetPosition( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: undefined,\n\t\t\t\ttop: undefined,\n\t\t\t\tright: undefined,\n\t\t\t\tbottom: undefined,\n\t\t\t\tleft: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if position settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether padding setting is disabled.\n */\nexport function useIsPositionDisabled( { name: blockName } = {} ) {\n\tconst [ allowFixed, allowSticky ] = useSettings(\n\t\t'position.fixed',\n\t\t'position.sticky'\n\t);\n\tconst isDisabled = ! allowFixed && ! allowSticky;\n\n\treturn ! hasPositionSupport( blockName ) || isDisabled;\n}\n\n/*\n * Position controls rendered in an inspector control panel.\n *\n * @param {Object} props\n *\n * @return {Element} Position panel.\n */\nexport function PositionPanelPure( {\n\tstyle = {},\n\tclientId,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst allowFixed = hasFixedPositionSupport( blockName );\n\tconst allowSticky = hasStickyPositionSupport( blockName );\n\tconst value = style?.position?.type;\n\n\tconst { firstParentClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\tconst parents = getBlockParents( clientId );\n\t\t\treturn { firstParentClientId: parents[ parents.length - 1 ] };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\tconst stickyHelpText =\n\t\tallowSticky && value === STICKY_OPTION.value && blockInformation\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: the name of the parent block. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'The block will stick to the scrollable area of the parent %s block.'\n\t\t\t\t\t),\n\t\t\t\t\tblockInformation.title\n\t\t\t )\n\t\t\t: null;\n\n\tconst options = useMemo( () => {\n\t\tconst availableOptions = [ DEFAULT_OPTION ];\n\t\t// Display options if they are allowed, or if a block already has a valid value set.\n\t\t// This allows for a block to be switched off from a position type that is not allowed.\n\t\tif ( allowSticky || value === STICKY_OPTION.value ) {\n\t\t\tavailableOptions.push( STICKY_OPTION );\n\t\t}\n\t\tif ( allowFixed || value === FIXED_OPTION.value ) {\n\t\t\tavailableOptions.push( FIXED_OPTION );\n\t\t}\n\t\treturn availableOptions;\n\t}, [ allowFixed, allowSticky, value ] );\n\n\tconst onChangeType = ( next ) => {\n\t\t// For now, use a hard-coded `0px` value for the position.\n\t\t// `0px` is preferred over `0` as it can be used in `calc()` functions.\n\t\t// In the future, it could be useful to allow for an offset value.\n\t\tconst placementValue = '0px';\n\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: next,\n\t\t\t\ttop:\n\t\t\t\t\tnext === 'sticky' || next === 'fixed'\n\t\t\t\t\t\t? placementValue\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst selectedOption = value\n\t\t? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION\n\t\t: DEFAULT_OPTION;\n\n\t// Only display position controls if there is at least one option to choose from.\n\treturn Platform.select( {\n\t\tweb:\n\t\t\toptions.length > 1 ? (\n\t\t\t\t<InspectorControls group=\"position\">\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tclassName=\"block-editor-hooks__position-selection\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\thelp={ stickyHelpText }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__position-selection__select-control\"\n\t\t\t\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Currently selected position.\n\t\t\t\t\t\t\t\t__( 'Currently selected position: %s' ),\n\t\t\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ selectedOption }\n\t\t\t\t\t\t\t__experimentalShowSelectedHint\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChangeType( selectedItem.value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</InspectorControls>\n\t\t\t) : null,\n\t\tnative: null,\n\t} );\n}\n\nexport default {\n\tedit: function Edit( props ) {\n\t\tconst isPositionDisabled = useIsPositionDisabled( props );\n\t\tif ( isPositionDisabled ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <PositionPanelPure { ...props } />;\n\t},\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, POSITION_SUPPORT_KEY );\n\t},\n};\n\nfunction useBlockProps( { name, style } ) {\n\tconst hasPositionBlockSupport = hasBlockSupport(\n\t\tname,\n\t\tPOSITION_SUPPORT_KEY\n\t);\n\tconst isPositionDisabled = useIsPositionDisabled( { name } );\n\tconst allowPositionStyles = hasPositionBlockSupport && ! isPositionDisabled;\n\n\tconst id = useInstanceId( useBlockProps );\n\n\t// Higher specificity to override defaults in editor UI.\n\tconst positionSelector = `.wp-container-${ id }.wp-container-${ id }`;\n\n\t// Get CSS string for the current position values.\n\tlet css;\n\tif ( allowPositionStyles ) {\n\t\tcss =\n\t\t\tgetPositionCSS( {\n\t\t\t\tselector: positionSelector,\n\t\t\t\tstyle,\n\t\t\t} ) || '';\n\t}\n\n\t// Attach a `wp-container-` id-based class name.\n\tconst className = clsx( {\n\t\t[ `wp-container-${ id }` ]: allowPositionStyles && !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t[ `is-position-${ style?.position?.type }` ]:\n\t\t\tallowPositionStyles && !! css && !! style?.position?.type,\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn { className };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
1
|
/**
|
|
3
2
|
* WordPress dependencies
|
|
4
3
|
*/
|
|
@@ -10,6 +9,7 @@ import isShallowEqual from '@wordpress/is-shallow-equal';
|
|
|
10
9
|
*/
|
|
11
10
|
import BlockPopoverCover from '../components/block-popover/cover';
|
|
12
11
|
import { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
function SpacingVisualizer({
|
|
14
14
|
clientId,
|
|
15
15
|
value,
|
|
@@ -48,13 +48,14 @@ function SpacingVisualizer({
|
|
|
48
48
|
if (!isActive && !forceShow) {
|
|
49
49
|
return null;
|
|
50
50
|
}
|
|
51
|
-
return
|
|
51
|
+
return /*#__PURE__*/_jsx(BlockPopoverCover, {
|
|
52
52
|
clientId: clientId,
|
|
53
|
-
__unstablePopoverSlot: "block-toolbar"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
__unstablePopoverSlot: "block-toolbar",
|
|
54
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
55
|
+
className: "block-editor__spacing-visualizer",
|
|
56
|
+
style: style
|
|
57
|
+
})
|
|
58
|
+
});
|
|
58
59
|
}
|
|
59
60
|
function getComputedCSS(element, property) {
|
|
60
61
|
return element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property);
|
|
@@ -64,7 +65,7 @@ export function MarginVisualizer({
|
|
|
64
65
|
value,
|
|
65
66
|
forceShow
|
|
66
67
|
}) {
|
|
67
|
-
return
|
|
68
|
+
return /*#__PURE__*/_jsx(SpacingVisualizer, {
|
|
68
69
|
clientId: clientId,
|
|
69
70
|
value: value?.spacing?.margin,
|
|
70
71
|
computeStyle: blockElement => {
|
|
@@ -91,7 +92,7 @@ export function PaddingVisualizer({
|
|
|
91
92
|
value,
|
|
92
93
|
forceShow
|
|
93
94
|
}) {
|
|
94
|
-
return
|
|
95
|
+
return /*#__PURE__*/_jsx(SpacingVisualizer, {
|
|
95
96
|
clientId: clientId,
|
|
96
97
|
value: value?.spacing?.padding,
|
|
97
98
|
computeStyle: blockElement => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useRef","useLayoutEffect","useEffect","useReducer","isShallowEqual","BlockPopoverCover","__unstableUseBlockElement","useBlockElement","SpacingVisualizer","clientId","value","computeStyle","forceShow","blockElement","style","updateStyle","window","requestAnimationFrame","previousValue","isActive","setIsActive","current","timeout","setTimeout","clearTimeout","
|
|
1
|
+
{"version":3,"names":["useState","useRef","useLayoutEffect","useEffect","useReducer","isShallowEqual","BlockPopoverCover","__unstableUseBlockElement","useBlockElement","jsx","_jsx","SpacingVisualizer","clientId","value","computeStyle","forceShow","blockElement","style","updateStyle","window","requestAnimationFrame","previousValue","isActive","setIsActive","current","timeout","setTimeout","clearTimeout","__unstablePopoverSlot","children","className","getComputedCSS","element","property","ownerDocument","defaultView","getComputedStyle","getPropertyValue","MarginVisualizer","spacing","margin","top","right","bottom","left","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","PaddingVisualizer","padding"],"sources":["@wordpress/block-editor/src/hooks/spacing-visualizer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseLayoutEffect,\n\tuseEffect,\n\tuseReducer,\n} from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport BlockPopoverCover from '../components/block-popover/cover';\nimport { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\n\nfunction SpacingVisualizer( { clientId, value, computeStyle, forceShow } ) {\n\tconst blockElement = useBlockElement( clientId );\n\tconst [ style, updateStyle ] = useReducer( () =>\n\t\tcomputeStyle( blockElement )\n\t);\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! blockElement ) {\n\t\t\treturn;\n\t\t}\n\t\t// It's not sufficient to read the computed spacing value when value.spacing changes as\n\t\t// useEffect may run before the browser recomputes CSS. We therefore combine\n\t\t// useLayoutEffect and two rAF calls to ensure that we read the spacing after the current\n\t\t// paint but before the next paint.\n\t\t// See https://github.com/WordPress/gutenberg/pull/59227.\n\t\twindow.requestAnimationFrame( () =>\n\t\t\twindow.requestAnimationFrame( updateStyle )\n\t\t);\n\t}, [ blockElement, value ] );\n\n\tconst previousValue = useRef( value );\n\tconst [ isActive, setIsActive ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isShallowEqual( value, previousValue.current ) || forceShow ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsActive( true );\n\t\tpreviousValue.current = value;\n\n\t\tconst timeout = setTimeout( () => {\n\t\t\tsetIsActive( false );\n\t\t}, 400 );\n\n\t\treturn () => {\n\t\t\tsetIsActive( false );\n\t\t\tclearTimeout( timeout );\n\t\t};\n\t}, [ value, forceShow ] );\n\n\tif ( ! isActive && ! forceShow ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPopoverCover\n\t\t\tclientId={ clientId }\n\t\t\t__unstablePopoverSlot=\"block-toolbar\"\n\t\t>\n\t\t\t<div className=\"block-editor__spacing-visualizer\" style={ style } />\n\t\t</BlockPopoverCover>\n\t);\n}\n\nfunction getComputedCSS( element, property ) {\n\treturn element.ownerDocument.defaultView\n\t\t.getComputedStyle( element )\n\t\t.getPropertyValue( property );\n}\n\nexport function MarginVisualizer( { clientId, value, forceShow } ) {\n\treturn (\n\t\t<SpacingVisualizer\n\t\t\tclientId={ clientId }\n\t\t\tvalue={ value?.spacing?.margin }\n\t\t\tcomputeStyle={ ( blockElement ) => {\n\t\t\t\tconst top = getComputedCSS( blockElement, 'margin-top' );\n\t\t\t\tconst right = getComputedCSS( blockElement, 'margin-right' );\n\t\t\t\tconst bottom = getComputedCSS( blockElement, 'margin-bottom' );\n\t\t\t\tconst left = getComputedCSS( blockElement, 'margin-left' );\n\t\t\t\treturn {\n\t\t\t\t\tborderTopWidth: top,\n\t\t\t\t\tborderRightWidth: right,\n\t\t\t\t\tborderBottomWidth: bottom,\n\t\t\t\t\tborderLeftWidth: left,\n\t\t\t\t\ttop: top ? `-${ top }` : 0,\n\t\t\t\t\tright: right ? `-${ right }` : 0,\n\t\t\t\t\tbottom: bottom ? `-${ bottom }` : 0,\n\t\t\t\t\tleft: left ? `-${ left }` : 0,\n\t\t\t\t};\n\t\t\t} }\n\t\t\tforceShow={ forceShow }\n\t\t/>\n\t);\n}\n\nexport function PaddingVisualizer( { clientId, value, forceShow } ) {\n\treturn (\n\t\t<SpacingVisualizer\n\t\t\tclientId={ clientId }\n\t\t\tvalue={ value?.spacing?.padding }\n\t\t\tcomputeStyle={ ( blockElement ) => ( {\n\t\t\t\tborderTopWidth: getComputedCSS( blockElement, 'padding-top' ),\n\t\t\t\tborderRightWidth: getComputedCSS(\n\t\t\t\t\tblockElement,\n\t\t\t\t\t'padding-right'\n\t\t\t\t),\n\t\t\t\tborderBottomWidth: getComputedCSS(\n\t\t\t\t\tblockElement,\n\t\t\t\t\t'padding-bottom'\n\t\t\t\t),\n\t\t\t\tborderLeftWidth: getComputedCSS( blockElement, 'padding-left' ),\n\t\t\t} ) }\n\t\t\tforceShow={ forceShow }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createElement, Fragment } from "react";
|
|
2
1
|
/**
|
|
3
2
|
* WordPress dependencies
|
|
4
3
|
*/
|
|
@@ -19,6 +18,9 @@ import { DIMENSIONS_SUPPORT_KEY, SPACING_SUPPORT_KEY, DimensionsPanel } from './
|
|
|
19
18
|
import { shouldSkipSerialization, useStyleOverride, useBlockSettings } from './utils';
|
|
20
19
|
import { scopeSelector } from '../components/global-styles/utils';
|
|
21
20
|
import { useBlockEditingMode } from '../components/block-editing-mode';
|
|
21
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
23
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
22
24
|
const styleSupportKeys = [...TYPOGRAPHY_SUPPORT_KEYS, BORDER_SUPPORT_KEY, COLOR_SUPPORT_KEY, DIMENSIONS_SUPPORT_KEY, BACKGROUND_SUPPORT_KEY, SPACING_SUPPORT_KEY, SHADOW_SUPPORT_KEY];
|
|
23
25
|
const hasStyleSupport = nameOrType => styleSupportKeys.some(key => hasBlockSupport(nameOrType, key));
|
|
24
26
|
|
|
@@ -278,22 +280,32 @@ function BlockStyleControls({
|
|
|
278
280
|
clientId,
|
|
279
281
|
name,
|
|
280
282
|
setAttributes,
|
|
281
|
-
settings
|
|
283
|
+
settings: {
|
|
284
|
+
...settings,
|
|
285
|
+
typography: {
|
|
286
|
+
...settings.typography,
|
|
287
|
+
// The text alignment UI for individual blocks is rendered in
|
|
288
|
+
// the block toolbar, so disable it here.
|
|
289
|
+
textAlign: false
|
|
290
|
+
}
|
|
291
|
+
}
|
|
282
292
|
};
|
|
283
293
|
if (blockEditingMode !== 'default') {
|
|
284
294
|
return null;
|
|
285
295
|
}
|
|
286
|
-
return
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
296
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
297
|
+
children: [/*#__PURE__*/_jsx(ColorEdit, {
|
|
298
|
+
...passedProps
|
|
299
|
+
}), /*#__PURE__*/_jsx(BackgroundImagePanel, {
|
|
300
|
+
...passedProps
|
|
301
|
+
}), /*#__PURE__*/_jsx(TypographyPanel, {
|
|
302
|
+
...passedProps
|
|
303
|
+
}), /*#__PURE__*/_jsx(BorderPanel, {
|
|
304
|
+
...passedProps
|
|
305
|
+
}), /*#__PURE__*/_jsx(DimensionsPanel, {
|
|
306
|
+
...passedProps
|
|
307
|
+
})]
|
|
308
|
+
});
|
|
297
309
|
}
|
|
298
310
|
export default {
|
|
299
311
|
edit: BlockStyleControls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","addFilter","getBlockSupport","hasBlockSupport","__EXPERIMENTAL_ELEMENTS","ELEMENTS","useInstanceId","getCSSRules","compileCSS","BACKGROUND_SUPPORT_KEY","BackgroundImagePanel","BORDER_SUPPORT_KEY","BorderPanel","SHADOW_SUPPORT_KEY","COLOR_SUPPORT_KEY","ColorEdit","TypographyPanel","TYPOGRAPHY_SUPPORT_KEY","TYPOGRAPHY_SUPPORT_KEYS","DIMENSIONS_SUPPORT_KEY","SPACING_SUPPORT_KEY","DimensionsPanel","shouldSkipSerialization","useStyleOverride","useBlockSettings","scopeSelector","useBlockEditingMode","styleSupportKeys","hasStyleSupport","nameOrType","some","key","getInlineStyles","styles","output","forEach","rule","value","addAttribute","settings","attributes","style","Object","assign","type","skipSerializationPathsEdit","skipSerializationPathsSave","skipSerializationPathsSaveChecks","renamedFeatures","gradients","omitStyle","paths","preserveReference","newStyle","JSON","parse","stringify","Array","isArray","path","split","length","firstSubpath","restPath","addSaveProps","props","blockNameOrType","skipPaths","entries","indicator","skipSerialization","featureName","feature","BlockStyleControls","clientId","name","setAttributes","__unstableParentLayout","blockEditingMode","passedProps","createElement","Fragment","edit","hasSupport","attributeKeys","useBlockProps","elementTypes","elementType","pseudo","elements","blockElementsContainerIdentifier","baseElementSelector","blockElementStyles","elementCSSRules","elementStyles","selector","push","pseudoSelector","element","join","undefined","css","className"],"sources":["@wordpress/block-editor/src/hooks/style.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\thasBlockSupport,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { getCSSRules, compileCSS } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { BACKGROUND_SUPPORT_KEY, BackgroundImagePanel } from './background';\nimport { BORDER_SUPPORT_KEY, BorderPanel, SHADOW_SUPPORT_KEY } from './border';\nimport { COLOR_SUPPORT_KEY, ColorEdit } from './color';\nimport {\n\tTypographyPanel,\n\tTYPOGRAPHY_SUPPORT_KEY,\n\tTYPOGRAPHY_SUPPORT_KEYS,\n} from './typography';\nimport {\n\tDIMENSIONS_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n\tDimensionsPanel,\n} from './dimensions';\nimport {\n\tshouldSkipSerialization,\n\tuseStyleOverride,\n\tuseBlockSettings,\n} from './utils';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\nconst styleSupportKeys = [\n\t...TYPOGRAPHY_SUPPORT_KEYS,\n\tBORDER_SUPPORT_KEY,\n\tCOLOR_SUPPORT_KEY,\n\tDIMENSIONS_SUPPORT_KEY,\n\tBACKGROUND_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n\tSHADOW_SUPPORT_KEY,\n];\n\nconst hasStyleSupport = ( nameOrType ) =>\n\tstyleSupportKeys.some( ( key ) => hasBlockSupport( nameOrType, key ) );\n\n/**\n * Returns the inline styles to add depending on the style object\n *\n * @param {Object} styles Styles configuration.\n *\n * @return {Object} Flattened CSS variables declaration.\n */\nexport function getInlineStyles( styles = {} ) {\n\tconst output = {};\n\t// The goal is to move everything to server side generated engine styles\n\t// This is temporary as we absorb more and more styles into the engine.\n\tgetCSSRules( styles ).forEach( ( rule ) => {\n\t\toutput[ rule.key ] = rule.value;\n\t} );\n\n\treturn output;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `style` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttribute( settings ) {\n\tif ( ! hasStyleSupport( settings ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default 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\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsEdit = {\n\t[ `${ BORDER_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [ 'border' ],\n\t[ `${ COLOR_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tCOLOR_SUPPORT_KEY,\n\t],\n\t[ `${ TYPOGRAPHY_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t],\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t],\n\t[ `${ SPACING_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tSPACING_SUPPORT_KEY,\n\t],\n\t[ `${ SHADOW_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tSHADOW_SUPPORT_KEY,\n\t],\n};\n\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * Extends the Edit skip paths to enable skipping additional paths in just\n * the Save component. This allows a block support to be serialized within the\n * editor, while using an alternate approach, such as server-side rendering, when\n * the support is saved.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsSave = {\n\t...skipSerializationPathsEdit,\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: [\n\t\t`${ DIMENSIONS_SUPPORT_KEY }.aspectRatio`,\n\t], // Skip serialization of aspect ratio in save mode.\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: [ BACKGROUND_SUPPORT_KEY ], // Skip serialization of background support in save mode.\n};\n\nconst skipSerializationPathsSaveChecks = {\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: true,\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: true,\n};\n\n/**\n * A dictionary used to normalize feature names between support flags, style\n * object properties and __experimentSkipSerialization configuration arrays.\n *\n * This allows not having to provide a migration for a support flag and possible\n * backwards compatibility bridges, while still achieving consistency between\n * the support flag and the skip serialization array.\n *\n * @constant\n * @type {Record<string, string>}\n */\nconst renamedFeatures = { gradients: 'gradient' };\n\n/**\n * A utility function used to remove one or more paths from a style object.\n * Works in a way similar to Lodash's `omit()`. See unit tests and examples below.\n *\n * It supports a single string path:\n *\n * ```\n * omitStyle( { color: 'red' }, 'color' ); // {}\n * ```\n *\n * or an array of paths:\n *\n * ```\n * omitStyle( { color: 'red', background: '#fff' }, [ 'color', 'background' ] ); // {}\n * ```\n *\n * It also allows you to specify paths at multiple levels in a string.\n *\n * ```\n * omitStyle( { typography: { textDecoration: 'underline' } }, 'typography.textDecoration' ); // {}\n * ```\n *\n * You can remove multiple paths at the same time:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t'typography.textDecoration',\n * \t\t\t'typography.textTransform',\n *\t\t]\n * );\n * // {}\n * ```\n *\n * You can also specify nested paths as arrays:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'typography', 'textDecoration' ],\n * \t\t\t[ 'typography', 'textTransform' ],\n *\t\t]\n * );\n * // {}\n * ```\n *\n * With regards to nesting of styles, infinite depth is supported:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\tborder: {\n * \t\t\t\tradius: {\n * \t\t\t\t\ttopLeft: '10px',\n * \t\t\t\t\ttopRight: '0.5rem',\n * \t\t\t\t}\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'border', 'radius', 'topRight' ],\n *\t\t]\n * );\n * // { border: { radius: { topLeft: '10px' } } }\n * ```\n *\n * The third argument, `preserveReference`, defines how to treat the input style object.\n * It is mostly necessary to properly handle mutation when recursively handling the style object.\n * Defaulting to `false`, this will always create a new object, avoiding to mutate `style`.\n * However, when recursing, we change that value to `true` in order to work with a single copy\n * of the original style object.\n *\n * @see https://lodash.com/docs/4.17.15#omit\n *\n * @param {Object} style Styles object.\n * @param {Array|string} paths Paths to remove.\n * @param {boolean} preserveReference True to mutate the `style` object, false otherwise.\n * @return {Object} Styles object with the specified paths removed.\n */\nexport function omitStyle( style, paths, preserveReference = false ) {\n\tif ( ! style ) {\n\t\treturn style;\n\t}\n\n\tlet newStyle = style;\n\tif ( ! preserveReference ) {\n\t\tnewStyle = JSON.parse( JSON.stringify( style ) );\n\t}\n\n\tif ( ! Array.isArray( paths ) ) {\n\t\tpaths = [ paths ];\n\t}\n\n\tpaths.forEach( ( path ) => {\n\t\tif ( ! Array.isArray( path ) ) {\n\t\t\tpath = path.split( '.' );\n\t\t}\n\n\t\tif ( path.length > 1 ) {\n\t\t\tconst [ firstSubpath, ...restPath ] = path;\n\t\t\tomitStyle( newStyle[ firstSubpath ], [ restPath ], true );\n\t\t} else if ( path.length === 1 ) {\n\t\t\tdelete newStyle[ path[ 0 ] ];\n\t\t}\n\t} );\n\n\treturn newStyle;\n}\n\n/**\n * Override props assigned to save component to inject the CSS variables definition.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object|string} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n * @param {?Record<string, string[]>} skipPaths An object of keys and paths to skip serialization.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps(\n\tprops,\n\tblockNameOrType,\n\tattributes,\n\tskipPaths = skipSerializationPathsSave\n) {\n\tif ( ! hasStyleSupport( blockNameOrType ) ) {\n\t\treturn props;\n\t}\n\n\tlet { style } = attributes;\n\tObject.entries( skipPaths ).forEach( ( [ indicator, path ] ) => {\n\t\tconst skipSerialization =\n\t\t\tskipSerializationPathsSaveChecks[ indicator ] ||\n\t\t\tgetBlockSupport( blockNameOrType, indicator );\n\n\t\tif ( skipSerialization === true ) {\n\t\t\tstyle = omitStyle( style, path );\n\t\t}\n\n\t\tif ( Array.isArray( skipSerialization ) ) {\n\t\t\tskipSerialization.forEach( ( featureName ) => {\n\t\t\t\tconst feature = renamedFeatures[ featureName ] || featureName;\n\t\t\t\tstyle = omitStyle( style, [ [ ...path, feature ] ] );\n\t\t\t} );\n\t\t}\n\t} );\n\n\tprops.style = {\n\t\t...getInlineStyles( style ),\n\t\t...props.style,\n\t};\n\n\treturn props;\n}\n\nfunction BlockStyleControls( {\n\tclientId,\n\tname,\n\tsetAttributes,\n\t__unstableParentLayout,\n} ) {\n\tconst settings = useBlockSettings( name, __unstableParentLayout );\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst passedProps = {\n\t\tclientId,\n\t\tname,\n\t\tsetAttributes,\n\t\tsettings,\n\t};\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorEdit { ...passedProps } />\n\t\t\t<BackgroundImagePanel { ...passedProps } />\n\t\t\t<TypographyPanel { ...passedProps } />\n\t\t\t<BorderPanel { ...passedProps } />\n\t\t\t<DimensionsPanel { ...passedProps } />\n\t\t</>\n\t);\n}\n\nexport default {\n\tedit: BlockStyleControls,\n\thasSupport: hasStyleSupport,\n\taddSaveProps,\n\tattributeKeys: [ 'style' ],\n\tuseBlockProps,\n};\n\n// Defines which element types are supported, including their hover styles or\n// any other elements that have been included under a single element type\n// e.g. heading and h1-h6.\nconst elementTypes = [\n\t{ elementType: 'button' },\n\t{ elementType: 'link', pseudo: [ ':hover' ] },\n\t{\n\t\telementType: 'heading',\n\t\telements: [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ],\n\t},\n];\n\nfunction useBlockProps( { name, style } ) {\n\tconst blockElementsContainerIdentifier = `wp-elements-${ useInstanceId(\n\t\tuseBlockProps\n\t) }`;\n\n\t// The .editor-styles-wrapper selector is required on elements styles. As it is\n\t// added to all other editor styles, not providing it causes reset and global\n\t// styles to override element styles because of higher specificity.\n\tconst baseElementSelector = `.editor-styles-wrapper .${ blockElementsContainerIdentifier }`;\n\tconst blockElementStyles = style?.elements;\n\n\tconst styles = useMemo( () => {\n\t\tif ( ! blockElementStyles ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementCSSRules = [];\n\n\t\telementTypes.forEach( ( { elementType, pseudo, elements } ) => {\n\t\t\tconst skipSerialization = shouldSkipSerialization(\n\t\t\t\tname,\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\telementType\n\t\t\t);\n\n\t\t\tif ( skipSerialization ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst elementStyles = blockElementStyles?.[ elementType ];\n\n\t\t\t// Process primary element type styles.\n\t\t\tif ( elementStyles ) {\n\t\t\t\tconst selector = scopeSelector(\n\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\tELEMENTS[ elementType ]\n\t\t\t\t);\n\n\t\t\t\telementCSSRules.push(\n\t\t\t\t\tcompileCSS( elementStyles, { selector } )\n\t\t\t\t);\n\n\t\t\t\t// Process any interactive states for the element type.\n\t\t\t\tif ( pseudo ) {\n\t\t\t\t\tpseudo.forEach( ( pseudoSelector ) => {\n\t\t\t\t\t\tif ( elementStyles[ pseudoSelector ] ) {\n\t\t\t\t\t\t\telementCSSRules.push(\n\t\t\t\t\t\t\t\tcompileCSS( elementStyles[ pseudoSelector ], {\n\t\t\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\t\t\t\t\t\t`${ ELEMENTS[ elementType ] }${ pseudoSelector }`\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Process related elements e.g. h1-h6 for headings\n\t\t\tif ( elements ) {\n\t\t\t\telements.forEach( ( element ) => {\n\t\t\t\t\tif ( blockElementStyles[ element ] ) {\n\t\t\t\t\t\telementCSSRules.push(\n\t\t\t\t\t\t\tcompileCSS( blockElementStyles[ element ], {\n\t\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\t\t\t\t\tELEMENTS[ element ]\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\treturn elementCSSRules.length > 0\n\t\t\t? elementCSSRules.join( '' )\n\t\t\t: undefined;\n\t}, [ baseElementSelector, blockElementStyles, name ] );\n\n\tuseStyleOverride( { css: styles } );\n\n\treturn addSaveProps(\n\t\t{ className: blockElementsContainerIdentifier },\n\t\tname,\n\t\t{ style },\n\t\tskipSerializationPathsEdit\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/style/addAttribute',\n\taddAttribute\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useMemo","addFilter","getBlockSupport","hasBlockSupport","__EXPERIMENTAL_ELEMENTS","ELEMENTS","useInstanceId","getCSSRules","compileCSS","BACKGROUND_SUPPORT_KEY","BackgroundImagePanel","BORDER_SUPPORT_KEY","BorderPanel","SHADOW_SUPPORT_KEY","COLOR_SUPPORT_KEY","ColorEdit","TypographyPanel","TYPOGRAPHY_SUPPORT_KEY","TYPOGRAPHY_SUPPORT_KEYS","DIMENSIONS_SUPPORT_KEY","SPACING_SUPPORT_KEY","DimensionsPanel","shouldSkipSerialization","useStyleOverride","useBlockSettings","scopeSelector","useBlockEditingMode","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","styleSupportKeys","hasStyleSupport","nameOrType","some","key","getInlineStyles","styles","output","forEach","rule","value","addAttribute","settings","attributes","style","Object","assign","type","skipSerializationPathsEdit","skipSerializationPathsSave","skipSerializationPathsSaveChecks","renamedFeatures","gradients","omitStyle","paths","preserveReference","newStyle","JSON","parse","stringify","Array","isArray","path","split","length","firstSubpath","restPath","addSaveProps","props","blockNameOrType","skipPaths","entries","indicator","skipSerialization","featureName","feature","BlockStyleControls","clientId","name","setAttributes","__unstableParentLayout","blockEditingMode","passedProps","typography","textAlign","children","edit","hasSupport","attributeKeys","useBlockProps","elementTypes","elementType","pseudo","elements","blockElementsContainerIdentifier","baseElementSelector","blockElementStyles","elementCSSRules","elementStyles","selector","push","pseudoSelector","element","join","undefined","css","className"],"sources":["@wordpress/block-editor/src/hooks/style.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\thasBlockSupport,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { getCSSRules, compileCSS } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { BACKGROUND_SUPPORT_KEY, BackgroundImagePanel } from './background';\nimport { BORDER_SUPPORT_KEY, BorderPanel, SHADOW_SUPPORT_KEY } from './border';\nimport { COLOR_SUPPORT_KEY, ColorEdit } from './color';\nimport {\n\tTypographyPanel,\n\tTYPOGRAPHY_SUPPORT_KEY,\n\tTYPOGRAPHY_SUPPORT_KEYS,\n} from './typography';\nimport {\n\tDIMENSIONS_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n\tDimensionsPanel,\n} from './dimensions';\nimport {\n\tshouldSkipSerialization,\n\tuseStyleOverride,\n\tuseBlockSettings,\n} from './utils';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\nconst styleSupportKeys = [\n\t...TYPOGRAPHY_SUPPORT_KEYS,\n\tBORDER_SUPPORT_KEY,\n\tCOLOR_SUPPORT_KEY,\n\tDIMENSIONS_SUPPORT_KEY,\n\tBACKGROUND_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n\tSHADOW_SUPPORT_KEY,\n];\n\nconst hasStyleSupport = ( nameOrType ) =>\n\tstyleSupportKeys.some( ( key ) => hasBlockSupport( nameOrType, key ) );\n\n/**\n * Returns the inline styles to add depending on the style object\n *\n * @param {Object} styles Styles configuration.\n *\n * @return {Object} Flattened CSS variables declaration.\n */\nexport function getInlineStyles( styles = {} ) {\n\tconst output = {};\n\t// The goal is to move everything to server side generated engine styles\n\t// This is temporary as we absorb more and more styles into the engine.\n\tgetCSSRules( styles ).forEach( ( rule ) => {\n\t\toutput[ rule.key ] = rule.value;\n\t} );\n\n\treturn output;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `style` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttribute( settings ) {\n\tif ( ! hasStyleSupport( settings ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default 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\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsEdit = {\n\t[ `${ BORDER_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [ 'border' ],\n\t[ `${ COLOR_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tCOLOR_SUPPORT_KEY,\n\t],\n\t[ `${ TYPOGRAPHY_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t],\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t],\n\t[ `${ SPACING_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tSPACING_SUPPORT_KEY,\n\t],\n\t[ `${ SHADOW_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tSHADOW_SUPPORT_KEY,\n\t],\n};\n\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * Extends the Edit skip paths to enable skipping additional paths in just\n * the Save component. This allows a block support to be serialized within the\n * editor, while using an alternate approach, such as server-side rendering, when\n * the support is saved.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsSave = {\n\t...skipSerializationPathsEdit,\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: [\n\t\t`${ DIMENSIONS_SUPPORT_KEY }.aspectRatio`,\n\t], // Skip serialization of aspect ratio in save mode.\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: [ BACKGROUND_SUPPORT_KEY ], // Skip serialization of background support in save mode.\n};\n\nconst skipSerializationPathsSaveChecks = {\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: true,\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: true,\n};\n\n/**\n * A dictionary used to normalize feature names between support flags, style\n * object properties and __experimentSkipSerialization configuration arrays.\n *\n * This allows not having to provide a migration for a support flag and possible\n * backwards compatibility bridges, while still achieving consistency between\n * the support flag and the skip serialization array.\n *\n * @constant\n * @type {Record<string, string>}\n */\nconst renamedFeatures = { gradients: 'gradient' };\n\n/**\n * A utility function used to remove one or more paths from a style object.\n * Works in a way similar to Lodash's `omit()`. See unit tests and examples below.\n *\n * It supports a single string path:\n *\n * ```\n * omitStyle( { color: 'red' }, 'color' ); // {}\n * ```\n *\n * or an array of paths:\n *\n * ```\n * omitStyle( { color: 'red', background: '#fff' }, [ 'color', 'background' ] ); // {}\n * ```\n *\n * It also allows you to specify paths at multiple levels in a string.\n *\n * ```\n * omitStyle( { typography: { textDecoration: 'underline' } }, 'typography.textDecoration' ); // {}\n * ```\n *\n * You can remove multiple paths at the same time:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t'typography.textDecoration',\n * \t\t\t'typography.textTransform',\n *\t\t]\n * );\n * // {}\n * ```\n *\n * You can also specify nested paths as arrays:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'typography', 'textDecoration' ],\n * \t\t\t[ 'typography', 'textTransform' ],\n *\t\t]\n * );\n * // {}\n * ```\n *\n * With regards to nesting of styles, infinite depth is supported:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\tborder: {\n * \t\t\t\tradius: {\n * \t\t\t\t\ttopLeft: '10px',\n * \t\t\t\t\ttopRight: '0.5rem',\n * \t\t\t\t}\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'border', 'radius', 'topRight' ],\n *\t\t]\n * );\n * // { border: { radius: { topLeft: '10px' } } }\n * ```\n *\n * The third argument, `preserveReference`, defines how to treat the input style object.\n * It is mostly necessary to properly handle mutation when recursively handling the style object.\n * Defaulting to `false`, this will always create a new object, avoiding to mutate `style`.\n * However, when recursing, we change that value to `true` in order to work with a single copy\n * of the original style object.\n *\n * @see https://lodash.com/docs/4.17.15#omit\n *\n * @param {Object} style Styles object.\n * @param {Array|string} paths Paths to remove.\n * @param {boolean} preserveReference True to mutate the `style` object, false otherwise.\n * @return {Object} Styles object with the specified paths removed.\n */\nexport function omitStyle( style, paths, preserveReference = false ) {\n\tif ( ! style ) {\n\t\treturn style;\n\t}\n\n\tlet newStyle = style;\n\tif ( ! preserveReference ) {\n\t\tnewStyle = JSON.parse( JSON.stringify( style ) );\n\t}\n\n\tif ( ! Array.isArray( paths ) ) {\n\t\tpaths = [ paths ];\n\t}\n\n\tpaths.forEach( ( path ) => {\n\t\tif ( ! Array.isArray( path ) ) {\n\t\t\tpath = path.split( '.' );\n\t\t}\n\n\t\tif ( path.length > 1 ) {\n\t\t\tconst [ firstSubpath, ...restPath ] = path;\n\t\t\tomitStyle( newStyle[ firstSubpath ], [ restPath ], true );\n\t\t} else if ( path.length === 1 ) {\n\t\t\tdelete newStyle[ path[ 0 ] ];\n\t\t}\n\t} );\n\n\treturn newStyle;\n}\n\n/**\n * Override props assigned to save component to inject the CSS variables definition.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object|string} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n * @param {?Record<string, string[]>} skipPaths An object of keys and paths to skip serialization.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps(\n\tprops,\n\tblockNameOrType,\n\tattributes,\n\tskipPaths = skipSerializationPathsSave\n) {\n\tif ( ! hasStyleSupport( blockNameOrType ) ) {\n\t\treturn props;\n\t}\n\n\tlet { style } = attributes;\n\tObject.entries( skipPaths ).forEach( ( [ indicator, path ] ) => {\n\t\tconst skipSerialization =\n\t\t\tskipSerializationPathsSaveChecks[ indicator ] ||\n\t\t\tgetBlockSupport( blockNameOrType, indicator );\n\n\t\tif ( skipSerialization === true ) {\n\t\t\tstyle = omitStyle( style, path );\n\t\t}\n\n\t\tif ( Array.isArray( skipSerialization ) ) {\n\t\t\tskipSerialization.forEach( ( featureName ) => {\n\t\t\t\tconst feature = renamedFeatures[ featureName ] || featureName;\n\t\t\t\tstyle = omitStyle( style, [ [ ...path, feature ] ] );\n\t\t\t} );\n\t\t}\n\t} );\n\n\tprops.style = {\n\t\t...getInlineStyles( style ),\n\t\t...props.style,\n\t};\n\n\treturn props;\n}\n\nfunction BlockStyleControls( {\n\tclientId,\n\tname,\n\tsetAttributes,\n\t__unstableParentLayout,\n} ) {\n\tconst settings = useBlockSettings( name, __unstableParentLayout );\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst passedProps = {\n\t\tclientId,\n\t\tname,\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\t...settings,\n\t\t\ttypography: {\n\t\t\t\t...settings.typography,\n\t\t\t\t// The text alignment UI for individual blocks is rendered in\n\t\t\t\t// the block toolbar, so disable it here.\n\t\t\t\ttextAlign: false,\n\t\t\t},\n\t\t},\n\t};\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorEdit { ...passedProps } />\n\t\t\t<BackgroundImagePanel { ...passedProps } />\n\t\t\t<TypographyPanel { ...passedProps } />\n\t\t\t<BorderPanel { ...passedProps } />\n\t\t\t<DimensionsPanel { ...passedProps } />\n\t\t</>\n\t);\n}\n\nexport default {\n\tedit: BlockStyleControls,\n\thasSupport: hasStyleSupport,\n\taddSaveProps,\n\tattributeKeys: [ 'style' ],\n\tuseBlockProps,\n};\n\n// Defines which element types are supported, including their hover styles or\n// any other elements that have been included under a single element type\n// e.g. heading and h1-h6.\nconst elementTypes = [\n\t{ elementType: 'button' },\n\t{ elementType: 'link', pseudo: [ ':hover' ] },\n\t{\n\t\telementType: 'heading',\n\t\telements: [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ],\n\t},\n];\n\nfunction useBlockProps( { name, style } ) {\n\tconst blockElementsContainerIdentifier = `wp-elements-${ useInstanceId(\n\t\tuseBlockProps\n\t) }`;\n\n\t// The .editor-styles-wrapper selector is required on elements styles. As it is\n\t// added to all other editor styles, not providing it causes reset and global\n\t// styles to override element styles because of higher specificity.\n\tconst baseElementSelector = `.editor-styles-wrapper .${ blockElementsContainerIdentifier }`;\n\tconst blockElementStyles = style?.elements;\n\n\tconst styles = useMemo( () => {\n\t\tif ( ! blockElementStyles ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementCSSRules = [];\n\n\t\telementTypes.forEach( ( { elementType, pseudo, elements } ) => {\n\t\t\tconst skipSerialization = shouldSkipSerialization(\n\t\t\t\tname,\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\telementType\n\t\t\t);\n\n\t\t\tif ( skipSerialization ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst elementStyles = blockElementStyles?.[ elementType ];\n\n\t\t\t// Process primary element type styles.\n\t\t\tif ( elementStyles ) {\n\t\t\t\tconst selector = scopeSelector(\n\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\tELEMENTS[ elementType ]\n\t\t\t\t);\n\n\t\t\t\telementCSSRules.push(\n\t\t\t\t\tcompileCSS( elementStyles, { selector } )\n\t\t\t\t);\n\n\t\t\t\t// Process any interactive states for the element type.\n\t\t\t\tif ( pseudo ) {\n\t\t\t\t\tpseudo.forEach( ( pseudoSelector ) => {\n\t\t\t\t\t\tif ( elementStyles[ pseudoSelector ] ) {\n\t\t\t\t\t\t\telementCSSRules.push(\n\t\t\t\t\t\t\t\tcompileCSS( elementStyles[ pseudoSelector ], {\n\t\t\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\t\t\t\t\t\t`${ ELEMENTS[ elementType ] }${ pseudoSelector }`\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Process related elements e.g. h1-h6 for headings\n\t\t\tif ( elements ) {\n\t\t\t\telements.forEach( ( element ) => {\n\t\t\t\t\tif ( blockElementStyles[ element ] ) {\n\t\t\t\t\t\telementCSSRules.push(\n\t\t\t\t\t\t\tcompileCSS( blockElementStyles[ element ], {\n\t\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\t\t\t\t\tELEMENTS[ element ]\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\treturn elementCSSRules.length > 0\n\t\t\t? elementCSSRules.join( '' )\n\t\t\t: undefined;\n\t}, [ baseElementSelector, blockElementStyles, name ] );\n\n\tuseStyleOverride( { css: styles } );\n\n\treturn addSaveProps(\n\t\t{ className: blockElementsContainerIdentifier },\n\t\tname,\n\t\t{ style },\n\t\tskipSerializationPathsEdit\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/style/addAttribute',\n\taddAttribute\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
1
|
/**
|
|
3
2
|
* External dependencies
|
|
4
3
|
*/
|
|
@@ -16,8 +15,9 @@ import { alignLeft, alignRight, alignCenter } from '@wordpress/icons';
|
|
|
16
15
|
*/
|
|
17
16
|
import { AlignmentControl, BlockControls } from '../components';
|
|
18
17
|
import { useBlockEditingMode } from '../components/block-editing-mode';
|
|
19
|
-
import { cleanEmptyObject, shouldSkipSerialization } from './utils';
|
|
18
|
+
import { cleanEmptyObject, shouldSkipSerialization, useBlockSettings } from './utils';
|
|
20
19
|
import { TYPOGRAPHY_SUPPORT_KEY } from './typography';
|
|
20
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
21
|
export const TEXT_ALIGN_SUPPORT_KEY = 'typography.textAlign';
|
|
22
22
|
const TEXT_ALIGNMENT_OPTIONS = [{
|
|
23
23
|
icon: alignLeft,
|
|
@@ -33,6 +33,7 @@ const TEXT_ALIGNMENT_OPTIONS = [{
|
|
|
33
33
|
align: 'right'
|
|
34
34
|
}];
|
|
35
35
|
const VALID_TEXT_ALIGNMENTS = ['left', 'center', 'right'];
|
|
36
|
+
const NO_TEXT_ALIGNMENTS = [];
|
|
36
37
|
|
|
37
38
|
/**
|
|
38
39
|
* Returns the valid text alignments.
|
|
@@ -44,25 +45,24 @@ const VALID_TEXT_ALIGNMENTS = ['left', 'center', 'right'];
|
|
|
44
45
|
* @return {string[]} Valid text alignments.
|
|
45
46
|
*/
|
|
46
47
|
export function getValidTextAlignments(blockTextAlign) {
|
|
47
|
-
let validTextAlignments;
|
|
48
48
|
if (Array.isArray(blockTextAlign)) {
|
|
49
|
-
|
|
50
|
-
} else if (blockTextAlign === true) {
|
|
51
|
-
// `true` includes all alignments...
|
|
52
|
-
validTextAlignments = [...VALID_TEXT_ALIGNMENTS];
|
|
53
|
-
} else {
|
|
54
|
-
validTextAlignments = [];
|
|
49
|
+
return VALID_TEXT_ALIGNMENTS.filter(textAlign => blockTextAlign.includes(textAlign));
|
|
55
50
|
}
|
|
56
|
-
return
|
|
51
|
+
return blockTextAlign === true ? VALID_TEXT_ALIGNMENTS : NO_TEXT_ALIGNMENTS;
|
|
57
52
|
}
|
|
58
53
|
function BlockEditTextAlignmentToolbarControlsPure({
|
|
59
54
|
style,
|
|
60
55
|
name: blockName,
|
|
61
56
|
setAttributes
|
|
62
57
|
}) {
|
|
63
|
-
const
|
|
58
|
+
const settings = useBlockSettings(blockName);
|
|
59
|
+
const hasTextAlignControl = settings?.typography?.textAlign;
|
|
64
60
|
const blockEditingMode = useBlockEditingMode();
|
|
65
|
-
if (!
|
|
61
|
+
if (!hasTextAlignControl || blockEditingMode !== 'default') {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
const validTextAlignments = getValidTextAlignments(getBlockSupport(blockName, TEXT_ALIGN_SUPPORT_KEY));
|
|
65
|
+
if (!validTextAlignments.length) {
|
|
66
66
|
return null;
|
|
67
67
|
}
|
|
68
68
|
const textAlignmentControls = TEXT_ALIGNMENT_OPTIONS.filter(control => validTextAlignments.includes(control.align));
|
|
@@ -78,13 +78,14 @@ function BlockEditTextAlignmentToolbarControlsPure({
|
|
|
78
78
|
style: cleanEmptyObject(newStyle)
|
|
79
79
|
});
|
|
80
80
|
};
|
|
81
|
-
return
|
|
82
|
-
group: "block"
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
return /*#__PURE__*/_jsx(BlockControls, {
|
|
82
|
+
group: "block",
|
|
83
|
+
children: /*#__PURE__*/_jsx(AlignmentControl, {
|
|
84
|
+
value: style?.typography?.textAlign,
|
|
85
|
+
onChange: onChange,
|
|
86
|
+
alignmentControls: textAlignmentControls
|
|
87
|
+
})
|
|
88
|
+
});
|
|
88
89
|
}
|
|
89
90
|
export default {
|
|
90
91
|
edit: BlockEditTextAlignmentToolbarControlsPure,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__","getBlockSupport","hasBlockSupport","alignLeft","alignRight","alignCenter","AlignmentControl","BlockControls","useBlockEditingMode","cleanEmptyObject","shouldSkipSerialization","TYPOGRAPHY_SUPPORT_KEY","TEXT_ALIGN_SUPPORT_KEY","TEXT_ALIGNMENT_OPTIONS","icon","title","align","VALID_TEXT_ALIGNMENTS","
|
|
1
|
+
{"version":3,"names":["clsx","__","getBlockSupport","hasBlockSupport","alignLeft","alignRight","alignCenter","AlignmentControl","BlockControls","useBlockEditingMode","cleanEmptyObject","shouldSkipSerialization","useBlockSettings","TYPOGRAPHY_SUPPORT_KEY","jsx","_jsx","TEXT_ALIGN_SUPPORT_KEY","TEXT_ALIGNMENT_OPTIONS","icon","title","align","VALID_TEXT_ALIGNMENTS","NO_TEXT_ALIGNMENTS","getValidTextAlignments","blockTextAlign","Array","isArray","filter","textAlign","includes","BlockEditTextAlignmentToolbarControlsPure","style","name","blockName","setAttributes","settings","hasTextAlignControl","typography","blockEditingMode","validTextAlignments","length","textAlignmentControls","control","onChange","newTextAlignValue","newStyle","group","children","value","alignmentControls","edit","useBlockProps","addSaveProps","addAssignedTextAlign","attributeKeys","hasSupport","className","props","blockType","attributes","isTextAlignValid"],"sources":["@wordpress/block-editor/src/hooks/text-align.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { alignLeft, alignRight, alignCenter } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { AlignmentControl, BlockControls } from '../components';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport {\n\tcleanEmptyObject,\n\tshouldSkipSerialization,\n\tuseBlockSettings,\n} from './utils';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\n\nexport const TEXT_ALIGN_SUPPORT_KEY = 'typography.textAlign';\n\nconst TEXT_ALIGNMENT_OPTIONS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align text left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align text center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align text right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst VALID_TEXT_ALIGNMENTS = [ 'left', 'center', 'right' ];\nconst NO_TEXT_ALIGNMENTS = [];\n\n/**\n * Returns the valid text alignments.\n * Takes into consideration the text aligns supported by a block.\n * Exported just for testing purposes, not exported outside the module.\n *\n * @param {?boolean|string[]} blockTextAlign Text aligns supported by the block.\n *\n * @return {string[]} Valid text alignments.\n */\nexport function getValidTextAlignments( blockTextAlign ) {\n\tif ( Array.isArray( blockTextAlign ) ) {\n\t\treturn VALID_TEXT_ALIGNMENTS.filter( ( textAlign ) =>\n\t\t\tblockTextAlign.includes( textAlign )\n\t\t);\n\t}\n\n\treturn blockTextAlign === true ? VALID_TEXT_ALIGNMENTS : NO_TEXT_ALIGNMENTS;\n}\n\nfunction BlockEditTextAlignmentToolbarControlsPure( {\n\tstyle,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst settings = useBlockSettings( blockName );\n\tconst hasTextAlignControl = settings?.typography?.textAlign;\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( ! hasTextAlignControl || blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst validTextAlignments = getValidTextAlignments(\n\t\tgetBlockSupport( blockName, TEXT_ALIGN_SUPPORT_KEY )\n\t);\n\tif ( ! validTextAlignments.length ) {\n\t\treturn null;\n\t}\n\n\tconst textAlignmentControls = TEXT_ALIGNMENT_OPTIONS.filter( ( control ) =>\n\t\tvalidTextAlignments.includes( control.align )\n\t);\n\n\tconst onChange = ( newTextAlignValue ) => {\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\ttypography: {\n\t\t\t\t...style?.typography,\n\t\t\t\ttextAlign: newTextAlignValue,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( { style: cleanEmptyObject( newStyle ) } );\n\t};\n\n\treturn (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ style?.typography?.textAlign }\n\t\t\t\tonChange={ onChange }\n\t\t\t\talignmentControls={ textAlignmentControls }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nexport default {\n\tedit: BlockEditTextAlignmentToolbarControlsPure,\n\tuseBlockProps,\n\taddSaveProps: addAssignedTextAlign,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, TEXT_ALIGN_SUPPORT_KEY, false );\n\t},\n};\n\nfunction useBlockProps( { name, style } ) {\n\tif ( ! style?.typography?.textAlign ) {\n\t\treturn null;\n\t}\n\n\tconst validTextAlignments = getValidTextAlignments(\n\t\tgetBlockSupport( name, TEXT_ALIGN_SUPPORT_KEY )\n\t);\n\n\tif ( ! validTextAlignments.length ) {\n\t\treturn null;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization( name, TYPOGRAPHY_SUPPORT_KEY, 'textAlign' )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst textAlign = style.typography.textAlign;\n\n\tconst className = clsx( {\n\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t} );\n\treturn { className };\n}\n\n/**\n * Override props assigned to save component to inject text alignment class\n * name if block supports it.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addAssignedTextAlign( props, blockType, attributes ) {\n\tif ( ! attributes?.style?.typography?.textAlign ) {\n\t\treturn props;\n\t}\n\n\tconst { textAlign } = attributes.style.typography;\n\tconst blockTextAlign = getBlockSupport( blockType, TEXT_ALIGN_SUPPORT_KEY );\n\tconst isTextAlignValid =\n\t\tgetValidTextAlignments( blockTextAlign ).includes( textAlign );\n\tif (\n\t\tisTextAlignValid &&\n\t\t! shouldSkipSerialization(\n\t\t\tblockType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'textAlign'\n\t\t)\n\t) {\n\t\tprops.className = clsx(\n\t\t\t`has-text-align-${ textAlign }`,\n\t\t\tprops.className\n\t\t);\n\t}\n\treturn props;\n}\n"],"mappings":"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","ignoreList":[]}
|