@wordpress/block-editor 11.4.0 → 11.6.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 +8 -0
- package/build/components/block-inspector/index.js +11 -10
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +46 -0
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -0
- package/build/components/block-list/block-invalid-warning.js +63 -80
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-lock/modal.js +1 -0
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +2 -2
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +1 -1
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +2 -1
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/child-layout-control/index.js +107 -0
- package/build/components/child-layout-control/index.js.map +1 -0
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/date-format-picker/index.js +3 -3
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/global-styles/border-panel.js +306 -0
- package/build/components/global-styles/border-panel.js.map +1 -0
- package/build/components/global-styles/dimensions-panel.js +594 -0
- package/build/components/global-styles/dimensions-panel.js.map +1 -0
- package/build/components/global-styles/hooks.js +127 -37
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +36 -2
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +87 -27
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +21 -14
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +2 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/index.native.js +23 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inserter/index.js +29 -17
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +10 -11
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +5 -108
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +242 -0
- package/build/components/inserter/media-tab/media-preview.js.map +1 -0
- package/build/components/inserter/menu.js +1 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -2
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-results.js +10 -3
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.js +1 -1
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js +38 -9
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/link-control/index.js +1 -1
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-item.js +5 -2
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +1 -1
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/settings.js +1 -0
- package/build/components/link-control/settings.js.map +1 -1
- package/build/components/list-view/block.js +17 -3
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +2 -2
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/expander.js +2 -1
- package/build/components/list-view/expander.js.map +1 -1
- package/build/components/list-view/leaf.js +10 -6
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +1 -2
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/list-view/use-list-view-scroll-into-view.js +51 -0
- package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -0
- package/build/components/off-canvas-editor/appender.js +33 -13
- package/build/components/off-canvas-editor/appender.js.map +1 -1
- package/build/components/off-canvas-editor/branch.js +6 -3
- package/build/components/off-canvas-editor/branch.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +8 -2
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/off-canvas-editor/leaf-more-menu.js +34 -4
- package/build/components/off-canvas-editor/leaf-more-menu.js.map +1 -1
- package/build/components/provider/use-block-sync.js +17 -3
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/responsive-block-control/index.js +1 -0
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +0 -3
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +9 -43
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-delete.js +73 -0
- package/build/components/rich-text/use-delete.js.map +1 -0
- package/build/components/rich-text/use-input-rules.js +14 -6
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js +4 -1
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/hooks/align.js +3 -1
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/border.js +91 -240
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/custom-class-name.js +4 -4
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +3 -4
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +72 -190
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +94 -25
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/gap.js +0 -202
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/layout.js +33 -27
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/margin.js +7 -163
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +7 -163
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/supports.js +7 -1
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +52 -66
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +101 -0
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +6 -2
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +1 -0
- package/build/layouts/flex.js.map +1 -1
- package/build/private-apis.js +4 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +28 -14
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +28 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/reducer.js +53 -47
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +24 -4
- package/build/store/selectors.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +49 -10
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/components/block-inspector/index.js +9 -9
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +37 -0
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -0
- package/build-module/components/block-list/block-invalid-warning.js +66 -78
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-lock/modal.js +1 -0
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +2 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +1 -1
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +2 -1
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +98 -0
- package/build-module/components/child-layout-control/index.js.map +1 -0
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +4 -4
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +291 -0
- package/build-module/components/global-styles/border-panel.js.map +1 -0
- package/build-module/components/global-styles/dimensions-panel.js +574 -0
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +123 -34
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +3 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +88 -27
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +21 -14
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +2 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/index.native.js +2 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inserter/index.js +28 -16
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +10 -11
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +6 -105
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +222 -0
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -0
- package/build-module/components/inserter/menu.js +1 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +4 -2
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-results.js +10 -3
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.js +1 -1
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +39 -9
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/link-control/index.js +1 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-item.js +4 -2
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +1 -1
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/settings.js +1 -0
- package/build-module/components/link-control/settings.js.map +1 -1
- package/build-module/components/list-view/block.js +16 -3
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +2 -2
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/expander.js +2 -1
- package/build-module/components/list-view/expander.js.map +1 -1
- package/build-module/components/list-view/leaf.js +8 -4
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +1 -2
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/list-view/use-list-view-scroll-into-view.js +42 -0
- package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -0
- package/build-module/components/off-canvas-editor/appender.js +33 -14
- package/build-module/components/off-canvas-editor/appender.js.map +1 -1
- package/build-module/components/off-canvas-editor/branch.js +6 -3
- package/build-module/components/off-canvas-editor/branch.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +8 -2
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/leaf-more-menu.js +36 -7
- package/build-module/components/off-canvas-editor/leaf-more-menu.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +17 -3
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +1 -0
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +0 -3
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +9 -43
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-delete.js +62 -0
- package/build-module/components/rich-text/use-delete.js.map +1 -0
- package/build-module/components/rich-text/use-input-rules.js +14 -6
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js +4 -1
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/hooks/align.js +3 -1
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/border.js +93 -240
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +4 -4
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +3 -4
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +75 -187
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +86 -24
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/gap.js +0 -183
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/layout.js +33 -27
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/margin.js +4 -143
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +4 -143
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/supports.js +7 -1
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +54 -66
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +96 -0
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +6 -2
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +1 -0
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/private-apis.js +3 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +28 -14
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +28 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/reducer.js +53 -45
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +22 -4
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +49 -10
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-style/style-rtl.css +39 -27
- package/build-style/style.css +39 -27
- package/package.json +31 -31
- package/src/components/block-draggable/test/__snapshots__/index.native.js.snap +24 -24
- package/src/components/block-inspector/index.js +11 -14
- package/src/components/block-inspector/style.scss +3 -0
- package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +53 -0
- package/src/components/block-list/block-invalid-warning.js +72 -64
- package/src/components/block-lock/modal.js +1 -0
- package/src/components/block-lock/style.scss +0 -9
- package/src/components/block-mobile-toolbar/test/__snapshots__/block-actions-menu.native.js.snap +20 -20
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +35 -17
- package/src/components/block-preview/test/index.js +0 -2
- package/src/components/block-settings-menu/block-settings-dropdown.js +4 -1
- package/src/components/block-settings-menu-controls/index.js +2 -1
- package/src/components/block-styles/index.js +5 -1
- package/src/components/block-styles/style.scss +2 -2
- package/src/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/src/components/child-layout-control/index.js +106 -0
- package/src/components/color-palette/test/__snapshots__/control.js.snap +17 -15
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +48 -38
- package/src/components/date-format-picker/index.js +6 -8
- package/src/components/date-format-picker/style.scss +0 -5
- package/src/components/global-styles/border-panel.js +285 -0
- package/src/components/global-styles/dimensions-panel.js +627 -0
- package/src/components/global-styles/hooks.js +160 -44
- package/src/components/global-styles/index.js +7 -1
- package/src/components/global-styles/test/use-global-styles-output.js +1 -1
- package/src/components/global-styles/typography-panel.js +81 -9
- package/src/components/global-styles/use-global-styles-output.js +17 -16
- package/src/components/global-styles/utils.js +2 -0
- package/src/components/index.native.js +5 -0
- package/src/components/inner-blocks/test/__snapshots__/index.js.snap +1 -1
- package/src/components/inserter/index.js +30 -11
- package/src/components/inserter/media-tab/hooks.js +9 -8
- package/src/components/inserter/media-tab/media-list.js +3 -122
- package/src/components/inserter/media-tab/media-preview.js +268 -0
- package/src/components/inserter/menu.js +0 -1
- package/src/components/inserter/quick-inserter.js +2 -0
- package/src/components/inserter/search-results.js +7 -1
- package/src/components/inserter/style.scss +25 -0
- package/src/components/inserter/tabs.js +1 -9
- package/src/components/inserter/test/__snapshots__/index.native.js.snap +15 -15
- package/src/components/inspector-controls/block-support-tools-panel.js +0 -1
- package/src/components/inspector-controls/fill.js +32 -8
- package/src/components/link-control/index.js +1 -1
- package/src/components/link-control/search-item.js +3 -1
- package/src/components/link-control/settings-drawer.js +2 -1
- package/src/components/link-control/settings.js +1 -0
- package/src/components/link-control/style.scss +18 -12
- package/src/components/link-control/test/index.js +3 -5
- package/src/components/list-view/block.js +19 -1
- package/src/components/list-view/branch.js +1 -2
- package/src/components/list-view/expander.js +1 -0
- package/src/components/list-view/leaf.js +43 -29
- package/src/components/list-view/use-block-selection.js +0 -2
- package/src/components/list-view/use-list-view-scroll-into-view.js +48 -0
- package/src/components/media-replace-flow/style.scss +7 -9
- package/src/components/off-canvas-editor/appender.js +44 -21
- package/src/components/off-canvas-editor/branch.js +4 -1
- package/src/components/off-canvas-editor/index.js +7 -1
- package/src/components/off-canvas-editor/leaf-more-menu.js +57 -15
- package/src/components/provider/use-block-sync.js +21 -4
- package/src/components/responsive-block-control/index.js +1 -0
- package/src/components/rich-text/format-toolbar-container.js +1 -7
- package/src/components/rich-text/index.js +8 -44
- package/src/components/rich-text/use-delete.js +59 -0
- package/src/components/rich-text/use-input-rules.js +13 -5
- package/src/components/spacing-sizes-control/style.scss +1 -1
- package/src/components/url-popover/stories/index.js +1 -0
- package/src/components/url-popover/test/index.js +0 -2
- package/src/components/writing-flow/use-selection-observer.js +5 -1
- package/src/hooks/align.js +1 -1
- package/src/hooks/border.js +94 -225
- package/src/hooks/custom-class-name.js +4 -4
- package/src/hooks/custom-class-name.native.js +3 -4
- package/src/hooks/dimensions.js +85 -269
- package/src/hooks/duotone.js +100 -30
- package/src/hooks/gap.js +0 -208
- package/src/hooks/layout.js +38 -22
- package/src/hooks/margin.js +1 -164
- package/src/hooks/padding.js +1 -163
- package/src/hooks/supports.js +6 -0
- package/src/hooks/test/__snapshots__/align.native.js.snap +24 -24
- package/src/hooks/test/duotone.js +102 -0
- package/src/hooks/test/style.js +2 -1
- package/src/hooks/test/use-typography-props.js +2 -0
- package/src/hooks/typography.js +68 -88
- package/src/hooks/utils.js +126 -0
- package/src/layouts/constrained.js +23 -17
- package/src/layouts/flex.js +1 -0
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +16 -6
- package/src/store/defaults.js +14 -1
- package/src/store/reducer.js +68 -43
- package/src/store/selectors.js +28 -4
- package/src/store/test/actions.js +4 -2
- package/src/utils/parse-css-unit-to-px.js +48 -13
- package/src/utils/test/parse-css-unit-to-px.js +13 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/hooks/border-radius.js +0 -100
- package/build/hooks/border-radius.js.map +0 -1
- package/build/hooks/child-layout.js +0 -213
- package/build/hooks/child-layout.js.map +0 -1
- package/build/hooks/min-height.js +0 -139
- package/build/hooks/min-height.js.map +0 -1
- package/build-module/hooks/border-radius.js +0 -84
- package/build-module/hooks/border-radius.js.map +0 -1
- package/build-module/hooks/child-layout.js +0 -193
- package/build-module/hooks/child-layout.js.map +0 -1
- package/build-module/hooks/min-height.js +0 -116
- package/build-module/hooks/min-height.js.map +0 -1
- package/src/hooks/border-radius.js +0 -70
- package/src/hooks/child-layout.js +0 -195
- package/src/hooks/min-height.js +0 -104
|
@@ -10,6 +10,7 @@ import { get, set } from 'lodash';
|
|
|
10
10
|
import { useContext, useCallback, useMemo } from '@wordpress/element';
|
|
11
11
|
import { useSelect } from '@wordpress/data';
|
|
12
12
|
import { store as blocksStore } from '@wordpress/blocks';
|
|
13
|
+
import { _x } from '@wordpress/i18n';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Internal dependencies
|
|
@@ -55,7 +56,7 @@ const VALID_SETTINGS = [
|
|
|
55
56
|
'spacing.margin',
|
|
56
57
|
'spacing.padding',
|
|
57
58
|
'spacing.units',
|
|
58
|
-
'typography.
|
|
59
|
+
'typography.fluid',
|
|
59
60
|
'typography.customFontSize',
|
|
60
61
|
'typography.dropCap',
|
|
61
62
|
'typography.fontFamilies',
|
|
@@ -64,6 +65,7 @@ const VALID_SETTINGS = [
|
|
|
64
65
|
'typography.fontWeight',
|
|
65
66
|
'typography.letterSpacing',
|
|
66
67
|
'typography.lineHeight',
|
|
68
|
+
'typography.textColumns',
|
|
67
69
|
'typography.textDecoration',
|
|
68
70
|
'typography.textTransform',
|
|
69
71
|
];
|
|
@@ -177,7 +179,7 @@ export function useGlobalStyle(
|
|
|
177
179
|
switch ( source ) {
|
|
178
180
|
case 'all':
|
|
179
181
|
rawResult =
|
|
180
|
-
// The
|
|
182
|
+
// The styles.css path is allowed to be empty, so don't revert to base if undefined.
|
|
181
183
|
finalPath === 'styles.css'
|
|
182
184
|
? get( userConfig, finalPath )
|
|
183
185
|
: get( mergedConfig, finalPath );
|
|
@@ -204,62 +206,176 @@ export function useGlobalStyle(
|
|
|
204
206
|
return [ result, setStyle ];
|
|
205
207
|
}
|
|
206
208
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
+
/**
|
|
210
|
+
* React hook that overrides a global settings object with block and element specific settings.
|
|
211
|
+
*
|
|
212
|
+
* @param {Object} parentSettings Settings object.
|
|
213
|
+
* @param {blockName?} blockName Block name.
|
|
214
|
+
* @param {element?} element Element name.
|
|
215
|
+
*
|
|
216
|
+
* @return {Object} Merge of settings and supports.
|
|
217
|
+
*/
|
|
218
|
+
export function useSettingsForBlockElement(
|
|
219
|
+
parentSettings,
|
|
220
|
+
blockName,
|
|
221
|
+
element
|
|
222
|
+
) {
|
|
223
|
+
const { supportedStyles, supports } = useSelect(
|
|
209
224
|
( select ) => {
|
|
210
225
|
return {
|
|
211
|
-
|
|
226
|
+
supportedStyles: unlock(
|
|
212
227
|
select( blocksStore )
|
|
213
|
-
).getSupportedStyles(
|
|
228
|
+
).getSupportedStyles( blockName, element ),
|
|
229
|
+
supports:
|
|
230
|
+
select( blocksStore ).getBlockType( blockName )?.supports,
|
|
214
231
|
};
|
|
215
232
|
},
|
|
216
|
-
[
|
|
233
|
+
[ blockName, element ]
|
|
217
234
|
);
|
|
218
235
|
|
|
219
|
-
return
|
|
220
|
-
}
|
|
236
|
+
return useMemo( () => {
|
|
237
|
+
const updatedSettings = { ...parentSettings };
|
|
221
238
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
* @return {Object} Merge of settings and supports.
|
|
230
|
-
*/
|
|
231
|
-
export function overrideSettingsWithSupports( settings, supports ) {
|
|
232
|
-
const updatedSettings = { ...settings };
|
|
239
|
+
if ( ! supportedStyles.includes( 'fontSize' ) ) {
|
|
240
|
+
updatedSettings.typography = {
|
|
241
|
+
...updatedSettings.typography,
|
|
242
|
+
fontSizes: {},
|
|
243
|
+
customFontSize: false,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
233
246
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
}
|
|
240
|
-
}
|
|
247
|
+
if ( ! supportedStyles.includes( 'fontFamily' ) ) {
|
|
248
|
+
updatedSettings.typography = {
|
|
249
|
+
...updatedSettings.typography,
|
|
250
|
+
fontFamilies: {},
|
|
251
|
+
};
|
|
252
|
+
}
|
|
241
253
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
254
|
+
[
|
|
255
|
+
'lineHeight',
|
|
256
|
+
'fontStyle',
|
|
257
|
+
'fontWeight',
|
|
258
|
+
'letterSpacing',
|
|
259
|
+
'textTransform',
|
|
260
|
+
'textDecoration',
|
|
261
|
+
].forEach( ( key ) => {
|
|
262
|
+
if ( ! supportedStyles.includes( key ) ) {
|
|
263
|
+
updatedSettings.typography = {
|
|
264
|
+
...updatedSettings.typography,
|
|
265
|
+
[ key ]: false,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
} );
|
|
248
269
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
'
|
|
253
|
-
'letterSpacing',
|
|
254
|
-
'textTransform',
|
|
255
|
-
].forEach( ( key ) => {
|
|
256
|
-
if ( ! supports.includes( key ) ) {
|
|
270
|
+
// The column-count style is named text column to reduce confusion with
|
|
271
|
+
// the columns block and manage expectations from the support.
|
|
272
|
+
// See: https://github.com/WordPress/gutenberg/pull/33587
|
|
273
|
+
if ( ! supportedStyles.includes( 'columnCount' ) ) {
|
|
257
274
|
updatedSettings.typography = {
|
|
258
275
|
...updatedSettings.typography,
|
|
259
|
-
|
|
276
|
+
textColumns: false,
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
[ 'contentSize', 'wideSize' ].forEach( ( key ) => {
|
|
281
|
+
if ( ! supportedStyles.includes( key ) ) {
|
|
282
|
+
updatedSettings.layout = {
|
|
283
|
+
...updatedSettings.layout,
|
|
284
|
+
[ key ]: false,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
} );
|
|
288
|
+
|
|
289
|
+
[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {
|
|
290
|
+
if ( ! supportedStyles.includes( key ) ) {
|
|
291
|
+
updatedSettings.spacing = {
|
|
292
|
+
...updatedSettings.spacing,
|
|
293
|
+
[ key ]: false,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
const sides = Array.isArray( supports?.spacing?.[ key ] )
|
|
298
|
+
? supports?.spacing?.[ key ]
|
|
299
|
+
: supports?.spacing?.[ key ]?.sides;
|
|
300
|
+
if ( sides?.length ) {
|
|
301
|
+
updatedSettings.spacing = {
|
|
302
|
+
...updatedSettings.spacing,
|
|
303
|
+
[ key ]: {
|
|
304
|
+
...updatedSettings.spacing?.[ key ],
|
|
305
|
+
sides,
|
|
306
|
+
},
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
} );
|
|
310
|
+
|
|
311
|
+
if ( ! supportedStyles.includes( 'minHeight' ) ) {
|
|
312
|
+
updatedSettings.dimensions = {
|
|
313
|
+
...updatedSettings.dimensions,
|
|
314
|
+
minHeight: false,
|
|
260
315
|
};
|
|
261
316
|
}
|
|
262
|
-
} );
|
|
263
317
|
|
|
264
|
-
|
|
318
|
+
[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {
|
|
319
|
+
if (
|
|
320
|
+
! supportedStyles.includes(
|
|
321
|
+
'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )
|
|
322
|
+
)
|
|
323
|
+
) {
|
|
324
|
+
updatedSettings.border = {
|
|
325
|
+
...updatedSettings.border,
|
|
326
|
+
[ key ]: false,
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
} );
|
|
330
|
+
|
|
331
|
+
return updatedSettings;
|
|
332
|
+
}, [ parentSettings, supportedStyles, supports ] );
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
export function useColorsPerOrigin( settings ) {
|
|
336
|
+
const customColors = settings?.color?.palette?.custom;
|
|
337
|
+
const themeColors = settings?.color?.palette?.theme;
|
|
338
|
+
const defaultColors = settings?.color?.palette?.default;
|
|
339
|
+
const shouldDisplayDefaultColors = settings?.color?.defaultPalette;
|
|
340
|
+
|
|
341
|
+
return useMemo( () => {
|
|
342
|
+
const result = [];
|
|
343
|
+
if ( themeColors && themeColors.length ) {
|
|
344
|
+
result.push( {
|
|
345
|
+
name: _x(
|
|
346
|
+
'Theme',
|
|
347
|
+
'Indicates this palette comes from the theme.'
|
|
348
|
+
),
|
|
349
|
+
colors: themeColors,
|
|
350
|
+
} );
|
|
351
|
+
}
|
|
352
|
+
if (
|
|
353
|
+
shouldDisplayDefaultColors &&
|
|
354
|
+
defaultColors &&
|
|
355
|
+
defaultColors.length
|
|
356
|
+
) {
|
|
357
|
+
result.push( {
|
|
358
|
+
name: _x(
|
|
359
|
+
'Default',
|
|
360
|
+
'Indicates this palette comes from WordPress.'
|
|
361
|
+
),
|
|
362
|
+
colors: defaultColors,
|
|
363
|
+
} );
|
|
364
|
+
}
|
|
365
|
+
if ( customColors && customColors.length ) {
|
|
366
|
+
result.push( {
|
|
367
|
+
name: _x(
|
|
368
|
+
'Custom',
|
|
369
|
+
'Indicates this palette is created by the user.'
|
|
370
|
+
),
|
|
371
|
+
colors: customColors,
|
|
372
|
+
} );
|
|
373
|
+
}
|
|
374
|
+
return result;
|
|
375
|
+
}, [
|
|
376
|
+
customColors,
|
|
377
|
+
themeColors,
|
|
378
|
+
defaultColors,
|
|
379
|
+
shouldDisplayDefaultColors,
|
|
380
|
+
] );
|
|
265
381
|
}
|
|
@@ -2,7 +2,8 @@ export {
|
|
|
2
2
|
useGlobalStylesReset,
|
|
3
3
|
useGlobalSetting,
|
|
4
4
|
useGlobalStyle,
|
|
5
|
-
|
|
5
|
+
useSettingsForBlockElement,
|
|
6
|
+
useColorsPerOrigin,
|
|
6
7
|
} from './hooks';
|
|
7
8
|
export { useGlobalStylesOutput } from './use-global-styles-output';
|
|
8
9
|
export { GlobalStylesContext } from './context';
|
|
@@ -10,3 +11,8 @@ export {
|
|
|
10
11
|
default as TypographyPanel,
|
|
11
12
|
useHasTypographyPanel,
|
|
12
13
|
} from './typography-panel';
|
|
14
|
+
export {
|
|
15
|
+
default as DimensionsPanel,
|
|
16
|
+
useHasDimensionsPanel,
|
|
17
|
+
} from './dimensions-panel';
|
|
18
|
+
export { default as BorderPanel, useHasBorderPanel } from './border-panel';
|
|
@@ -644,7 +644,7 @@ describe( 'global styles renderer', () => {
|
|
|
644
644
|
} );
|
|
645
645
|
|
|
646
646
|
expect( layoutStyles ).toEqual(
|
|
647
|
-
'.wp-block-group.is-layout-flow > * { margin-block-start: 0; margin-block-end: 0; }.wp-block-group.is-layout-flow > * + * { margin-block-start: 12px; margin-block-end: 0; }.wp-block-group.is-layout-flex { gap: 12px; }'
|
|
647
|
+
'.wp-block-group-is-layout-flow.wp-block-group-is-layout-flow > * { margin-block-start: 0; margin-block-end: 0; }.wp-block-group-is-layout-flow.wp-block-group-is-layout-flow > * + * { margin-block-start: 12px; margin-block-end: 0; }.wp-block-group-is-layout-flex.wp-block-group-is-layout-flex { gap: 12px; }'
|
|
648
648
|
);
|
|
649
649
|
} );
|
|
650
650
|
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import {
|
|
5
5
|
FontSizePicker,
|
|
6
|
+
__experimentalNumberControl as NumberControl,
|
|
6
7
|
__experimentalToolsPanel as ToolsPanel,
|
|
7
8
|
__experimentalToolsPanelItem as ToolsPanelItem,
|
|
8
9
|
} from '@wordpress/components';
|
|
9
10
|
import { __ } from '@wordpress/i18n';
|
|
11
|
+
import { useCallback } from '@wordpress/element';
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* Internal dependencies
|
|
@@ -19,6 +21,9 @@ import TextTransformControl from '../text-transform-control';
|
|
|
19
21
|
import TextDecorationControl from '../text-decoration-control';
|
|
20
22
|
import { getValueFromVariable } from './utils';
|
|
21
23
|
|
|
24
|
+
const MIN_TEXT_COLUMNS = 1;
|
|
25
|
+
const MAX_TEXT_COLUMNS = 6;
|
|
26
|
+
|
|
22
27
|
export function useHasTypographyPanel( settings ) {
|
|
23
28
|
const hasFontFamily = useHasFontFamilyControl( settings );
|
|
24
29
|
const hasLineHeight = useHasLineHeightControl( settings );
|
|
@@ -26,6 +31,7 @@ export function useHasTypographyPanel( settings ) {
|
|
|
26
31
|
const hasLetterSpacing = useHasLetterSpacingControl( settings );
|
|
27
32
|
const hasTextTransform = useHasTextTransformControl( settings );
|
|
28
33
|
const hasTextDecoration = useHasTextDecorationControl( settings );
|
|
34
|
+
const hasTextColumns = useHasTextColumnsControl( settings );
|
|
29
35
|
const hasFontSize = useHasFontSizeControl( settings );
|
|
30
36
|
|
|
31
37
|
return (
|
|
@@ -35,7 +41,8 @@ export function useHasTypographyPanel( settings ) {
|
|
|
35
41
|
hasLetterSpacing ||
|
|
36
42
|
hasTextTransform ||
|
|
37
43
|
hasFontSize ||
|
|
38
|
-
hasTextDecoration
|
|
44
|
+
hasTextDecoration ||
|
|
45
|
+
hasTextColumns
|
|
39
46
|
);
|
|
40
47
|
}
|
|
41
48
|
|
|
@@ -92,8 +99,31 @@ function useHasTextDecorationControl( settings ) {
|
|
|
92
99
|
return settings?.typography?.textDecoration;
|
|
93
100
|
}
|
|
94
101
|
|
|
95
|
-
function
|
|
96
|
-
return
|
|
102
|
+
function useHasTextColumnsControl( settings ) {
|
|
103
|
+
return settings?.typography?.textColumns;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function TypographyToolsPanel( {
|
|
107
|
+
resetAllFilter,
|
|
108
|
+
onChange,
|
|
109
|
+
value,
|
|
110
|
+
panelId,
|
|
111
|
+
children,
|
|
112
|
+
} ) {
|
|
113
|
+
const resetAll = () => {
|
|
114
|
+
const updatedValue = resetAllFilter( value );
|
|
115
|
+
onChange( updatedValue );
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
return (
|
|
119
|
+
<ToolsPanel
|
|
120
|
+
label={ __( 'Typography' ) }
|
|
121
|
+
resetAll={ resetAll }
|
|
122
|
+
panelId={ panelId }
|
|
123
|
+
>
|
|
124
|
+
{ children }
|
|
125
|
+
</ToolsPanel>
|
|
126
|
+
);
|
|
97
127
|
}
|
|
98
128
|
|
|
99
129
|
const DEFAULT_CONTROLS = {
|
|
@@ -104,6 +134,7 @@ const DEFAULT_CONTROLS = {
|
|
|
104
134
|
letterSpacing: true,
|
|
105
135
|
textTransform: true,
|
|
106
136
|
textDecoration: true,
|
|
137
|
+
textColumns: true,
|
|
107
138
|
};
|
|
108
139
|
|
|
109
140
|
export default function TypographyPanel( {
|
|
@@ -226,6 +257,21 @@ export default function TypographyPanel( {
|
|
|
226
257
|
const hasLetterSpacing = () => !! value?.typography?.letterSpacing;
|
|
227
258
|
const resetLetterSpacing = () => setLetterSpacing( undefined );
|
|
228
259
|
|
|
260
|
+
// Text Columns
|
|
261
|
+
const hasTextColumnsControl = useHasTextColumnsControl( settings );
|
|
262
|
+
const textColumns = decodeValue( inheritedValue?.typography?.textColumns );
|
|
263
|
+
const setTextColumns = ( newValue ) => {
|
|
264
|
+
onChange( {
|
|
265
|
+
...value,
|
|
266
|
+
typography: {
|
|
267
|
+
...value?.typography,
|
|
268
|
+
textColumns: newValue,
|
|
269
|
+
},
|
|
270
|
+
} );
|
|
271
|
+
};
|
|
272
|
+
const hasTextColumns = () => !! value?.typography?.textColumns;
|
|
273
|
+
const resetTextColumns = () => setTextColumns( undefined );
|
|
274
|
+
|
|
229
275
|
// Text Transform
|
|
230
276
|
const hasTextTransformControl = useHasTextTransformControl( settings );
|
|
231
277
|
const textTransform = decodeValue(
|
|
@@ -260,15 +306,20 @@ export default function TypographyPanel( {
|
|
|
260
306
|
const hasTextDecoration = () => !! value?.typography?.textDecoration;
|
|
261
307
|
const resetTextDecoration = () => setTextDecoration( undefined );
|
|
262
308
|
|
|
263
|
-
const
|
|
264
|
-
|
|
265
|
-
...
|
|
309
|
+
const resetAllFilter = useCallback( ( previousValue ) => {
|
|
310
|
+
return {
|
|
311
|
+
...previousValue,
|
|
266
312
|
typography: {},
|
|
267
|
-
}
|
|
268
|
-
};
|
|
313
|
+
};
|
|
314
|
+
}, [] );
|
|
269
315
|
|
|
270
316
|
return (
|
|
271
|
-
<Wrapper
|
|
317
|
+
<Wrapper
|
|
318
|
+
resetAllFilter={ resetAllFilter }
|
|
319
|
+
value={ value }
|
|
320
|
+
onChange={ onChange }
|
|
321
|
+
panelId={ panelId }
|
|
322
|
+
>
|
|
272
323
|
{ hasFontFamilyEnabled && (
|
|
273
324
|
<ToolsPanelItem
|
|
274
325
|
label={ __( 'Font family' ) }
|
|
@@ -363,6 +414,27 @@ export default function TypographyPanel( {
|
|
|
363
414
|
/>
|
|
364
415
|
</ToolsPanelItem>
|
|
365
416
|
) }
|
|
417
|
+
{ hasTextColumnsControl && (
|
|
418
|
+
<ToolsPanelItem
|
|
419
|
+
className="single-column"
|
|
420
|
+
label={ __( 'Text columns' ) }
|
|
421
|
+
hasValue={ hasTextColumns }
|
|
422
|
+
onDeselect={ resetTextColumns }
|
|
423
|
+
isShownByDefault={ defaultControls.textColumns }
|
|
424
|
+
panelId={ panelId }
|
|
425
|
+
>
|
|
426
|
+
<NumberControl
|
|
427
|
+
label={ __( 'Text columns' ) }
|
|
428
|
+
max={ MAX_TEXT_COLUMNS }
|
|
429
|
+
min={ MIN_TEXT_COLUMNS }
|
|
430
|
+
onChange={ setTextColumns }
|
|
431
|
+
size="__unstable-large"
|
|
432
|
+
spinControls="custom"
|
|
433
|
+
value={ textColumns }
|
|
434
|
+
initialPosition={ 1 }
|
|
435
|
+
/>
|
|
436
|
+
</ToolsPanelItem>
|
|
437
|
+
) }
|
|
366
438
|
{ hasTextDecorationControl && (
|
|
367
439
|
<ToolsPanelItem
|
|
368
440
|
className="single-column"
|
|
@@ -95,11 +95,11 @@ function getPresetsDeclarations( blockPresets = {}, mergedSettings ) {
|
|
|
95
95
|
/**
|
|
96
96
|
* Transform given preset tree into a set of preset class declarations.
|
|
97
97
|
*
|
|
98
|
-
* @param {string} blockSelector
|
|
99
|
-
* @param {Object}
|
|
98
|
+
* @param {?string} blockSelector
|
|
99
|
+
* @param {Object} blockPresets
|
|
100
100
|
* @return {string} CSS declarations for the preset classes.
|
|
101
101
|
*/
|
|
102
|
-
function getPresetsClasses( blockSelector, blockPresets = {} ) {
|
|
102
|
+
function getPresetsClasses( blockSelector = '*', blockPresets = {} ) {
|
|
103
103
|
return PRESET_METADATA.reduce(
|
|
104
104
|
( declarations, { path, cssVarInfix, classes } ) => {
|
|
105
105
|
if ( ! classes ) {
|
|
@@ -399,7 +399,7 @@ export function getLayoutStyles( {
|
|
|
399
399
|
? `${ selector } .${ className }${
|
|
400
400
|
spacingStyle?.selector || ''
|
|
401
401
|
}`
|
|
402
|
-
: `${ selector }
|
|
402
|
+
: `${ selector }-${ className }${ selector }-${ className }${
|
|
403
403
|
spacingStyle?.selector || ''
|
|
404
404
|
}`;
|
|
405
405
|
}
|
|
@@ -496,9 +496,9 @@ export const getNodesWithStyles = ( tree, blockSelectors ) => {
|
|
|
496
496
|
}
|
|
497
497
|
|
|
498
498
|
Object.entries( ELEMENTS ).forEach( ( [ name, selector ] ) => {
|
|
499
|
-
if ( !! tree.styles?.elements[ name ] ) {
|
|
499
|
+
if ( !! tree.styles?.elements?.[ name ] ) {
|
|
500
500
|
nodes.push( {
|
|
501
|
-
styles: tree.styles?.elements[ name ],
|
|
501
|
+
styles: tree.styles?.elements?.[ name ],
|
|
502
502
|
selector,
|
|
503
503
|
} );
|
|
504
504
|
}
|
|
@@ -529,7 +529,7 @@ export const getNodesWithStyles = ( tree, blockSelectors ) => {
|
|
|
529
529
|
blockSelectors[ blockName ].fallbackGapValue,
|
|
530
530
|
hasLayoutSupport:
|
|
531
531
|
blockSelectors[ blockName ].hasLayoutSupport,
|
|
532
|
-
selector: blockSelectors[ blockName ]
|
|
532
|
+
selector: blockSelectors[ blockName ]?.selector,
|
|
533
533
|
styles: blockStyles,
|
|
534
534
|
featureSelectors:
|
|
535
535
|
blockSelectors[ blockName ].featureSelectors,
|
|
@@ -547,7 +547,7 @@ export const getNodesWithStyles = ( tree, blockSelectors ) => {
|
|
|
547
547
|
) {
|
|
548
548
|
nodes.push( {
|
|
549
549
|
styles: value,
|
|
550
|
-
selector: blockSelectors[ blockName ]
|
|
550
|
+
selector: blockSelectors[ blockName ]?.selector
|
|
551
551
|
.split( ',' )
|
|
552
552
|
.map( ( sel ) => {
|
|
553
553
|
const elementSelectors =
|
|
@@ -606,7 +606,7 @@ export const getNodesWithSettings = ( tree, blockSelectors ) => {
|
|
|
606
606
|
nodes.push( {
|
|
607
607
|
presets: blockPresets,
|
|
608
608
|
custom: blockCustom,
|
|
609
|
-
selector: blockSelectors[ blockName ]
|
|
609
|
+
selector: blockSelectors[ blockName ]?.selector,
|
|
610
610
|
} );
|
|
611
611
|
}
|
|
612
612
|
}
|
|
@@ -790,9 +790,10 @@ export const toStyles = (
|
|
|
790
790
|
if ( duotoneDeclarations.length > 0 ) {
|
|
791
791
|
ruleset =
|
|
792
792
|
ruleset +
|
|
793
|
-
`${
|
|
794
|
-
|
|
795
|
-
|
|
793
|
+
`${ scopeSelector(
|
|
794
|
+
selector,
|
|
795
|
+
duotoneSelector
|
|
796
|
+
) }{${ duotoneDeclarations.join( ';' ) };}`;
|
|
796
797
|
}
|
|
797
798
|
}
|
|
798
799
|
|
|
@@ -972,10 +973,10 @@ export const getBlockSelectors = ( blockTypes, getBlockStyles ) => {
|
|
|
972
973
|
*/
|
|
973
974
|
function updateConfigWithSeparator( config ) {
|
|
974
975
|
const needsSeparatorStyleUpdate =
|
|
975
|
-
config.styles?.blocks[ 'core/separator' ] &&
|
|
976
|
-
config.styles?.blocks[ 'core/separator' ].color?.background &&
|
|
977
|
-
! config.styles?.blocks[ 'core/separator' ].color?.text &&
|
|
978
|
-
! config.styles?.blocks[ 'core/separator' ].border?.color;
|
|
976
|
+
config.styles?.blocks?.[ 'core/separator' ] &&
|
|
977
|
+
config.styles?.blocks?.[ 'core/separator' ].color?.background &&
|
|
978
|
+
! config.styles?.blocks?.[ 'core/separator' ].color?.text &&
|
|
979
|
+
! config.styles?.blocks?.[ 'core/separator' ].border?.color;
|
|
979
980
|
if ( needsSeparatorStyleUpdate ) {
|
|
980
981
|
return {
|
|
981
982
|
...config,
|
|
@@ -57,6 +57,7 @@ export const PRESET_METADATA = [
|
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
path: [ 'color', 'duotone' ],
|
|
60
|
+
valueKey: 'colors',
|
|
60
61
|
cssVarInfix: 'duotone',
|
|
61
62
|
valueFunc: ( { slug } ) => `url( '#wp-duotone-${ slug }' )`,
|
|
62
63
|
classes: [],
|
|
@@ -95,6 +96,7 @@ export const PRESET_METADATA = [
|
|
|
95
96
|
export const STYLE_PATH_TO_CSS_VAR_INFIX = {
|
|
96
97
|
'color.background': 'color',
|
|
97
98
|
'color.text': 'color',
|
|
99
|
+
'filter.duotone': 'duotone',
|
|
98
100
|
'elements.link.color.text': 'color',
|
|
99
101
|
'elements.link.:hover.color.text': 'color',
|
|
100
102
|
'elements.link.typography.fontFamily': 'font-family',
|
|
@@ -74,6 +74,11 @@ export {
|
|
|
74
74
|
} from './block-settings';
|
|
75
75
|
export { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';
|
|
76
76
|
|
|
77
|
+
export {
|
|
78
|
+
getSpacingPresetCssVar,
|
|
79
|
+
getCustomValueFromPreset,
|
|
80
|
+
isValueSpacingPreset,
|
|
81
|
+
} from './spacing-sizes-control/utils';
|
|
77
82
|
// Content Related Components.
|
|
78
83
|
export { default as BlockList } from './block-list';
|
|
79
84
|
export { default as BlockMover } from './block-mover';
|
|
@@ -9,7 +9,7 @@ exports[`InnerBlocks should force serialize for invalid block with inner blocks
|
|
|
9
9
|
`;
|
|
10
10
|
|
|
11
11
|
exports[`InnerBlocks should return element as string, with inner blocks 1`] = `
|
|
12
|
-
"<div>Bananas<!-- wp:fruit {
|
|
12
|
+
"<div>Bananas<!-- wp:fruit {"fruit":"Apples"} -->
|
|
13
13
|
<div>Apples</div>
|
|
14
14
|
<!-- /wp:fruit --></div>"
|
|
15
15
|
`;
|
|
@@ -9,7 +9,7 @@ import classnames from 'classnames';
|
|
|
9
9
|
import { speak } from '@wordpress/a11y';
|
|
10
10
|
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
11
11
|
import { Dropdown, Button } from '@wordpress/components';
|
|
12
|
-
import { Component } from '@wordpress/element';
|
|
12
|
+
import { forwardRef, Component } from '@wordpress/element';
|
|
13
13
|
import { withDispatch, withSelect } from '@wordpress/data';
|
|
14
14
|
import { compose, ifCondition } from '@wordpress/compose';
|
|
15
15
|
import { createBlock, store as blocksStore } from '@wordpress/blocks';
|
|
@@ -31,21 +31,26 @@ const defaultRenderToggle = ( {
|
|
|
31
31
|
toggleProps = {},
|
|
32
32
|
prioritizePatterns,
|
|
33
33
|
} ) => {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
const {
|
|
35
|
+
as: Wrapper = Button,
|
|
36
|
+
label: labelProp,
|
|
37
|
+
onClick,
|
|
38
|
+
...rest
|
|
39
|
+
} = toggleProps;
|
|
40
|
+
|
|
41
|
+
let label = labelProp;
|
|
42
|
+
if ( ! label && hasSingleBlockType ) {
|
|
36
43
|
label = sprintf(
|
|
37
44
|
// translators: %s: the name of the block when there is only one
|
|
38
45
|
_x( 'Add %s', 'directly add the only allowed block' ),
|
|
39
46
|
blockTitle
|
|
40
47
|
);
|
|
41
|
-
} else if ( prioritizePatterns ) {
|
|
48
|
+
} else if ( ! label && prioritizePatterns ) {
|
|
42
49
|
label = __( 'Add pattern' );
|
|
43
|
-
} else {
|
|
50
|
+
} else if ( ! label ) {
|
|
44
51
|
label = _x( 'Add block', 'Generic label for block inserter button' );
|
|
45
52
|
}
|
|
46
53
|
|
|
47
|
-
const { onClick, ...rest } = toggleProps;
|
|
48
|
-
|
|
49
54
|
// Handle both onClick functions from the toggle and the parent component.
|
|
50
55
|
function handleClick( event ) {
|
|
51
56
|
if ( onToggle ) {
|
|
@@ -57,7 +62,7 @@ const defaultRenderToggle = ( {
|
|
|
57
62
|
}
|
|
58
63
|
|
|
59
64
|
return (
|
|
60
|
-
<
|
|
65
|
+
<Wrapper
|
|
61
66
|
icon={ plus }
|
|
62
67
|
label={ label }
|
|
63
68
|
tooltipPosition="bottom"
|
|
@@ -71,7 +76,7 @@ const defaultRenderToggle = ( {
|
|
|
71
76
|
);
|
|
72
77
|
};
|
|
73
78
|
|
|
74
|
-
class
|
|
79
|
+
class PrivateInserter extends Component {
|
|
75
80
|
constructor() {
|
|
76
81
|
super( ...arguments );
|
|
77
82
|
|
|
@@ -145,6 +150,7 @@ class Inserter extends Component {
|
|
|
145
150
|
prioritizePatterns,
|
|
146
151
|
onSelectOrClose,
|
|
147
152
|
selectBlockOnInsert,
|
|
153
|
+
orderInitialBlockItems,
|
|
148
154
|
} = this.props;
|
|
149
155
|
|
|
150
156
|
if ( isQuick ) {
|
|
@@ -168,6 +174,7 @@ class Inserter extends Component {
|
|
|
168
174
|
isAppender={ isAppender }
|
|
169
175
|
prioritizePatterns={ prioritizePatterns }
|
|
170
176
|
selectBlockOnInsert={ selectBlockOnInsert }
|
|
177
|
+
orderInitialBlockItems={ orderInitialBlockItems }
|
|
171
178
|
/>
|
|
172
179
|
);
|
|
173
180
|
}
|
|
@@ -219,7 +226,7 @@ class Inserter extends Component {
|
|
|
219
226
|
}
|
|
220
227
|
}
|
|
221
228
|
|
|
222
|
-
export
|
|
229
|
+
export const ComposedPrivateInserter = compose( [
|
|
223
230
|
withSelect(
|
|
224
231
|
( select, { clientId, rootClientId, shouldDirectInsert = true } ) => {
|
|
225
232
|
const {
|
|
@@ -416,4 +423,16 @@ export default compose( [
|
|
|
416
423
|
( { hasItems, isAppender, rootClientId, clientId } ) =>
|
|
417
424
|
hasItems || ( ! isAppender && ! rootClientId && ! clientId )
|
|
418
425
|
),
|
|
419
|
-
] )(
|
|
426
|
+
] )( PrivateInserter );
|
|
427
|
+
|
|
428
|
+
const Inserter = forwardRef( ( props, ref ) => {
|
|
429
|
+
return (
|
|
430
|
+
<ComposedPrivateInserter
|
|
431
|
+
ref={ ref }
|
|
432
|
+
{ ...props }
|
|
433
|
+
orderInitialBlockItems={ undefined }
|
|
434
|
+
/>
|
|
435
|
+
);
|
|
436
|
+
} );
|
|
437
|
+
|
|
438
|
+
export default Inserter;
|