@wordpress/block-editor 12.15.0 → 12.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +9 -4
- package/build/components/block-canvas/index.js +22 -6
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +1 -1
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-controls/hook.js +3 -23
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-edit/context.js +5 -1
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/index.js +18 -9
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +3 -4
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-list/block.js +28 -9
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +14 -5
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +61 -18
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-patterns-list/index.js +1 -1
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +2 -9
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-rename/modal.js +3 -0
- package/build/components/block-rename/modal.js.map +1 -1
- package/build/components/block-settings/container.native.js +6 -4
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-styles/index.js +1 -1
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +3 -2
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-toolbar/index.js +89 -27
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +49 -0
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build/components/block-tools/block-toolbar-popover.js +86 -0
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build/components/block-tools/index.js +27 -24
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +4 -3
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +2 -1
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/colors-gradients/control.js +28 -17
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -4
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/global-styles/color-panel.js +22 -20
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +9 -3
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +20 -31
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/image-link-destinations/index.native.js +118 -0
- package/build/components/image-link-destinations/index.native.js.map +1 -0
- package/build/components/index.native.js +8 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +2 -2
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/menu.js +14 -7
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +2 -2
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter-button/index.native.js +98 -0
- package/build/components/inserter-button/index.native.js.map +1 -0
- package/build/components/inserter-button/sparkles.js +23 -0
- package/build/components/inserter-button/sparkles.js.map +1 -0
- package/build/components/inserter-draggable-blocks/index.js +8 -4
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inspector-controls/fill.js +3 -3
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +3 -3
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +2 -2
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/preview-options/index.js +6 -62
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/rich-text/content.js +26 -23
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +2 -1
- package/build/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build/components/rich-text/index.js +2 -30
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +9 -16
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/native/get-format-colors.native.js +22 -24
- package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +7 -34
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +5 -1
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/with-deprecations.js +50 -0
- package/build/components/rich-text/with-deprecations.js.map +1 -0
- package/build/components/use-block-drop-zone/index.js +70 -8
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +1 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +4 -1
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-settings/index.js +14 -0
- package/build/components/use-settings/index.js.map +1 -1
- package/build/hooks/align.js +20 -68
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +11 -1
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/anchor.js +13 -29
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/background.js +28 -31
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js +24 -32
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-renaming.js +18 -22
- package/build/hooks/block-renaming.js.map +1 -1
- package/build/hooks/border.js +58 -80
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +76 -89
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +29 -29
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +12 -29
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-fields.js +24 -38
- package/build/hooks/custom-fields.js.map +1 -1
- package/build/hooks/dimensions.js +21 -17
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +31 -61
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +16 -25
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +51 -119
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +25 -14
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +10 -3
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout-child.js +68 -0
- package/build/hooks/layout-child.js.map +1 -0
- package/build/hooks/layout.js +16 -101
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/padding.js +2 -2
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +40 -62
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +51 -88
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +34 -14
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +154 -7
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +0 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/private-actions.js +8 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +34 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +8 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +10 -60
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +66 -0
- package/build/store/utils.js.map +1 -0
- package/build/utils/object.js +21 -61
- package/build/utils/object.js.map +1 -1
- package/build/utils/selection.js +9 -1
- package/build/utils/selection.js.map +1 -1
- package/build-module/components/block-canvas/index.js +23 -7
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +1 -1
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-controls/hook.js +4 -24
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-edit/context.js +2 -0
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/index.js +19 -10
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-info-slot-fill/index.js +3 -3
- package/build-module/components/block-info-slot-fill/index.js.map +1 -1
- package/build-module/components/block-list/block.js +29 -10
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +14 -5
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +62 -19
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +1 -1
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +3 -10
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-rename/modal.js +3 -0
- package/build-module/components/block-rename/modal.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +4 -2
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -1
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +3 -2
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +88 -25
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +41 -0
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build-module/components/block-tools/block-toolbar-popover.js +76 -0
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build-module/components/block-tools/index.js +27 -24
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +2 -1
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +2 -1
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +29 -18
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/duotone-control/index.js +1 -4
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +23 -21
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +10 -4
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +20 -31
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/image-link-destinations/index.native.js +109 -0
- package/build-module/components/image-link-destinations/index.native.js.map +1 -0
- package/build-module/components/index.native.js +1 -0
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/menu.js +14 -7
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +2 -2
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +89 -0
- package/build-module/components/inserter-button/index.native.js.map +1 -0
- package/build-module/components/inserter-button/sparkles.js +15 -0
- package/build-module/components/inserter-button/sparkles.js.map +1 -0
- package/build-module/components/inserter-draggable-blocks/index.js +9 -5
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +3 -3
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +3 -3
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +2 -2
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/preview-options/index.js +6 -62
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/rich-text/content.js +25 -21
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +2 -1
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build-module/components/rich-text/index.js +4 -32
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +10 -18
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/get-format-colors.native.js +22 -24
- package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +7 -34
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +5 -1
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/with-deprecations.js +42 -0
- package/build-module/components/rich-text/with-deprecations.js.map +1 -0
- package/build-module/components/use-block-drop-zone/index.js +69 -8
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +1 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +4 -1
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +13 -1
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/hooks/align.js +19 -66
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js +1 -0
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/anchor.js +11 -26
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/background.js +26 -28
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-hooks.js +22 -30
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-renaming.js +17 -21
- package/build-module/hooks/block-renaming.js.map +1 -1
- package/build-module/hooks/border.js +57 -78
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +74 -86
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +27 -27
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +11 -27
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-fields.js +20 -39
- package/build-module/hooks/custom-fields.js.map +1 -1
- package/build-module/hooks/dimensions.js +21 -16
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +30 -61
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js +14 -23
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +49 -119
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +18 -14
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +5 -3
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout-child.js +60 -0
- package/build-module/hooks/layout-child.js.map +1 -0
- package/build-module/hooks/layout.js +13 -98
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/padding.js +2 -2
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/position.js +38 -59
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +51 -84
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/typography.js +33 -12
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +149 -6
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +0 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/private-actions.js +7 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +33 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +8 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +3 -53
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +56 -0
- package/build-module/store/utils.js.map +1 -0
- package/build-module/utils/object.js +21 -60
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/selection.js +9 -1
- package/build-module/utils/selection.js.map +1 -1
- package/build-style/style-rtl.css +113 -293
- package/build-style/style.css +113 -293
- package/package.json +31 -31
- package/src/components/block-canvas/index.js +31 -17
- package/src/components/block-caption/README.md +2 -2
- package/src/components/block-card/index.js +5 -3
- package/src/components/block-card/style.scss +7 -3
- package/src/components/block-controls/hook.js +8 -30
- package/src/components/block-controls/test/index.js +3 -3
- package/src/components/block-edit/context.js +3 -0
- package/src/components/block-edit/index.js +36 -10
- package/src/components/block-info-slot-fill/index.js +6 -3
- package/src/components/block-inspector/style.scss +0 -4
- package/src/components/block-list/block.js +39 -5
- package/src/components/block-list/block.native.js +18 -4
- package/src/components/block-list/use-block-props/index.js +74 -21
- package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -34
- package/src/components/block-list/use-block-props/use-is-hovered.js +2 -13
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +1 -5
- package/src/components/block-patterns-list/index.js +1 -1
- package/src/components/block-removal-warning-modal/index.js +7 -14
- package/src/components/block-rename/modal.js +7 -1
- package/src/components/block-settings/container.native.js +3 -5
- package/src/components/block-styles/index.js +1 -1
- package/src/components/block-styles/index.native.js +4 -2
- package/src/components/block-styles/style.scss +0 -11
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +3 -1
- package/src/components/block-toolbar/index.js +180 -95
- package/src/components/block-toolbar/style.scss +50 -66
- package/src/components/block-tools/block-toolbar-breadcrumb.js +46 -0
- package/src/components/block-tools/block-toolbar-popover.js +90 -0
- package/src/components/block-tools/index.js +42 -29
- package/src/components/block-tools/style.scss +60 -172
- package/src/components/block-types-list/index.native.js +2 -1
- package/src/components/block-variation-picker/index.native.js +1 -1
- package/src/components/colors-gradients/control.js +49 -30
- package/src/components/colors-gradients/style.scss +0 -7
- package/src/components/duotone-control/index.js +2 -5
- package/src/components/duotone-control/style.scss +1 -6
- package/src/components/global-styles/color-panel.js +34 -25
- package/src/components/global-styles/filters-panel.js +8 -4
- package/src/components/global-styles/typography-panel.js +23 -43
- package/src/components/image-link-destinations/index.native.js +152 -0
- package/src/components/image-link-destinations/style.native.scss +16 -0
- package/src/components/index.native.js +1 -0
- package/src/components/inner-blocks/README.md +13 -2
- package/src/components/inserter/media-tab/media-panel.js +1 -1
- package/src/components/inserter/menu.js +16 -8
- package/src/components/inserter/preview-panel.js +2 -2
- package/src/components/inserter/style.scss +15 -17
- package/src/components/inserter-button/README.md +62 -0
- package/src/components/inserter-button/index.native.js +116 -0
- package/src/components/inserter-button/sparkles.js +15 -0
- package/src/components/inserter-button/style.native.scss +72 -0
- package/src/components/inserter-draggable-blocks/index.js +18 -5
- package/src/components/inspector-controls/fill.js +6 -3
- package/src/components/inspector-controls/fill.native.js +6 -3
- package/src/components/link-control/style.scss +1 -1
- package/src/components/link-control/test/index.js +1 -1
- package/src/components/navigable-toolbar/README.md +2 -0
- package/src/components/navigable-toolbar/index.js +2 -2
- package/src/components/preview-options/index.js +6 -86
- package/src/components/rich-text/content.js +27 -20
- package/src/components/rich-text/get-rich-text-values.js +6 -1
- package/src/components/rich-text/index.js +5 -46
- package/src/components/rich-text/index.native.js +8 -25
- package/src/components/rich-text/native/get-format-colors.native.js +33 -40
- package/src/components/rich-text/native/index.native.js +7 -48
- package/src/components/rich-text/use-input-rules.js +6 -1
- package/src/components/rich-text/with-deprecations.js +51 -0
- package/src/components/use-block-drop-zone/index.js +114 -14
- package/src/components/use-on-block-drop/index.js +2 -1
- package/src/components/use-resize-canvas/README.md +3 -3
- package/src/components/use-resize-canvas/index.js +4 -1
- package/src/components/use-settings/index.js +15 -1
- package/src/hooks/align.js +15 -76
- package/src/hooks/align.native.js +1 -0
- package/src/hooks/anchor.js +13 -33
- package/src/hooks/background.js +28 -23
- package/src/hooks/block-hooks.js +22 -51
- package/src/hooks/block-renaming.js +23 -37
- package/src/hooks/border.js +67 -118
- package/src/hooks/color.js +100 -132
- package/src/hooks/content-lock-ui.js +110 -122
- package/src/hooks/custom-class-name.js +8 -40
- package/src/hooks/custom-fields.js +20 -47
- package/src/hooks/dimensions.js +20 -16
- package/src/hooks/duotone.js +70 -127
- package/src/hooks/font-family.js +10 -29
- package/src/hooks/font-size.js +66 -162
- package/src/hooks/index.js +42 -14
- package/src/hooks/index.native.js +6 -3
- package/src/hooks/layout-child.js +53 -0
- package/src/hooks/layout.js +13 -102
- package/src/hooks/padding.js +2 -2
- package/src/hooks/position.js +50 -90
- package/src/hooks/style.js +117 -187
- package/src/hooks/test/align.js +1 -178
- package/src/hooks/typography.js +20 -16
- package/src/hooks/utils.js +187 -6
- package/src/private-apis.js +0 -2
- package/src/store/private-actions.js +8 -0
- package/src/store/private-selectors.js +45 -0
- package/src/store/reducer.js +8 -0
- package/src/store/selectors.js +5 -69
- package/src/store/utils.js +74 -0
- package/src/style.scss +0 -2
- package/src/utils/object.js +18 -69
- package/src/utils/selection.js +9 -2
- package/build/components/block-list/use-block-props/use-block-class-names.js +0 -67
- package/build/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js +0 -46
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js +0 -37
- package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
- package/build/components/block-tools/back-compat.js +0 -45
- package/build/components/block-tools/back-compat.js.map +0 -1
- package/build/components/block-tools/block-contextual-toolbar.js +0 -91
- package/build/components/block-tools/block-contextual-toolbar.js.map +0 -1
- package/build/components/block-tools/selected-block-tools.js +0 -113
- package/build/components/block-tools/selected-block-tools.js.map +0 -1
- package/build/components/inserter/hooks/use-debounced-input.js +0 -22
- package/build/components/inserter/hooks/use-debounced-input.js.map +0 -1
- package/build/components/use-display-block-controls/index.js +0 -39
- package/build/components/use-display-block-controls/index.js.map +0 -1
- package/build/components/use-display-block-controls/index.native.js +0 -39
- package/build/components/use-display-block-controls/index.native.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-class-names.js +0 -60
- package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +0 -40
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +0 -31
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
- package/build-module/components/block-tools/back-compat.js +0 -35
- package/build-module/components/block-tools/back-compat.js.map +0 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +0 -83
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +0 -1
- package/build-module/components/block-tools/selected-block-tools.js +0 -105
- package/build-module/components/block-tools/selected-block-tools.js.map +0 -1
- package/build-module/components/inserter/hooks/use-debounced-input.js +0 -15
- package/build-module/components/inserter/hooks/use-debounced-input.js.map +0 -1
- package/build-module/components/use-display-block-controls/index.js +0 -32
- package/build-module/components/use-display-block-controls/index.js.map +0 -1
- package/build-module/components/use-display-block-controls/index.native.js +0 -32
- package/build-module/components/use-display-block-controls/index.native.js.map +0 -1
- package/src/components/block-list/use-block-props/use-block-class-names.js +0 -66
- package/src/components/block-list/use-block-props/use-block-custom-class-name.js +0 -44
- package/src/components/block-list/use-block-props/use-block-default-class-name.js +0 -35
- package/src/components/block-parent-selector/style.scss +0 -11
- package/src/components/block-tools/back-compat.js +0 -35
- package/src/components/block-tools/block-contextual-toolbar.js +0 -100
- package/src/components/block-tools/selected-block-tools.js +0 -127
- package/src/components/inserter/hooks/use-debounced-input.js +0 -18
- package/src/components/preview-options/README.md +0 -94
- package/src/components/preview-options/style.scss +0 -64
- package/src/components/use-display-block-controls/index.js +0 -36
- package/src/components/use-display-block-controls/index.native.js +0 -37
- package/src/hooks/test/color.js +0 -112
|
@@ -7,14 +7,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.addAttribute = addAttribute;
|
|
8
8
|
exports.addSaveProps = addSaveProps;
|
|
9
9
|
exports.addTransforms = addTransforms;
|
|
10
|
-
exports.
|
|
10
|
+
exports.default = void 0;
|
|
11
11
|
var _react = require("react");
|
|
12
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
13
|
var _hooks = require("@wordpress/hooks");
|
|
14
14
|
var _components = require("@wordpress/components");
|
|
15
15
|
var _i18n = require("@wordpress/i18n");
|
|
16
16
|
var _blocks = require("@wordpress/blocks");
|
|
17
|
-
var _compose = require("@wordpress/compose");
|
|
18
17
|
var _components2 = require("../components");
|
|
19
18
|
var _blockEditingMode = require("../components/block-editing-mode");
|
|
20
19
|
/**
|
|
@@ -48,8 +47,8 @@ function addAttribute(settings) {
|
|
|
48
47
|
}
|
|
49
48
|
return settings;
|
|
50
49
|
}
|
|
51
|
-
function
|
|
52
|
-
|
|
50
|
+
function CustomClassNameControlsPure({
|
|
51
|
+
className,
|
|
53
52
|
setAttributes
|
|
54
53
|
}) {
|
|
55
54
|
const blockEditingMode = (0, _blockEditingMode.useBlockEditingMode)();
|
|
@@ -63,7 +62,7 @@ function CustomClassNameControls({
|
|
|
63
62
|
__next40pxDefaultSize: true,
|
|
64
63
|
autoComplete: "off",
|
|
65
64
|
label: (0, _i18n.__)('Additional CSS class(es)'),
|
|
66
|
-
value:
|
|
65
|
+
value: className || '',
|
|
67
66
|
onChange: nextValue => {
|
|
68
67
|
setAttributes({
|
|
69
68
|
className: nextValue !== '' ? nextValue : undefined
|
|
@@ -72,28 +71,13 @@ function CustomClassNameControls({
|
|
|
72
71
|
help: (0, _i18n.__)('Separate multiple classes with spaces.')
|
|
73
72
|
}));
|
|
74
73
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
*
|
|
83
|
-
* @return {Component} Wrapped component.
|
|
84
|
-
*/
|
|
85
|
-
const withCustomClassNameControls = (0, _compose.createHigherOrderComponent)(BlockEdit => {
|
|
86
|
-
return props => {
|
|
87
|
-
const hasCustomClassName = (0, _blocks.hasBlockSupport)(props.name, 'customClassName', true);
|
|
88
|
-
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(BlockEdit, {
|
|
89
|
-
...props
|
|
90
|
-
}), hasCustomClassName && props.isSelected && (0, _react.createElement)(CustomClassNameControls, {
|
|
91
|
-
attributes: props.attributes,
|
|
92
|
-
setAttributes: props.setAttributes
|
|
93
|
-
}));
|
|
94
|
-
};
|
|
95
|
-
}, 'withCustomClassNameControls');
|
|
96
|
-
|
|
74
|
+
var _default = {
|
|
75
|
+
edit: CustomClassNameControlsPure,
|
|
76
|
+
attributeKeys: ['className'],
|
|
77
|
+
hasSupport(name) {
|
|
78
|
+
return (0, _blocks.hasBlockSupport)(name, 'customClassName', true);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
97
81
|
/**
|
|
98
82
|
* Override props assigned to save component to inject the className, if block
|
|
99
83
|
* supports customClassName. This is only applied if the block's save result is an
|
|
@@ -105,7 +89,7 @@ const withCustomClassNameControls = (0, _compose.createHigherOrderComponent)(Blo
|
|
|
105
89
|
*
|
|
106
90
|
* @return {Object} Filtered props applied to save element.
|
|
107
91
|
*/
|
|
108
|
-
exports.
|
|
92
|
+
exports.default = _default;
|
|
109
93
|
function addSaveProps(extraProps, blockType, attributes) {
|
|
110
94
|
if ((0, _blocks.hasBlockSupport)(blockType, 'customClassName', true) && attributes.className) {
|
|
111
95
|
extraProps.className = (0, _classnames.default)(extraProps.className, attributes.className);
|
|
@@ -148,7 +132,6 @@ function addTransforms(result, source, index, results) {
|
|
|
148
132
|
return result;
|
|
149
133
|
}
|
|
150
134
|
(0, _hooks.addFilter)('blocks.registerBlockType', 'core/editor/custom-class-name/attribute', addAttribute);
|
|
151
|
-
(0, _hooks.addFilter)('editor.BlockEdit', 'core/editor/custom-class-name/with-inspector-controls', withCustomClassNameControls);
|
|
152
135
|
(0, _hooks.addFilter)('blocks.getSaveContent.extraProps', 'core/editor/custom-class-name/save-props', addSaveProps);
|
|
153
136
|
(0, _hooks.addFilter)('blocks.switchToBlockType.transformedBlock', 'core/color/addTransforms', addTransforms);
|
|
154
137
|
//# sourceMappingURL=custom-class-name.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_hooks","_components","_i18n","_blocks","
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_hooks","_components","_i18n","_blocks","_components2","_blockEditingMode","addAttribute","settings","hasBlockSupport","attributes","className","type","CustomClassNameControlsPure","setAttributes","blockEditingMode","useBlockEditingMode","_react","createElement","InspectorControls","group","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","autoComplete","label","__","value","onChange","nextValue","undefined","help","_default","edit","attributeKeys","hasSupport","name","exports","default","addSaveProps","extraProps","blockType","classnames","addTransforms","result","source","index","results","length","innerBlocks","originClassName","addFilter"],"sources":["@wordpress/block-editor/src/hooks/custom-class-name.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { TextControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * Filters registered block settings, extending attributes to include `className`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( hasBlockSupport( settings, 'customClassName', true ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tclassName: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction CustomClassNameControlsPure( { className, setAttributes } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tlabel={ __( 'Additional CSS class(es)' ) }\n\t\t\t\tvalue={ className || '' }\n\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tclassName: nextValue !== '' ? nextValue : undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\thelp={ __( 'Separate multiple classes with spaces.' ) }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\tedit: CustomClassNameControlsPure,\n\tattributeKeys: [ 'className' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'customClassName', true );\n\t},\n};\n\n/**\n * Override props assigned to save component to inject the className, if block\n * supports customClassName. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif (\n\t\thasBlockSupport( blockType, 'customClassName', true ) &&\n\t\tattributes.className\n\t) {\n\t\textraProps.className = classnames(\n\t\t\textraProps.className,\n\t\t\tattributes.className\n\t\t);\n\t}\n\n\treturn extraProps;\n}\n\nexport function addTransforms( result, source, index, results ) {\n\tif ( ! hasBlockSupport( result.name, 'customClassName', true ) ) {\n\t\treturn result;\n\t}\n\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the class should not be kept.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\n\t// If we are transforming one block to multiple blocks or multiple blocks to one block,\n\t// we ignore the class during the transform.\n\tif (\n\t\t( results.length === 1 && source.length > 1 ) ||\n\t\t( results.length > 1 && source.length === 1 )\n\t) {\n\t\treturn result;\n\t}\n\n\t// If we are in presence of transform between one or more block in the source\n\t// that have one or more blocks in the result\n\t// we apply the class on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( source[ index ] ) {\n\t\tconst originClassName = source[ index ]?.attributes.className;\n\t\tif ( originClassName ) {\n\t\t\treturn {\n\t\t\t\t...result,\n\t\t\t\tattributes: {\n\t\t\t\t\t...result.attributes,\n\t\t\t\t\tclassName: originClassName,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t}\n\treturn result;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/custom-class-name/attribute',\n\taddAttribute\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/editor/custom-class-name/save-props',\n\taddSaveProps\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/color/addTransforms',\n\taddTransforms\n);\n"],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
3
7
|
var _react = require("react");
|
|
4
8
|
var _hooks = require("@wordpress/hooks");
|
|
5
9
|
var _components = require("@wordpress/components");
|
|
6
10
|
var _i18n = require("@wordpress/i18n");
|
|
7
11
|
var _blocks = require("@wordpress/blocks");
|
|
8
|
-
var _compose = require("@wordpress/compose");
|
|
9
12
|
var _components2 = require("../components");
|
|
10
13
|
var _blockEditingMode = require("../components/block-editing-mode");
|
|
11
14
|
/**
|
|
@@ -35,7 +38,11 @@ function addAttribute(settings) {
|
|
|
35
38
|
}
|
|
36
39
|
return settings;
|
|
37
40
|
}
|
|
38
|
-
function
|
|
41
|
+
function CustomFieldsControlPure({
|
|
42
|
+
name,
|
|
43
|
+
connections,
|
|
44
|
+
setAttributes
|
|
45
|
+
}) {
|
|
39
46
|
const blockEditingMode = (0, _blockEditingMode.useBlockEditingMode)();
|
|
40
47
|
if (blockEditingMode !== 'default') {
|
|
41
48
|
return null;
|
|
@@ -45,8 +52,8 @@ function CustomFieldsControl(props) {
|
|
|
45
52
|
// attribute to use for the connection. Only the `content` attribute
|
|
46
53
|
// of the paragraph block and the `url` attribute of the image block are supported.
|
|
47
54
|
let attributeName;
|
|
48
|
-
if (
|
|
49
|
-
if (
|
|
55
|
+
if (name === 'core/paragraph') attributeName = 'content';
|
|
56
|
+
if (name === 'core/image') attributeName = 'url';
|
|
50
57
|
return (0, _react.createElement)(_components2.InspectorControls, null, (0, _react.createElement)(_components.PanelBody, {
|
|
51
58
|
title: (0, _i18n.__)('Connections'),
|
|
52
59
|
initialOpen: true
|
|
@@ -54,16 +61,16 @@ function CustomFieldsControl(props) {
|
|
|
54
61
|
__nextHasNoMarginBottom: true,
|
|
55
62
|
autoComplete: "off",
|
|
56
63
|
label: (0, _i18n.__)('Custom field meta_key'),
|
|
57
|
-
value:
|
|
64
|
+
value: connections?.attributes?.[attributeName]?.value || '',
|
|
58
65
|
onChange: nextValue => {
|
|
59
66
|
if (nextValue === '') {
|
|
60
|
-
|
|
67
|
+
setAttributes({
|
|
61
68
|
connections: undefined,
|
|
62
69
|
[attributeName]: undefined,
|
|
63
70
|
placeholder: undefined
|
|
64
71
|
});
|
|
65
72
|
} else {
|
|
66
|
-
|
|
73
|
+
setAttributes({
|
|
67
74
|
connections: {
|
|
68
75
|
attributes: {
|
|
69
76
|
// The attributeName will be either `content` or `url`.
|
|
@@ -82,39 +89,18 @@ function CustomFieldsControl(props) {
|
|
|
82
89
|
}
|
|
83
90
|
})));
|
|
84
91
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
* between paragraph content and a custom field.
|
|
91
|
-
*
|
|
92
|
-
* @param {Component} BlockEdit Original component.
|
|
93
|
-
*
|
|
94
|
-
* @return {Component} Wrapped component.
|
|
95
|
-
*/
|
|
96
|
-
const withCustomFieldsControls = (0, _compose.createHigherOrderComponent)(BlockEdit => {
|
|
97
|
-
return props => {
|
|
98
|
-
const hasCustomFieldsSupport = (0, _blocks.hasBlockSupport)(props.name, '__experimentalConnections', false);
|
|
99
|
-
|
|
92
|
+
var _default = {
|
|
93
|
+
edit: CustomFieldsControlPure,
|
|
94
|
+
attributeKeys: ['connections'],
|
|
95
|
+
hasSupport(name) {
|
|
96
|
+
return (0, _blocks.hasBlockSupport)(name, '__experimentalConnections', false) &&
|
|
100
97
|
// Check if the current block is a paragraph or image block.
|
|
101
98
|
// Currently, only these two blocks are supported.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(BlockEdit, {
|
|
109
|
-
key: "edit",
|
|
110
|
-
...props
|
|
111
|
-
}), hasCustomFieldsSupport && props.isSelected && (0, _react.createElement)(CustomFieldsControl, {
|
|
112
|
-
...props
|
|
113
|
-
}));
|
|
114
|
-
};
|
|
115
|
-
}, 'withCustomFieldsControls');
|
|
116
|
-
if (window.__experimentalConnections) {
|
|
99
|
+
['core/paragraph', 'core/image'].includes(name);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
exports.default = _default;
|
|
103
|
+
if (window.__experimentalConnections || window.__experimentalPatternPartialSyncing) {
|
|
117
104
|
(0, _hooks.addFilter)('blocks.registerBlockType', 'core/editor/connections/attribute', addAttribute);
|
|
118
|
-
(0, _hooks.addFilter)('editor.BlockEdit', 'core/editor/connections/with-inspector-controls', withCustomFieldsControls);
|
|
119
105
|
}
|
|
120
106
|
//# sourceMappingURL=custom-fields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_hooks","require","_components","_i18n","_blocks","
|
|
1
|
+
{"version":3,"names":["_hooks","require","_components","_i18n","_blocks","_components2","_blockEditingMode","addAttribute","settings","hasBlockSupport","attributes","connections","type","CustomFieldsControlPure","name","setAttributes","blockEditingMode","useBlockEditingMode","attributeName","_react","createElement","InspectorControls","PanelBody","title","__","initialOpen","TextControl","__nextHasNoMarginBottom","autoComplete","label","value","onChange","nextValue","undefined","placeholder","source","sprintf","_default","edit","attributeKeys","hasSupport","includes","exports","default","window","__experimentalConnections","__experimentalPatternPartialSyncing","addFilter"],"sources":["@wordpress/block-editor/src/hooks/custom-fields.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { PanelBody, TextControl } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * Filters registered block settings, extending attributes to include `connections`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttribute( settings ) {\n\tif ( hasBlockSupport( settings, '__experimentalConnections', true ) ) {\n\t\t// Gracefully handle if settings.attributes.connections is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tconnections: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction CustomFieldsControlPure( { name, connections, setAttributes } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\t// If the block is a paragraph or image block, we need to know which\n\t// attribute to use for the connection. Only the `content` attribute\n\t// of the paragraph block and the `url` attribute of the image block are supported.\n\tlet attributeName;\n\tif ( name === 'core/paragraph' ) attributeName = 'content';\n\tif ( name === 'core/image' ) attributeName = 'url';\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Connections' ) } initialOpen={ true }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Custom field meta_key' ) }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tconnections?.attributes?.[ attributeName ]?.value || ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\tif ( nextValue === '' ) {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tconnections: undefined,\n\t\t\t\t\t\t\t\t[ attributeName ]: undefined,\n\t\t\t\t\t\t\t\tplaceholder: undefined,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tconnections: {\n\t\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t\t// The attributeName will be either `content` or `url`.\n\t\t\t\t\t\t\t\t\t\t[ attributeName ]: {\n\t\t\t\t\t\t\t\t\t\t\t// Source will be variable, could be post_meta, user_meta, term_meta, etc.\n\t\t\t\t\t\t\t\t\t\t\t// Could even be a custom source like a social media attribute.\n\t\t\t\t\t\t\t\t\t\t\tsource: 'meta_fields',\n\t\t\t\t\t\t\t\t\t\t\tvalue: nextValue,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t[ attributeName ]: undefined,\n\t\t\t\t\t\t\t\tplaceholder: sprintf(\n\t\t\t\t\t\t\t\t\t'This content will be replaced on the frontend by the value of \"%s\" custom field.',\n\t\t\t\t\t\t\t\t\tnextValue\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\tedit: CustomFieldsControlPure,\n\tattributeKeys: [ 'connections' ],\n\thasSupport( name ) {\n\t\treturn (\n\t\t\thasBlockSupport( name, '__experimentalConnections', false ) &&\n\t\t\t// Check if the current block is a paragraph or image block.\n\t\t\t// Currently, only these two blocks are supported.\n\t\t\t[ 'core/paragraph', 'core/image' ].includes( name )\n\t\t);\n\t},\n};\n\nif (\n\twindow.__experimentalConnections ||\n\twindow.__experimentalPatternPartialSyncing\n) {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/editor/connections/attribute',\n\t\taddAttribute\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -4,15 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.DIMENSIONS_SUPPORT_KEY = exports.AXIAL_SIDES = exports.ALL_SIDES = void 0;
|
|
8
|
-
exports.DimensionsPanel = DimensionsPanel;
|
|
9
|
-
exports.SPACING_SUPPORT_KEY = void 0;
|
|
7
|
+
exports.SPACING_SUPPORT_KEY = exports.DimensionsPanel = exports.DIMENSIONS_SUPPORT_KEY = exports.AXIAL_SIDES = exports.ALL_SIDES = void 0;
|
|
10
8
|
exports.useCustomSides = useCustomSides;
|
|
11
9
|
var _react = require("react");
|
|
12
10
|
var _element = require("@wordpress/element");
|
|
13
11
|
var _data = require("@wordpress/data");
|
|
14
12
|
var _blocks = require("@wordpress/blocks");
|
|
15
13
|
var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
|
|
14
|
+
var _compose = require("@wordpress/compose");
|
|
16
15
|
var _inspectorControls = _interopRequireDefault(require("../components/inspector-controls"));
|
|
17
16
|
var _globalStyles = require("../components/global-styles");
|
|
18
17
|
var _margin = require("./margin");
|
|
@@ -68,17 +67,14 @@ function DimensionsInspectorControl({
|
|
|
68
67
|
resetAllFilter: attributesResetAllFilter
|
|
69
68
|
}, children);
|
|
70
69
|
}
|
|
71
|
-
function
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
__unstableParentLayout
|
|
78
|
-
} = props;
|
|
79
|
-
const settings = (0, _utils.useBlockSettings)(name, __unstableParentLayout);
|
|
70
|
+
function DimensionsPanelPure({
|
|
71
|
+
clientId,
|
|
72
|
+
name,
|
|
73
|
+
setAttributes,
|
|
74
|
+
settings
|
|
75
|
+
}) {
|
|
80
76
|
const isEnabled = (0, _globalStyles.useHasDimensionsPanel)(settings);
|
|
81
|
-
const value =
|
|
77
|
+
const value = (0, _data.useSelect)(select => select(_store.store).getBlockAttributes(clientId)?.style, [clientId]);
|
|
82
78
|
const [visualizedProperty, setVisualizedProperty] = useVisualizer();
|
|
83
79
|
const onChange = newStyle => {
|
|
84
80
|
setAttributes({
|
|
@@ -88,8 +84,8 @@ function DimensionsPanel(props) {
|
|
|
88
84
|
if (!isEnabled) {
|
|
89
85
|
return null;
|
|
90
86
|
}
|
|
91
|
-
const defaultDimensionsControls = (0, _blocks.getBlockSupport)(
|
|
92
|
-
const defaultSpacingControls = (0, _blocks.getBlockSupport)(
|
|
87
|
+
const defaultDimensionsControls = (0, _blocks.getBlockSupport)(name, [DIMENSIONS_SUPPORT_KEY, '__experimentalDefaultControls']);
|
|
88
|
+
const defaultSpacingControls = (0, _blocks.getBlockSupport)(name, [SPACING_SUPPORT_KEY, '__experimentalDefaultControls']);
|
|
93
89
|
const defaultControls = {
|
|
94
90
|
...defaultDimensionsControls,
|
|
95
91
|
...defaultSpacingControls
|
|
@@ -104,16 +100,24 @@ function DimensionsPanel(props) {
|
|
|
104
100
|
onVisualize: setVisualizedProperty
|
|
105
101
|
}), !!settings?.spacing?.padding && (0, _react.createElement)(_padding.PaddingVisualizer, {
|
|
106
102
|
forceShow: visualizedProperty === 'padding',
|
|
107
|
-
|
|
103
|
+
clientId: clientId,
|
|
104
|
+
value: value
|
|
108
105
|
}), !!settings?.spacing?.margin && (0, _react.createElement)(_margin.MarginVisualizer, {
|
|
109
106
|
forceShow: visualizedProperty === 'margin',
|
|
110
|
-
|
|
107
|
+
clientId: clientId,
|
|
108
|
+
value: value
|
|
111
109
|
}));
|
|
112
110
|
}
|
|
113
111
|
|
|
112
|
+
// We don't want block controls to re-render when typing inside a block. `pure`
|
|
113
|
+
// will prevent re-renders unless props change, so only pass the needed props
|
|
114
|
+
// and not the whole attributes object.
|
|
115
|
+
const DimensionsPanel = (0, _compose.pure)(DimensionsPanelPure);
|
|
116
|
+
|
|
114
117
|
/**
|
|
115
118
|
* @deprecated
|
|
116
119
|
*/
|
|
120
|
+
exports.DimensionsPanel = DimensionsPanel;
|
|
117
121
|
function useCustomSides() {
|
|
118
122
|
(0, _deprecated.default)('wp.blockEditor.__experimentalUseCustomSides', {
|
|
119
123
|
since: '6.3',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_blocks","_deprecated","_interopRequireDefault","_inspectorControls","_globalStyles","_margin","_padding","_store","_lockUnlock","_utils","DIMENSIONS_SUPPORT_KEY","exports","SPACING_SUPPORT_KEY","ALL_SIDES","AXIAL_SIDES","useVisualizer","property","setProperty","useState","hideBlockInterface","showBlockInterface","unlock","useDispatch","blockEditorStore","useEffect","DimensionsInspectorControl","children","resetAllFilter","attributesResetAllFilter","useCallback","attributes","existingStyle","style","updatedStyle","_react","createElement","default","group","
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_blocks","_deprecated","_interopRequireDefault","_compose","_inspectorControls","_globalStyles","_margin","_padding","_store","_lockUnlock","_utils","DIMENSIONS_SUPPORT_KEY","exports","SPACING_SUPPORT_KEY","ALL_SIDES","AXIAL_SIDES","useVisualizer","property","setProperty","useState","hideBlockInterface","showBlockInterface","unlock","useDispatch","blockEditorStore","useEffect","DimensionsInspectorControl","children","resetAllFilter","attributesResetAllFilter","useCallback","attributes","existingStyle","style","updatedStyle","_react","createElement","default","group","DimensionsPanelPure","clientId","name","setAttributes","settings","isEnabled","useHasDimensionsPanel","value","useSelect","select","getBlockAttributes","visualizedProperty","setVisualizedProperty","onChange","newStyle","cleanEmptyObject","defaultDimensionsControls","getBlockSupport","defaultSpacingControls","defaultControls","Fragment","DimensionsPanel","as","panelId","onVisualize","spacing","padding","PaddingVisualizer","forceShow","margin","MarginVisualizer","pure","useCustomSides","deprecated","since","version"],"sources":["@wordpress/block-editor/src/hooks/dimensions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\nimport { pure } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tDimensionsPanel as StylesDimensionsPanel,\n\tuseHasDimensionsPanel,\n} from '../components/global-styles';\nimport { MarginVisualizer } from './margin';\nimport { PaddingVisualizer } from './padding';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nimport { cleanEmptyObject } from './utils';\n\nexport const DIMENSIONS_SUPPORT_KEY = 'dimensions';\nexport const SPACING_SUPPORT_KEY = 'spacing';\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nexport const AXIAL_SIDES = [ 'vertical', 'horizontal' ];\n\nfunction useVisualizer() {\n\tconst [ property, setProperty ] = useState( false );\n\tconst { hideBlockInterface, showBlockInterface } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tuseEffect( () => {\n\t\tif ( ! property ) {\n\t\t\tshowBlockInterface();\n\t\t} else {\n\t\t\thideBlockInterface();\n\t\t}\n\t}, [ property, showBlockInterface, hideBlockInterface ] );\n\n\treturn [ property, setProperty ];\n}\n\nfunction DimensionsInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributes.style;\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tstyle: updatedStyle,\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"dimensions\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nfunction DimensionsPanelPure( { clientId, name, setAttributes, settings } ) {\n\tconst isEnabled = useHasDimensionsPanel( settings );\n\tconst value = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId )?.style,\n\t\t[ clientId ]\n\t);\n\tconst [ visualizedProperty, setVisualizedProperty ] = useVisualizer();\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultDimensionsControls = getBlockSupport( name, [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultSpacingControls = getBlockSupport( name, [\n\t\tSPACING_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultControls = {\n\t\t...defaultDimensionsControls,\n\t\t...defaultSpacingControls,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<StylesDimensionsPanel\n\t\t\t\tas={ DimensionsInspectorControl }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tsettings={ settings }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tdefaultControls={ defaultControls }\n\t\t\t\tonVisualize={ setVisualizedProperty }\n\t\t\t/>\n\t\t\t{ !! settings?.spacing?.padding && (\n\t\t\t\t<PaddingVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'padding' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! settings?.spacing?.margin && (\n\t\t\t\t<MarginVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'margin' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n// We don't want block controls to re-render when typing inside a block. `pure`\n// will prevent re-renders unless props change, so only pass the needed props\n// and not the whole attributes object.\nexport const DimensionsPanel = pure( DimensionsPanelPure );\n\n/**\n * @deprecated\n */\nexport function useCustomSides() {\n\tdeprecated( 'wp.blockEditor.__experimentalUseCustomSides', {\n\t\tsince: '6.3',\n\t\tversion: '6.4',\n\t} );\n}\n"],"mappings":"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"}
|
package/build/hooks/duotone.js
CHANGED
|
@@ -4,10 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
exports.default = void 0;
|
|
7
8
|
exports.getColorsFromDuotonePreset = getColorsFromDuotonePreset;
|
|
8
9
|
exports.getDuotonePresetFromColors = getDuotonePresetFromColors;
|
|
9
10
|
var _react = require("react");
|
|
10
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
11
|
var _colord = require("colord");
|
|
12
12
|
var _names = _interopRequireDefault(require("colord/plugins/names"));
|
|
13
13
|
var _blocks = require("@wordpress/blocks");
|
|
@@ -69,12 +69,11 @@ function getDuotonePresetFromColors(colors, duotonePalette) {
|
|
|
69
69
|
});
|
|
70
70
|
return preset ? `var:preset|duotone|${preset.slug}` : undefined;
|
|
71
71
|
}
|
|
72
|
-
function
|
|
73
|
-
|
|
72
|
+
function DuotonePanelPure({
|
|
73
|
+
style,
|
|
74
74
|
setAttributes,
|
|
75
75
|
name
|
|
76
76
|
}) {
|
|
77
|
-
const style = attributes?.style;
|
|
78
77
|
const duotoneStyle = style?.color?.duotone;
|
|
79
78
|
const settings = (0, _utils3.useBlockSettings)(name);
|
|
80
79
|
const blockEditingMode = (0, _blockEditingMode.useBlockEditingMode)();
|
|
@@ -142,7 +141,15 @@ function DuotonePanel({
|
|
|
142
141
|
settings: settings
|
|
143
142
|
})));
|
|
144
143
|
}
|
|
145
|
-
|
|
144
|
+
var _default = {
|
|
145
|
+
shareWithChildBlocks: true,
|
|
146
|
+
edit: DuotonePanelPure,
|
|
147
|
+
useBlockProps,
|
|
148
|
+
attributeKeys: ['style'],
|
|
149
|
+
hasSupport(name) {
|
|
150
|
+
return (0, _blocks.hasBlockSupport)(name, 'filter.duotone');
|
|
151
|
+
}
|
|
152
|
+
};
|
|
146
153
|
/**
|
|
147
154
|
* Filters registered block settings, extending attributes to include
|
|
148
155
|
* the `duotone` attribute.
|
|
@@ -151,6 +158,7 @@ function DuotonePanel({
|
|
|
151
158
|
*
|
|
152
159
|
* @return {Object} Filtered block settings.
|
|
153
160
|
*/
|
|
161
|
+
exports.default = _default;
|
|
154
162
|
function addDuotoneAttributes(settings) {
|
|
155
163
|
// Previous `color.__experimentalDuotone` support flag is migrated via
|
|
156
164
|
// block_type_metadata_settings filter in `lib/block-supports/duotone.php`.
|
|
@@ -169,31 +177,7 @@ function addDuotoneAttributes(settings) {
|
|
|
169
177
|
}
|
|
170
178
|
return settings;
|
|
171
179
|
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Override the default edit UI to include toolbar controls for duotone if the
|
|
175
|
-
* block supports duotone.
|
|
176
|
-
*
|
|
177
|
-
* @param {Function} BlockEdit Original component.
|
|
178
|
-
*
|
|
179
|
-
* @return {Function} Wrapped component.
|
|
180
|
-
*/
|
|
181
|
-
const withDuotoneControls = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
|
|
182
|
-
// Previous `color.__experimentalDuotone` support flag is migrated via
|
|
183
|
-
// block_type_metadata_settings filter in `lib/block-supports/duotone.php`.
|
|
184
|
-
const hasDuotoneSupport = (0, _blocks.hasBlockSupport)(props.name, 'filter.duotone');
|
|
185
|
-
|
|
186
|
-
// CAUTION: code added before this line will be executed
|
|
187
|
-
// for all blocks, not just those that support duotone. Code added
|
|
188
|
-
// above this line should be carefully evaluated for its impact on
|
|
189
|
-
// performance.
|
|
190
|
-
return (0, _react.createElement)(_react.Fragment, null, hasDuotoneSupport && (0, _react.createElement)(DuotonePanel, {
|
|
191
|
-
...props
|
|
192
|
-
}), (0, _react.createElement)(BlockEdit, {
|
|
193
|
-
...props
|
|
194
|
-
}));
|
|
195
|
-
}, 'withDuotoneControls');
|
|
196
|
-
function DuotoneStyles({
|
|
180
|
+
function useDuotoneStyles({
|
|
197
181
|
clientId,
|
|
198
182
|
id: filterId,
|
|
199
183
|
selector: duotoneSelector,
|
|
@@ -269,20 +253,14 @@ function DuotoneStyles({
|
|
|
269
253
|
blockElement.style.display = display;
|
|
270
254
|
}
|
|
271
255
|
}, [isValidFilter, blockElement]);
|
|
272
|
-
return null;
|
|
273
256
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
*
|
|
280
|
-
* @return {Function} Wrapped component.
|
|
281
|
-
*/
|
|
282
|
-
const withDuotoneStyles = (0, _compose.createHigherOrderComponent)(BlockListBlock => props => {
|
|
283
|
-
const id = (0, _compose.useInstanceId)(BlockListBlock);
|
|
257
|
+
function useBlockProps({
|
|
258
|
+
name,
|
|
259
|
+
style
|
|
260
|
+
}) {
|
|
261
|
+
const id = (0, _compose.useInstanceId)(useBlockProps);
|
|
284
262
|
const selector = (0, _element.useMemo)(() => {
|
|
285
|
-
const blockType = (0, _blocks.getBlockType)(
|
|
263
|
+
const blockType = (0, _blocks.getBlockType)(name);
|
|
286
264
|
if (blockType) {
|
|
287
265
|
// Backwards compatibility for `supports.color.__experimentalDuotone`
|
|
288
266
|
// is provided via the `block_type_metadata_settings` filter. If
|
|
@@ -307,27 +285,19 @@ const withDuotoneStyles = (0, _compose.createHigherOrderComponent)(BlockListBloc
|
|
|
307
285
|
fallback: true
|
|
308
286
|
});
|
|
309
287
|
}
|
|
310
|
-
}, [
|
|
311
|
-
const attribute =
|
|
288
|
+
}, [name]);
|
|
289
|
+
const attribute = style?.color?.duotone;
|
|
312
290
|
const filterClass = `wp-duotone-${id}`;
|
|
313
291
|
const shouldRender = selector && attribute;
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
// CAUTION: code added before this line will be executed
|
|
317
|
-
// for all blocks, not just those that support duotone. Code added
|
|
318
|
-
// above this line should be carefully evaluated for its impact on
|
|
319
|
-
// performance.
|
|
320
|
-
return (0, _react.createElement)(_react.Fragment, null, shouldRender && (0, _react.createElement)(DuotoneStyles, {
|
|
321
|
-
clientId: props.clientId,
|
|
292
|
+
useDuotoneStyles({
|
|
293
|
+
clientId: id,
|
|
322
294
|
id: filterClass,
|
|
323
|
-
selector
|
|
324
|
-
attribute
|
|
325
|
-
})
|
|
326
|
-
|
|
327
|
-
className:
|
|
328
|
-
}
|
|
329
|
-
}
|
|
295
|
+
selector,
|
|
296
|
+
attribute
|
|
297
|
+
});
|
|
298
|
+
return {
|
|
299
|
+
className: shouldRender ? filterClass : ''
|
|
300
|
+
};
|
|
301
|
+
}
|
|
330
302
|
(0, _hooks.addFilter)('blocks.registerBlockType', 'core/editor/duotone/add-attributes', addDuotoneAttributes);
|
|
331
|
-
(0, _hooks.addFilter)('editor.BlockEdit', 'core/editor/duotone/with-editor-controls', withDuotoneControls);
|
|
332
|
-
(0, _hooks.addFilter)('editor.BlockListBlock', 'core/editor/duotone/with-styles', withDuotoneStyles);
|
|
333
303
|
//# sourceMappingURL=duotone.js.map
|