@wordpress/block-editor 12.11.1 → 12.12.2-next.f8d8eceb.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 +14 -10
- package/README.md +35 -3
- package/build/components/block-alignment-control/use-available-alignments.js +30 -28
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-controls/hook.js +4 -1
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +1 -1
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block.js +2 -0
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +4 -4
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/layout.js +2 -3
- package/build/components/block-list/layout.js.map +1 -1
- package/build/components/block-preview/index.js +4 -1
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-styles/index.js +1 -2
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +2 -4
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +1 -0
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/border-radius-control/index.js +3 -2
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/color-palette/with-color-context.js +6 -6
- package/build/components/color-palette/with-color-context.js.map +1 -1
- package/build/components/colors/with-colors.js +2 -8
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +6 -7
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -13
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/dimensions-tool/index.js +22 -22
- package/build/components/dimensions-tool/index.js.map +1 -1
- package/build/components/dimensions-tool/scale-tool.js +1 -1
- package/build/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build/components/font-family/index.js +2 -3
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/font-size-picker.js +3 -5
- package/build/components/font-sizes/font-size-picker.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +3 -4
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +7 -8
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +2 -2
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +1 -1
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/gradients/use-gradient.js +2 -5
- package/build/components/gradients/use-gradient.js.map +1 -1
- package/build/components/height-control/index.js +93 -5
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/iframe/index.js +9 -1
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +0 -6
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/index.js +9 -2
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +17 -2
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/index.js +2 -2
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +3 -3
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +5 -2
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-item.js +11 -0
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -1
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/use-internal-value.js +14 -8
- package/build/components/link-control/use-internal-value.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +10 -5
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/index.js +6 -5
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +2 -4
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +2 -2
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/index.js +1 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +14 -3
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/use-delete.js +1 -1
- package/build/components/rich-text/use-delete.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +25 -22
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -3
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +91 -3
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/tool-selector/index.js +1 -2
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/unit-control/index.js +3 -3
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +96 -47
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-settings/index.js +212 -0
- package/build/components/use-settings/index.js.map +1 -0
- package/build/components/writing-flow/use-arrow-nav.js +4 -0
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/hooks/align.js +51 -35
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +37 -32
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/background.js +4 -4
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-rename-ui.js +5 -5
- package/build/hooks/block-rename-ui.js.map +1 -1
- package/build/hooks/{metadata-name.js → block-renaming.js} +3 -7
- package/build/hooks/block-renaming.js.map +1 -0
- package/build/hooks/color.js +2 -4
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/custom-class-name.js +28 -21
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/duotone.js +33 -8
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-size.js +4 -4
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +1 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout.js +16 -17
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/line-height.js +3 -3
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/metadata.js +6 -27
- package/build/hooks/metadata.js.map +1 -1
- package/build/hooks/position.js +2 -3
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/use-color-props.js +3 -11
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/utils.js +2 -43
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +3 -3
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/grid.js +25 -3
- package/build/layouts/grid.js.map +1 -1
- package/build/layouts/utils.js +1 -1
- package/build/layouts/utils.js.map +1 -1
- package/build/lock-unlock.js +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/store/actions.js +13 -5
- package/build/store/actions.js.map +1 -1
- package/build/utils/object.js +4 -1
- package/build/utils/object.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +20 -0
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build/utils/pasting.js +1 -1
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/transform-styles/index.js +19 -24
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +30 -28
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-controls/hook.js +4 -1
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +1 -1
- package/build-module/components/block-list/block-outline.native.js.map +1 -1
- package/build-module/components/block-list/block.js +2 -0
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +4 -4
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/layout.js +2 -2
- package/build-module/components/block-list/layout.js.map +1 -1
- package/build-module/components/block-preview/index.js +4 -1
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -2
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +2 -4
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +1 -0
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +3 -2
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/color-palette/with-color-context.js +6 -5
- package/build-module/components/color-palette/with-color-context.js.map +1 -1
- package/build-module/components/colors/with-colors.js +2 -7
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +6 -7
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -12
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/dimensions-tool/index.js +22 -22
- package/build-module/components/dimensions-tool/index.js.map +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build-module/components/font-family/index.js +2 -2
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/font-size-picker.js +3 -4
- package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +3 -3
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +7 -8
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +2 -2
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +1 -1
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js +2 -4
- package/build-module/components/gradients/use-gradient.js.map +1 -1
- package/build-module/components/height-control/index.js +93 -4
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/index.js +9 -1
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +0 -6
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.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/inner-blocks/index.js +2 -2
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +3 -2
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +6 -3
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-item.js +12 -1
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +2 -1
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/use-internal-value.js +14 -9
- package/build-module/components/link-control/use-internal-value.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +10 -5
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/index.js +7 -6
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +3 -5
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +2 -2
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/index.js +1 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +15 -4
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-delete.js +1 -1
- package/build-module/components/rich-text/use-delete.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +25 -22
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -2
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +91 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/tool-selector/index.js +1 -2
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/unit-control/index.js +3 -2
- package/build-module/components/unit-control/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +95 -47
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +203 -0
- package/build-module/components/use-settings/index.js.map +1 -0
- package/build-module/components/writing-flow/use-arrow-nav.js +4 -0
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/hooks/align.js +51 -35
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +37 -32
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/background.js +4 -4
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-rename-ui.js +6 -6
- package/build-module/hooks/block-rename-ui.js.map +1 -1
- package/build-module/hooks/{metadata-name.js → block-renaming.js} +3 -6
- package/build-module/hooks/block-renaming.js.map +1 -0
- package/build-module/hooks/color.js +2 -4
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +28 -21
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/duotone.js +34 -9
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-size.js +4 -4
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +1 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout.js +16 -17
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/line-height.js +3 -3
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/metadata.js +6 -25
- package/build-module/hooks/metadata.js.map +1 -1
- package/build-module/hooks/position.js +2 -3
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/use-color-props.js +3 -11
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/utils.js +3 -44
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +3 -2
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/grid.js +25 -3
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/layouts/utils.js +1 -1
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/lock-unlock.js +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/store/actions.js +14 -6
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/object.js +3 -1
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +20 -0
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/utils/pasting.js +1 -1
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +20 -24
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/style-rtl.css +24 -12
- package/build-style/style.css +24 -12
- package/package.json +36 -34
- package/src/components/block-alignment-control/use-available-alignments.js +49 -34
- package/src/components/block-controls/hook.js +6 -3
- package/src/components/block-list/block-outline.native.js +1 -1
- package/src/components/block-list/block.js +2 -0
- package/src/components/block-list/block.native.js +4 -4
- package/src/components/block-list/layout.js +2 -2
- package/src/components/block-preview/index.js +7 -1
- package/src/components/block-styles/index.js +1 -4
- package/src/components/block-styles/style.scss +1 -1
- package/src/components/block-switcher/pattern-transformations-menu.js +1 -4
- package/src/components/block-switcher/style.scss +6 -0
- package/src/components/block-tools/block-contextual-toolbar.js +1 -0
- package/src/components/block-tools/style.scss +0 -1
- package/src/components/border-radius-control/index.js +3 -2
- package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -1
- package/src/components/color-palette/with-color-context.js +9 -9
- package/src/components/colors/with-colors.js +6 -7
- package/src/components/colors-gradients/control.js +10 -7
- package/src/components/colors-gradients/style.scss +4 -2
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +29 -15
- package/src/components/dimensions-tool/index.js +25 -25
- package/src/components/dimensions-tool/scale-tool.js +1 -1
- package/src/components/font-family/index.js +2 -2
- package/src/components/font-sizes/font-size-picker.js +6 -4
- package/src/components/font-sizes/with-font-sizes.js +3 -5
- package/src/components/global-styles/filters-panel.js +9 -15
- package/src/components/global-styles/image-settings-panel.js +2 -2
- package/src/components/global-styles/typography-panel.js +1 -1
- package/src/components/gradients/use-gradient.js +10 -4
- package/src/components/height-control/index.js +53 -4
- package/src/components/iframe/index.js +8 -1
- package/src/components/image-editor/aspect-ratio-dropdown.js +0 -8
- package/src/components/index.js +1 -1
- package/src/components/index.native.js +2 -1
- package/src/components/inner-blocks/index.js +2 -2
- package/src/components/inserter/style.scss +9 -1
- package/src/components/letter-spacing-control/index.js +3 -2
- package/src/components/link-control/README.md +43 -0
- package/src/components/link-control/link-preview.js +11 -5
- package/src/components/link-control/search-item.js +14 -0
- package/src/components/link-control/search-results.js +1 -0
- package/src/components/link-control/style.scss +3 -3
- package/src/components/link-control/test/index.js +19 -0
- package/src/components/link-control/use-internal-value.js +14 -10
- package/src/components/link-control/use-search-handler.js +22 -15
- package/src/components/list-view/index.js +13 -3
- package/src/components/media-replace-flow/index.js +9 -14
- package/src/components/provider/test/use-block-sync.js +1 -1
- package/src/components/provider/use-block-sync.js +2 -2
- package/src/components/rich-text/index.js +1 -1
- package/src/components/rich-text/index.native.js +19 -3
- package/src/components/rich-text/use-delete.js +1 -1
- package/src/components/rich-text/use-paste-handler.js +27 -24
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +7 -5
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +25 -2
- package/src/components/tool-selector/index.js +1 -1
- package/src/components/unit-control/index.js +3 -8
- package/src/components/use-block-commands/index.js +93 -47
- package/src/components/{use-setting → use-settings}/README.md +9 -10
- package/src/components/use-settings/index.js +272 -0
- package/src/components/{use-setting → use-settings}/test/index.js +47 -5
- package/src/components/writing-flow/use-arrow-nav.js +4 -0
- package/src/hooks/align.js +79 -54
- package/src/hooks/anchor.js +75 -65
- package/src/hooks/background.js +7 -9
- package/src/hooks/block-rename-ui.js +5 -14
- package/src/hooks/{metadata-name.js → block-renaming.js} +4 -7
- package/src/hooks/color.js +7 -4
- package/src/hooks/custom-class-name.js +36 -31
- package/src/hooks/duotone.js +51 -14
- package/src/hooks/font-size.js +4 -4
- package/src/hooks/index.js +1 -1
- package/src/hooks/layout.js +17 -17
- package/src/hooks/line-height.js +3 -3
- package/src/hooks/metadata.js +6 -38
- package/src/hooks/position.js +5 -3
- package/src/hooks/use-color-props.js +21 -14
- package/src/hooks/utils.js +90 -43
- package/src/layouts/constrained.js +3 -8
- package/src/layouts/grid.js +50 -2
- package/src/layouts/utils.js +2 -1
- package/src/lock-unlock.js +1 -1
- package/src/store/actions.js +25 -8
- package/src/utils/object.js +4 -1
- package/src/utils/parse-css-unit-to-px.js +20 -0
- package/src/utils/pasting.js +1 -4
- package/src/utils/test/__snapshots__/transform-styles.js.snap +103 -0
- package/src/utils/test/pasting.js +12 -19
- package/src/utils/test/transform-styles.js +217 -0
- package/src/utils/transform-styles/index.js +25 -25
- package/build/components/use-setting/index.js +0 -159
- package/build/components/use-setting/index.js.map +0 -1
- package/build/hooks/metadata-name.js.map +0 -1
- package/build/utils/transform-styles/ast/index.js +0 -21
- package/build/utils/transform-styles/ast/index.js.map +0 -1
- package/build/utils/transform-styles/ast/parse.js +0 -660
- package/build/utils/transform-styles/ast/parse.js.map +0 -1
- package/build/utils/transform-styles/ast/stringify/compiler.js +0 -52
- package/build/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
- package/build/utils/transform-styles/ast/stringify/compress.js +0 -178
- package/build/utils/transform-styles/ast/stringify/compress.js.map +0 -1
- package/build/utils/transform-styles/ast/stringify/identity.js +0 -207
- package/build/utils/transform-styles/ast/stringify/identity.js.map +0 -1
- package/build/utils/transform-styles/ast/stringify/index.js +0 -36
- package/build/utils/transform-styles/ast/stringify/index.js.map +0 -1
- package/build/utils/transform-styles/transforms/url-rewrite.js +0 -130
- package/build/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
- package/build/utils/transform-styles/transforms/wrap.js +0 -59
- package/build/utils/transform-styles/transforms/wrap.js.map +0 -1
- package/build/utils/transform-styles/traverse.js +0 -37
- package/build/utils/transform-styles/traverse.js.map +0 -1
- package/build-module/components/use-setting/index.js +0 -152
- package/build-module/components/use-setting/index.js.map +0 -1
- package/build-module/hooks/metadata-name.js.map +0 -1
- package/build-module/utils/transform-styles/ast/index.js +0 -6
- package/build-module/utils/transform-styles/ast/index.js.map +0 -1
- package/build-module/utils/transform-styles/ast/parse.js +0 -654
- package/build-module/utils/transform-styles/ast/parse.js.map +0 -1
- package/build-module/utils/transform-styles/ast/stringify/compiler.js +0 -49
- package/build-module/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
- package/build-module/utils/transform-styles/ast/stringify/compress.js +0 -176
- package/build-module/utils/transform-styles/ast/stringify/compress.js.map +0 -1
- package/build-module/utils/transform-styles/ast/stringify/identity.js +0 -206
- package/build-module/utils/transform-styles/ast/stringify/identity.js.map +0 -1
- package/build-module/utils/transform-styles/ast/stringify/index.js +0 -29
- package/build-module/utils/transform-styles/ast/stringify/index.js.map +0 -1
- package/build-module/utils/transform-styles/transforms/url-rewrite.js +0 -123
- package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
- package/build-module/utils/transform-styles/transforms/wrap.js +0 -52
- package/build-module/utils/transform-styles/transforms/wrap.js.map +0 -1
- package/build-module/utils/transform-styles/traverse.js +0 -28
- package/build-module/utils/transform-styles/traverse.js.map +0 -1
- package/src/components/use-setting/index.js +0 -213
- package/src/utils/transform-styles/ast/index.js +0 -5
- package/src/utils/transform-styles/ast/parse.js +0 -732
- package/src/utils/transform-styles/ast/stringify/compiler.js +0 -50
- package/src/utils/transform-styles/ast/stringify/compress.js +0 -238
- package/src/utils/transform-styles/ast/stringify/identity.js +0 -286
- package/src/utils/transform-styles/ast/stringify/index.js +0 -32
- package/src/utils/transform-styles/test/__snapshots__/traverse.js.snap +0 -7
- package/src/utils/transform-styles/test/traverse.js +0 -24
- package/src/utils/transform-styles/transforms/test/__snapshots__/url-rewrite.js.snap +0 -25
- package/src/utils/transform-styles/transforms/test/__snapshots__/wrap.js.snap +0 -64
- package/src/utils/transform-styles/transforms/test/url-rewrite.js +0 -39
- package/src/utils/transform-styles/transforms/test/wrap.js +0 -95
- package/src/utils/transform-styles/transforms/url-rewrite.js +0 -139
- package/src/utils/transform-styles/transforms/wrap.js +0 -56
- package/src/utils/transform-styles/traverse.js +0 -32
package/src/hooks/background.js
CHANGED
|
@@ -29,7 +29,7 @@ import { getFilename } from '@wordpress/url';
|
|
|
29
29
|
*/
|
|
30
30
|
import InspectorControls from '../components/inspector-controls';
|
|
31
31
|
import MediaReplaceFlow from '../components/media-replace-flow';
|
|
32
|
-
import
|
|
32
|
+
import { useSettings } from '../components/use-settings';
|
|
33
33
|
import { cleanEmptyObject } from './utils';
|
|
34
34
|
import { store as blockEditorStore } from '../store';
|
|
35
35
|
|
|
@@ -281,19 +281,17 @@ function BackgroundImagePanelItem( props ) {
|
|
|
281
281
|
}
|
|
282
282
|
|
|
283
283
|
export function BackgroundImagePanel( props ) {
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
284
|
+
const [ backgroundImage ] = useSettings( 'background.backgroundImage' );
|
|
285
|
+
if (
|
|
286
|
+
! backgroundImage ||
|
|
287
|
+
! hasBackgroundSupport( props.name, 'backgroundImage' )
|
|
288
|
+
) {
|
|
289
289
|
return null;
|
|
290
290
|
}
|
|
291
291
|
|
|
292
292
|
return (
|
|
293
293
|
<InspectorControls group="background">
|
|
294
|
-
{
|
|
295
|
-
<BackgroundImagePanelItem { ...props } />
|
|
296
|
-
) }
|
|
294
|
+
<BackgroundImagePanelItem { ...props } />
|
|
297
295
|
</InspectorControls>
|
|
298
296
|
);
|
|
299
297
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';
|
|
5
5
|
import { addFilter } from '@wordpress/hooks';
|
|
6
6
|
import { __, sprintf } from '@wordpress/i18n';
|
|
7
|
-
import {
|
|
7
|
+
import { hasBlockSupport } from '@wordpress/blocks';
|
|
8
8
|
import {
|
|
9
9
|
MenuItem,
|
|
10
10
|
__experimentalHStack as HStack,
|
|
@@ -189,21 +189,13 @@ function BlockRenameControl( props ) {
|
|
|
189
189
|
|
|
190
190
|
export const withBlockRenameControl = createHigherOrderComponent(
|
|
191
191
|
( BlockEdit ) => ( props ) => {
|
|
192
|
-
const { clientId, name, attributes, setAttributes } = props;
|
|
192
|
+
const { clientId, name, attributes, setAttributes, isSelected } = props;
|
|
193
193
|
|
|
194
|
-
const
|
|
195
|
-
name,
|
|
196
|
-
'__experimentalMetadata',
|
|
197
|
-
false
|
|
198
|
-
);
|
|
199
|
-
|
|
200
|
-
const supportsBlockNaming = !! (
|
|
201
|
-
true === metaDataSupport || metaDataSupport?.name
|
|
202
|
-
);
|
|
194
|
+
const supportsBlockNaming = hasBlockSupport( name, 'renaming', true );
|
|
203
195
|
|
|
204
196
|
return (
|
|
205
197
|
<>
|
|
206
|
-
{ supportsBlockNaming && (
|
|
198
|
+
{ isSelected && supportsBlockNaming && (
|
|
207
199
|
<>
|
|
208
200
|
<BlockRenameControl
|
|
209
201
|
clientId={ clientId }
|
|
@@ -211,8 +203,7 @@ export const withBlockRenameControl = createHigherOrderComponent(
|
|
|
211
203
|
onChange={ ( newName ) => {
|
|
212
204
|
setAttributes( {
|
|
213
205
|
metadata: {
|
|
214
|
-
...
|
|
215
|
-
attributes?.metadata ),
|
|
206
|
+
...attributes?.metadata,
|
|
216
207
|
name: newName,
|
|
217
208
|
},
|
|
218
209
|
} );
|
|
@@ -2,10 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { addFilter } from '@wordpress/hooks';
|
|
5
|
-
|
|
6
|
-
* Internal dependencies
|
|
7
|
-
*/
|
|
8
|
-
import { hasBlockMetadataSupport } from './metadata';
|
|
5
|
+
import { hasBlockSupport } from '@wordpress/blocks';
|
|
9
6
|
|
|
10
7
|
/**
|
|
11
8
|
* Filters registered block settings, adding an `__experimentalLabel` callback if one does not already exist.
|
|
@@ -20,10 +17,10 @@ export function addLabelCallback( settings ) {
|
|
|
20
17
|
return settings;
|
|
21
18
|
}
|
|
22
19
|
|
|
23
|
-
const supportsBlockNaming =
|
|
20
|
+
const supportsBlockNaming = hasBlockSupport(
|
|
24
21
|
settings,
|
|
25
|
-
'
|
|
26
|
-
|
|
22
|
+
'renaming',
|
|
23
|
+
true // default value
|
|
27
24
|
);
|
|
28
25
|
|
|
29
26
|
// Check whether block metadata is supported before using it.
|
package/src/hooks/color.js
CHANGED
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
shouldSkipSerialization,
|
|
26
26
|
useBlockSettings,
|
|
27
27
|
} from './utils';
|
|
28
|
-
import
|
|
28
|
+
import { useSettings } from '../components/use-settings';
|
|
29
29
|
import InspectorControls from '../components/inspector-controls';
|
|
30
30
|
import {
|
|
31
31
|
useHasColorPanel,
|
|
@@ -368,9 +368,12 @@ export const withColorPaletteStyles = createHigherOrderComponent(
|
|
|
368
368
|
( BlockListBlock ) => ( props ) => {
|
|
369
369
|
const { name, attributes } = props;
|
|
370
370
|
const { backgroundColor, textColor } = attributes;
|
|
371
|
-
const userPalette =
|
|
372
|
-
|
|
373
|
-
|
|
371
|
+
const [ userPalette, themePalette, defaultPalette ] = useSettings(
|
|
372
|
+
'color.palette.custom',
|
|
373
|
+
'color.palette.theme',
|
|
374
|
+
'color.palette.default'
|
|
375
|
+
);
|
|
376
|
+
|
|
374
377
|
const colors = useMemo(
|
|
375
378
|
() => [
|
|
376
379
|
...( userPalette || [] ),
|
|
@@ -39,6 +39,30 @@ export function addAttribute( settings ) {
|
|
|
39
39
|
return settings;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
function CustomClassNameControls( { attributes, setAttributes } ) {
|
|
43
|
+
const blockEditingMode = useBlockEditingMode();
|
|
44
|
+
if ( blockEditingMode !== 'default' ) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<InspectorControls group="advanced">
|
|
50
|
+
<TextControl
|
|
51
|
+
__nextHasNoMarginBottom
|
|
52
|
+
autoComplete="off"
|
|
53
|
+
label={ __( 'Additional CSS class(es)' ) }
|
|
54
|
+
value={ attributes.className || '' }
|
|
55
|
+
onChange={ ( nextValue ) => {
|
|
56
|
+
setAttributes( {
|
|
57
|
+
className: nextValue !== '' ? nextValue : undefined,
|
|
58
|
+
} );
|
|
59
|
+
} }
|
|
60
|
+
help={ __( 'Separate multiple classes with spaces.' ) }
|
|
61
|
+
/>
|
|
62
|
+
</InspectorControls>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
42
66
|
/**
|
|
43
67
|
* Override the default edit UI to include a new block inspector control for
|
|
44
68
|
* assigning the custom class name, if block supports custom class name.
|
|
@@ -51,42 +75,23 @@ export function addAttribute( settings ) {
|
|
|
51
75
|
export const withInspectorControl = createHigherOrderComponent(
|
|
52
76
|
( BlockEdit ) => {
|
|
53
77
|
return ( props ) => {
|
|
54
|
-
const blockEditingMode = useBlockEditingMode();
|
|
55
78
|
const hasCustomClassName = hasBlockSupport(
|
|
56
79
|
props.name,
|
|
57
80
|
'customClassName',
|
|
58
81
|
true
|
|
59
82
|
);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
props.setAttributes( {
|
|
73
|
-
className:
|
|
74
|
-
nextValue !== ''
|
|
75
|
-
? nextValue
|
|
76
|
-
: undefined,
|
|
77
|
-
} );
|
|
78
|
-
} }
|
|
79
|
-
help={ __(
|
|
80
|
-
'Separate multiple classes with spaces.'
|
|
81
|
-
) }
|
|
82
|
-
/>
|
|
83
|
-
</InspectorControls>
|
|
84
|
-
) }
|
|
85
|
-
</>
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return <BlockEdit { ...props } />;
|
|
83
|
+
|
|
84
|
+
return (
|
|
85
|
+
<>
|
|
86
|
+
<BlockEdit { ...props } />
|
|
87
|
+
{ hasCustomClassName && props.isSelected && (
|
|
88
|
+
<CustomClassNameControls
|
|
89
|
+
attributes={ props.attributes }
|
|
90
|
+
setAttributes={ props.setAttributes }
|
|
91
|
+
/>
|
|
92
|
+
) }
|
|
93
|
+
</>
|
|
94
|
+
);
|
|
90
95
|
};
|
|
91
96
|
},
|
|
92
97
|
'withInspectorControl'
|
package/src/hooks/duotone.js
CHANGED
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
BlockControls,
|
|
26
26
|
InspectorControls,
|
|
27
27
|
__experimentalDuotoneControl as DuotoneControl,
|
|
28
|
-
|
|
28
|
+
useSettings,
|
|
29
29
|
} from '../components';
|
|
30
30
|
import {
|
|
31
31
|
getDuotoneFilter,
|
|
@@ -37,28 +37,39 @@ import { scopeSelector } from '../components/global-styles/utils';
|
|
|
37
37
|
import { useBlockSettings } from './utils';
|
|
38
38
|
import { default as StylesFiltersPanel } from '../components/global-styles/filters-panel';
|
|
39
39
|
import { useBlockEditingMode } from '../components/block-editing-mode';
|
|
40
|
+
import { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';
|
|
40
41
|
import { store as blockEditorStore } from '../store';
|
|
41
42
|
import { unlock } from '../lock-unlock';
|
|
42
43
|
|
|
43
44
|
const EMPTY_ARRAY = [];
|
|
44
45
|
|
|
46
|
+
// Safari does not always update the duotone filter when the duotone colors
|
|
47
|
+
// are changed. This browser check is later used to force a re-render of the block
|
|
48
|
+
// element to ensure the duotone filter is updated. The check is included at the
|
|
49
|
+
// root of this file as it only needs to be run once per page load.
|
|
50
|
+
const isSafari =
|
|
51
|
+
window?.navigator.userAgent &&
|
|
52
|
+
window.navigator.userAgent.includes( 'Safari' ) &&
|
|
53
|
+
! window.navigator.userAgent.includes( 'Chrome' ) &&
|
|
54
|
+
! window.navigator.userAgent.includes( 'Chromium' );
|
|
55
|
+
|
|
45
56
|
extend( [ namesPlugin ] );
|
|
46
57
|
|
|
47
58
|
function useMultiOriginPresets( { presetSetting, defaultSetting } ) {
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
const [ enableDefault, userPresets, themePresets, defaultPresets ] =
|
|
60
|
+
useSettings(
|
|
61
|
+
defaultSetting,
|
|
62
|
+
`${ presetSetting }.custom`,
|
|
63
|
+
`${ presetSetting }.theme`,
|
|
64
|
+
`${ presetSetting }.default`
|
|
65
|
+
);
|
|
55
66
|
return useMemo(
|
|
56
67
|
() => [
|
|
57
|
-
...userPresets,
|
|
58
|
-
...themePresets,
|
|
59
|
-
...(
|
|
68
|
+
...( userPresets || EMPTY_ARRAY ),
|
|
69
|
+
...( themePresets || EMPTY_ARRAY ),
|
|
70
|
+
...( ( enableDefault && defaultPresets ) || EMPTY_ARRAY ),
|
|
60
71
|
],
|
|
61
|
-
[
|
|
72
|
+
[ enableDefault, userPresets, themePresets, defaultPresets ]
|
|
62
73
|
);
|
|
63
74
|
}
|
|
64
75
|
|
|
@@ -100,9 +111,13 @@ function DuotonePanel( { attributes, setAttributes, name } ) {
|
|
|
100
111
|
presetSetting: 'color.palette',
|
|
101
112
|
defaultSetting: 'color.defaultPalette',
|
|
102
113
|
} );
|
|
103
|
-
const
|
|
114
|
+
const [ enableCustomColors, enableCustomDuotone ] = useSettings(
|
|
115
|
+
'color.custom',
|
|
116
|
+
'color.customDuotone'
|
|
117
|
+
);
|
|
118
|
+
const disableCustomColors = ! enableCustomColors;
|
|
104
119
|
const disableCustomDuotone =
|
|
105
|
-
!
|
|
120
|
+
! enableCustomDuotone ||
|
|
106
121
|
( colorPalette?.length === 0 && disableCustomColors );
|
|
107
122
|
|
|
108
123
|
if ( duotonePalette?.length === 0 && disableCustomDuotone ) {
|
|
@@ -223,6 +238,7 @@ const withDuotoneControls = createHigherOrderComponent(
|
|
|
223
238
|
);
|
|
224
239
|
|
|
225
240
|
function DuotoneStyles( {
|
|
241
|
+
clientId,
|
|
226
242
|
id: filterId,
|
|
227
243
|
selector: duotoneSelector,
|
|
228
244
|
attribute: duotoneAttr,
|
|
@@ -278,6 +294,8 @@ function DuotoneStyles( {
|
|
|
278
294
|
useDispatch( blockEditorStore )
|
|
279
295
|
);
|
|
280
296
|
|
|
297
|
+
const blockElement = useBlockElement( clientId );
|
|
298
|
+
|
|
281
299
|
useEffect( () => {
|
|
282
300
|
if ( ! isValidFilter ) return;
|
|
283
301
|
|
|
@@ -294,12 +312,30 @@ function DuotoneStyles( {
|
|
|
294
312
|
__unstableType: 'svgs',
|
|
295
313
|
} );
|
|
296
314
|
|
|
315
|
+
// Safari does not always update the duotone filter when the duotone colors
|
|
316
|
+
// are changed. When using Safari, force the block element to be repainted by
|
|
317
|
+
// the browser to ensure any changes are reflected visually. This logic matches
|
|
318
|
+
// that used on the site frontend in `block-supports/duotone.php`.
|
|
319
|
+
if ( blockElement && isSafari ) {
|
|
320
|
+
const display = blockElement.style.display;
|
|
321
|
+
// Switch to `inline-block` to force a repaint. In the editor, `inline-block`
|
|
322
|
+
// is used instead of `none` to ensure that scroll position is not affected,
|
|
323
|
+
// as `none` results in the editor scrolling to the top of the block.
|
|
324
|
+
blockElement.style.display = 'inline-block';
|
|
325
|
+
// Simply accessing el.offsetHeight flushes layout and style
|
|
326
|
+
// changes in WebKit without having to wait for setTimeout.
|
|
327
|
+
// eslint-disable-next-line no-unused-expressions
|
|
328
|
+
blockElement.offsetHeight;
|
|
329
|
+
blockElement.style.display = display;
|
|
330
|
+
}
|
|
331
|
+
|
|
297
332
|
return () => {
|
|
298
333
|
deleteStyleOverride( filterId );
|
|
299
334
|
deleteStyleOverride( `duotone-${ filterId }` );
|
|
300
335
|
};
|
|
301
336
|
}, [
|
|
302
337
|
isValidFilter,
|
|
338
|
+
blockElement,
|
|
303
339
|
colors,
|
|
304
340
|
selector,
|
|
305
341
|
filterId,
|
|
@@ -378,6 +414,7 @@ const withDuotoneStyles = createHigherOrderComponent(
|
|
|
378
414
|
<>
|
|
379
415
|
{ shouldRender && (
|
|
380
416
|
<DuotoneStyles
|
|
417
|
+
clientId={ props.clientId }
|
|
381
418
|
id={ filterClass }
|
|
382
419
|
selector={ selector }
|
|
383
420
|
attribute={ attribute }
|
package/src/hooks/font-size.js
CHANGED
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
transformStyles,
|
|
23
23
|
shouldSkipSerialization,
|
|
24
24
|
} from './utils';
|
|
25
|
-
import
|
|
25
|
+
import { useSettings } from '../components/use-settings';
|
|
26
26
|
import { store as blockEditorStore } from '../store';
|
|
27
27
|
import {
|
|
28
28
|
getTypographyFontSizeValue,
|
|
@@ -122,7 +122,7 @@ export function FontSizeEdit( props ) {
|
|
|
122
122
|
attributes: { fontSize, style },
|
|
123
123
|
setAttributes,
|
|
124
124
|
} = props;
|
|
125
|
-
const fontSizes =
|
|
125
|
+
const [ fontSizes ] = useSettings( 'typography.fontSizes' );
|
|
126
126
|
|
|
127
127
|
const onChange = ( value ) => {
|
|
128
128
|
const fontSizeSlug = getFontSizeObjectByValue( fontSizes, value ).slug;
|
|
@@ -167,7 +167,7 @@ export function FontSizeEdit( props ) {
|
|
|
167
167
|
* @return {boolean} Whether setting is disabled.
|
|
168
168
|
*/
|
|
169
169
|
export function useIsFontSizeDisabled( { name: blockName } = {} ) {
|
|
170
|
-
const fontSizes =
|
|
170
|
+
const [ fontSizes ] = useSettings( 'typography.fontSizes' );
|
|
171
171
|
const hasFontSizes = !! fontSizes?.length;
|
|
172
172
|
|
|
173
173
|
return (
|
|
@@ -186,7 +186,7 @@ export function useIsFontSizeDisabled( { name: blockName } = {} ) {
|
|
|
186
186
|
*/
|
|
187
187
|
const withFontSizeInlineStyles = createHigherOrderComponent(
|
|
188
188
|
( BlockListBlock ) => ( props ) => {
|
|
189
|
-
const fontSizes =
|
|
189
|
+
const [ fontSizes ] = useSettings( 'typography.fontSizes' );
|
|
190
190
|
const {
|
|
191
191
|
name: blockName,
|
|
192
192
|
attributes: { fontSize, style },
|
package/src/hooks/index.js
CHANGED
|
@@ -19,9 +19,9 @@ import './position';
|
|
|
19
19
|
import './layout';
|
|
20
20
|
import './content-lock-ui';
|
|
21
21
|
import './metadata';
|
|
22
|
-
import './metadata-name';
|
|
23
22
|
import './custom-fields';
|
|
24
23
|
import './block-hooks';
|
|
24
|
+
import './block-renaming';
|
|
25
25
|
import './block-rename-ui';
|
|
26
26
|
|
|
27
27
|
export { useCustomSides } from './dimensions';
|
package/src/hooks/layout.js
CHANGED
|
@@ -24,7 +24,7 @@ import { useEffect } from '@wordpress/element';
|
|
|
24
24
|
*/
|
|
25
25
|
import { store as blockEditorStore } from '../store';
|
|
26
26
|
import { InspectorControls } from '../components';
|
|
27
|
-
import
|
|
27
|
+
import { useSettings } from '../components/use-settings';
|
|
28
28
|
import { getLayoutType, getLayoutTypes } from '../layouts';
|
|
29
29
|
import { useBlockEditingMode } from '../components/block-editing-mode';
|
|
30
30
|
import { LAYOUT_DEFINITIONS } from '../layouts/definitions';
|
|
@@ -123,7 +123,7 @@ export function useLayoutStyles( blockAttributes = {}, blockName, selector ) {
|
|
|
123
123
|
? { ...layout, type: 'constrained' }
|
|
124
124
|
: layout || {};
|
|
125
125
|
const fullLayoutType = getLayoutType( usedLayout?.type || 'default' );
|
|
126
|
-
const blockGapSupport =
|
|
126
|
+
const [ blockGapSupport ] = useSettings( 'spacing.blockGap' );
|
|
127
127
|
const hasBlockGapSupport = blockGapSupport !== null;
|
|
128
128
|
const css = fullLayoutType?.getLayoutStyle?.( {
|
|
129
129
|
blockName,
|
|
@@ -142,7 +142,7 @@ function LayoutPanel( { setAttributes, attributes, name: blockName } ) {
|
|
|
142
142
|
} = settings;
|
|
143
143
|
|
|
144
144
|
const { layout } = attributes;
|
|
145
|
-
const defaultThemeLayout =
|
|
145
|
+
const [ defaultThemeLayout ] = useSettings( 'layout' );
|
|
146
146
|
const { themeSupportsLayout } = useSelect( ( select ) => {
|
|
147
147
|
const { getSettings } = select( blockEditorStore );
|
|
148
148
|
return {
|
|
@@ -151,6 +151,10 @@ function LayoutPanel( { setAttributes, attributes, name: blockName } ) {
|
|
|
151
151
|
}, [] );
|
|
152
152
|
const blockEditingMode = useBlockEditingMode();
|
|
153
153
|
|
|
154
|
+
if ( blockEditingMode !== 'default' ) {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
|
|
154
158
|
const layoutBlockSupport = getBlockSupport(
|
|
155
159
|
blockName,
|
|
156
160
|
layoutBlockSupportKey,
|
|
@@ -270,7 +274,7 @@ function LayoutPanel( { setAttributes, attributes, name: blockName } ) {
|
|
|
270
274
|
) }
|
|
271
275
|
</PanelBody>
|
|
272
276
|
</InspectorControls>
|
|
273
|
-
{ ! inherit &&
|
|
277
|
+
{ ! inherit && layoutType && (
|
|
274
278
|
<layoutType.toolBarControls
|
|
275
279
|
layout={ usedLayout }
|
|
276
280
|
onChange={ onChangeLayout }
|
|
@@ -331,14 +335,10 @@ export function addAttribute( settings ) {
|
|
|
331
335
|
*/
|
|
332
336
|
export const withInspectorControls = createHigherOrderComponent(
|
|
333
337
|
( BlockEdit ) => ( props ) => {
|
|
334
|
-
const
|
|
335
|
-
const supportLayout = hasLayoutBlockSupport( blockName );
|
|
338
|
+
const supportLayout = hasLayoutBlockSupport( props.name );
|
|
336
339
|
|
|
337
|
-
const blockEditingMode = useBlockEditingMode();
|
|
338
340
|
return [
|
|
339
|
-
supportLayout &&
|
|
340
|
-
<LayoutPanel key="layout" { ...props } />
|
|
341
|
-
),
|
|
341
|
+
supportLayout && <LayoutPanel key="layout" { ...props } />,
|
|
342
342
|
<BlockEdit key="edit" { ...props } />,
|
|
343
343
|
];
|
|
344
344
|
},
|
|
@@ -375,7 +375,7 @@ export const withLayoutStyles = createHigherOrderComponent(
|
|
|
375
375
|
: null;
|
|
376
376
|
// Higher specificity to override defaults from theme.json.
|
|
377
377
|
const selector = `.wp-container-${ id }.wp-container-${ id }`;
|
|
378
|
-
const blockGapSupport =
|
|
378
|
+
const [ blockGapSupport ] = useSettings( 'spacing.blockGap' );
|
|
379
379
|
const hasBlockGapSupport = blockGapSupport !== null;
|
|
380
380
|
|
|
381
381
|
// Get CSS string for the current layout type.
|
|
@@ -408,11 +408,11 @@ export const withLayoutStyles = createHigherOrderComponent(
|
|
|
408
408
|
|
|
409
409
|
useEffect( () => {
|
|
410
410
|
if ( ! css ) return;
|
|
411
|
-
setStyleOverride(
|
|
411
|
+
setStyleOverride( selector, { css } );
|
|
412
412
|
return () => {
|
|
413
|
-
deleteStyleOverride(
|
|
413
|
+
deleteStyleOverride( selector );
|
|
414
414
|
};
|
|
415
|
-
}, [
|
|
415
|
+
}, [ selector, css, setStyleOverride, deleteStyleOverride ] );
|
|
416
416
|
|
|
417
417
|
return (
|
|
418
418
|
<BlockListBlock
|
|
@@ -472,11 +472,11 @@ export const withChildLayoutStyles = createHigherOrderComponent(
|
|
|
472
472
|
|
|
473
473
|
useEffect( () => {
|
|
474
474
|
if ( ! css ) return;
|
|
475
|
-
setStyleOverride(
|
|
475
|
+
setStyleOverride( selector, { css } );
|
|
476
476
|
return () => {
|
|
477
|
-
deleteStyleOverride(
|
|
477
|
+
deleteStyleOverride( selector );
|
|
478
478
|
};
|
|
479
|
-
}, [
|
|
479
|
+
}, [ selector, css, setStyleOverride, deleteStyleOverride ] );
|
|
480
480
|
|
|
481
481
|
return <BlockListBlock { ...props } className={ className } />;
|
|
482
482
|
},
|
package/src/hooks/line-height.js
CHANGED
|
@@ -8,7 +8,7 @@ import { hasBlockSupport } from '@wordpress/blocks';
|
|
|
8
8
|
*/
|
|
9
9
|
import LineHeightControl from '../components/line-height-control';
|
|
10
10
|
import { cleanEmptyObject } from './utils';
|
|
11
|
-
import
|
|
11
|
+
import { useSettings } from '../components/use-settings';
|
|
12
12
|
|
|
13
13
|
export const LINE_HEIGHT_SUPPORT_KEY = 'typography.lineHeight';
|
|
14
14
|
|
|
@@ -54,9 +54,9 @@ export function LineHeightEdit( props ) {
|
|
|
54
54
|
* @return {boolean} Whether setting is disabled.
|
|
55
55
|
*/
|
|
56
56
|
export function useIsLineHeightDisabled( { name: blockName } = {} ) {
|
|
57
|
-
const
|
|
57
|
+
const [ isEnabled ] = useSettings( 'typography.lineHeight' );
|
|
58
58
|
|
|
59
59
|
return (
|
|
60
|
-
! hasBlockSupport( blockName, LINE_HEIGHT_SUPPORT_KEY )
|
|
60
|
+
! isEnabled || ! hasBlockSupport( blockName, LINE_HEIGHT_SUPPORT_KEY )
|
|
61
61
|
);
|
|
62
62
|
}
|
package/src/hooks/metadata.js
CHANGED
|
@@ -2,19 +2,8 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { addFilter } from '@wordpress/hooks';
|
|
5
|
-
import { getBlockSupport } from '@wordpress/blocks';
|
|
6
|
-
|
|
7
5
|
const META_ATTRIBUTE_NAME = 'metadata';
|
|
8
6
|
|
|
9
|
-
export function hasBlockMetadataSupport( blockType, feature = '' ) {
|
|
10
|
-
// Only core blocks are allowed to use __experimentalMetadata until the fetaure is stablised.
|
|
11
|
-
if ( ! blockType.name.startsWith( 'core/' ) ) {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
const support = getBlockSupport( blockType, '__experimentalMetadata' );
|
|
15
|
-
return !! ( true === support || support?.[ feature ] );
|
|
16
|
-
}
|
|
17
|
-
|
|
18
7
|
/**
|
|
19
8
|
* Filters registered block settings, extending attributes to include `metadata`.
|
|
20
9
|
*
|
|
@@ -29,39 +18,18 @@ export function addMetaAttribute( blockTypeSettings ) {
|
|
|
29
18
|
return blockTypeSettings;
|
|
30
19
|
}
|
|
31
20
|
|
|
32
|
-
|
|
33
|
-
blockTypeSettings,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
blockTypeSettings.attributes = {
|
|
39
|
-
...blockTypeSettings.attributes,
|
|
40
|
-
[ META_ATTRIBUTE_NAME ]: {
|
|
41
|
-
type: 'object',
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
}
|
|
21
|
+
blockTypeSettings.attributes = {
|
|
22
|
+
...blockTypeSettings.attributes,
|
|
23
|
+
[ META_ATTRIBUTE_NAME ]: {
|
|
24
|
+
type: 'object',
|
|
25
|
+
},
|
|
26
|
+
};
|
|
45
27
|
|
|
46
28
|
return blockTypeSettings;
|
|
47
29
|
}
|
|
48
30
|
|
|
49
|
-
export function addSaveProps( extraProps, blockType, attributes ) {
|
|
50
|
-
if ( hasBlockMetadataSupport( blockType ) ) {
|
|
51
|
-
extraProps[ META_ATTRIBUTE_NAME ] = attributes[ META_ATTRIBUTE_NAME ];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return extraProps;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
31
|
addFilter(
|
|
58
32
|
'blocks.registerBlockType',
|
|
59
33
|
'core/metadata/addMetaAttribute',
|
|
60
34
|
addMetaAttribute
|
|
61
35
|
);
|
|
62
|
-
|
|
63
|
-
addFilter(
|
|
64
|
-
'blocks.getSaveContent.extraProps',
|
|
65
|
-
'core/metadata/save-props',
|
|
66
|
-
addSaveProps
|
|
67
|
-
);
|
package/src/hooks/position.js
CHANGED
|
@@ -26,7 +26,7 @@ import { addFilter } from '@wordpress/hooks';
|
|
|
26
26
|
* Internal dependencies
|
|
27
27
|
*/
|
|
28
28
|
import BlockList from '../components/block-list';
|
|
29
|
-
import
|
|
29
|
+
import { useSettings } from '../components/use-settings';
|
|
30
30
|
import InspectorControls from '../components/inspector-controls';
|
|
31
31
|
import useBlockDisplayInformation from '../components/use-block-display-information';
|
|
32
32
|
import { cleanEmptyObject } from './utils';
|
|
@@ -197,8 +197,10 @@ export function resetPosition( { attributes = {}, setAttributes } ) {
|
|
|
197
197
|
* @return {boolean} Whether padding setting is disabled.
|
|
198
198
|
*/
|
|
199
199
|
export function useIsPositionDisabled( { name: blockName } = {} ) {
|
|
200
|
-
const allowFixed =
|
|
201
|
-
|
|
200
|
+
const [ allowFixed, allowSticky ] = useSettings(
|
|
201
|
+
'position.fixed',
|
|
202
|
+
'position.sticky'
|
|
203
|
+
);
|
|
202
204
|
const isDisabled = ! allowFixed && ! allowSticky;
|
|
203
205
|
|
|
204
206
|
return ! hasPositionSupport( blockName ) || isDisabled;
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
__experimentalGetGradientClass,
|
|
21
21
|
getGradientValueBySlug,
|
|
22
22
|
} from '../components/gradients';
|
|
23
|
-
import
|
|
23
|
+
import { useSettings } from '../components/use-settings';
|
|
24
24
|
|
|
25
25
|
// The code in this file has largely been lifted from the color block support
|
|
26
26
|
// hook.
|
|
@@ -73,8 +73,6 @@ export function getColorClassesAndStyles( attributes ) {
|
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
const EMPTY_OBJECT = {};
|
|
77
|
-
|
|
78
76
|
/**
|
|
79
77
|
* Determines the color related props for a block derived from its color block
|
|
80
78
|
* support attributes.
|
|
@@ -89,13 +87,22 @@ const EMPTY_OBJECT = {};
|
|
|
89
87
|
export function useColorProps( attributes ) {
|
|
90
88
|
const { backgroundColor, textColor, gradient } = attributes;
|
|
91
89
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
90
|
+
const [
|
|
91
|
+
userPalette,
|
|
92
|
+
themePalette,
|
|
93
|
+
defaultPalette,
|
|
94
|
+
userGradients,
|
|
95
|
+
themeGradients,
|
|
96
|
+
defaultGradients,
|
|
97
|
+
] = useSettings(
|
|
98
|
+
'color.palette.custom',
|
|
99
|
+
'color.palette.theme',
|
|
100
|
+
'color.palette.default',
|
|
101
|
+
'color.gradients.custom',
|
|
102
|
+
'color.gradients.theme',
|
|
103
|
+
'color.gradients.default'
|
|
104
|
+
);
|
|
105
|
+
|
|
99
106
|
const colors = useMemo(
|
|
100
107
|
() => [
|
|
101
108
|
...( userPalette || [] ),
|
|
@@ -106,11 +113,11 @@ export function useColorProps( attributes ) {
|
|
|
106
113
|
);
|
|
107
114
|
const gradients = useMemo(
|
|
108
115
|
() => [
|
|
109
|
-
...(
|
|
110
|
-
...(
|
|
111
|
-
...(
|
|
116
|
+
...( userGradients || [] ),
|
|
117
|
+
...( themeGradients || [] ),
|
|
118
|
+
...( defaultGradients || [] ),
|
|
112
119
|
],
|
|
113
|
-
[
|
|
120
|
+
[ userGradients, themeGradients, defaultGradients ]
|
|
114
121
|
);
|
|
115
122
|
|
|
116
123
|
const colorProps = getColorClassesAndStyles( attributes );
|