@wordpress/block-editor 12.15.0 → 12.16.1-next.79a6196f.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 +2 -0
- package/LICENSE.md +1 -1
- package/README.md +12 -10
- package/build/components/block-canvas/index.js +21 -7
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-controls/hook.js +3 -23
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +6 -1
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/index.js +76 -6
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +0 -6
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build/components/block-edit/context.js +5 -1
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/index.js +18 -9
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-editing-mode/index.js +2 -3
- package/build/components/block-editing-mode/index.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +3 -4
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-inspector/index.js +1 -1
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js +1 -0
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block.js +257 -95
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +58 -23
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.native.js +3 -5
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/private-block-context.js +14 -0
- package/build/components/block-list/private-block-context.js.map +1 -0
- package/build/components/block-list/use-block-props/index.js +49 -69
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +3 -2
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
- package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
- package/build/components/block-lock/toolbar.js +21 -27
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-mover/index.js +2 -1
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +5 -5
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +2 -9
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-rename/modal.js +3 -0
- package/build/components/block-rename/modal.js.map +1 -1
- package/build/components/block-settings/container.native.js +6 -4
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-styles/index.js +1 -1
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +3 -2
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-switcher/index.js +4 -4
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +90 -29
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +49 -0
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build/components/block-tools/block-toolbar-popover.js +84 -0
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build/components/block-tools/index.js +27 -24
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +4 -3
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +2 -1
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +29 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +1 -1
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/colors/utils.js +10 -2
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +6 -2
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +28 -17
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -4
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/font-sizes/utils.js +10 -2
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/global-styles/border-panel.js +2 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +24 -21
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +4 -3
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +2 -1
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +6 -3
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +192 -0
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
- package/build/components/global-styles/hooks.js +3 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +7 -1
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/index.js +7 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +43 -36
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +22 -8
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +8 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/height-control/index.js +6 -2
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/image-link-destinations/index.native.js +118 -0
- package/build/components/image-link-destinations/index.native.js.map +1 -0
- package/build/components/image-size-control/index.js +2 -2
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.native.js +14 -5
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/index.js +61 -22
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +18 -4
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/utils.js +10 -14
- package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +4 -14
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +1 -2
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/library.js +3 -7
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +2 -2
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/menu.js +26 -33
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +2 -2
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/tabs.js +21 -21
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-button/index.native.js +98 -0
- package/build/components/inserter-button/index.native.js.map +1 -0
- package/build/components/inserter-button/sparkles.js +23 -0
- package/build/components/inserter-button/sparkles.js.map +1 -0
- package/build/components/inserter-draggable-blocks/index.js +8 -4
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js +2 -4
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js +3 -3
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +3 -3
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +34 -23
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/list-view/block-select-button.js +4 -0
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +57 -3
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/media-upload-progress/constants.js +19 -0
- package/build/components/media-upload-progress/constants.js.map +1 -0
- package/build/components/media-upload-progress/index.native.js +42 -17
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +11 -16
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +8 -3
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +6 -62
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/index.js +3 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +7 -1
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/content.js +26 -23
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +2 -1
- package/build/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build/components/rich-text/index.js +19 -37
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +9 -16
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/native/get-format-colors.native.js +22 -24
- package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +22 -57
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +7 -3
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js +1 -1
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/rich-text/with-deprecations.js +50 -0
- package/build/components/rich-text/with-deprecations.js.map +1 -0
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +9 -6
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +14 -18
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +108 -17
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +100 -92
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +9 -12
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +4 -1
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-settings/index.js +14 -0
- package/build/components/use-settings/index.js.map +1 -1
- package/build/components/writing-flow/index.js +0 -1
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +15 -4
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js +73 -27
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +7 -4
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js +21 -69
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +11 -1
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/anchor.js +14 -30
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/aria-label.js +9 -1
- package/build/hooks/aria-label.js.map +1 -1
- package/build/hooks/background.js +198 -36
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js +24 -32
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-renaming.js +18 -22
- package/build/hooks/block-renaming.js.map +1 -1
- package/build/hooks/border.js +53 -80
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +79 -90
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +29 -29
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +13 -30
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +9 -1
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +13 -14
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +31 -61
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +23 -28
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +52 -120
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +27 -16
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +15 -6
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout-child.js +68 -0
- package/build/hooks/layout-child.js.map +1 -0
- package/build/hooks/layout.js +25 -104
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/padding.js +2 -2
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +40 -62
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +52 -89
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +25 -10
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +43 -18
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-typography-props.js +10 -2
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +200 -10
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +2 -6
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +0 -2
- package/build/private-apis.native.js.map +1 -1
- package/build/store/actions.js +0 -16
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +54 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +46 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +18 -2
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +11 -73
- package/build/store/selectors.js.map +1 -1
- package/build/store/undo-ignore.js +12 -0
- package/build/store/undo-ignore.js.map +1 -0
- package/build/store/utils.js +66 -0
- package/build/store/utils.js.map +1 -0
- package/build/utils/get-px-from-css-unit.js +16 -0
- package/build/utils/get-px-from-css-unit.js.map +1 -0
- package/build/utils/index.js +2 -2
- package/build/utils/index.js.map +1 -1
- package/build/utils/object.js +38 -99
- package/build/utils/object.js.map +1 -1
- package/build/utils/selection.js +9 -1
- package/build/utils/selection.js.map +1 -1
- package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
- package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
- package/build-module/components/block-canvas/index.js +22 -8
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +2 -2
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-controls/hook.js +4 -24
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +6 -1
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/index.js +76 -6
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +1 -7
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build-module/components/block-edit/context.js +2 -0
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/index.js +19 -10
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-editing-mode/index.js +3 -4
- package/build-module/components/block-editing-mode/index.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 +1 -1
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build-module/components/block-list/block.js +261 -99
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +60 -25
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.native.js +3 -5
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/private-block-context.js +6 -0
- package/build-module/components/block-list/private-block-context.js.map +1 -0
- package/build-module/components/block-list/use-block-props/index.js +50 -70
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +3 -2
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
- package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
- package/build-module/components/block-lock/toolbar.js +22 -28
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -1
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +6 -6
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +3 -10
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-rename/modal.js +3 -0
- package/build-module/components/block-rename/modal.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +4 -2
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -1
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +3 -2
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-switcher/index.js +4 -4
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +89 -27
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +41 -0
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build-module/components/block-tools/block-toolbar-popover.js +74 -0
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build-module/components/block-tools/index.js +27 -24
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +2 -1
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +2 -1
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +30 -3
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +1 -1
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/colors/utils.js +9 -1
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +5 -1
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +29 -18
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/duotone-control/index.js +1 -4
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +9 -1
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +3 -2
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +26 -23
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +5 -4
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +3 -2
- package/build-module/components/global-styles/effects-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +8 -5
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +3 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +7 -1
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/index.js +1 -0
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +45 -38
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +15 -1
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +7 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/height-control/index.js +6 -2
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/image-link-destinations/index.native.js +109 -0
- package/build-module/components/image-link-destinations/index.native.js.map +1 -0
- package/build-module/components/image-size-control/index.js +2 -2
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.native.js +3 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +62 -23
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +18 -4
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
- 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 +11 -11
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
- package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +1 -2
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/library.js +3 -7
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/menu.js +26 -33
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +2 -2
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/tabs.js +22 -22
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +89 -0
- package/build-module/components/inserter-button/index.native.js.map +1 -0
- package/build-module/components/inserter-button/sparkles.js +15 -0
- package/build-module/components/inserter-button/sparkles.js.map +1 -0
- package/build-module/components/inserter-draggable-blocks/index.js +9 -5
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +2 -4
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +3 -3
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +3 -3
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +35 -24
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +4 -0
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +58 -4
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/media-upload-progress/constants.js +7 -0
- package/build-module/components/media-upload-progress/constants.js.map +1 -0
- package/build-module/components/media-upload-progress/index.native.js +37 -8
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +11 -16
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +6 -1
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +6 -62
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/index.js +3 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +7 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/content.js +25 -21
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +2 -1
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build-module/components/rich-text/index.js +21 -39
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +10 -18
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/get-format-colors.native.js +22 -24
- package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +22 -56
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +7 -3
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/rich-text/with-deprecations.js +42 -0
- package/build-module/components/rich-text/with-deprecations.js.map +1 -0
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +9 -6
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +14 -18
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +107 -18
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +102 -94
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +9 -12
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +4 -1
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +13 -1
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +0 -1
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +15 -4
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js +73 -27
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +7 -4
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/align.js +20 -67
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js +1 -0
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/anchor.js +12 -27
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/aria-label.js +7 -1
- package/build-module/hooks/aria-label.js.map +1 -1
- package/build-module/hooks/background.js +197 -37
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-hooks.js +22 -30
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-renaming.js +17 -21
- package/build-module/hooks/block-renaming.js.map +1 -1
- package/build-module/hooks/border.js +52 -79
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +78 -88
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +27 -27
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +12 -28
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +7 -1
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +15 -16
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +30 -61
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js +20 -25
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +50 -120
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +20 -16
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +10 -6
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout-child.js +60 -0
- package/build-module/hooks/layout-child.js.map +1 -0
- package/build-module/hooks/layout.js +21 -100
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/padding.js +2 -2
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/position.js +38 -59
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +52 -85
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/typography.js +26 -11
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +43 -17
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +9 -1
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +194 -9
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +2 -6
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +0 -2
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/actions.js +0 -15
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +52 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +44 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +18 -2
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +4 -65
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/undo-ignore.js +5 -0
- package/build-module/store/undo-ignore.js.map +1 -0
- package/build-module/store/utils.js +56 -0
- package/build-module/store/utils.js.map +1 -0
- package/build-module/utils/get-px-from-css-unit.js +9 -0
- package/build-module/utils/get-px-from-css-unit.js.map +1 -0
- package/build-module/utils/index.js +1 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/object.js +37 -97
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/selection.js +9 -1
- package/build-module/utils/selection.js.map +1 -1
- package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
- package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
- package/build-style/content-rtl.css +7 -6
- package/build-style/content.css +7 -6
- package/build-style/style-rtl.css +164 -301
- package/build-style/style.css +164 -301
- package/package.json +31 -31
- package/src/components/alignment-control/README.md +0 -5
- package/src/components/block-alignment-control/README.md +0 -5
- package/src/components/block-alignment-matrix-control/README.md +0 -10
- package/src/components/block-breadcrumb/README.md +0 -5
- package/src/components/block-canvas/index.js +29 -17
- package/src/components/block-canvas/style.scss +6 -0
- package/src/components/block-caption/README.md +2 -7
- package/src/components/block-card/README.md +0 -5
- package/src/components/block-card/index.js +6 -4
- package/src/components/block-card/style.scss +7 -3
- package/src/components/block-controls/hook.js +8 -30
- package/src/components/block-controls/test/index.js +3 -3
- package/src/components/block-draggable/draggable-chip.js +11 -1
- package/src/components/block-draggable/index.js +116 -4
- package/src/components/block-draggable/index.native.js +0 -5
- package/src/components/block-draggable/style.scss +35 -0
- package/src/components/block-draggable/test/helpers.native.js +8 -7
- package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
- package/src/components/block-edit/context.js +3 -0
- package/src/components/block-edit/index.js +36 -10
- package/src/components/block-editing-mode/index.js +3 -3
- package/src/components/block-icon/README.md +0 -5
- package/src/components/block-info-slot-fill/index.js +6 -3
- package/src/components/block-inspector/README.md +0 -5
- package/src/components/block-inspector/index.js +3 -1
- package/src/components/block-inspector/style.scss +0 -4
- package/src/components/block-list/block-list-item-cell.native.js +5 -1
- package/src/components/block-list/block.js +309 -104
- package/src/components/block-list/block.native.js +69 -21
- package/src/components/block-list/content.scss +14 -10
- package/src/components/block-list/index.native.js +3 -5
- package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
- package/src/components/block-list/use-block-props/index.js +43 -86
- package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -34
- package/src/components/block-list/use-block-props/use-is-hovered.js +2 -13
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +1 -5
- package/src/components/block-list/use-in-between-inserter.js +4 -1
- package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
- package/src/components/block-lock/toolbar.js +23 -34
- package/src/components/block-mover/README.md +0 -5
- package/src/components/block-mover/index.js +1 -1
- package/src/components/block-parent-selector/README.md +0 -5
- package/src/components/block-patterns-list/README.md +0 -5
- package/src/components/block-patterns-list/index.js +9 -6
- package/src/components/block-removal-warning-modal/index.js +7 -14
- package/src/components/block-rename/modal.js +7 -1
- package/src/components/block-settings/container.native.js +3 -5
- package/src/components/block-styles/index.js +1 -1
- package/src/components/block-styles/index.native.js +4 -2
- package/src/components/block-styles/style.scss +0 -11
- package/src/components/block-switcher/index.js +49 -59
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +3 -1
- package/src/components/block-toolbar/README.md +0 -5
- package/src/components/block-toolbar/index.js +179 -95
- package/src/components/block-toolbar/style.scss +50 -66
- package/src/components/block-tools/block-toolbar-breadcrumb.js +46 -0
- package/src/components/block-tools/block-toolbar-popover.js +84 -0
- package/src/components/block-tools/index.js +42 -29
- package/src/components/block-tools/style.scss +60 -172
- package/src/components/block-types-list/README.md +0 -5
- package/src/components/block-types-list/index.native.js +2 -1
- package/src/components/block-variation-picker/README.md +0 -5
- package/src/components/block-variation-picker/index.native.js +1 -1
- package/src/components/block-variation-transforms/README.md +0 -5
- package/src/components/block-variation-transforms/index.js +49 -3
- package/src/components/border-radius-control/linked-button.js +1 -1
- package/src/components/caption/README.md +0 -5
- package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
- package/src/components/colors/utils.js +8 -1
- package/src/components/colors/with-colors.js +3 -1
- package/src/components/colors-gradients/control.js +49 -30
- package/src/components/colors-gradients/style.scss +0 -7
- package/src/components/contrast-checker/README.md +0 -4
- package/src/components/copy-handler/README.md +0 -10
- package/src/components/duotone-control/index.js +2 -5
- package/src/components/duotone-control/style.scss +1 -6
- package/src/components/font-sizes/utils.js +7 -1
- package/src/components/global-styles/border-panel.js +2 -1
- package/src/components/global-styles/color-panel.js +36 -26
- package/src/components/global-styles/dimensions-panel.js +4 -3
- package/src/components/global-styles/effects-panel.js +2 -1
- package/src/components/global-styles/filters-panel.js +6 -5
- package/src/components/global-styles/get-global-styles-changes.js +210 -0
- package/src/components/global-styles/hooks.js +5 -0
- package/src/components/global-styles/image-settings-panel.js +6 -0
- package/src/components/global-styles/index.js +1 -0
- package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
- package/src/components/global-styles/typography-panel.js +60 -47
- package/src/components/global-styles/use-global-styles-output.js +9 -5
- package/src/components/global-styles/utils.js +7 -0
- package/src/components/height-control/README.md +2 -7
- package/src/components/height-control/index.js +4 -0
- package/src/components/image-link-destinations/index.native.js +152 -0
- package/src/components/image-link-destinations/style.native.scss +16 -0
- package/src/components/image-size-control/index.js +5 -2
- package/src/components/index.native.js +3 -2
- package/src/components/inner-blocks/README.md +13 -2
- package/src/components/inner-blocks/index.js +68 -29
- package/src/components/inner-blocks/index.native.js +19 -7
- package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
- package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
- package/src/components/inserter/block-patterns-tab/utils.js +11 -12
- package/src/components/inserter/hooks/use-block-types-state.js +9 -11
- package/src/components/inserter/hooks/use-patterns-state.js +2 -2
- package/src/components/inserter/index.js +0 -1
- package/src/components/inserter/library.js +2 -8
- package/src/components/inserter/media-tab/media-panel.js +1 -1
- package/src/components/inserter/menu.js +26 -36
- package/src/components/inserter/preview-panel.js +2 -2
- package/src/components/inserter/style.scss +21 -21
- package/src/components/inserter/tabs.js +34 -25
- package/src/components/inserter-button/README.md +62 -0
- package/src/components/inserter-button/index.native.js +116 -0
- package/src/components/inserter-button/sparkles.js +15 -0
- package/src/components/inserter-button/style.native.scss +72 -0
- package/src/components/inserter-draggable-blocks/index.js +18 -5
- package/src/components/inserter-list-item/index.js +6 -6
- package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
- package/src/components/inspector-controls/fill.js +6 -3
- package/src/components/inspector-controls/fill.native.js +6 -3
- package/src/components/inspector-controls-tabs/index.js +39 -28
- package/src/components/inspector-controls-tabs/style.scss +3 -2
- package/src/components/letter-spacing-control/README.md +0 -5
- package/src/components/line-height-control/README.md +0 -5
- package/src/components/link-control/style.scss +1 -1
- package/src/components/link-control/test/index.js +1 -1
- package/src/components/list-view/README.md +0 -5
- package/src/components/list-view/block-select-button.js +4 -0
- package/src/components/list-view/block.js +73 -2
- package/src/components/list-view/style.scss +6 -0
- package/src/components/media-upload-progress/constants.js +6 -0
- package/src/components/media-upload-progress/index.native.js +66 -14
- package/src/components/media-upload-progress/test/index.native.js +2 -2
- package/src/components/multi-selection-inspector/README.md +0 -5
- package/src/components/navigable-toolbar/README.md +2 -0
- package/src/components/navigable-toolbar/index.js +15 -13
- package/src/components/plain-text/index.native.js +6 -1
- package/src/components/preview-options/index.js +6 -86
- package/src/components/provider/index.js +1 -1
- package/src/components/provider/test/use-block-sync.js +20 -17
- package/src/components/provider/use-block-sync.js +6 -0
- package/src/components/rich-text/content.js +27 -20
- package/src/components/rich-text/get-rich-text-values.js +6 -1
- package/src/components/rich-text/index.js +23 -52
- package/src/components/rich-text/index.native.js +8 -25
- package/src/components/rich-text/native/get-format-colors.native.js +33 -40
- package/src/components/rich-text/native/index.native.js +22 -71
- package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
- package/src/components/rich-text/native/test/index.native.js +72 -5
- package/src/components/rich-text/use-input-rules.js +8 -3
- package/src/components/rich-text/use-mark-persistent.js +1 -2
- package/src/components/rich-text/with-deprecations.js +51 -0
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/src/components/text-decoration-control/README.md +40 -0
- package/src/components/text-transform-control/README.md +0 -4
- package/src/components/ungroup-button/README.md +0 -5
- package/src/components/unit-control/README.md +0 -4
- package/src/components/url-input/index.js +11 -11
- package/src/components/use-block-commands/index.js +18 -21
- package/src/components/use-block-drop-zone/index.js +181 -30
- package/src/components/use-moving-animation/index.js +107 -103
- package/src/components/use-on-block-drop/index.js +9 -24
- package/src/components/use-on-block-drop/test/index.js +12 -26
- package/src/components/use-resize-canvas/README.md +3 -7
- package/src/components/use-resize-canvas/index.js +4 -1
- package/src/components/use-settings/README.md +0 -4
- package/src/components/use-settings/index.js +15 -1
- package/src/components/writing-flow/index.js +0 -1
- package/src/components/writing-flow/use-drag-selection.js +18 -4
- package/src/components/writing-flow/use-selection-observer.js +99 -37
- package/src/components/writing-flow/use-tab-nav.js +7 -7
- package/src/hooks/align.js +16 -81
- package/src/hooks/align.native.js +1 -0
- package/src/hooks/anchor.js +14 -38
- package/src/hooks/aria-label.js +8 -5
- package/src/hooks/background.js +269 -32
- package/src/hooks/block-hooks.js +22 -51
- package/src/hooks/block-renaming.js +23 -37
- package/src/hooks/border.js +62 -124
- package/src/hooks/color.js +111 -138
- package/src/hooks/content-lock-ui.js +110 -122
- package/src/hooks/custom-class-name.js +9 -45
- package/src/hooks/custom-class-name.native.js +8 -5
- package/src/hooks/dimensions.js +14 -16
- package/src/hooks/duotone.js +70 -127
- package/src/hooks/font-family.js +14 -36
- package/src/hooks/font-size.js +67 -168
- package/src/hooks/index.js +58 -16
- package/src/hooks/index.native.js +22 -6
- package/src/hooks/layout-child.js +53 -0
- package/src/hooks/layout.js +17 -103
- package/src/hooks/padding.js +2 -2
- package/src/hooks/position.js +50 -90
- package/src/hooks/style.js +118 -193
- package/src/hooks/test/align.js +1 -178
- package/src/hooks/test/anchor.js +4 -9
- package/src/hooks/test/custom-class-name.js +3 -8
- package/src/hooks/test/style.js +4 -14
- package/src/hooks/typography.js +14 -16
- package/src/hooks/typography.native.js +31 -33
- package/src/hooks/use-typography-props.js +7 -1
- package/src/hooks/utils.js +261 -10
- package/src/private-apis.js +2 -6
- package/src/private-apis.native.js +0 -2
- package/src/store/actions.js +0 -15
- package/src/store/private-actions.js +48 -0
- package/src/store/private-selectors.js +56 -0
- package/src/store/reducer.js +20 -1
- package/src/store/selectors.js +10 -82
- package/src/store/undo-ignore.js +4 -0
- package/src/store/utils.js +74 -0
- package/src/style.scss +1 -2
- package/src/utils/get-px-from-css-unit.js +8 -0
- package/src/utils/index.js +1 -1
- package/src/utils/object.js +34 -104
- package/src/utils/selection.js +9 -2
- package/src/utils/test/object.js +1 -96
- package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
- package/build/components/block-list/block-list-block-context.js +0 -14
- package/build/components/block-list/block-list-block-context.js.map +0 -1
- package/build/components/block-list/use-block-props/use-block-class-names.js +0 -67
- package/build/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js +0 -46
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js +0 -37
- package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
- package/build/components/block-tools/back-compat.js +0 -45
- package/build/components/block-tools/back-compat.js.map +0 -1
- package/build/components/block-tools/block-contextual-toolbar.js +0 -91
- package/build/components/block-tools/block-contextual-toolbar.js.map +0 -1
- package/build/components/block-tools/selected-block-tools.js +0 -113
- package/build/components/block-tools/selected-block-tools.js.map +0 -1
- package/build/components/inserter/hooks/use-debounced-input.js +0 -22
- package/build/components/inserter/hooks/use-debounced-input.js.map +0 -1
- package/build/components/use-display-block-controls/index.js +0 -39
- package/build/components/use-display-block-controls/index.js.map +0 -1
- package/build/components/use-display-block-controls/index.native.js +0 -39
- package/build/components/use-display-block-controls/index.native.js.map +0 -1
- package/build/hooks/custom-fields.js +0 -120
- package/build/hooks/custom-fields.js.map +0 -1
- package/build/utils/parse-css-unit-to-px.js +0 -302
- package/build/utils/parse-css-unit-to-px.js.map +0 -1
- package/build/utils/use-should-contextual-toolbar-show.js +0 -63
- package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
- package/build-module/components/block-list/block-list-block-context.js +0 -6
- package/build-module/components/block-list/block-list-block-context.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-class-names.js +0 -60
- package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +0 -40
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +0 -31
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
- package/build-module/components/block-tools/back-compat.js +0 -35
- package/build-module/components/block-tools/back-compat.js.map +0 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +0 -83
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +0 -1
- package/build-module/components/block-tools/selected-block-tools.js +0 -105
- package/build-module/components/block-tools/selected-block-tools.js.map +0 -1
- package/build-module/components/inserter/hooks/use-debounced-input.js +0 -15
- package/build-module/components/inserter/hooks/use-debounced-input.js.map +0 -1
- package/build-module/components/use-display-block-controls/index.js +0 -32
- package/build-module/components/use-display-block-controls/index.js.map +0 -1
- package/build-module/components/use-display-block-controls/index.native.js +0 -32
- package/build-module/components/use-display-block-controls/index.native.js.map +0 -1
- package/build-module/hooks/custom-fields.js +0 -118
- package/build-module/hooks/custom-fields.js.map +0 -1
- package/build-module/utils/parse-css-unit-to-px.js +0 -294
- package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
- package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
- package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
- package/src/components/block-list/use-block-props/use-block-class-names.js +0 -66
- package/src/components/block-list/use-block-props/use-block-custom-class-name.js +0 -44
- package/src/components/block-list/use-block-props/use-block-default-class-name.js +0 -35
- package/src/components/block-parent-selector/style.scss +0 -11
- package/src/components/block-tools/back-compat.js +0 -35
- package/src/components/block-tools/block-contextual-toolbar.js +0 -100
- package/src/components/block-tools/selected-block-tools.js +0 -127
- package/src/components/inserter/hooks/use-debounced-input.js +0 -18
- package/src/components/preview-options/README.md +0 -94
- package/src/components/preview-options/style.scss +0 -64
- package/src/components/use-display-block-controls/index.js +0 -36
- package/src/components/use-display-block-controls/index.native.js +0 -37
- package/src/hooks/custom-fields.js +0 -142
- package/src/hooks/test/color.js +0 -112
- package/src/utils/parse-css-unit-to-px.js +0 -329
- package/src/utils/test/parse-css-unit-to-px.js +0 -172
- package/src/utils/use-should-contextual-toolbar-show.js +0 -85
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","addFilter","getBlockSupport","useMemo","Platform","useCallback","createHigherOrderComponent","getColorClassName","getColorObjectByAttributeValues","__experimentalGetGradientClass","cleanEmptyObject","transformStyles","shouldSkipSerialization","useBlockSettings","useSettings","InspectorControls","useHasColorPanel","default","StylesColorPanel","BlockColorContrastChecker","COLOR_SUPPORT_KEY","hasColorSupport","blockType","colorSupport","link","gradient","background","text","hasLinkColorSupport","OS","hasGradientSupport","gradients","hasBackgroundColorSupport","hasTextColorSupport","addAttributes","settings","attributes","backgroundColor","Object","assign","type","textColor","addSaveProps","props","hasGradient","style","shouldSerialize","feature","textClass","undefined","gradientClass","backgroundClass","serializeHasBackground","hasBackground","color","newClassName","className","elements","addEditProps","existingGetEditWrapperProps","getEditWrapperProps","styleToAttributes","textColorValue","textColorSlug","startsWith","substring","length","backgroundColorValue","backgroundColorSlug","gradientValue","gradientSlug","updatedStyle","attributesToStyle","ColorInspectorControl","children","resetAllFilter","attributesResetAllFilter","existingStyle","createElement","group","ColorEdit","clientId","name","setAttributes","isEnabled","value","onChange","newStyle","defaultControls","enableContrastChecking","as","panelId","enableContrastChecker","withColorPaletteStyles","BlockListBlock","userPalette","themePalette","defaultPalette","colors","extraStyles","wrapperProps","MIGRATION_PATHS","linkColor","addTransforms","result","source","index","results","destinationBlockType","activeSupports"],"sources":["@wordpress/block-editor/src/hooks/color.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { useMemo, Platform, useCallback } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByAttributeValues,\n} from '../components/colors';\nimport { __experimentalGetGradientClass } from '../components/gradients';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n\tuseBlockSettings,\n} from './utils';\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tuseHasColorPanel,\n\tdefault as StylesColorPanel,\n} from '../components/global-styles/color-panel';\nimport BlockColorContrastChecker from './contrast-checker';\n\nexport const COLOR_SUPPORT_KEY = 'color';\n\nconst hasColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\treturn (\n\t\tcolorSupport &&\n\t\t( colorSupport.link === true ||\n\t\t\tcolorSupport.gradient === true ||\n\t\t\tcolorSupport.background !== false ||\n\t\t\tcolorSupport.text !== false )\n\t);\n};\n\nconst hasLinkColorSupport = ( blockType ) => {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.link\n\t);\n};\n\nconst hasGradientSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.gradients\n\t);\n};\n\nconst hasBackgroundColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.background !== false;\n};\n\nconst hasTextColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.text !== false;\n};\n\n/**\n * Filters registered block settings, extending attributes to include\n * `backgroundColor` and `textColor` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasColorSupport( 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.backgroundColor ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\tif ( ! settings.attributes.textColor ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( hasGradientSupport( settings ) && ! settings.attributes.gradient ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject colors classnames.\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 addSaveProps( props, blockType, attributes ) {\n\tif (\n\t\t! hasColorSupport( blockType ) ||\n\t\tshouldSkipSerialization( blockType, COLOR_SUPPORT_KEY )\n\t) {\n\t\treturn props;\n\t}\n\n\tconst hasGradient = hasGradientSupport( blockType );\n\n\t// I'd have preferred to avoid the \"style\" attribute usage here\n\tconst { backgroundColor, textColor, gradient, style } = attributes;\n\n\tconst shouldSerialize = ( feature ) =>\n\t\t! shouldSkipSerialization( blockType, COLOR_SUPPORT_KEY, feature );\n\n\t// Primary color classes must come before the `has-text-color`,\n\t// `has-background` and `has-link-color` classes to maintain backwards\n\t// compatibility and avoid block invalidations.\n\tconst textClass = shouldSerialize( 'text' )\n\t\t? getColorClassName( 'color', textColor )\n\t\t: undefined;\n\n\tconst gradientClass = shouldSerialize( 'gradients' )\n\t\t? __experimentalGetGradientClass( gradient )\n\t\t: undefined;\n\n\tconst backgroundClass = shouldSerialize( 'background' )\n\t\t? getColorClassName( 'background-color', backgroundColor )\n\t\t: undefined;\n\n\tconst serializeHasBackground =\n\t\tshouldSerialize( 'background' ) || shouldSerialize( 'gradients' );\n\tconst hasBackground =\n\t\tbackgroundColor ||\n\t\tstyle?.color?.background ||\n\t\t( hasGradient && ( gradient || style?.color?.gradient ) );\n\n\tconst newClassName = classnames(\n\t\tprops.className,\n\t\ttextClass,\n\t\tgradientClass,\n\t\t{\n\t\t\t// Don't apply the background class if there's a custom gradient.\n\t\t\t[ backgroundClass ]:\n\t\t\t\t( ! hasGradient || ! style?.color?.gradient ) &&\n\t\t\t\t!! backgroundClass,\n\t\t\t'has-text-color':\n\t\t\t\tshouldSerialize( 'text' ) &&\n\t\t\t\t( textColor || style?.color?.text ),\n\t\t\t'has-background': serializeHasBackground && hasBackground,\n\t\t\t'has-link-color':\n\t\t\t\tshouldSerialize( 'link' ) && style?.elements?.link?.color,\n\t\t}\n\t);\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Filters registered block settings to extend the block edit wrapper\n * to apply the desired styles and classnames properly.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addEditProps( settings ) {\n\tif (\n\t\t! hasColorSupport( settings ) ||\n\t\tshouldSkipSerialization( settings, COLOR_SUPPORT_KEY )\n\t) {\n\t\treturn settings;\n\t}\n\tconst existingGetEditWrapperProps = settings.getEditWrapperProps;\n\tsettings.getEditWrapperProps = ( attributes ) => {\n\t\tlet props = {};\n\t\tif ( existingGetEditWrapperProps ) {\n\t\t\tprops = existingGetEditWrapperProps( attributes );\n\t\t}\n\t\treturn addSaveProps( props, settings, attributes );\n\t};\n\n\treturn settings;\n}\n\nfunction styleToAttributes( style ) {\n\tconst textColorValue = style?.color?.text;\n\tconst textColorSlug = textColorValue?.startsWith( 'var:preset|color|' )\n\t\t? textColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst backgroundColorValue = style?.color?.background;\n\tconst backgroundColorSlug = backgroundColorValue?.startsWith(\n\t\t'var:preset|color|'\n\t)\n\t\t? backgroundColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst gradientValue = style?.color?.gradient;\n\tconst gradientSlug = gradientValue?.startsWith( 'var:preset|gradient|' )\n\t\t? gradientValue.substring( 'var:preset|gradient|'.length )\n\t\t: undefined;\n\tconst updatedStyle = { ...style };\n\tupdatedStyle.color = {\n\t\t...updatedStyle.color,\n\t\ttext: textColorSlug ? undefined : textColorValue,\n\t\tbackground: backgroundColorSlug ? undefined : backgroundColorValue,\n\t\tgradient: gradientSlug ? undefined : gradientValue,\n\t};\n\treturn {\n\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\ttextColor: textColorSlug,\n\t\tbackgroundColor: backgroundColorSlug,\n\t\tgradient: gradientSlug,\n\t};\n}\n\nfunction attributesToStyle( attributes ) {\n\treturn {\n\t\t...attributes.style,\n\t\tcolor: {\n\t\t\t...attributes.style?.color,\n\t\t\ttext: attributes.textColor\n\t\t\t\t? 'var:preset|color|' + attributes.textColor\n\t\t\t\t: attributes.style?.color?.text,\n\t\t\tbackground: attributes.backgroundColor\n\t\t\t\t? 'var:preset|color|' + attributes.backgroundColor\n\t\t\t\t: attributes.style?.color?.background,\n\t\t\tgradient: attributes.gradient\n\t\t\t\t? 'var:preset|gradient|' + attributes.gradient\n\t\t\t\t: attributes.style?.color?.gradient,\n\t\t},\n\t};\n}\n\nfunction ColorInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributesToStyle( attributes );\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...styleToAttributes( updatedStyle ),\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"color\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function ColorEdit( props ) {\n\tconst { clientId, name, attributes, setAttributes } = props;\n\tconst settings = useBlockSettings( name );\n\tconst isEnabled = useHasColorPanel( settings );\n\tconst value = useMemo( () => {\n\t\treturn attributesToStyle( {\n\t\t\tstyle: attributes.style,\n\t\t\ttextColor: attributes.textColor,\n\t\t\tbackgroundColor: attributes.backgroundColor,\n\t\t\tgradient: attributes.gradient,\n\t\t} );\n\t}, [\n\t\tattributes.style,\n\t\tattributes.textColor,\n\t\tattributes.backgroundColor,\n\t\tattributes.gradient,\n\t] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( styleToAttributes( newStyle ) );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = getBlockSupport( props.name, [\n\t\tCOLOR_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\tconst enableContrastChecking =\n\t\tPlatform.OS === 'web' &&\n\t\t! value?.color?.gradient &&\n\t\t( settings?.color?.text || settings?.color?.link ) &&\n\t\t// Contrast checking is enabled by default.\n\t\t// Deactivating it requires `enableContrastChecker` to have\n\t\t// an explicit value of `false`.\n\t\tfalse !==\n\t\t\tgetBlockSupport( props.name, [\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t'enableContrastChecker',\n\t\t\t] );\n\n\treturn (\n\t\t<StylesColorPanel\n\t\t\tas={ ColorInspectorControl }\n\t\t\tpanelId={ clientId }\n\t\t\tsettings={ settings }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t\tenableContrastChecker={\n\t\t\t\tfalse !==\n\t\t\t\tgetBlockSupport( props.name, [\n\t\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t\t'enableContrastChecker',\n\t\t\t\t] )\n\t\t\t}\n\t\t>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<BlockColorContrastChecker clientId={ clientId } />\n\t\t\t) }\n\t\t</StylesColorPanel>\n\t);\n}\n\n/**\n * This adds inline styles for color palette colors.\n * Ideally, this is not needed and themes should load their palettes on the editor.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withColorPaletteStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { name, attributes } = props;\n\t\tconst { backgroundColor, textColor } = attributes;\n\t\tconst [ userPalette, themePalette, defaultPalette ] = useSettings(\n\t\t\t'color.palette.custom',\n\t\t\t'color.palette.theme',\n\t\t\t'color.palette.default'\n\t\t);\n\n\t\tconst colors = useMemo(\n\t\t\t() => [\n\t\t\t\t...( userPalette || [] ),\n\t\t\t\t...( themePalette || [] ),\n\t\t\t\t...( defaultPalette || [] ),\n\t\t\t],\n\t\t\t[ userPalette, themePalette, defaultPalette ]\n\t\t);\n\t\tif (\n\t\t\t! hasColorSupport( name ) ||\n\t\t\tshouldSkipSerialization( name, COLOR_SUPPORT_KEY )\n\t\t) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\t\tconst extraStyles = {};\n\n\t\tif (\n\t\t\ttextColor &&\n\t\t\t! shouldSkipSerialization( name, COLOR_SUPPORT_KEY, 'text' )\n\t\t) {\n\t\t\textraStyles.color = getColorObjectByAttributeValues(\n\t\t\t\tcolors,\n\t\t\t\ttextColor\n\t\t\t)?.color;\n\t\t}\n\t\tif (\n\t\t\tbackgroundColor &&\n\t\t\t! shouldSkipSerialization( name, COLOR_SUPPORT_KEY, 'background' )\n\t\t) {\n\t\t\textraStyles.backgroundColor = getColorObjectByAttributeValues(\n\t\t\t\tcolors,\n\t\t\t\tbackgroundColor\n\t\t\t)?.color;\n\t\t}\n\n\t\tlet wrapperProps = props.wrapperProps;\n\t\twrapperProps = {\n\t\t\t...props.wrapperProps,\n\t\t\tstyle: {\n\t\t\t\t...extraStyles,\n\t\t\t\t...props.wrapperProps?.style,\n\t\t\t},\n\t\t};\n\n\t\treturn <BlockListBlock { ...props } wrapperProps={ wrapperProps } />;\n\t},\n\t'withColorPaletteStyles'\n);\n\nconst MIGRATION_PATHS = {\n\tlinkColor: [ [ 'style', 'elements', 'link', 'color', 'text' ] ],\n\ttextColor: [ [ 'textColor' ], [ 'style', 'color', 'text' ] ],\n\tbackgroundColor: [\n\t\t[ 'backgroundColor' ],\n\t\t[ 'style', 'color', 'background' ],\n\t],\n\tgradient: [ [ 'gradient' ], [ 'style', 'color', 'gradient' ] ],\n};\n\nexport function addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tlinkColor: hasLinkColorSupport( destinationBlockType ),\n\t\ttextColor: hasTextColorSupport( destinationBlockType ),\n\t\tbackgroundColor: hasBackgroundColorSupport( destinationBlockType ),\n\t\tgradient: hasGradientSupport( destinationBlockType ),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/color/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/color/addSaveProps',\n\taddSaveProps\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/color/addEditProps',\n\taddEditProps\n);\n\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/color/with-color-palette-styles',\n\twithColorPaletteStyles\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/color/addTransforms',\n\taddTransforms\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","addFilter","getBlockSupport","useMemo","Platform","useCallback","useSelect","getColorClassName","getColorObjectByAttributeValues","__experimentalGetGradientClass","cleanEmptyObject","transformStyles","shouldSkipSerialization","getBackgroundImageClasses","useSettings","InspectorControls","useHasColorPanel","default","StylesColorPanel","BlockColorContrastChecker","store","blockEditorStore","COLOR_SUPPORT_KEY","hasColorSupport","blockNameOrType","colorSupport","link","gradient","background","text","hasLinkColorSupport","blockType","OS","hasGradientSupport","gradients","hasBackgroundColorSupport","hasTextColorSupport","addAttributes","settings","attributes","backgroundColor","Object","assign","type","textColor","addSaveProps","props","hasGradient","style","shouldSerialize","feature","textClass","undefined","gradientClass","backgroundClass","serializeHasBackground","hasBackground","color","newClassName","className","elements","styleToAttributes","textColorValue","textColorSlug","startsWith","substring","length","backgroundColorValue","backgroundColorSlug","gradientValue","gradientSlug","updatedStyle","attributesToStyle","ColorInspectorControl","children","resetAllFilter","attributesResetAllFilter","existingStyle","createElement","group","ColorEdit","clientId","name","setAttributes","isEnabled","selector","select","getBlockAttributes","value","onChange","newStyle","defaultControls","enableContrastChecking","as","panelId","enableContrastChecker","useBlockProps","userPalette","themePalette","defaultPalette","colors","extraStyles","saveProps","hasBackgroundValue","attributeKeys","hasSupport","MIGRATION_PATHS","linkColor","addTransforms","result","source","index","results","destinationBlockType","activeSupports"],"sources":["@wordpress/block-editor/src/hooks/color.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { useMemo, Platform, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByAttributeValues,\n} from '../components/colors';\nimport { __experimentalGetGradientClass } from '../components/gradients';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n} from './utils';\nimport { getBackgroundImageClasses } from './background';\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tuseHasColorPanel,\n\tdefault as StylesColorPanel,\n} from '../components/global-styles/color-panel';\nimport BlockColorContrastChecker from './contrast-checker';\nimport { store as blockEditorStore } from '../store';\n\nexport const COLOR_SUPPORT_KEY = 'color';\n\nconst hasColorSupport = ( blockNameOrType ) => {\n\tconst colorSupport = getBlockSupport( blockNameOrType, COLOR_SUPPORT_KEY );\n\treturn (\n\t\tcolorSupport &&\n\t\t( colorSupport.link === true ||\n\t\t\tcolorSupport.gradient === true ||\n\t\t\tcolorSupport.background !== false ||\n\t\t\tcolorSupport.text !== false )\n\t);\n};\n\nconst hasLinkColorSupport = ( blockType ) => {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.link\n\t);\n};\n\nconst hasGradientSupport = ( blockNameOrType ) => {\n\tconst colorSupport = getBlockSupport( blockNameOrType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.gradients\n\t);\n};\n\nconst hasBackgroundColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.background !== false;\n};\n\nconst hasTextColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.text !== false;\n};\n\n/**\n * Filters registered block settings, extending attributes to include\n * `backgroundColor` and `textColor` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasColorSupport( 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.backgroundColor ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\tif ( ! settings.attributes.textColor ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( hasGradientSupport( settings ) && ! settings.attributes.gradient ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject colors classnames.\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 *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( props, blockNameOrType, attributes ) {\n\tif (\n\t\t! hasColorSupport( blockNameOrType ) ||\n\t\tshouldSkipSerialization( blockNameOrType, COLOR_SUPPORT_KEY )\n\t) {\n\t\treturn props;\n\t}\n\n\tconst hasGradient = hasGradientSupport( blockNameOrType );\n\n\t// I'd have preferred to avoid the \"style\" attribute usage here\n\tconst { backgroundColor, textColor, gradient, style } = attributes;\n\n\tconst shouldSerialize = ( feature ) =>\n\t\t! shouldSkipSerialization(\n\t\t\tblockNameOrType,\n\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\tfeature\n\t\t);\n\n\t// Primary color classes must come before the `has-text-color`,\n\t// `has-background` and `has-link-color` classes to maintain backwards\n\t// compatibility and avoid block invalidations.\n\tconst textClass = shouldSerialize( 'text' )\n\t\t? getColorClassName( 'color', textColor )\n\t\t: undefined;\n\n\tconst gradientClass = shouldSerialize( 'gradients' )\n\t\t? __experimentalGetGradientClass( gradient )\n\t\t: undefined;\n\n\tconst backgroundClass = shouldSerialize( 'background' )\n\t\t? getColorClassName( 'background-color', backgroundColor )\n\t\t: undefined;\n\n\tconst serializeHasBackground =\n\t\tshouldSerialize( 'background' ) || shouldSerialize( 'gradients' );\n\tconst hasBackground =\n\t\tbackgroundColor ||\n\t\tstyle?.color?.background ||\n\t\t( hasGradient && ( gradient || style?.color?.gradient ) );\n\n\tconst newClassName = classnames(\n\t\tprops.className,\n\t\ttextClass,\n\t\tgradientClass,\n\t\t{\n\t\t\t// Don't apply the background class if there's a custom gradient.\n\t\t\t[ backgroundClass ]:\n\t\t\t\t( ! hasGradient || ! style?.color?.gradient ) &&\n\t\t\t\t!! backgroundClass,\n\t\t\t'has-text-color':\n\t\t\t\tshouldSerialize( 'text' ) &&\n\t\t\t\t( textColor || style?.color?.text ),\n\t\t\t'has-background': serializeHasBackground && hasBackground,\n\t\t\t'has-link-color':\n\t\t\t\tshouldSerialize( 'link' ) && style?.elements?.link?.color,\n\t\t}\n\t);\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\nfunction styleToAttributes( style ) {\n\tconst textColorValue = style?.color?.text;\n\tconst textColorSlug = textColorValue?.startsWith( 'var:preset|color|' )\n\t\t? textColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst backgroundColorValue = style?.color?.background;\n\tconst backgroundColorSlug = backgroundColorValue?.startsWith(\n\t\t'var:preset|color|'\n\t)\n\t\t? backgroundColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst gradientValue = style?.color?.gradient;\n\tconst gradientSlug = gradientValue?.startsWith( 'var:preset|gradient|' )\n\t\t? gradientValue.substring( 'var:preset|gradient|'.length )\n\t\t: undefined;\n\tconst updatedStyle = { ...style };\n\tupdatedStyle.color = {\n\t\t...updatedStyle.color,\n\t\ttext: textColorSlug ? undefined : textColorValue,\n\t\tbackground: backgroundColorSlug ? undefined : backgroundColorValue,\n\t\tgradient: gradientSlug ? undefined : gradientValue,\n\t};\n\treturn {\n\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\ttextColor: textColorSlug,\n\t\tbackgroundColor: backgroundColorSlug,\n\t\tgradient: gradientSlug,\n\t};\n}\n\nfunction attributesToStyle( attributes ) {\n\treturn {\n\t\t...attributes.style,\n\t\tcolor: {\n\t\t\t...attributes.style?.color,\n\t\t\ttext: attributes.textColor\n\t\t\t\t? 'var:preset|color|' + attributes.textColor\n\t\t\t\t: attributes.style?.color?.text,\n\t\t\tbackground: attributes.backgroundColor\n\t\t\t\t? 'var:preset|color|' + attributes.backgroundColor\n\t\t\t\t: attributes.style?.color?.background,\n\t\t\tgradient: attributes.gradient\n\t\t\t\t? 'var:preset|gradient|' + attributes.gradient\n\t\t\t\t: attributes.style?.color?.gradient,\n\t\t},\n\t};\n}\n\nfunction ColorInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributesToStyle( attributes );\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...styleToAttributes( updatedStyle ),\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"color\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function ColorEdit( { clientId, name, setAttributes, settings } ) {\n\tconst isEnabled = useHasColorPanel( settings );\n\tfunction selector( select ) {\n\t\tconst { style, textColor, backgroundColor, gradient } =\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ) || {};\n\t\treturn { style, textColor, backgroundColor, gradient };\n\t}\n\tconst { style, textColor, backgroundColor, gradient } = useSelect(\n\t\tselector,\n\t\t[ clientId ]\n\t);\n\tconst value = useMemo( () => {\n\t\treturn attributesToStyle( {\n\t\t\tstyle,\n\t\t\ttextColor,\n\t\t\tbackgroundColor,\n\t\t\tgradient,\n\t\t} );\n\t}, [ style, textColor, backgroundColor, gradient ] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( styleToAttributes( newStyle ) );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = getBlockSupport( name, [\n\t\tCOLOR_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\tconst enableContrastChecking =\n\t\tPlatform.OS === 'web' &&\n\t\t! value?.color?.gradient &&\n\t\t( settings?.color?.text || settings?.color?.link ) &&\n\t\t// Contrast checking is enabled by default.\n\t\t// Deactivating it requires `enableContrastChecker` to have\n\t\t// an explicit value of `false`.\n\t\tfalse !==\n\t\t\tgetBlockSupport( name, [\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t'enableContrastChecker',\n\t\t\t] );\n\n\treturn (\n\t\t<StylesColorPanel\n\t\t\tas={ ColorInspectorControl }\n\t\t\tpanelId={ clientId }\n\t\t\tsettings={ settings }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t\tenableContrastChecker={\n\t\t\t\tfalse !==\n\t\t\t\tgetBlockSupport( name, [\n\t\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t\t'enableContrastChecker',\n\t\t\t\t] )\n\t\t\t}\n\t\t>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<BlockColorContrastChecker clientId={ clientId } />\n\t\t\t) }\n\t\t</StylesColorPanel>\n\t);\n}\n\nfunction useBlockProps( {\n\tname,\n\tbackgroundColor,\n\ttextColor,\n\tgradient,\n\tstyle,\n} ) {\n\tconst [ userPalette, themePalette, defaultPalette ] = useSettings(\n\t\t'color.palette.custom',\n\t\t'color.palette.theme',\n\t\t'color.palette.default'\n\t);\n\n\tconst colors = useMemo(\n\t\t() => [\n\t\t\t...( userPalette || [] ),\n\t\t\t...( themePalette || [] ),\n\t\t\t...( defaultPalette || [] ),\n\t\t],\n\t\t[ userPalette, themePalette, defaultPalette ]\n\t);\n\tif (\n\t\t! hasColorSupport( name ) ||\n\t\tshouldSkipSerialization( name, COLOR_SUPPORT_KEY )\n\t) {\n\t\treturn {};\n\t}\n\tconst extraStyles = {};\n\n\tif (\n\t\ttextColor &&\n\t\t! shouldSkipSerialization( name, COLOR_SUPPORT_KEY, 'text' )\n\t) {\n\t\textraStyles.color = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\ttextColor\n\t\t)?.color;\n\t}\n\tif (\n\t\tbackgroundColor &&\n\t\t! shouldSkipSerialization( name, COLOR_SUPPORT_KEY, 'background' )\n\t) {\n\t\textraStyles.backgroundColor = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t)?.color;\n\t}\n\n\tconst saveProps = addSaveProps( { style: extraStyles }, name, {\n\t\ttextColor,\n\t\tbackgroundColor,\n\t\tgradient,\n\t\tstyle,\n\t} );\n\n\tconst hasBackgroundValue =\n\t\tbackgroundColor ||\n\t\tstyle?.color?.background ||\n\t\tgradient ||\n\t\tstyle?.color?.gradient;\n\n\treturn {\n\t\t...saveProps,\n\t\tclassName: classnames(\n\t\t\tsaveProps.className,\n\t\t\t// Add background image classes in the editor, if not already handled by background color values.\n\t\t\t! hasBackgroundValue && getBackgroundImageClasses( style )\n\t\t),\n\t};\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'backgroundColor', 'textColor', 'gradient', 'style' ],\n\thasSupport: hasColorSupport,\n};\n\nconst MIGRATION_PATHS = {\n\tlinkColor: [ [ 'style', 'elements', 'link', 'color', 'text' ] ],\n\ttextColor: [ [ 'textColor' ], [ 'style', 'color', 'text' ] ],\n\tbackgroundColor: [\n\t\t[ 'backgroundColor' ],\n\t\t[ 'style', 'color', 'background' ],\n\t],\n\tgradient: [ [ 'gradient' ], [ 'style', 'color', 'gradient' ] ],\n};\n\nexport function addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tlinkColor: hasLinkColorSupport( destinationBlockType ),\n\t\ttextColor: hasTextColorSupport( destinationBlockType ),\n\t\tbackgroundColor: hasBackgroundColorSupport( destinationBlockType ),\n\t\tgradient: hasGradientSupport( destinationBlockType ),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/color/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/color/addTransforms',\n\taddTransforms\n);\n"],"mappings":"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"}
|
|
@@ -3,9 +3,7 @@ import { createElement, Fragment } from "react";
|
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { ToolbarButton, MenuItem } from '@wordpress/components';
|
|
6
|
-
import { createHigherOrderComponent } from '@wordpress/compose';
|
|
7
6
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
8
|
-
import { addFilter } from '@wordpress/hooks';
|
|
9
7
|
import { __ } from '@wordpress/i18n';
|
|
10
8
|
import { useEffect, useRef, useCallback } from '@wordpress/element';
|
|
11
9
|
|
|
@@ -32,7 +30,10 @@ function StopEditingAsBlocksOnOutsideSelect({
|
|
|
32
30
|
}, [isBlockOrDescendantSelected, stopEditingAsBlock]);
|
|
33
31
|
return null;
|
|
34
32
|
}
|
|
35
|
-
|
|
33
|
+
function ContentLockControlsPure({
|
|
34
|
+
clientId,
|
|
35
|
+
isSelected
|
|
36
|
+
}) {
|
|
36
37
|
const {
|
|
37
38
|
getBlockListSettings,
|
|
38
39
|
getSettings
|
|
@@ -49,11 +50,11 @@ export const withContentLockControls = createHigherOrderComponent(BlockEdit => p
|
|
|
49
50
|
__unstableGetTemporarilyEditingAsBlocks
|
|
50
51
|
} = select(blockEditorStore);
|
|
51
52
|
return {
|
|
52
|
-
templateLock: getTemplateLock(
|
|
53
|
-
isLockedByParent: !!__unstableGetContentLockingParent(
|
|
54
|
-
isEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks() ===
|
|
53
|
+
templateLock: getTemplateLock(clientId),
|
|
54
|
+
isLockedByParent: !!__unstableGetContentLockingParent(clientId),
|
|
55
|
+
isEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks() === clientId
|
|
55
56
|
};
|
|
56
|
-
}, [
|
|
57
|
+
}, [clientId]);
|
|
57
58
|
const {
|
|
58
59
|
updateSettings,
|
|
59
60
|
updateBlockListSettings,
|
|
@@ -66,28 +67,25 @@ export const withContentLockControls = createHigherOrderComponent(BlockEdit => p
|
|
|
66
67
|
} = useDispatch(blockEditorStore);
|
|
67
68
|
const stopEditingAsBlock = useCallback(() => {
|
|
68
69
|
__unstableMarkNextChangeAsNotPersistent();
|
|
69
|
-
updateBlockAttributes(
|
|
70
|
+
updateBlockAttributes(clientId, {
|
|
70
71
|
templateLock: 'contentOnly'
|
|
71
72
|
});
|
|
72
|
-
updateBlockListSettings(
|
|
73
|
-
...getBlockListSettings(
|
|
73
|
+
updateBlockListSettings(clientId, {
|
|
74
|
+
...getBlockListSettings(clientId),
|
|
74
75
|
templateLock: 'contentOnly'
|
|
75
76
|
});
|
|
76
77
|
updateSettings({
|
|
77
78
|
focusMode: focusModeToRevert.current
|
|
78
79
|
});
|
|
79
80
|
__unstableSetTemporarilyEditingAsBlocks();
|
|
80
|
-
}, [
|
|
81
|
+
}, [clientId, updateSettings, updateBlockListSettings, getBlockListSettings, __unstableMarkNextChangeAsNotPersistent, updateBlockAttributes, __unstableSetTemporarilyEditingAsBlocks]);
|
|
81
82
|
if (!isContentLocked && !isEditingAsBlocks) {
|
|
82
|
-
return
|
|
83
|
-
key: "edit",
|
|
84
|
-
...props
|
|
85
|
-
});
|
|
83
|
+
return null;
|
|
86
84
|
}
|
|
87
85
|
const showStopEditingAsBlocks = isEditingAsBlocks && !isContentLocked;
|
|
88
|
-
const showStartEditingAsBlocks = !isEditingAsBlocks && isContentLocked &&
|
|
86
|
+
const showStartEditingAsBlocks = !isEditingAsBlocks && isContentLocked && isSelected;
|
|
89
87
|
return createElement(Fragment, null, showStopEditingAsBlocks && createElement(Fragment, null, createElement(StopEditingAsBlocksOnOutsideSelect, {
|
|
90
|
-
clientId:
|
|
88
|
+
clientId: clientId,
|
|
91
89
|
stopEditingAsBlock: stopEditingAsBlock
|
|
92
90
|
}), createElement(BlockControls, {
|
|
93
91
|
group: "other"
|
|
@@ -100,24 +98,26 @@ export const withContentLockControls = createHigherOrderComponent(BlockEdit => p
|
|
|
100
98
|
}) => createElement(MenuItem, {
|
|
101
99
|
onClick: () => {
|
|
102
100
|
__unstableMarkNextChangeAsNotPersistent();
|
|
103
|
-
updateBlockAttributes(
|
|
101
|
+
updateBlockAttributes(clientId, {
|
|
104
102
|
templateLock: undefined
|
|
105
103
|
});
|
|
106
|
-
updateBlockListSettings(
|
|
107
|
-
...getBlockListSettings(
|
|
104
|
+
updateBlockListSettings(clientId, {
|
|
105
|
+
...getBlockListSettings(clientId),
|
|
108
106
|
templateLock: false
|
|
109
107
|
});
|
|
110
108
|
focusModeToRevert.current = getSettings().focusMode;
|
|
111
109
|
updateSettings({
|
|
112
110
|
focusMode: true
|
|
113
111
|
});
|
|
114
|
-
__unstableSetTemporarilyEditingAsBlocks(
|
|
112
|
+
__unstableSetTemporarilyEditingAsBlocks(clientId);
|
|
115
113
|
onClose();
|
|
116
114
|
}
|
|
117
|
-
}, __('Modify')))
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
115
|
+
}, __('Modify'))));
|
|
116
|
+
}
|
|
117
|
+
export default {
|
|
118
|
+
edit: ContentLockControlsPure,
|
|
119
|
+
hasSupport() {
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
123
|
//# sourceMappingURL=content-lock-ui.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ToolbarButton","MenuItem","
|
|
1
|
+
{"version":3,"names":["ToolbarButton","MenuItem","useDispatch","useSelect","__","useEffect","useRef","useCallback","store","blockEditorStore","BlockControls","BlockSettingsMenuControls","StopEditingAsBlocksOnOutsideSelect","clientId","stopEditingAsBlock","isBlockOrDescendantSelected","select","isBlockSelected","hasSelectedInnerBlock","ContentLockControlsPure","isSelected","getBlockListSettings","getSettings","focusModeToRevert","templateLock","isLockedByParent","isEditingAsBlocks","__unstableGetContentLockingParent","getTemplateLock","__unstableGetTemporarilyEditingAsBlocks","updateSettings","updateBlockListSettings","__unstableSetTemporarilyEditingAsBlocks","isContentLocked","__unstableMarkNextChangeAsNotPersistent","updateBlockAttributes","focusMode","current","showStopEditingAsBlocks","showStartEditingAsBlocks","createElement","Fragment","group","onClick","onClose","undefined","edit","hasSupport"],"sources":["@wordpress/block-editor/src/hooks/content-lock-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarButton, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { BlockControls, BlockSettingsMenuControls } from '../components';\n\nfunction StopEditingAsBlocksOnOutsideSelect( {\n\tclientId,\n\tstopEditingAsBlock,\n} ) {\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlock();\n\t\t}\n\t}, [ isBlockOrDescendantSelected, stopEditingAsBlock ] );\n\treturn null;\n}\n\nfunction ContentLockControlsPure( { clientId, isSelected } ) {\n\tconst { getBlockListSettings, getSettings } = useSelect( blockEditorStore );\n\tconst focusModeToRevert = useRef();\n\tconst { templateLock, isLockedByParent, isEditingAsBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__unstableGetContentLockingParent,\n\t\t\t\tgetTemplateLock,\n\t\t\t\t__unstableGetTemporarilyEditingAsBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\ttemplateLock: getTemplateLock( clientId ),\n\t\t\t\tisLockedByParent:\n\t\t\t\t\t!! __unstableGetContentLockingParent( clientId ),\n\t\t\t\tisEditingAsBlocks:\n\t\t\t\t\t__unstableGetTemporarilyEditingAsBlocks() === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst {\n\t\tupdateSettings,\n\t\tupdateBlockListSettings,\n\t\t__unstableSetTemporarilyEditingAsBlocks,\n\t} = useDispatch( blockEditorStore );\n\tconst isContentLocked =\n\t\t! isLockedByParent && templateLock === 'contentOnly';\n\tconst { __unstableMarkNextChangeAsNotPersistent, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst stopEditingAsBlock = useCallback( () => {\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( clientId, {\n\t\t\ttemplateLock: 'contentOnly',\n\t\t} );\n\t\tupdateBlockListSettings( clientId, {\n\t\t\t...getBlockListSettings( clientId ),\n\t\t\ttemplateLock: 'contentOnly',\n\t\t} );\n\t\tupdateSettings( { focusMode: focusModeToRevert.current } );\n\t\t__unstableSetTemporarilyEditingAsBlocks();\n\t}, [\n\t\tclientId,\n\t\tupdateSettings,\n\t\tupdateBlockListSettings,\n\t\tgetBlockListSettings,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateBlockAttributes,\n\t\t__unstableSetTemporarilyEditingAsBlocks,\n\t] );\n\n\tif ( ! isContentLocked && ! isEditingAsBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst showStopEditingAsBlocks = isEditingAsBlocks && ! isContentLocked;\n\tconst showStartEditingAsBlocks =\n\t\t! isEditingAsBlocks && isContentLocked && isSelected;\n\n\treturn (\n\t\t<>\n\t\t\t{ showStopEditingAsBlocks && (\n\t\t\t\t<>\n\t\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tstopEditingAsBlock={ stopEditingAsBlock }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tstopEditingAsBlock();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showStartEditingAsBlocks && (\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\t\t\t\t\ttemplateLock: undefined,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tupdateBlockListSettings( clientId, {\n\t\t\t\t\t\t\t\t\t...getBlockListSettings( clientId ),\n\t\t\t\t\t\t\t\t\ttemplateLock: false,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tfocusModeToRevert.current =\n\t\t\t\t\t\t\t\t\tgetSettings().focusMode;\n\t\t\t\t\t\t\t\tupdateSettings( { focusMode: true } );\n\t\t\t\t\t\t\t\t__unstableSetTemporarilyEditingAsBlocks(\n\t\t\t\t\t\t\t\t\tclientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Modify' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default {\n\tedit: ContentLockControlsPure,\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElement
|
|
1
|
+
import { createElement } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
@@ -11,7 +11,6 @@ import { addFilter } from '@wordpress/hooks';
|
|
|
11
11
|
import { TextControl } from '@wordpress/components';
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
13
|
import { hasBlockSupport } from '@wordpress/blocks';
|
|
14
|
-
import { createHigherOrderComponent } from '@wordpress/compose';
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* Internal dependencies
|
|
@@ -38,8 +37,8 @@ export function addAttribute(settings) {
|
|
|
38
37
|
}
|
|
39
38
|
return settings;
|
|
40
39
|
}
|
|
41
|
-
function
|
|
42
|
-
|
|
40
|
+
function CustomClassNameControlsPure({
|
|
41
|
+
className,
|
|
43
42
|
setAttributes
|
|
44
43
|
}) {
|
|
45
44
|
const blockEditingMode = useBlockEditingMode();
|
|
@@ -53,7 +52,7 @@ function CustomClassNameControls({
|
|
|
53
52
|
__next40pxDefaultSize: true,
|
|
54
53
|
autoComplete: "off",
|
|
55
54
|
label: __('Additional CSS class(es)'),
|
|
56
|
-
value:
|
|
55
|
+
value: className || '',
|
|
57
56
|
onChange: nextValue => {
|
|
58
57
|
setAttributes({
|
|
59
58
|
className: nextValue !== '' ? nextValue : undefined
|
|
@@ -62,27 +61,14 @@ function CustomClassNameControls({
|
|
|
62
61
|
help: __('Separate multiple classes with spaces.')
|
|
63
62
|
}));
|
|
64
63
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
* @return {Component} Wrapped component.
|
|
74
|
-
*/
|
|
75
|
-
export const withCustomClassNameControls = createHigherOrderComponent(BlockEdit => {
|
|
76
|
-
return props => {
|
|
77
|
-
const hasCustomClassName = hasBlockSupport(props.name, 'customClassName', true);
|
|
78
|
-
return createElement(Fragment, null, createElement(BlockEdit, {
|
|
79
|
-
...props
|
|
80
|
-
}), hasCustomClassName && props.isSelected && createElement(CustomClassNameControls, {
|
|
81
|
-
attributes: props.attributes,
|
|
82
|
-
setAttributes: props.setAttributes
|
|
83
|
-
}));
|
|
84
|
-
};
|
|
85
|
-
}, 'withCustomClassNameControls');
|
|
64
|
+
export default {
|
|
65
|
+
edit: CustomClassNameControlsPure,
|
|
66
|
+
addSaveProps,
|
|
67
|
+
attributeKeys: ['className'],
|
|
68
|
+
hasSupport(name) {
|
|
69
|
+
return hasBlockSupport(name, 'customClassName', true);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
86
72
|
|
|
87
73
|
/**
|
|
88
74
|
* Override props assigned to save component to inject the className, if block
|
|
@@ -137,7 +123,5 @@ export function addTransforms(result, source, index, results) {
|
|
|
137
123
|
return result;
|
|
138
124
|
}
|
|
139
125
|
addFilter('blocks.registerBlockType', 'core/editor/custom-class-name/attribute', addAttribute);
|
|
140
|
-
addFilter('editor.BlockEdit', 'core/editor/custom-class-name/with-inspector-controls', withCustomClassNameControls);
|
|
141
|
-
addFilter('blocks.getSaveContent.extraProps', 'core/editor/custom-class-name/save-props', addSaveProps);
|
|
142
126
|
addFilter('blocks.switchToBlockType.transformedBlock', 'core/color/addTransforms', addTransforms);
|
|
143
127
|
//# sourceMappingURL=custom-class-name.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","addFilter","TextControl","__","hasBlockSupport","
|
|
1
|
+
{"version":3,"names":["classnames","addFilter","TextControl","__","hasBlockSupport","InspectorControls","useBlockEditingMode","addAttribute","settings","attributes","className","type","CustomClassNameControlsPure","setAttributes","blockEditingMode","createElement","group","__nextHasNoMarginBottom","__next40pxDefaultSize","autoComplete","label","value","onChange","nextValue","undefined","help","edit","addSaveProps","attributeKeys","hasSupport","name","extraProps","blockType","addTransforms","result","source","index","results","length","innerBlocks","originClassName"],"sources":["@wordpress/block-editor/src/hooks/custom-class-name.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { TextControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * Filters registered block settings, extending attributes to include `className`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( hasBlockSupport( settings, 'customClassName', true ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tclassName: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction CustomClassNameControlsPure( { className, setAttributes } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tlabel={ __( 'Additional CSS class(es)' ) }\n\t\t\t\tvalue={ className || '' }\n\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tclassName: nextValue !== '' ? nextValue : undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\thelp={ __( 'Separate multiple classes with spaces.' ) }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\tedit: CustomClassNameControlsPure,\n\taddSaveProps,\n\tattributeKeys: [ 'className' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'customClassName', true );\n\t},\n};\n\n/**\n * Override props assigned to save component to inject the className, if block\n * supports customClassName. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif (\n\t\thasBlockSupport( blockType, 'customClassName', true ) &&\n\t\tattributes.className\n\t) {\n\t\textraProps.className = classnames(\n\t\t\textraProps.className,\n\t\t\tattributes.className\n\t\t);\n\t}\n\n\treturn extraProps;\n}\n\nexport function addTransforms( result, source, index, results ) {\n\tif ( ! hasBlockSupport( result.name, 'customClassName', true ) ) {\n\t\treturn result;\n\t}\n\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the class should not be kept.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\n\t// If we are transforming one block to multiple blocks or multiple blocks to one block,\n\t// we ignore the class during the transform.\n\tif (\n\t\t( results.length === 1 && source.length > 1 ) ||\n\t\t( results.length > 1 && source.length === 1 )\n\t) {\n\t\treturn result;\n\t}\n\n\t// If we are in presence of transform between one or more block in the source\n\t// that have one or more blocks in the result\n\t// we apply the class on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( source[ index ] ) {\n\t\tconst originClassName = source[ index ]?.attributes.className;\n\t\tif ( originClassName ) {\n\t\t\treturn {\n\t\t\t\t...result,\n\t\t\t\tattributes: {\n\t\t\t\t\t...result.attributes,\n\t\t\t\t\tclassName: originClassName,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t}\n\treturn result;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/custom-class-name/attribute',\n\taddAttribute\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/color/addTransforms',\n\taddTransforms\n);\n"],"mappings":"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"}
|
|
@@ -47,5 +47,11 @@ export function addSaveProps(extraProps, blockType, attributes) {
|
|
|
47
47
|
return extraProps;
|
|
48
48
|
}
|
|
49
49
|
addFilter('blocks.registerBlockType', 'core/custom-class-name/attribute', addAttribute);
|
|
50
|
-
|
|
50
|
+
export default {
|
|
51
|
+
addSaveProps,
|
|
52
|
+
attributeKeys: ['className'],
|
|
53
|
+
hasSupport(name) {
|
|
54
|
+
return hasBlockSupport(name, 'customClassName', true);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
51
57
|
//# sourceMappingURL=custom-class-name.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","addFilter","hasBlockSupport","addAttribute","settings","attributes","className","type","addSaveProps","extraProps","blockType"],"sources":["@wordpress/block-editor/src/hooks/custom-class-name.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Filters registered block settings, extending attributes to include `className`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( hasBlockSupport( settings, 'customClassName', true ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tclassName: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject the className, if block\n * supports customClassName. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif (\n\t\thasBlockSupport( blockType, 'customClassName', true ) &&\n\t\tattributes.className\n\t) {\n\t\textraProps.className = classnames(\n\t\t\textraProps.className,\n\t\t\tattributes.className\n\t\t);\n\t}\n\n\treturn extraProps;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/custom-class-name/attribute',\n\taddAttribute\n);\
|
|
1
|
+
{"version":3,"names":["classnames","addFilter","hasBlockSupport","addAttribute","settings","attributes","className","type","addSaveProps","extraProps","blockType","attributeKeys","hasSupport","name"],"sources":["@wordpress/block-editor/src/hooks/custom-class-name.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Filters registered block settings, extending attributes to include `className`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( hasBlockSupport( settings, 'customClassName', true ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tclassName: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject the className, if block\n * supports customClassName. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif (\n\t\thasBlockSupport( blockType, 'customClassName', true ) &&\n\t\tattributes.className\n\t) {\n\t\textraProps.className = classnames(\n\t\t\textraProps.className,\n\t\t\tattributes.className\n\t\t);\n\t}\n\n\treturn extraProps;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/custom-class-name/attribute',\n\taddAttribute\n);\n\nexport default {\n\taddSaveProps,\n\tattributeKeys: [ 'className' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'customClassName', true );\n\t},\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,eAAe,QAAQ,mBAAmB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAEC,QAAQ,EAAG;EACxC,IAAKF,eAAe,CAAEE,QAAQ,EAAE,iBAAiB,EAAE,IAAK,CAAC,EAAG;IAC3D;IACAA,QAAQ,CAACC,UAAU,GAAG;MACrB,GAAGD,QAAQ,CAACC,UAAU;MACtBC,SAAS,EAAE;QACVC,IAAI,EAAE;MACP;IACD,CAAC;EACF;EAEA,OAAOH,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,YAAYA,CAAEC,UAAU,EAAEC,SAAS,EAAEL,UAAU,EAAG;EACjE,IACCH,eAAe,CAAEQ,SAAS,EAAE,iBAAiB,EAAE,IAAK,CAAC,IACrDL,UAAU,CAACC,SAAS,EACnB;IACDG,UAAU,CAACH,SAAS,GAAGN,UAAU,CAChCS,UAAU,CAACH,SAAS,EACpBD,UAAU,CAACC,SACZ,CAAC;EACF;EAEA,OAAOG,UAAU;AAClB;AAEAR,SAAS,CACR,0BAA0B,EAC1B,kCAAkC,EAClCE,YACD,CAAC;AAED,eAAe;EACdK,YAAY;EACZG,aAAa,EAAE,CAAE,WAAW,CAAE;EAC9BC,UAAUA,CAAEC,IAAI,EAAG;IAClB,OAAOX,eAAe,CAAEW,IAAI,EAAE,iBAAiB,EAAE,IAAK,CAAC;EACxD;AACD,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "react";
|
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { useState, useEffect, useCallback } from '@wordpress/element';
|
|
6
|
-
import { useDispatch } from '@wordpress/data';
|
|
6
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
7
7
|
import { getBlockSupport } from '@wordpress/blocks';
|
|
8
8
|
import deprecated from '@wordpress/deprecated';
|
|
9
9
|
|
|
@@ -16,7 +16,7 @@ import { MarginVisualizer } from './margin';
|
|
|
16
16
|
import { PaddingVisualizer } from './padding';
|
|
17
17
|
import { store as blockEditorStore } from '../store';
|
|
18
18
|
import { unlock } from '../lock-unlock';
|
|
19
|
-
import { cleanEmptyObject
|
|
19
|
+
import { cleanEmptyObject } from './utils';
|
|
20
20
|
export const DIMENSIONS_SUPPORT_KEY = 'dimensions';
|
|
21
21
|
export const SPACING_SUPPORT_KEY = 'spacing';
|
|
22
22
|
export const ALL_SIDES = ['top', 'right', 'bottom', 'left'];
|
|
@@ -53,17 +53,14 @@ function DimensionsInspectorControl({
|
|
|
53
53
|
resetAllFilter: attributesResetAllFilter
|
|
54
54
|
}, children);
|
|
55
55
|
}
|
|
56
|
-
export function DimensionsPanel(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
__unstableParentLayout
|
|
63
|
-
} = props;
|
|
64
|
-
const settings = useBlockSettings(name, __unstableParentLayout);
|
|
56
|
+
export function DimensionsPanel({
|
|
57
|
+
clientId,
|
|
58
|
+
name,
|
|
59
|
+
setAttributes,
|
|
60
|
+
settings
|
|
61
|
+
}) {
|
|
65
62
|
const isEnabled = useHasDimensionsPanel(settings);
|
|
66
|
-
const value =
|
|
63
|
+
const value = useSelect(select => select(blockEditorStore).getBlockAttributes(clientId)?.style, [clientId]);
|
|
67
64
|
const [visualizedProperty, setVisualizedProperty] = useVisualizer();
|
|
68
65
|
const onChange = newStyle => {
|
|
69
66
|
setAttributes({
|
|
@@ -73,8 +70,8 @@ export function DimensionsPanel(props) {
|
|
|
73
70
|
if (!isEnabled) {
|
|
74
71
|
return null;
|
|
75
72
|
}
|
|
76
|
-
const defaultDimensionsControls = getBlockSupport(
|
|
77
|
-
const defaultSpacingControls = getBlockSupport(
|
|
73
|
+
const defaultDimensionsControls = getBlockSupport(name, [DIMENSIONS_SUPPORT_KEY, '__experimentalDefaultControls']);
|
|
74
|
+
const defaultSpacingControls = getBlockSupport(name, [SPACING_SUPPORT_KEY, '__experimentalDefaultControls']);
|
|
78
75
|
const defaultControls = {
|
|
79
76
|
...defaultDimensionsControls,
|
|
80
77
|
...defaultSpacingControls
|
|
@@ -89,10 +86,12 @@ export function DimensionsPanel(props) {
|
|
|
89
86
|
onVisualize: setVisualizedProperty
|
|
90
87
|
}), !!settings?.spacing?.padding && createElement(PaddingVisualizer, {
|
|
91
88
|
forceShow: visualizedProperty === 'padding',
|
|
92
|
-
|
|
89
|
+
clientId: clientId,
|
|
90
|
+
value: value
|
|
93
91
|
}), !!settings?.spacing?.margin && createElement(MarginVisualizer, {
|
|
94
92
|
forceShow: visualizedProperty === 'margin',
|
|
95
|
-
|
|
93
|
+
clientId: clientId,
|
|
94
|
+
value: value
|
|
96
95
|
}));
|
|
97
96
|
}
|
|
98
97
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useEffect","useCallback","useDispatch","getBlockSupport","deprecated","InspectorControls","DimensionsPanel","StylesDimensionsPanel","useHasDimensionsPanel","MarginVisualizer","PaddingVisualizer","store","blockEditorStore","unlock","cleanEmptyObject","
|
|
1
|
+
{"version":3,"names":["useState","useEffect","useCallback","useDispatch","useSelect","getBlockSupport","deprecated","InspectorControls","DimensionsPanel","StylesDimensionsPanel","useHasDimensionsPanel","MarginVisualizer","PaddingVisualizer","store","blockEditorStore","unlock","cleanEmptyObject","DIMENSIONS_SUPPORT_KEY","SPACING_SUPPORT_KEY","ALL_SIDES","AXIAL_SIDES","useVisualizer","property","setProperty","hideBlockInterface","showBlockInterface","DimensionsInspectorControl","children","resetAllFilter","attributesResetAllFilter","attributes","existingStyle","style","updatedStyle","createElement","group","clientId","name","setAttributes","settings","isEnabled","value","select","getBlockAttributes","visualizedProperty","setVisualizedProperty","onChange","newStyle","defaultDimensionsControls","defaultSpacingControls","defaultControls","Fragment","as","panelId","onVisualize","spacing","padding","forceShow","margin","useCustomSides","since","version"],"sources":["@wordpress/block-editor/src/hooks/dimensions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tDimensionsPanel as StylesDimensionsPanel,\n\tuseHasDimensionsPanel,\n} from '../components/global-styles';\nimport { MarginVisualizer } from './margin';\nimport { PaddingVisualizer } from './padding';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nimport { cleanEmptyObject } from './utils';\n\nexport const DIMENSIONS_SUPPORT_KEY = 'dimensions';\nexport const SPACING_SUPPORT_KEY = 'spacing';\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nexport const AXIAL_SIDES = [ 'vertical', 'horizontal' ];\n\nfunction useVisualizer() {\n\tconst [ property, setProperty ] = useState( false );\n\tconst { hideBlockInterface, showBlockInterface } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tuseEffect( () => {\n\t\tif ( ! property ) {\n\t\t\tshowBlockInterface();\n\t\t} else {\n\t\t\thideBlockInterface();\n\t\t}\n\t}, [ property, showBlockInterface, hideBlockInterface ] );\n\n\treturn [ property, setProperty ];\n}\n\nfunction DimensionsInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributes.style;\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tstyle: updatedStyle,\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"dimensions\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function DimensionsPanel( { clientId, name, setAttributes, settings } ) {\n\tconst isEnabled = useHasDimensionsPanel( settings );\n\tconst value = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId )?.style,\n\t\t[ clientId ]\n\t);\n\tconst [ visualizedProperty, setVisualizedProperty ] = useVisualizer();\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultDimensionsControls = getBlockSupport( name, [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultSpacingControls = getBlockSupport( name, [\n\t\tSPACING_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultControls = {\n\t\t...defaultDimensionsControls,\n\t\t...defaultSpacingControls,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<StylesDimensionsPanel\n\t\t\t\tas={ DimensionsInspectorControl }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tsettings={ settings }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tdefaultControls={ defaultControls }\n\t\t\t\tonVisualize={ setVisualizedProperty }\n\t\t\t/>\n\t\t\t{ !! settings?.spacing?.padding && (\n\t\t\t\t<PaddingVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'padding' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! settings?.spacing?.margin && (\n\t\t\t\t<MarginVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'margin' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n/**\n * @deprecated\n */\nexport function useCustomSides() {\n\tdeprecated( 'wp.blockEditor.__experimentalUseCustomSides', {\n\t\tsince: '6.3',\n\t\tversion: '6.4',\n\t} );\n}\n"],"mappings":"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"}
|