@wordpress/block-editor 7.0.1 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +47 -4
- package/build/components/autocomplete/index.js +1 -1
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +8 -4
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +61 -14
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +25 -3
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-content-overlay/index.js +2 -4
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-controls/fill.js +6 -6
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/groups.js +3 -1
- package/build/components/block-controls/groups.js.map +1 -1
- package/build/components/block-controls/hook.js +57 -0
- package/build/components/block-controls/hook.js.map +1 -0
- package/build/components/block-edit/context.js +6 -5
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/edit.js +1 -1
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-icon/index.js +5 -1
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-icon/index.native.js +13 -9
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-inspector/index.js +14 -7
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-html.js +5 -0
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +31 -12
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js +4 -4
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +15 -9
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +6 -7
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/grid-item.native.js +68 -0
- package/build/components/block-list/grid-item.native.js.map +1 -0
- package/build/components/block-list/index.js +19 -15
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +13 -9
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +6 -6
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js +4 -6
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
- package/build/components/block-list/use-block-props/use-multi-selection.js +21 -6
- package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +9 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list-appender/index.js +9 -1
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-mover/index.js +4 -4
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +4 -4
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +0 -1
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-patterns-list/index.js +1 -8
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-preview/auto.js +42 -14
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-settings/container.native.js +5 -2
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +26 -5
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +10 -3
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +5 -1
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/preview.native.js +2 -2
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +1 -1
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-switcher/index.js +10 -3
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-title/index.js +3 -2
- package/build/components/block-title/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +3 -0
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-popover.js +8 -7
- package/build/components/block-tools/block-popover.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +2 -4
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +4 -1
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +96 -7
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-types-list/index.native.js +3 -2
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/utils.js +17 -8
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/colors/utils.js +11 -3
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors-gradients/control.js +22 -57
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +83 -7
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/contrast-checker/index.js +18 -12
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/copy-handler/index.js +9 -3
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +2 -2
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/duotone-control/index.js +41 -39
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editor-styles/index.js +9 -3
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +44 -12
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-sizes/index.native.js +24 -0
- package/build/components/font-sizes/index.native.js.map +1 -1
- package/build/components/iframe/index.js +46 -63
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +126 -0
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -0
- package/build/components/image-editor/constants.js +16 -0
- package/build/components/image-editor/constants.js.map +1 -0
- package/build/components/image-editor/context.js +59 -0
- package/build/components/image-editor/context.js.map +1 -0
- package/build/components/image-editor/cropper.js +83 -0
- package/build/components/image-editor/cropper.js.map +1 -0
- package/build/components/image-editor/form-controls.js +36 -0
- package/build/components/image-editor/form-controls.js.map +1 -0
- package/build/components/image-editor/index.js +60 -0
- package/build/components/image-editor/index.js.map +1 -0
- package/build/components/image-editor/rotation-button.js +37 -0
- package/build/components/image-editor/rotation-button.js.map +1 -0
- package/build/components/image-editor/use-save-image.js +84 -0
- package/build/components/image-editor/use-save-image.js.map +1 -0
- package/build/components/image-editor/use-transform-image.js +135 -0
- package/build/components/image-editor/use-transform-image.js.map +1 -0
- package/build/components/image-editor/zoom-dropdown.js +55 -0
- package/build/components/image-editor/zoom-dropdown.js.map +1 -0
- package/build/components/image-size-control/use-dimension-handler.js +14 -3
- package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build/components/index.js +42 -37
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +12 -7
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +11 -1
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +28 -10
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +42 -4
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +24 -13
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +62 -0
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +111 -0
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/sidebar.js +78 -0
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
- package/build/components/inserter/block-patterns-tab.js +74 -35
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +3 -6
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js +4 -7
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-clipboard-block.native.js +5 -4
- package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build/components/inserter/index.js +12 -4
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +1 -7
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +2 -0
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +2 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js +18 -17
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/pattern-panel.js +19 -10
- package/build/components/inserter/pattern-panel.js.map +1 -1
- package/build/components/inserter/preview-panel.js +1 -1
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +2 -1
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +5 -6
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-results.native.js +9 -2
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inserter/tabs.native.js +1 -4
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/utils.native.js +44 -0
- package/build/components/inserter/utils.native.js.map +1 -0
- package/build/components/inspector-controls/block-support-slot-container.js +28 -0
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -0
- package/build/components/inspector-controls/block-support-tools-panel.js +78 -0
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -0
- package/build/components/inspector-controls/fill.js +64 -0
- package/build/components/inspector-controls/fill.js.map +1 -0
- package/build/components/inspector-controls/{index.native.js → fill.native.js} +20 -19
- package/build/components/inspector-controls/fill.native.js.map +1 -0
- package/build/components/inspector-controls/groups.js +25 -0
- package/build/components/inspector-controls/groups.js.map +1 -0
- package/build/components/inspector-controls/index.js +22 -20
- package/build/components/inspector-controls/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +67 -0
- package/build/components/inspector-controls/slot.js.map +1 -0
- package/build/components/inspector-controls/slot.native.js +38 -0
- package/build/components/inspector-controls/slot.native.js.map +1 -0
- package/build/components/letter-spacing-control/index.js +9 -6
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +39 -0
- package/build/components/line-height-control/index.native.js.map +1 -0
- package/build/components/link-control/index.js +93 -34
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +45 -15
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-input.js +25 -7
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/list-view/block-contents.js +1 -20
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block.js +54 -69
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +102 -76
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +53 -23
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +2 -2
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/list-item.js +3 -2
- package/build/components/list-view/list-item.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +13 -54
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/media-placeholder/index.js +35 -21
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +2 -1
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +5 -3
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +1 -4
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/observe-typing/index.js +1 -1
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +30 -1
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +66 -0
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -0
- package/build/components/rich-text/format-edit.js +28 -2
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +32 -11
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +29 -7
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +43 -5
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/input-event.js +25 -24
- package/build/components/rich-text/input-event.js.map +1 -1
- package/build/components/rich-text/shortcut.js +23 -9
- package/build/components/rich-text/shortcut.js.map +1 -1
- package/build/components/rich-text/use-input-events.js +27 -0
- package/build/components/rich-text/use-input-events.js.map +1 -0
- package/build/components/rich-text/use-paste-handler.js +45 -10
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/rich-text/use-shortcuts.js +27 -0
- package/build/components/rich-text/use-shortcuts.js.map +1 -0
- package/build/components/rich-text/utils.js +22 -0
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/typewriter/index.js +1 -1
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/url-input/index.js +25 -11
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-display-block-controls/index.js +5 -7
- package/build/components/use-display-block-controls/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +13 -10
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +2 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +2 -13
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-setting/index.js +49 -14
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js +6 -0
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +18 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js +14 -14
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +4 -2
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border-color.js +9 -5
- package/build/hooks/border-color.js.map +1 -1
- package/build/hooks/border.js +5 -5
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +5 -2
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +6 -4
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/compat.js +23 -0
- package/build/hooks/compat.js.map +1 -0
- package/build/hooks/custom-class-name.js +3 -1
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/dimensions.js +63 -28
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +63 -18
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-appearance.js +49 -6
- package/build/hooks/font-appearance.js.map +1 -1
- package/build/hooks/font-family.js +123 -32
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +51 -9
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/gap.js +163 -0
- package/build/hooks/gap.js.map +1 -0
- package/build/hooks/index.js +12 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +10 -0
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.js +47 -30
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/letter-spacing.js +45 -8
- package/build/hooks/letter-spacing.js.map +1 -1
- package/build/hooks/line-height.js +45 -8
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/lock.js +43 -0
- package/build/hooks/lock.js.map +1 -0
- package/build/hooks/margin.js +6 -3
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +6 -3
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/style.js +39 -11
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/text-decoration.js +42 -6
- package/build/hooks/text-decoration.js.map +1 -1
- package/build/hooks/text-transform.js +42 -6
- package/build/hooks/text-transform.js.map +1 -1
- package/build/hooks/typography.js +109 -9
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +60 -0
- package/build/hooks/typography.native.js.map +1 -0
- package/build/hooks/use-cached-truthy.js +29 -0
- package/build/hooks/use-cached-truthy.js.map +1 -0
- package/build/index.js +7 -0
- package/build/index.js.map +1 -1
- package/build/layouts/flex.js +215 -11
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +99 -6
- package/build/layouts/flow.js.map +1 -1
- package/build/store/actions.js +331 -266
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +2 -0
- package/build/store/defaults.js.map +1 -1
- package/build/store/defaults.native.js +16 -1
- package/build/store/defaults.native.js.map +1 -1
- package/build/store/index.js +1 -3
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +165 -114
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +203 -115
- package/build/store/selectors.js.map +1 -1
- package/build/utils/index.js +10 -1
- package/build/utils/index.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +295 -0
- package/build/utils/parse-css-unit-to-px.js.map +1 -0
- package/build/utils/transform-styles/transforms/wrap.js +16 -0
- package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-module/components/autocomplete/index.js +2 -2
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +8 -4
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +64 -17
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +25 -3
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +2 -4
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +6 -5
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/groups.js +3 -1
- package/build-module/components/block-controls/groups.js.map +1 -1
- package/build-module/components/block-controls/hook.js +42 -0
- package/build-module/components/block-controls/hook.js.map +1 -0
- package/build-module/components/block-edit/context.js +4 -4
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/edit.js +1 -1
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-icon/index.js +5 -1
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-icon/index.native.js +14 -9
- package/build-module/components/block-icon/index.native.js.map +1 -1
- package/build-module/components/block-inspector/index.js +12 -6
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-html.js +5 -0
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +30 -12
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js +3 -4
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +16 -10
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +6 -7
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/grid-item.native.js +57 -0
- package/build-module/components/block-list/grid-item.native.js.map +1 -0
- package/build-module/components/block-list/index.js +17 -14
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +13 -9
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +7 -7
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +5 -7
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +2 -2
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-multi-selection.js +21 -6
- package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +9 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +9 -1
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-mover/index.js +4 -4
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +4 -4
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +0 -1
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +1 -6
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +40 -16
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +6 -3
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -7
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +10 -3
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +5 -1
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +2 -2
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-switcher/index.js +10 -3
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-title/index.js +3 -2
- package/build-module/components/block-title/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +3 -0
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-popover.js +9 -8
- package/build-module/components/block-tools/block-popover.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +2 -4
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +4 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +96 -8
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +3 -2
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +16 -9
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/colors/utils.js +9 -3
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +26 -63
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +84 -7
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +13 -10
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/copy-handler/index.js +9 -3
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +2 -2
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/duotone-control/index.js +43 -39
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +7 -3
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +40 -12
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-sizes/index.native.js +3 -1
- package/build-module/components/font-sizes/index.native.js.map +1 -1
- package/build-module/components/iframe/index.js +47 -65
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +115 -0
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -0
- package/build-module/components/image-editor/constants.js +7 -0
- package/build-module/components/image-editor/constants.js.map +1 -0
- package/build-module/components/image-editor/context.js +44 -0
- package/build-module/components/image-editor/context.js.map +1 -0
- package/build-module/components/image-editor/cropper.js +69 -0
- package/build-module/components/image-editor/cropper.js.map +1 -0
- package/build-module/components/image-editor/form-controls.js +26 -0
- package/build-module/components/image-editor/form-controls.js.map +1 -0
- package/build-module/components/image-editor/index.js +37 -0
- package/build-module/components/image-editor/index.js.map +1 -0
- package/build-module/components/image-editor/rotation-button.js +26 -0
- package/build-module/components/image-editor/rotation-button.js.map +1 -0
- package/build-module/components/image-editor/use-save-image.js +70 -0
- package/build-module/components/image-editor/use-save-image.js.map +1 -0
- package/build-module/components/image-editor/use-transform-image.js +127 -0
- package/build-module/components/image-editor/use-transform-image.js.map +1 -0
- package/build-module/components/image-editor/zoom-dropdown.js +43 -0
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -0
- package/build-module/components/image-size-control/use-dimension-handler.js +13 -2
- package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build-module/components/index.js +5 -6
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +2 -3
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +10 -1
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +29 -11
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +41 -5
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -13
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +50 -0
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +92 -0
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +69 -0
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab.js +75 -36
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +2 -5
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +4 -7
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-clipboard-block.native.js +5 -4
- package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build-module/components/inserter/index.js +12 -4
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +1 -7
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +2 -0
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +2 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js +17 -17
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/pattern-panel.js +21 -13
- package/build-module/components/inserter/pattern-panel.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +1 -1
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +2 -1
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +4 -5
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js +8 -2
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +1 -4
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter/utils.native.js +35 -0
- package/build-module/components/inserter/utils.native.js.map +1 -0
- package/build-module/components/inspector-controls/block-support-slot-container.js +18 -0
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -0
- package/build-module/components/inspector-controls/block-support-tools-panel.js +67 -0
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -0
- package/build-module/components/inspector-controls/fill.js +50 -0
- package/build-module/components/inspector-controls/fill.js.map +1 -0
- package/build-module/components/inspector-controls/{index.native.js → fill.native.js} +16 -18
- package/build-module/components/inspector-controls/fill.native.js.map +1 -0
- package/build-module/components/inspector-controls/groups.js +16 -0
- package/build-module/components/inspector-controls/groups.js.map +1 -0
- package/build-module/components/inspector-controls/index.js +16 -17
- package/build-module/components/inspector-controls/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +52 -0
- package/build-module/components/inspector-controls/slot.js.map +1 -0
- package/build-module/components/inspector-controls/slot.native.js +27 -0
- package/build-module/components/inspector-controls/slot.native.js.map +1 -0
- package/build-module/components/letter-spacing-control/index.js +9 -6
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js +29 -0
- package/build-module/components/line-height-control/index.native.js.map +1 -0
- package/build-module/components/link-control/index.js +93 -35
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +46 -17
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-input.js +24 -7
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +1 -18
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block.js +56 -71
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +102 -78
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +55 -27
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -2
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/list-item.js +3 -2
- package/build-module/components/list-view/list-item.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +13 -54
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +35 -21
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +2 -1
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +5 -3
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +1 -4
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js +1 -1
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +29 -2
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +54 -0
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -0
- package/build-module/components/rich-text/format-edit.js +28 -3
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +29 -11
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +22 -6
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +43 -6
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/input-event.js +24 -22
- package/build-module/components/rich-text/input-event.js.map +1 -1
- package/build-module/components/rich-text/shortcut.js +22 -9
- package/build-module/components/rich-text/shortcut.js.map +1 -1
- package/build-module/components/rich-text/use-input-events.js +19 -0
- package/build-module/components/rich-text/use-input-events.js.map +1 -0
- package/build-module/components/rich-text/use-paste-handler.js +44 -10
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/use-shortcuts.js +19 -0
- package/build-module/components/rich-text/use-shortcuts.js.map +1 -0
- package/build-module/components/rich-text/utils.js +20 -0
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/typewriter/index.js +1 -1
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/url-input/index.js +25 -11
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-display-block-controls/index.js +5 -7
- package/build-module/components/use-display-block-controls/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +13 -10
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +3 -2
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +2 -10
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-setting/index.js +48 -14
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js +6 -0
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +18 -3
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/align.js +15 -15
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +5 -3
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border-color.js +10 -5
- package/build-module/hooks/border-color.js.map +1 -1
- package/build-module/hooks/border.js +5 -5
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +6 -3
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color.js +6 -4
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/compat.js +20 -0
- package/build-module/hooks/compat.js.map +1 -0
- package/build-module/hooks/custom-class-name.js +4 -2
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/dimensions.js +57 -26
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +62 -18
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-appearance.js +45 -6
- package/build-module/hooks/font-appearance.js.map +1 -1
- package/build-module/hooks/font-family.js +117 -33
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +47 -9
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/gap.js +140 -0
- package/build-module/hooks/gap.js.map +1 -0
- package/build-module/hooks/index.js +3 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +2 -0
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.js +47 -30
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/letter-spacing.js +41 -8
- package/build-module/hooks/letter-spacing.js.map +1 -1
- package/build-module/hooks/line-height.js +41 -8
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/lock.js +33 -0
- package/build-module/hooks/lock.js.map +1 -0
- package/build-module/hooks/margin.js +7 -4
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +7 -4
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/style.js +39 -11
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/text-decoration.js +38 -6
- package/build-module/hooks/text-decoration.js.map +1 -1
- package/build-module/hooks/text-transform.js +38 -6
- package/build-module/hooks/text-transform.js.map +1 -1
- package/build-module/hooks/typography.js +118 -19
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +41 -0
- package/build-module/hooks/typography.native.js.map +1 -0
- package/build-module/hooks/use-cached-truthy.js +21 -0
- package/build-module/hooks/use-cached-truthy.js.map +1 -0
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/flex.js +210 -12
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +99 -7
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/store/actions.js +294 -242
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +2 -0
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/defaults.native.js +15 -1
- package/build-module/store/defaults.native.js.map +1 -1
- package/build-module/store/index.js +1 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/reducer.js +167 -115
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +189 -104
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/index.js +1 -0
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +285 -0
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -0
- package/build-module/utils/transform-styles/transforms/wrap.js +16 -0
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-style/default-editor-styles-rtl.css +114 -0
- package/build-style/default-editor-styles.css +114 -0
- package/build-style/style-rtl.css +292 -181
- package/build-style/style.css +292 -181
- package/build-types/components/block-context/index.d.ts +1 -1
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/package.json +28 -27
- package/src/components/autocomplete/index.js +5 -2
- package/src/components/block-actions/index.js +9 -5
- package/src/components/block-alignment-control/style.scss +5 -0
- package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +15 -1
- package/src/components/block-alignment-control/test/index.native.js +37 -0
- package/src/components/block-alignment-control/ui.js +98 -27
- package/src/components/block-alignment-control/use-available-alignments.js +31 -10
- package/src/components/block-content-overlay/index.js +3 -6
- package/src/components/block-content-overlay/style.scss +9 -21
- package/src/components/block-controls/fill.js +7 -4
- package/src/components/block-controls/groups.js +2 -0
- package/src/components/block-controls/hook.js +44 -0
- package/src/components/block-draggable/style.scss +19 -4
- package/src/components/block-edit/context.js +4 -3
- package/src/components/block-edit/edit.js +1 -4
- package/src/components/block-icon/index.js +4 -1
- package/src/components/block-icon/index.native.js +11 -12
- package/src/components/block-inspector/index.js +19 -9
- package/src/components/block-list/block-html.js +5 -0
- package/src/components/block-list/block-list-item.native.js +34 -11
- package/src/components/block-list/block-list-item.native.scss +4 -0
- package/src/components/block-list/block-selection-button.native.js +8 -5
- package/src/components/block-list/block.js +13 -9
- package/src/components/block-list/block.native.js +7 -5
- package/src/components/block-list/grid-item.native.js +58 -0
- package/src/components/block-list/index.js +33 -27
- package/src/components/block-list/index.native.js +10 -4
- package/src/components/block-list/style.native.scss +0 -1
- package/src/components/block-list/style.scss +15 -0
- package/src/components/block-list/use-block-props/index.js +4 -7
- package/src/components/block-list/use-block-props/use-block-custom-class-name.js +5 -7
- package/src/components/block-list/use-block-props/use-block-default-class-name.js +2 -8
- package/src/components/block-list/use-block-props/use-multi-selection.js +30 -4
- package/src/components/block-list/use-in-between-inserter.js +9 -0
- package/src/components/block-list-appender/index.js +8 -0
- package/src/components/block-mover/index.js +4 -4
- package/src/components/block-mover/index.native.js +4 -4
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +10 -6
- package/src/components/block-mover/test/index.native.js +26 -28
- package/src/components/block-navigation/dropdown.js +0 -1
- package/src/components/block-patterns-list/index.js +1 -8
- package/src/components/block-patterns-list/style.scss +22 -12
- package/src/components/block-preview/README.md +1 -1
- package/src/components/block-preview/auto.js +36 -18
- package/src/components/block-preview/style.scss +0 -20
- package/src/components/block-settings/container.native.js +7 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +26 -13
- package/src/components/block-settings-menu-controls/index.js +9 -6
- package/src/components/block-styles/index.js +6 -1
- package/src/components/block-styles/preview.native.js +2 -2
- package/src/components/block-switcher/block-styles-menu.js +1 -1
- package/src/components/block-switcher/index.js +7 -3
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +1 -1
- package/src/components/block-switcher/test/index.js +3 -0
- package/src/components/block-title/index.js +5 -2
- package/src/components/block-toolbar/index.js +4 -0
- package/src/components/block-tools/block-contextual-toolbar.js +7 -5
- package/src/components/block-tools/block-popover.js +8 -8
- package/src/components/block-tools/block-selection-button.js +2 -4
- package/src/components/block-tools/index.js +5 -2
- package/src/components/block-tools/insertion-point.js +97 -9
- package/src/components/block-tools/style.scss +4 -35
- package/src/components/block-types-list/index.native.js +8 -2
- package/src/components/block-types-list/style.scss +0 -3
- package/src/components/block-variation-picker/README.md +47 -14
- package/src/components/block-variation-picker/style.native.scss +4 -0
- package/src/components/border-radius-control/index.js +1 -0
- package/src/components/border-radius-control/test/utils.js +216 -0
- package/src/components/border-radius-control/utils.js +18 -10
- package/src/components/color-palette/test/__snapshots__/control.js.snap +128 -71
- package/src/components/colors/test/utils.js +41 -0
- package/src/components/colors/utils.js +9 -5
- package/src/components/colors-gradients/control.js +70 -110
- package/src/components/colors-gradients/panel-color-gradient-settings.js +79 -7
- package/src/components/colors-gradients/style.scss +10 -18
- package/src/components/colors-gradients/test/control.js +41 -66
- package/src/components/contrast-checker/index.js +14 -10
- package/src/components/copy-handler/index.js +6 -1
- package/src/components/default-block-appender/index.js +2 -2
- package/src/components/default-block-appender/test/__snapshots__/index.js.snap +3 -3
- package/src/components/duotone-control/index.js +49 -41
- package/src/components/duotone-control/style.scss +27 -12
- package/src/components/editor-styles/index.js +8 -4
- package/src/components/font-appearance-control/index.js +62 -24
- package/src/components/font-appearance-control/style.scss +1 -1
- package/src/components/font-sizes/index.native.js +7 -1
- package/src/components/iframe/index.js +64 -75
- package/src/components/image-editor/aspect-ratio-dropdown.js +129 -0
- package/src/components/image-editor/constants.js +6 -0
- package/src/components/image-editor/context.js +56 -0
- package/src/components/image-editor/cropper.js +74 -0
- package/src/components/image-editor/form-controls.js +22 -0
- package/src/components/image-editor/index.js +52 -0
- package/src/components/image-editor/rotation-button.js +24 -0
- package/src/components/image-editor/use-save-image.js +97 -0
- package/src/components/image-editor/use-transform-image.js +162 -0
- package/src/components/image-editor/zoom-dropdown.js +40 -0
- package/src/components/image-size-control/use-dimension-handler.js +18 -1
- package/src/components/index.js +10 -8
- package/src/components/index.native.js +5 -3
- package/src/components/inner-blocks/button-block-appender.js +9 -0
- package/src/components/inner-blocks/index.js +43 -14
- package/src/components/inner-blocks/index.native.js +48 -4
- package/src/components/inner-blocks/use-nested-settings-update.js +26 -11
- package/src/components/inserter/block-patterns-explorer/explorer.js +50 -0
- package/src/components/inserter/block-patterns-explorer/patterns-list.js +122 -0
- package/src/components/inserter/block-patterns-explorer/sidebar.js +73 -0
- package/src/components/inserter/block-patterns-tab.js +107 -73
- package/src/components/inserter/block-types-tab.native.js +3 -6
- package/src/components/inserter/hooks/use-block-type-impressions.native.js +14 -21
- package/src/components/inserter/hooks/use-clipboard-block.native.js +3 -2
- package/src/components/inserter/index.js +15 -3
- package/src/components/inserter/index.native.js +2 -19
- package/src/components/inserter/library.js +2 -0
- package/src/components/inserter/menu.js +4 -1
- package/src/components/inserter/menu.native.js +18 -15
- package/src/components/inserter/pattern-panel.js +33 -16
- package/src/components/inserter/preview-panel.js +1 -1
- package/src/components/inserter/quick-inserter.js +1 -1
- package/src/components/inserter/reusable-blocks-tab.native.js +4 -6
- package/src/components/inserter/search-results.native.js +8 -1
- package/src/components/inserter/style.native.scss +8 -5
- package/src/components/inserter/style.scss +80 -16
- package/src/components/inserter/tabs.native.js +1 -7
- package/src/components/inserter/test/block-types-tab.native.js +3 -2
- package/src/components/inserter/test/fixtures/index.native.js +12 -0
- package/src/components/inserter/utils.native.js +35 -0
- package/src/components/inserter-list-item/style.scss +4 -2
- package/src/components/inspector-controls/README.md +43 -198
- package/src/components/inspector-controls/block-support-slot-container.js +10 -0
- package/src/components/inspector-controls/block-support-tools-panel.js +60 -0
- package/src/components/inspector-controls/fill.js +53 -0
- package/src/components/inspector-controls/{index.native.js → fill.native.js} +14 -14
- package/src/components/inspector-controls/groups.js +22 -0
- package/src/components/inspector-controls/index.js +16 -18
- package/src/components/inspector-controls/slot.js +45 -0
- package/src/components/inspector-controls/slot.native.js +22 -0
- package/src/components/letter-spacing-control/index.js +12 -6
- package/src/components/line-height-control/index.native.js +25 -0
- package/src/components/link-control/README.md +47 -14
- package/src/components/link-control/index.js +102 -31
- package/src/components/link-control/link-preview.js +53 -20
- package/src/components/link-control/search-input.js +21 -7
- package/src/components/link-control/style.scss +66 -19
- package/src/components/link-control/test/index.js +311 -4
- package/src/components/list-view/block-contents.js +17 -38
- package/src/components/list-view/block.js +73 -84
- package/src/components/list-view/branch.js +123 -94
- package/src/components/list-view/index.js +95 -37
- package/src/components/list-view/leaf.js +2 -2
- package/src/components/list-view/list-item.js +5 -4
- package/src/components/list-view/style.scss +70 -33
- package/src/components/list-view/use-list-view-client-ids.js +9 -68
- package/src/components/media-placeholder/README.md +9 -0
- package/src/components/media-placeholder/index.js +31 -20
- package/src/components/media-placeholder/index.native.js +2 -1
- package/src/components/media-placeholder/style.scss +2 -0
- package/src/components/media-replace-flow/README.md +7 -0
- package/src/components/media-replace-flow/index.js +4 -1
- package/src/components/media-replace-flow/style.scss +11 -12
- package/src/components/media-upload/README.md +1 -1
- package/src/components/navigable-toolbar/index.js +1 -4
- package/src/components/observe-typing/index.js +3 -2
- package/src/components/plain-text/index.native.js +26 -4
- package/src/components/rich-text/embed-handler-picker.native.js +68 -0
- package/src/components/rich-text/format-edit.js +36 -2
- package/src/components/rich-text/format-toolbar/index.js +25 -6
- package/src/components/rich-text/index.js +38 -12
- package/src/components/rich-text/index.native.js +37 -4
- package/src/components/rich-text/input-event.js +21 -20
- package/src/components/rich-text/shortcut.js +24 -9
- package/src/components/rich-text/style.scss +7 -5
- package/src/components/rich-text/use-input-events.js +19 -0
- package/src/components/rich-text/use-paste-handler.js +47 -12
- package/src/components/rich-text/use-shortcuts.js +19 -0
- package/src/components/rich-text/utils.js +16 -0
- package/src/components/skip-to-selected-block/README.md +39 -0
- package/src/components/tool-selector/style.scss +5 -5
- package/src/components/typewriter/index.js +3 -2
- package/src/components/url-input/index.js +26 -10
- package/src/components/use-display-block-controls/index.js +7 -10
- package/src/components/use-moving-animation/index.js +9 -8
- package/src/components/use-on-block-drop/index.js +5 -1
- package/src/components/use-resize-canvas/index.js +2 -17
- package/src/components/use-setting/index.js +48 -16
- package/src/components/writing-flow/use-multi-selection.js +6 -0
- package/src/components/writing-flow/use-tab-nav.js +21 -11
- package/src/default-editor-styles.scss +24 -0
- package/src/hooks/align.js +28 -20
- package/src/hooks/anchor.js +5 -5
- package/src/hooks/border-color.js +12 -1
- package/src/hooks/border.js +8 -11
- package/src/hooks/color-panel.js +4 -1
- package/src/hooks/color.js +11 -4
- package/src/hooks/compat.js +23 -0
- package/src/hooks/custom-class-name.js +3 -3
- package/src/hooks/dimensions.js +94 -50
- package/src/hooks/duotone.js +70 -21
- package/src/hooks/font-appearance.js +38 -7
- package/src/hooks/font-family.js +129 -33
- package/src/hooks/font-size.js +42 -6
- package/src/hooks/gap.js +146 -0
- package/src/hooks/index.js +3 -0
- package/src/hooks/index.native.js +2 -0
- package/src/hooks/layout.js +82 -56
- package/src/hooks/layout.scss +8 -0
- package/src/hooks/letter-spacing.js +37 -8
- package/src/hooks/line-height.js +37 -9
- package/src/hooks/lock.js +34 -0
- package/src/hooks/margin.js +13 -3
- package/src/hooks/padding.js +13 -3
- package/src/hooks/style.js +57 -18
- package/src/hooks/test/style.js +4 -0
- package/src/hooks/text-decoration.js +34 -6
- package/src/hooks/text-transform.js +34 -6
- package/src/hooks/typography.js +167 -21
- package/src/hooks/typography.native.js +64 -0
- package/src/hooks/typography.scss +16 -0
- package/src/hooks/use-cached-truthy.js +20 -0
- package/src/index.js +1 -0
- package/src/layouts/flex.js +237 -14
- package/src/layouts/flow.js +81 -14
- package/src/store/actions.js +248 -378
- package/src/store/defaults.js +2 -0
- package/src/store/defaults.native.js +15 -0
- package/src/store/index.js +1 -2
- package/src/store/reducer.js +248 -145
- package/src/store/selectors.js +212 -158
- package/src/store/test/actions.js +407 -705
- package/src/store/test/reducer.js +184 -146
- package/src/store/test/selectors.js +197 -177
- package/src/style.scss +2 -15
- package/src/utils/index.js +1 -0
- package/src/utils/parse-css-unit-to-px.js +272 -0
- package/src/utils/test/parse-css-unit-to-px.js +166 -0
- package/src/utils/transform-styles/transforms/test/wrap.js +1 -1
- package/src/utils/transform-styles/transforms/wrap.js +16 -0
- package/tsconfig.tsbuildinfo +1 -466
- package/build/components/block-list/head.js +0 -27
- package/build/components/block-list/head.js.map +0 -1
- package/build/components/duotone-control/duotone-picker-popover.js +0 -44
- package/build/components/duotone-control/duotone-picker-popover.js.map +0 -1
- package/build/components/inspector-advanced-controls/index.js +0 -46
- package/build/components/inspector-advanced-controls/index.js.map +0 -1
- package/build/components/inspector-controls/index.native.js.map +0 -1
- package/build/components/list-view/block-slot.js +0 -121
- package/build/components/list-view/block-slot.js.map +0 -1
- package/build/components/list-view/editor.js +0 -35
- package/build/components/list-view/editor.js.map +0 -1
- package/build/components/text-decoration-and-transform/index.js +0 -39
- package/build/components/text-decoration-and-transform/index.js.map +0 -1
- package/build/components/use-simulated-media-query/index.js +0 -137
- package/build/components/use-simulated-media-query/index.js.map +0 -1
- package/build/store/controls.js +0 -44
- package/build/store/controls.js.map +0 -1
- package/build-module/components/block-list/head.js +0 -19
- package/build-module/components/block-list/head.js.map +0 -1
- package/build-module/components/duotone-control/duotone-picker-popover.js +0 -35
- package/build-module/components/duotone-control/duotone-picker-popover.js.map +0 -1
- package/build-module/components/inspector-advanced-controls/index.js +0 -36
- package/build-module/components/inspector-advanced-controls/index.js.map +0 -1
- package/build-module/components/inspector-controls/index.native.js.map +0 -1
- package/build-module/components/list-view/block-slot.js +0 -96
- package/build-module/components/list-view/block-slot.js.map +0 -1
- package/build-module/components/list-view/editor.js +0 -25
- package/build-module/components/list-view/editor.js.map +0 -1
- package/build-module/components/text-decoration-and-transform/index.js +0 -30
- package/build-module/components/text-decoration-and-transform/index.js.map +0 -1
- package/build-module/components/use-simulated-media-query/index.js +0 -126
- package/build-module/components/use-simulated-media-query/index.js.map +0 -1
- package/build-module/store/controls.js +0 -32
- package/build-module/store/controls.js.map +0 -1
- package/src/components/block-list/head.js +0 -18
- package/src/components/duotone-control/duotone-picker-popover.js +0 -36
- package/src/components/inspector-advanced-controls/README.md +0 -72
- package/src/components/inspector-advanced-controls/index.js +0 -32
- package/src/components/list-view/block-slot.js +0 -120
- package/src/components/list-view/editor.js +0 -29
- package/src/components/text-decoration-and-transform/index.js +0 -36
- package/src/components/text-decoration-and-transform/style.scss +0 -3
- package/src/components/use-simulated-media-query/index.js +0 -144
- package/src/store/controls.js +0 -39
package/src/hooks/layout.js
CHANGED
|
@@ -27,34 +27,45 @@ import { store as blockEditorStore } from '../store';
|
|
|
27
27
|
import { InspectorControls } from '../components';
|
|
28
28
|
import useSetting from '../components/use-setting';
|
|
29
29
|
import { LayoutStyle } from '../components/block-list/layout';
|
|
30
|
-
import
|
|
30
|
+
import BlockList from '../components/block-list';
|
|
31
31
|
import { getLayoutType, getLayoutTypes } from '../layouts';
|
|
32
32
|
|
|
33
33
|
const layoutBlockSupportKey = '__experimentalLayout';
|
|
34
34
|
|
|
35
|
-
const canBlockSwitchLayout = ( blockTypeOrName ) => {
|
|
36
|
-
const layoutBlockSupportConfig = getBlockSupport(
|
|
37
|
-
blockTypeOrName,
|
|
38
|
-
layoutBlockSupportKey
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
return layoutBlockSupportConfig?.allowSwitching;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
35
|
function LayoutPanel( { setAttributes, attributes, name: blockName } ) {
|
|
45
|
-
const { layout
|
|
46
|
-
const
|
|
36
|
+
const { layout } = attributes;
|
|
37
|
+
const defaultThemeLayout = useSetting( 'layout' );
|
|
47
38
|
const themeSupportsLayout = useSelect( ( select ) => {
|
|
48
39
|
const { getSettings } = select( blockEditorStore );
|
|
49
40
|
return getSettings().supportsLayout;
|
|
50
41
|
}, [] );
|
|
51
42
|
|
|
52
|
-
|
|
43
|
+
const layoutBlockSupport = getBlockSupport(
|
|
44
|
+
blockName,
|
|
45
|
+
layoutBlockSupportKey,
|
|
46
|
+
{}
|
|
47
|
+
);
|
|
48
|
+
const {
|
|
49
|
+
allowSwitching,
|
|
50
|
+
allowEditing = true,
|
|
51
|
+
allowInheriting = true,
|
|
52
|
+
default: defaultBlockLayout,
|
|
53
|
+
} = layoutBlockSupport;
|
|
54
|
+
|
|
55
|
+
if ( ! allowEditing ) {
|
|
53
56
|
return null;
|
|
54
57
|
}
|
|
55
58
|
|
|
56
|
-
const
|
|
57
|
-
const { inherit = false, type = 'default' } =
|
|
59
|
+
const usedLayout = layout || defaultBlockLayout || {};
|
|
60
|
+
const { inherit = false, type = 'default' } = usedLayout;
|
|
61
|
+
/**
|
|
62
|
+
* `themeSupportsLayout` is only relevant to the `default/flow`
|
|
63
|
+
* layout and it should not be taken into account when other
|
|
64
|
+
* `layout` types are used.
|
|
65
|
+
*/
|
|
66
|
+
if ( type === 'default' && ! themeSupportsLayout ) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
58
69
|
const layoutType = getLayoutType( type );
|
|
59
70
|
|
|
60
71
|
const onChangeType = ( newType ) =>
|
|
@@ -63,33 +74,45 @@ function LayoutPanel( { setAttributes, attributes, name: blockName } ) {
|
|
|
63
74
|
setAttributes( { layout: newLayout } );
|
|
64
75
|
|
|
65
76
|
return (
|
|
66
|
-
|
|
67
|
-
<
|
|
68
|
-
{
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
77
|
+
<>
|
|
78
|
+
<InspectorControls>
|
|
79
|
+
<PanelBody title={ __( 'Layout' ) }>
|
|
80
|
+
{ allowInheriting && !! defaultThemeLayout && (
|
|
81
|
+
<ToggleControl
|
|
82
|
+
label={ __( 'Inherit default layout' ) }
|
|
83
|
+
checked={ !! inherit }
|
|
84
|
+
onChange={ () =>
|
|
85
|
+
setAttributes( {
|
|
86
|
+
layout: { inherit: ! inherit },
|
|
87
|
+
} )
|
|
88
|
+
}
|
|
89
|
+
/>
|
|
90
|
+
) }
|
|
91
|
+
|
|
92
|
+
{ ! inherit && allowSwitching && (
|
|
93
|
+
<LayoutTypeSwitcher
|
|
94
|
+
type={ type }
|
|
95
|
+
onChange={ onChangeType }
|
|
96
|
+
/>
|
|
97
|
+
) }
|
|
98
|
+
|
|
99
|
+
{ ! inherit && layoutType && (
|
|
100
|
+
<layoutType.inspectorControls
|
|
101
|
+
layout={ usedLayout }
|
|
102
|
+
onChange={ onChangeLayout }
|
|
103
|
+
layoutBlockSupport={ layoutBlockSupport }
|
|
104
|
+
/>
|
|
105
|
+
) }
|
|
106
|
+
</PanelBody>
|
|
107
|
+
</InspectorControls>
|
|
108
|
+
{ ! inherit && layoutType && (
|
|
109
|
+
<layoutType.toolBarControls
|
|
110
|
+
layout={ usedLayout }
|
|
111
|
+
onChange={ onChangeLayout }
|
|
112
|
+
layoutBlockSupport={ layoutBlockSupport }
|
|
113
|
+
/>
|
|
114
|
+
) }
|
|
115
|
+
</>
|
|
93
116
|
);
|
|
94
117
|
}
|
|
95
118
|
|
|
@@ -167,24 +190,27 @@ export const withInspectorControls = createHigherOrderComponent(
|
|
|
167
190
|
export const withLayoutStyles = createHigherOrderComponent(
|
|
168
191
|
( BlockListBlock ) => ( props ) => {
|
|
169
192
|
const { name, attributes } = props;
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
if ( ! supportLayout ) {
|
|
174
|
-
return <BlockListBlock { ...props } />;
|
|
175
|
-
}
|
|
176
|
-
const { layout = {} } = attributes;
|
|
177
|
-
const usedLayout = !! layout && layout.inherit ? defaultLayout : layout;
|
|
178
|
-
const className = classnames(
|
|
179
|
-
props?.className,
|
|
180
|
-
`wp-container-${ id }`
|
|
193
|
+
const shouldRenderLayoutStyles = hasBlockSupport(
|
|
194
|
+
name,
|
|
195
|
+
layoutBlockSupportKey
|
|
181
196
|
);
|
|
182
|
-
|
|
183
|
-
const
|
|
197
|
+
const id = useInstanceId( BlockListBlock );
|
|
198
|
+
const defaultThemeLayout = useSetting( 'layout' ) || {};
|
|
199
|
+
const element = useContext( BlockList.__unstableElementContext );
|
|
200
|
+
const { layout } = attributes;
|
|
201
|
+
const { default: defaultBlockLayout } =
|
|
202
|
+
getBlockSupport( name, layoutBlockSupportKey ) || {};
|
|
203
|
+
const usedLayout = layout?.inherit
|
|
204
|
+
? defaultThemeLayout
|
|
205
|
+
: layout || defaultBlockLayout || {};
|
|
206
|
+
const className = classnames( props?.className, {
|
|
207
|
+
[ `wp-container-${ id }` ]: shouldRenderLayoutStyles,
|
|
208
|
+
} );
|
|
184
209
|
|
|
185
210
|
return (
|
|
186
211
|
<>
|
|
187
|
-
{
|
|
212
|
+
{ shouldRenderLayoutStyles &&
|
|
213
|
+
element &&
|
|
188
214
|
createPortal(
|
|
189
215
|
<LayoutStyle
|
|
190
216
|
selector={ `.wp-container-${ id }` }
|
package/src/hooks/layout.scss
CHANGED
|
@@ -21,3 +21,11 @@
|
|
|
21
21
|
.block-editor-hooks__layout-controls-helptext {
|
|
22
22
|
font-size: $helptext-font-size;
|
|
23
23
|
}
|
|
24
|
+
|
|
25
|
+
.block-editor-hooks__flex-layout-justification-controls,
|
|
26
|
+
.block-editor-hooks__flex-layout-orientation-controls {
|
|
27
|
+
margin-bottom: $grid-unit-15;
|
|
28
|
+
legend {
|
|
29
|
+
margin-bottom: $grid-unit-10;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -14,7 +14,8 @@ import { cleanEmptyObject } from './utils';
|
|
|
14
14
|
* Key within block settings' supports array indicating support for letter-spacing
|
|
15
15
|
* e.g. settings found in `block.json`.
|
|
16
16
|
*/
|
|
17
|
-
export const LETTER_SPACING_SUPPORT_KEY =
|
|
17
|
+
export const LETTER_SPACING_SUPPORT_KEY =
|
|
18
|
+
'typography.__experimentalLetterSpacing';
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Inspector control panel containing the letter-spacing options.
|
|
@@ -28,12 +29,6 @@ export function LetterSpacingEdit( props ) {
|
|
|
28
29
|
setAttributes,
|
|
29
30
|
} = props;
|
|
30
31
|
|
|
31
|
-
const isDisabled = useIsLetterSpacingDisabled( props );
|
|
32
|
-
|
|
33
|
-
if ( isDisabled ) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
32
|
function onChange( newSpacing ) {
|
|
38
33
|
setAttributes( {
|
|
39
34
|
style: cleanEmptyObject( {
|
|
@@ -50,6 +45,7 @@ export function LetterSpacingEdit( props ) {
|
|
|
50
45
|
<LetterSpacingControl
|
|
51
46
|
value={ style?.typography?.letterSpacing }
|
|
52
47
|
onChange={ onChange }
|
|
48
|
+
__unstableInputWidth={ false }
|
|
53
49
|
/>
|
|
54
50
|
);
|
|
55
51
|
}
|
|
@@ -65,7 +61,40 @@ export function useIsLetterSpacingDisabled( { name: blockName } = {} ) {
|
|
|
65
61
|
blockName,
|
|
66
62
|
LETTER_SPACING_SUPPORT_KEY
|
|
67
63
|
);
|
|
68
|
-
const hasLetterSpacing = useSetting( 'typography.
|
|
64
|
+
const hasLetterSpacing = useSetting( 'typography.letterSpacing' );
|
|
69
65
|
|
|
70
66
|
return notSupported || ! hasLetterSpacing;
|
|
71
67
|
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Checks if there is a current value set for the letter spacing block support.
|
|
71
|
+
*
|
|
72
|
+
* @param {Object} props Block props.
|
|
73
|
+
* @return {boolean} Whether or not the block has a letter spacing set.
|
|
74
|
+
*/
|
|
75
|
+
export function hasLetterSpacingValue( props ) {
|
|
76
|
+
return !! props.attributes.style?.typography?.letterSpacing;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Resets the letter spacing block support attribute. This can be used when
|
|
81
|
+
* disabling the letter spacing support controls for a block via a progressive
|
|
82
|
+
* discovery panel.
|
|
83
|
+
*
|
|
84
|
+
* @param {Object} props Block props.
|
|
85
|
+
* @param {Object} props.attributes Block's attributes.
|
|
86
|
+
* @param {Object} props.setAttributes Function to set block's attributes.
|
|
87
|
+
*/
|
|
88
|
+
export function resetLetterSpacing( { attributes = {}, setAttributes } ) {
|
|
89
|
+
const { style } = attributes;
|
|
90
|
+
|
|
91
|
+
setAttributes( {
|
|
92
|
+
style: cleanEmptyObject( {
|
|
93
|
+
...style,
|
|
94
|
+
typography: {
|
|
95
|
+
...style?.typography,
|
|
96
|
+
letterSpacing: undefined,
|
|
97
|
+
},
|
|
98
|
+
} ),
|
|
99
|
+
} );
|
|
100
|
+
}
|
package/src/hooks/line-height.js
CHANGED
|
@@ -22,12 +22,8 @@ export const LINE_HEIGHT_SUPPORT_KEY = 'typography.lineHeight';
|
|
|
22
22
|
export function LineHeightEdit( props ) {
|
|
23
23
|
const {
|
|
24
24
|
attributes: { style },
|
|
25
|
+
setAttributes,
|
|
25
26
|
} = props;
|
|
26
|
-
const isDisabled = useIsLineHeightDisabled( props );
|
|
27
|
-
|
|
28
|
-
if ( isDisabled ) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
27
|
|
|
32
28
|
const onChange = ( newLineHeightValue ) => {
|
|
33
29
|
const newStyle = {
|
|
@@ -37,9 +33,8 @@ export function LineHeightEdit( props ) {
|
|
|
37
33
|
lineHeight: newLineHeightValue,
|
|
38
34
|
},
|
|
39
35
|
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
} );
|
|
36
|
+
|
|
37
|
+
setAttributes( { style: cleanEmptyObject( newStyle ) } );
|
|
43
38
|
};
|
|
44
39
|
return (
|
|
45
40
|
<LineHeightControl
|
|
@@ -56,9 +51,42 @@ export function LineHeightEdit( props ) {
|
|
|
56
51
|
* @return {boolean} Whether setting is disabled.
|
|
57
52
|
*/
|
|
58
53
|
export function useIsLineHeightDisabled( { name: blockName } = {} ) {
|
|
59
|
-
const isDisabled = ! useSetting( 'typography.
|
|
54
|
+
const isDisabled = ! useSetting( 'typography.lineHeight' );
|
|
60
55
|
|
|
61
56
|
return (
|
|
62
57
|
! hasBlockSupport( blockName, LINE_HEIGHT_SUPPORT_KEY ) || isDisabled
|
|
63
58
|
);
|
|
64
59
|
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Checks if there is a current value set for the line height block support.
|
|
63
|
+
*
|
|
64
|
+
* @param {Object} props Block props.
|
|
65
|
+
* @return {boolean} Whether or not the block has a line height value set.
|
|
66
|
+
*/
|
|
67
|
+
export function hasLineHeightValue( props ) {
|
|
68
|
+
return !! props.attributes.style?.typography?.lineHeight;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Resets the line height block support attribute. This can be used when
|
|
73
|
+
* disabling the line height support controls for a block via a progressive
|
|
74
|
+
* discovery panel.
|
|
75
|
+
*
|
|
76
|
+
* @param {Object} props Block props.
|
|
77
|
+
* @param {Object} props.attributes Block's attributes.
|
|
78
|
+
* @param {Object} props.setAttributes Function to set block's attributes.
|
|
79
|
+
*/
|
|
80
|
+
export function resetLineHeight( { attributes = {}, setAttributes } ) {
|
|
81
|
+
const { style } = attributes;
|
|
82
|
+
|
|
83
|
+
setAttributes( {
|
|
84
|
+
style: cleanEmptyObject( {
|
|
85
|
+
...style,
|
|
86
|
+
typography: {
|
|
87
|
+
...style?.typography,
|
|
88
|
+
lineHeight: undefined,
|
|
89
|
+
},
|
|
90
|
+
} ),
|
|
91
|
+
} );
|
|
92
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { has } from 'lodash';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { addFilter } from '@wordpress/hooks';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Filters registered block settings, extending attributes to include `lock`.
|
|
13
|
+
*
|
|
14
|
+
* @param {Object} settings Original block settings.
|
|
15
|
+
*
|
|
16
|
+
* @return {Object} Filtered block settings.
|
|
17
|
+
*/
|
|
18
|
+
export function addAttribute( settings ) {
|
|
19
|
+
// allow blocks to specify their own attribute definition with default values if needed.
|
|
20
|
+
if ( has( settings.attributes, [ 'lock', 'type' ] ) ) {
|
|
21
|
+
return settings;
|
|
22
|
+
}
|
|
23
|
+
// Gracefully handle if settings.attributes is undefined.
|
|
24
|
+
settings.attributes = {
|
|
25
|
+
...settings.attributes,
|
|
26
|
+
lock: {
|
|
27
|
+
type: 'object',
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return settings;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
addFilter( 'blocks.registerBlockType', 'core/lock/addAttribute', addAttribute );
|
package/src/hooks/margin.js
CHANGED
|
@@ -13,7 +13,12 @@ import {
|
|
|
13
13
|
* Internal dependencies
|
|
14
14
|
*/
|
|
15
15
|
import useSetting from '../components/use-setting';
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
AXIAL_SIDES,
|
|
18
|
+
SPACING_SUPPORT_KEY,
|
|
19
|
+
useCustomSides,
|
|
20
|
+
useIsDimensionsSupportValid,
|
|
21
|
+
} from './dimensions';
|
|
17
22
|
import { cleanEmptyObject } from './utils';
|
|
18
23
|
|
|
19
24
|
/**
|
|
@@ -68,8 +73,10 @@ export function resetMargin( { attributes = {}, setAttributes } ) {
|
|
|
68
73
|
* @return {boolean} Whether margin setting is disabled.
|
|
69
74
|
*/
|
|
70
75
|
export function useIsMarginDisabled( { name: blockName } = {} ) {
|
|
71
|
-
const isDisabled = ! useSetting( 'spacing.
|
|
72
|
-
|
|
76
|
+
const isDisabled = ! useSetting( 'spacing.margin' );
|
|
77
|
+
const isInvalid = ! useIsDimensionsSupportValid( blockName, 'margin' );
|
|
78
|
+
|
|
79
|
+
return ! hasMarginSupport( blockName ) || isDisabled || isInvalid;
|
|
73
80
|
}
|
|
74
81
|
|
|
75
82
|
/**
|
|
@@ -96,6 +103,8 @@ export function MarginEdit( props ) {
|
|
|
96
103
|
],
|
|
97
104
|
} );
|
|
98
105
|
const sides = useCustomSides( blockName, 'margin' );
|
|
106
|
+
const splitOnAxis =
|
|
107
|
+
sides && sides.some( ( side ) => AXIAL_SIDES.includes( side ) );
|
|
99
108
|
|
|
100
109
|
if ( useIsMarginDisabled( props ) ) {
|
|
101
110
|
return null;
|
|
@@ -139,6 +148,7 @@ export function MarginEdit( props ) {
|
|
|
139
148
|
sides={ sides }
|
|
140
149
|
units={ units }
|
|
141
150
|
allowReset={ false }
|
|
151
|
+
splitOnAxis={ splitOnAxis }
|
|
142
152
|
/>
|
|
143
153
|
</>
|
|
144
154
|
),
|
package/src/hooks/padding.js
CHANGED
|
@@ -13,7 +13,12 @@ import {
|
|
|
13
13
|
* Internal dependencies
|
|
14
14
|
*/
|
|
15
15
|
import useSetting from '../components/use-setting';
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
AXIAL_SIDES,
|
|
18
|
+
SPACING_SUPPORT_KEY,
|
|
19
|
+
useCustomSides,
|
|
20
|
+
useIsDimensionsSupportValid,
|
|
21
|
+
} from './dimensions';
|
|
17
22
|
import { cleanEmptyObject } from './utils';
|
|
18
23
|
|
|
19
24
|
/**
|
|
@@ -68,8 +73,10 @@ export function resetPadding( { attributes = {}, setAttributes } ) {
|
|
|
68
73
|
* @return {boolean} Whether padding setting is disabled.
|
|
69
74
|
*/
|
|
70
75
|
export function useIsPaddingDisabled( { name: blockName } = {} ) {
|
|
71
|
-
const isDisabled = ! useSetting( 'spacing.
|
|
72
|
-
|
|
76
|
+
const isDisabled = ! useSetting( 'spacing.padding' );
|
|
77
|
+
const isInvalid = ! useIsDimensionsSupportValid( blockName, 'padding' );
|
|
78
|
+
|
|
79
|
+
return ! hasPaddingSupport( blockName ) || isDisabled || isInvalid;
|
|
73
80
|
}
|
|
74
81
|
|
|
75
82
|
/**
|
|
@@ -96,6 +103,8 @@ export function PaddingEdit( props ) {
|
|
|
96
103
|
],
|
|
97
104
|
} );
|
|
98
105
|
const sides = useCustomSides( blockName, 'padding' );
|
|
106
|
+
const splitOnAxis =
|
|
107
|
+
sides && sides.some( ( side ) => AXIAL_SIDES.includes( side ) );
|
|
99
108
|
|
|
100
109
|
if ( useIsPaddingDisabled( props ) ) {
|
|
101
110
|
return null;
|
|
@@ -139,6 +148,7 @@ export function PaddingEdit( props ) {
|
|
|
139
148
|
sides={ sides }
|
|
140
149
|
units={ units }
|
|
141
150
|
allowReset={ false }
|
|
151
|
+
splitOnAxis={ splitOnAxis }
|
|
142
152
|
/>
|
|
143
153
|
</>
|
|
144
154
|
),
|
package/src/hooks/style.js
CHANGED
|
@@ -18,6 +18,7 @@ import classnames from 'classnames';
|
|
|
18
18
|
/**
|
|
19
19
|
* WordPress dependencies
|
|
20
20
|
*/
|
|
21
|
+
import { useContext, createPortal } from '@wordpress/element';
|
|
21
22
|
import { addFilter } from '@wordpress/hooks';
|
|
22
23
|
import {
|
|
23
24
|
getBlockSupport,
|
|
@@ -30,6 +31,7 @@ import { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';
|
|
|
30
31
|
/**
|
|
31
32
|
* Internal dependencies
|
|
32
33
|
*/
|
|
34
|
+
import BlockList from '../components/block-list';
|
|
33
35
|
import { BORDER_SUPPORT_KEY, BorderPanel } from './border';
|
|
34
36
|
import { COLOR_SUPPORT_KEY, ColorEdit } from './color';
|
|
35
37
|
import {
|
|
@@ -109,9 +111,7 @@ function compileElementsStyles( selector, elements = {} ) {
|
|
|
109
111
|
...map(
|
|
110
112
|
elementStyles,
|
|
111
113
|
( value, property ) =>
|
|
112
|
-
`\t${ kebabCase( property ) }: ${ value }
|
|
113
|
-
element === 'link' ? '!important' : ''
|
|
114
|
-
};`
|
|
114
|
+
`\t${ kebabCase( property ) }: ${ value };`
|
|
115
115
|
),
|
|
116
116
|
'}',
|
|
117
117
|
].join( '\n' );
|
|
@@ -144,7 +144,14 @@ function addAttribute( settings ) {
|
|
|
144
144
|
return settings;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
/**
|
|
148
|
+
* A dictionary of paths to flag skipping block support serialization as the key,
|
|
149
|
+
* with values providing the style paths to be omitted from serialization.
|
|
150
|
+
*
|
|
151
|
+
* @constant
|
|
152
|
+
* @type {Record<string, string[]>}
|
|
153
|
+
*/
|
|
154
|
+
const skipSerializationPathsEdit = {
|
|
148
155
|
[ `${ BORDER_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [ 'border' ],
|
|
149
156
|
[ `${ COLOR_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [
|
|
150
157
|
COLOR_SUPPORT_KEY,
|
|
@@ -157,23 +164,46 @@ const skipSerializationPaths = {
|
|
|
157
164
|
],
|
|
158
165
|
};
|
|
159
166
|
|
|
167
|
+
/**
|
|
168
|
+
* A dictionary of paths to flag skipping block support serialization as the key,
|
|
169
|
+
* with values providing the style paths to be omitted from serialization.
|
|
170
|
+
*
|
|
171
|
+
* Extends the Edit skip paths to enable skipping additional paths in just
|
|
172
|
+
* the Save component. This allows a block support to be serialized within the
|
|
173
|
+
* editor, while using an alternate approach, such as server-side rendering, when
|
|
174
|
+
* the support is saved.
|
|
175
|
+
*
|
|
176
|
+
* @constant
|
|
177
|
+
* @type {Record<string, string[]>}
|
|
178
|
+
*/
|
|
179
|
+
const skipSerializationPathsSave = {
|
|
180
|
+
...skipSerializationPathsEdit,
|
|
181
|
+
[ `${ SPACING_SUPPORT_KEY }` ]: [ 'spacing.blockGap' ],
|
|
182
|
+
};
|
|
183
|
+
|
|
160
184
|
/**
|
|
161
185
|
* Override props assigned to save component to inject the CSS variables definition.
|
|
162
186
|
*
|
|
163
|
-
* @param {Object}
|
|
164
|
-
* @param {Object}
|
|
165
|
-
* @param {Object}
|
|
187
|
+
* @param {Object} props Additional props applied to save element.
|
|
188
|
+
* @param {Object} blockType Block type.
|
|
189
|
+
* @param {Object} attributes Block attributes.
|
|
190
|
+
* @param {?Record<string, string[]>} skipPaths An object of keys and paths to skip serialization.
|
|
166
191
|
*
|
|
167
192
|
* @return {Object} Filtered props applied to save element.
|
|
168
193
|
*/
|
|
169
|
-
export function addSaveProps(
|
|
194
|
+
export function addSaveProps(
|
|
195
|
+
props,
|
|
196
|
+
blockType,
|
|
197
|
+
attributes,
|
|
198
|
+
skipPaths = skipSerializationPathsSave
|
|
199
|
+
) {
|
|
170
200
|
if ( ! hasStyleSupport( blockType ) ) {
|
|
171
201
|
return props;
|
|
172
202
|
}
|
|
173
203
|
|
|
174
204
|
let { style } = attributes;
|
|
175
205
|
|
|
176
|
-
forEach(
|
|
206
|
+
forEach( skipPaths, ( path, indicator ) => {
|
|
177
207
|
if ( getBlockSupport( blockType, indicator ) ) {
|
|
178
208
|
style = omit( style, path );
|
|
179
209
|
}
|
|
@@ -207,7 +237,12 @@ export function addEditProps( settings ) {
|
|
|
207
237
|
props = existingGetEditWrapperProps( attributes );
|
|
208
238
|
}
|
|
209
239
|
|
|
210
|
-
return addSaveProps(
|
|
240
|
+
return addSaveProps(
|
|
241
|
+
props,
|
|
242
|
+
settings,
|
|
243
|
+
attributes,
|
|
244
|
+
skipSerializationPathsEdit
|
|
245
|
+
);
|
|
211
246
|
};
|
|
212
247
|
|
|
213
248
|
return settings;
|
|
@@ -229,9 +264,9 @@ export const withBlockControls = createHigherOrderComponent(
|
|
|
229
264
|
<>
|
|
230
265
|
{ shouldDisplayControls && (
|
|
231
266
|
<>
|
|
267
|
+
<ColorEdit { ...props } />
|
|
232
268
|
<TypographyPanel { ...props } />
|
|
233
269
|
<BorderPanel { ...props } />
|
|
234
|
-
<ColorEdit { ...props } />
|
|
235
270
|
<DimensionsPanel { ...props } />
|
|
236
271
|
</>
|
|
237
272
|
) }
|
|
@@ -259,16 +294,20 @@ const withElementsStyles = createHigherOrderComponent(
|
|
|
259
294
|
blockElementsContainerIdentifier,
|
|
260
295
|
props.attributes.style?.elements
|
|
261
296
|
);
|
|
297
|
+
const element = useContext( BlockList.__unstableElementContext );
|
|
262
298
|
|
|
263
299
|
return (
|
|
264
300
|
<>
|
|
265
|
-
{ elements &&
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
301
|
+
{ elements &&
|
|
302
|
+
element &&
|
|
303
|
+
createPortal(
|
|
304
|
+
<style
|
|
305
|
+
dangerouslySetInnerHTML={ {
|
|
306
|
+
__html: styles,
|
|
307
|
+
} }
|
|
308
|
+
/>,
|
|
309
|
+
element
|
|
310
|
+
) }
|
|
272
311
|
|
|
273
312
|
<BlockListBlock
|
|
274
313
|
{ ...props }
|
package/src/hooks/test/style.js
CHANGED
|
@@ -24,11 +24,13 @@ describe( 'getInlineStyles', () => {
|
|
|
24
24
|
color: '#21759b',
|
|
25
25
|
},
|
|
26
26
|
spacing: {
|
|
27
|
+
blockGap: '1em',
|
|
27
28
|
padding: { top: '10px' },
|
|
28
29
|
margin: { bottom: '15px' },
|
|
29
30
|
},
|
|
30
31
|
} )
|
|
31
32
|
).toEqual( {
|
|
33
|
+
'--wp--style--block-gap': '1em',
|
|
32
34
|
backgroundColor: 'black',
|
|
33
35
|
borderColor: '#21759b',
|
|
34
36
|
borderRadius: '10px',
|
|
@@ -96,11 +98,13 @@ describe( 'getInlineStyles', () => {
|
|
|
96
98
|
expect(
|
|
97
99
|
getInlineStyles( {
|
|
98
100
|
spacing: {
|
|
101
|
+
blockGap: '1em',
|
|
99
102
|
margin: '10px',
|
|
100
103
|
padding: '20px',
|
|
101
104
|
},
|
|
102
105
|
} )
|
|
103
106
|
).toEqual( {
|
|
107
|
+
'--wp--style--block-gap': '1em',
|
|
104
108
|
margin: '10px',
|
|
105
109
|
padding: '20px',
|
|
106
110
|
} );
|
|
@@ -29,11 +29,6 @@ export function TextDecorationEdit( props ) {
|
|
|
29
29
|
attributes: { style },
|
|
30
30
|
setAttributes,
|
|
31
31
|
} = props;
|
|
32
|
-
const isDisabled = useIsTextDecorationDisabled( props );
|
|
33
|
-
|
|
34
|
-
if ( isDisabled ) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
32
|
|
|
38
33
|
function onChange( newDecoration ) {
|
|
39
34
|
setAttributes( {
|
|
@@ -67,7 +62,40 @@ export function useIsTextDecorationDisabled( { name: blockName } = {} ) {
|
|
|
67
62
|
blockName,
|
|
68
63
|
TEXT_DECORATION_SUPPORT_KEY
|
|
69
64
|
);
|
|
70
|
-
const hasTextDecoration = useSetting( 'typography.
|
|
65
|
+
const hasTextDecoration = useSetting( 'typography.textDecoration' );
|
|
71
66
|
|
|
72
67
|
return notSupported || ! hasTextDecoration;
|
|
73
68
|
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Checks if there is a current value set for the text decoration block support.
|
|
72
|
+
*
|
|
73
|
+
* @param {Object} props Block props.
|
|
74
|
+
* @return {boolean} Whether or not the block has a text decoration set.
|
|
75
|
+
*/
|
|
76
|
+
export function hasTextDecorationValue( props ) {
|
|
77
|
+
return !! props.attributes.style?.typography?.textDecoration;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Resets the text decoration block support attribute. This can be used when
|
|
82
|
+
* disabling the text decoration support controls for a block via a progressive
|
|
83
|
+
* discovery panel.
|
|
84
|
+
*
|
|
85
|
+
* @param {Object} props Block props.
|
|
86
|
+
* @param {Object} props.attributes Block's attributes.
|
|
87
|
+
* @param {Object} props.setAttributes Function to set block's attributes.
|
|
88
|
+
*/
|
|
89
|
+
export function resetTextDecoration( { attributes = {}, setAttributes } ) {
|
|
90
|
+
const { style } = attributes;
|
|
91
|
+
|
|
92
|
+
setAttributes( {
|
|
93
|
+
style: cleanEmptyObject( {
|
|
94
|
+
...style,
|
|
95
|
+
typography: {
|
|
96
|
+
...style?.typography,
|
|
97
|
+
textDecoration: undefined,
|
|
98
|
+
},
|
|
99
|
+
} ),
|
|
100
|
+
} );
|
|
101
|
+
}
|