@wordpress/block-editor 11.5.0 → 11.7.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 +6 -0
- package/README.md +4 -0
- package/build/components/block-list/block-html.js +1 -3
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +63 -80
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-preview/auto.js +6 -23
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +1 -1
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/editor-styles/index.js +20 -2
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/global-styles/border-panel.js +306 -0
- package/build/components/global-styles/border-panel.js.map +1 -0
- package/build/components/global-styles/color-panel.js +583 -0
- package/build/components/global-styles/color-panel.js.map +1 -0
- package/build/components/global-styles/dimensions-panel.js +8 -30
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/get-block-css-selector.js +129 -0
- package/build/components/global-styles/get-block-css-selector.js.map +1 -0
- package/build/components/global-styles/hooks.js +109 -3
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +36 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +66 -45
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +180 -99
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +2 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/image-size-control/index.js +8 -5
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/inserter/index.js +29 -17
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/menu.js +1 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -2
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-results.js +10 -3
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.js +1 -1
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +43 -7
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/line-height-control/index.js +15 -1
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +1 -1
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-item.js +5 -2
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/list-view/appender.js +105 -0
- package/build/components/list-view/appender.js.map +1 -0
- package/build/components/list-view/block.js +5 -5
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +25 -5
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +37 -13
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +1 -2
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/media-replace-flow/index.js +13 -4
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/off-canvas-editor/appender.js +28 -3
- package/build/components/off-canvas-editor/appender.js.map +1 -1
- package/build/components/off-canvas-editor/branch.js +5 -3
- package/build/components/off-canvas-editor/branch.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +9 -7
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/off-canvas-editor/link-ui.js +0 -1
- package/build/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build/components/provider/use-block-sync.js +17 -3
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/format-edit.js +2 -30
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +0 -3
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/writing-flow/use-input.js +4 -8
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/hooks/border.js +90 -240
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +92 -229
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +4 -2
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/{color-panel.js → contrast-checker.js} +11 -49
- package/build/hooks/contrast-checker.js.map +1 -0
- package/build/hooks/custom-class-name.js +4 -4
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +3 -4
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +0 -1
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +3 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout.js +19 -22
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +2 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +23 -26
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +7 -1
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +2 -2
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +50 -75
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +6 -2
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/grid.js +165 -0
- package/build/layouts/grid.js.map +1 -0
- package/build/layouts/index.js +3 -1
- package/build/layouts/index.js.map +1 -1
- package/build/private-apis.js +7 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +10 -8
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +19 -3
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +76 -0
- package/build/utils/object.js.map +1 -0
- package/build/utils/parse-css-unit-to-px.js +15 -9
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/components/block-list/block-html.js +1 -3
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +66 -78
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-preview/auto.js +6 -22
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +1 -1
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/editor-styles/index.js +19 -2
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +291 -0
- package/build-module/components/global-styles/border-panel.js.map +1 -0
- package/build-module/components/global-styles/color-panel.js +554 -0
- package/build-module/components/global-styles/color-panel.js.map +1 -0
- package/build-module/components/global-styles/dimensions-panel.js +7 -30
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/get-block-css-selector.js +120 -0
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +104 -3
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +3 -0
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +65 -46
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +181 -100
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +2 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/image-size-control/index.js +8 -5
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inserter/index.js +28 -16
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/menu.js +1 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +4 -2
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-results.js +10 -3
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.js +1 -1
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +42 -7
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/line-height-control/index.js +15 -1
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +1 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-item.js +4 -2
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/list-view/appender.js +88 -0
- package/build-module/components/list-view/appender.js.map +1 -0
- package/build-module/components/list-view/block.js +5 -4
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +22 -5
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +32 -12
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +1 -2
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +12 -4
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/appender.js +28 -4
- package/build-module/components/off-canvas-editor/appender.js.map +1 -1
- package/build-module/components/off-canvas-editor/branch.js +5 -3
- package/build-module/components/off-canvas-editor/branch.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +9 -7
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/link-ui.js +0 -1
- package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +17 -3
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +3 -31
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +0 -3
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js +4 -8
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/hooks/border.js +92 -240
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +90 -232
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +4 -2
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/{color-panel.js → contrast-checker.js} +10 -44
- package/build-module/hooks/contrast-checker.js.map +1 -0
- package/build-module/hooks/custom-class-name.js +4 -4
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +3 -4
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +0 -1
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +4 -2
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/layout.js +19 -22
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +3 -3
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +23 -26
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +7 -1
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +2 -2
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +48 -72
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +6 -2
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/grid.js +151 -0
- package/build-module/layouts/grid.js.map +1 -0
- package/build-module/layouts/index.js +2 -1
- package/build-module/layouts/index.js.map +1 -1
- package/build-module/private-apis.js +5 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +10 -8
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +17 -3
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +69 -0
- package/build-module/utils/object.js.map +1 -0
- package/build-module/utils/parse-css-unit-to-px.js +15 -9
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-style/style-rtl.css +32 -12
- package/build-style/style.css +32 -12
- package/package.json +31 -31
- package/src/components/block-draggable/content.scss +1 -1
- package/src/components/block-inspector/style.scss +3 -0
- package/src/components/block-list/block-html.js +1 -1
- package/src/components/block-list/block-invalid-warning.js +72 -64
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +20 -2
- package/src/components/block-preview/auto.js +2 -17
- package/src/components/block-preview/test/index.js +0 -2
- package/src/components/block-settings-menu-controls/index.js +2 -1
- package/src/components/block-styles/style.scss +2 -2
- package/src/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/src/components/color-palette/test/__snapshots__/control.js.snap +16 -14
- package/src/components/colors-gradients/style.scss +8 -8
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +48 -38
- package/src/components/editor-styles/index.js +29 -1
- package/src/components/global-styles/border-panel.js +285 -0
- package/src/components/global-styles/color-panel.js +706 -0
- package/src/components/global-styles/dimensions-panel.js +13 -42
- package/src/components/global-styles/get-block-css-selector.js +129 -0
- package/src/components/global-styles/hooks.js +154 -1
- package/src/components/global-styles/index.js +3 -0
- package/src/components/global-styles/test/use-global-styles-output.js +31 -2
- package/src/components/global-styles/typography-panel.js +67 -45
- package/src/components/global-styles/use-global-styles-output.js +176 -93
- package/src/components/global-styles/utils.js +3 -0
- package/src/components/image-size-control/index.js +4 -3
- package/src/components/image-size-control/test/index.js +2 -2
- package/src/components/inner-blocks/README.md +1 -1
- package/src/components/inserter/index.js +30 -11
- package/src/components/inserter/menu.js +0 -1
- package/src/components/inserter/quick-inserter.js +2 -0
- package/src/components/inserter/search-results.js +7 -1
- package/src/components/inserter/style.scss +3 -0
- package/src/components/inserter/tabs.js +1 -9
- package/src/components/inspector-controls-tabs/position-controls-panel.js +40 -9
- package/src/components/line-height-control/index.js +10 -1
- package/src/components/link-control/index.js +1 -1
- package/src/components/link-control/search-item.js +3 -1
- package/src/components/link-control/style.scss +0 -4
- package/src/components/link-control/test/index.js +0 -2
- package/src/components/list-view/appender.js +101 -0
- package/src/components/list-view/block.js +5 -4
- package/src/components/list-view/branch.js +30 -1
- package/src/components/list-view/index.js +43 -10
- package/src/components/list-view/style.scss +19 -0
- package/src/components/list-view/use-block-selection.js +0 -2
- package/src/components/media-replace-flow/index.js +36 -24
- package/src/components/media-replace-flow/style.scss +5 -2
- package/src/components/off-canvas-editor/appender.js +31 -5
- package/src/components/off-canvas-editor/branch.js +3 -1
- package/src/components/off-canvas-editor/index.js +7 -7
- package/src/components/off-canvas-editor/link-ui.js +0 -1
- package/src/components/provider/use-block-sync.js +21 -4
- package/src/components/rich-text/format-edit.js +2 -32
- package/src/components/rich-text/format-toolbar-container.js +1 -7
- package/src/components/url-popover/test/index.js +0 -2
- package/src/components/writing-flow/use-input.js +4 -5
- package/src/hooks/border.js +93 -225
- package/src/hooks/color.js +120 -296
- package/src/hooks/content-lock-ui.js +6 -2
- package/src/hooks/{color-panel.js → contrast-checker.js} +10 -46
- package/src/hooks/custom-class-name.js +4 -4
- package/src/hooks/custom-class-name.native.js +3 -4
- package/src/hooks/dimensions.js +0 -1
- package/src/hooks/duotone.js +8 -5
- package/src/hooks/layout.js +19 -16
- package/src/hooks/position.js +3 -3
- package/src/hooks/style.js +29 -28
- package/src/hooks/supports.js +6 -0
- package/src/hooks/test/style.js +2 -1
- package/src/hooks/test/use-typography-props.js +2 -0
- package/src/hooks/test/utils.js +0 -104
- package/src/hooks/typography.js +2 -1
- package/src/hooks/utils.js +63 -70
- package/src/layouts/constrained.js +23 -17
- package/src/layouts/grid.js +172 -0
- package/src/layouts/index.js +2 -1
- package/src/layouts/test/grid.js +21 -0
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +10 -8
- package/src/store/selectors.js +20 -3
- package/src/utils/object.js +69 -0
- package/src/utils/parse-css-unit-to-px.js +14 -9
- package/src/utils/test/object.js +107 -0
- package/src/utils/test/parse-css-unit-to-px.js +1 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/hooks/border-radius.js +0 -100
- package/build/hooks/border-radius.js.map +0 -1
- package/build/hooks/color-panel.js.map +0 -1
- package/build-module/hooks/border-radius.js +0 -84
- package/build-module/hooks/border-radius.js.map +0 -1
- package/build-module/hooks/color-panel.js.map +0 -1
- package/src/hooks/border-radius.js +0 -70
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -76,6 +76,10 @@ registerCoreBlocks();
|
|
|
76
76
|
|
|
77
77
|
## API
|
|
78
78
|
|
|
79
|
+
Any components in this package that have a counterpart in [@wordpress/components](/packages/components/README.md) are an extension of those components.
|
|
80
|
+
|
|
81
|
+
Unless you're [creating an editor](docs/how-to-guides/platform/custom-block-editor/README.md), it is recommended that the components in @wordpress/components should be used rather than the ones in this package as these components have been customized for use in an editor and may result in unexpected behaviour if used outside of this context.
|
|
82
|
+
|
|
79
83
|
<!-- START TOKEN(Autogenerated API docs) -->
|
|
80
84
|
|
|
81
85
|
### AlignmentControl
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-html.js"],"names":["BlockHTML","clientId","html","setHtml","block","select","blockEditorStore","getBlock","updateBlock","onChange","blockType","name","attributes","content","isValid","originalContent","event","target","value"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AAWA;;AArBA;AACA;AACA;;AAGA;AACA;AACA;;AAWA;AACA;AACA;AAGA,SAASA,SAAT,OAAmC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AAClC,QAAM,CAAEC,IAAF,EAAQC,OAAR,IAAoB,uBAAU,EAAV,CAA1B;AACA,QAAMC,KAAK,GAAG,qBACXC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAA2BC,QAA3B,CAAqCN,QAArC,CADD,EAEb,CAAEA,QAAF,CAFa,CAAd;AAIA,QAAM;AAAEO,IAAAA;AAAF,MAAkB,uBAAaF,YAAb,CAAxB;;AACA,QAAMG,QAAQ,GAAG,MAAM;AACtB,UAAMC,SAAS,GAAG,0BAAcN,KAAK,CAACO,IAApB,CAAlB;;AAEA,QAAK,CAAED,SAAP,EAAmB;AAClB;AACA;;AAED,UAAME,UAAU,GAAG,gCAClBF,SADkB,EAElBR,IAFkB,EAGlBE,KAAK,CAACQ,UAHY,CAAnB,CAPsB,CAatB;;AACA,UAAMC,OAAO,GAAGX,IAAI,GAAGA,IAAH,GAAU,4BAAgBQ,SAAhB,EAA2BE,UAA3B,CAA9B;AACA,UAAM,CAAEE,OAAF,IAAcZ,IAAI,GACrB,2BAAe,EACf,GAAGE,KADY;AAEfQ,MAAAA,UAFe;AAGfG,MAAAA,eAAe,EAAEF;AAHF,KAAf,CADqB,GAMrB,CAAE,IAAF,CANH;AAQAL,IAAAA,WAAW,CAAEP,QAAF,EAAY;AACtBW,MAAAA,UADsB;AAEtBG,MAAAA,eAAe,EAAEF,OAFK;AAGtBC,MAAAA;AAHsB,KAAZ,CAAX,CAvBsB,CA6BtB;;AACA,QAAK,CAAEZ,IAAP,EAAc;AACbC,MAAAA,OAAO,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-html.js"],"names":["BlockHTML","clientId","html","setHtml","block","select","blockEditorStore","getBlock","updateBlock","onChange","blockType","name","attributes","content","isValid","originalContent","event","target","value"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AAWA;;AArBA;AACA;AACA;;AAGA;AACA;AACA;;AAWA;AACA;AACA;AAGA,SAASA,SAAT,OAAmC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AAClC,QAAM,CAAEC,IAAF,EAAQC,OAAR,IAAoB,uBAAU,EAAV,CAA1B;AACA,QAAMC,KAAK,GAAG,qBACXC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAA2BC,QAA3B,CAAqCN,QAArC,CADD,EAEb,CAAEA,QAAF,CAFa,CAAd;AAIA,QAAM;AAAEO,IAAAA;AAAF,MAAkB,uBAAaF,YAAb,CAAxB;;AACA,QAAMG,QAAQ,GAAG,MAAM;AACtB,UAAMC,SAAS,GAAG,0BAAcN,KAAK,CAACO,IAApB,CAAlB;;AAEA,QAAK,CAAED,SAAP,EAAmB;AAClB;AACA;;AAED,UAAME,UAAU,GAAG,gCAClBF,SADkB,EAElBR,IAFkB,EAGlBE,KAAK,CAACQ,UAHY,CAAnB,CAPsB,CAatB;;AACA,UAAMC,OAAO,GAAGX,IAAI,GAAGA,IAAH,GAAU,4BAAgBQ,SAAhB,EAA2BE,UAA3B,CAA9B;AACA,UAAM,CAAEE,OAAF,IAAcZ,IAAI,GACrB,2BAAe,EACf,GAAGE,KADY;AAEfQ,MAAAA,UAFe;AAGfG,MAAAA,eAAe,EAAEF;AAHF,KAAf,CADqB,GAMrB,CAAE,IAAF,CANH;AAQAL,IAAAA,WAAW,CAAEP,QAAF,EAAY;AACtBW,MAAAA,UADsB;AAEtBG,MAAAA,eAAe,EAAEF,OAFK;AAGtBC,MAAAA;AAHsB,KAAZ,CAAX,CAvBsB,CA6BtB;;AACA,QAAK,CAAEZ,IAAP,EAAc;AACbC,MAAAA,OAAO,CAAEU,OAAF,CAAP;AACA;AACD,GAjCD;;AAmCA,0BAAW,MAAM;AAChBV,IAAAA,OAAO,CAAE,6BAAiBC,KAAjB,CAAF,CAAP;AACA,GAFD,EAEG,CAAEA,KAAF,CAFH;AAIA,SACC,4BAAC,8BAAD;AACC,IAAA,SAAS,EAAC,8CADX;AAEC,IAAA,KAAK,EAAGF,IAFT;AAGC,IAAA,MAAM,EAAGO,QAHV;AAIC,IAAA,QAAQ,EAAKO,KAAF,IAAab,OAAO,CAAEa,KAAK,CAACC,MAAN,CAAaC,KAAf;AAJhC,IADD;AAQA;;eAEclB,S","sourcesContent":["/**\n * External dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tgetBlockAttributes,\n\tgetBlockContent,\n\tgetBlockType,\n\tgetSaveContent,\n\tvalidateBlock,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockHTML( { clientId } ) {\n\tconst [ html, setHtml ] = useState( '' );\n\tconst block = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { updateBlock } = useDispatch( blockEditorStore );\n\tconst onChange = () => {\n\t\tconst blockType = getBlockType( block.name );\n\n\t\tif ( ! blockType ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst attributes = getBlockAttributes(\n\t\t\tblockType,\n\t\t\thtml,\n\t\t\tblock.attributes\n\t\t);\n\n\t\t// If html is empty we reset the block to the default HTML and mark it as valid to avoid triggering an error\n\t\tconst content = html ? html : getSaveContent( blockType, attributes );\n\t\tconst [ isValid ] = html\n\t\t\t? validateBlock( {\n\t\t\t\t\t...block,\n\t\t\t\t\tattributes,\n\t\t\t\t\toriginalContent: content,\n\t\t\t } )\n\t\t\t: [ true ];\n\n\t\tupdateBlock( clientId, {\n\t\t\tattributes,\n\t\t\toriginalContent: content,\n\t\t\tisValid,\n\t\t} );\n\n\t\t// Ensure the state is updated if we reset so it displays the default content.\n\t\tif ( ! html ) {\n\t\t\tsetHtml( content );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tsetHtml( getBlockContent( block ) );\n\t}, [ block ] );\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tclassName=\"block-editor-block-list__block-html-textarea\"\n\t\t\tvalue={ html }\n\t\t\tonBlur={ onChange }\n\t\t\tonChange={ ( event ) => setHtml( event.target.value ) }\n\t\t/>\n\t);\n}\n\nexport default BlockHTML;\n"]}
|
|
@@ -5,8 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
9
|
-
exports.default = void 0;
|
|
8
|
+
exports.default = BlockInvalidWarning;
|
|
10
9
|
|
|
11
10
|
var _element = require("@wordpress/element");
|
|
12
11
|
|
|
@@ -16,8 +15,6 @@ var _components = require("@wordpress/components");
|
|
|
16
15
|
|
|
17
16
|
var _blocks = require("@wordpress/blocks");
|
|
18
17
|
|
|
19
|
-
var _compose = require("@wordpress/compose");
|
|
20
|
-
|
|
21
18
|
var _data = require("@wordpress/data");
|
|
22
19
|
|
|
23
20
|
var _warning = _interopRequireDefault(require("../warning"));
|
|
@@ -33,37 +30,80 @@ var _store = require("../../store");
|
|
|
33
30
|
/**
|
|
34
31
|
* Internal dependencies
|
|
35
32
|
*/
|
|
33
|
+
const blockToBlocks = block => (0, _blocks.rawHandler)({
|
|
34
|
+
HTML: block.originalContent
|
|
35
|
+
});
|
|
36
|
+
|
|
36
37
|
function BlockInvalidWarning(_ref) {
|
|
37
38
|
let {
|
|
38
|
-
|
|
39
|
-
convertToBlocks,
|
|
40
|
-
convertToClassic,
|
|
41
|
-
attemptBlockRecovery,
|
|
42
|
-
block
|
|
39
|
+
clientId
|
|
43
40
|
} = _ref;
|
|
44
|
-
const
|
|
41
|
+
const {
|
|
42
|
+
block,
|
|
43
|
+
canInsertHTMLBlock,
|
|
44
|
+
canInsertClassicBlock
|
|
45
|
+
} = (0, _data.useSelect)(select => {
|
|
46
|
+
const {
|
|
47
|
+
canInsertBlockType,
|
|
48
|
+
getBlock,
|
|
49
|
+
getBlockRootClientId
|
|
50
|
+
} = select(_store.store);
|
|
51
|
+
const rootClientId = getBlockRootClientId(clientId);
|
|
52
|
+
return {
|
|
53
|
+
block: getBlock(clientId),
|
|
54
|
+
canInsertHTMLBlock: canInsertBlockType('core/html', rootClientId),
|
|
55
|
+
canInsertClassicBlock: canInsertBlockType('core/freeform', rootClientId)
|
|
56
|
+
};
|
|
57
|
+
}, [clientId]);
|
|
58
|
+
const {
|
|
59
|
+
replaceBlock
|
|
60
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
45
61
|
const [compare, setCompare] = (0, _element.useState)(false);
|
|
46
|
-
const
|
|
47
|
-
const
|
|
62
|
+
const onCompareClose = (0, _element.useCallback)(() => setCompare(false), []);
|
|
63
|
+
const convert = (0, _element.useMemo)(() => ({
|
|
64
|
+
toClassic() {
|
|
65
|
+
const classicBlock = (0, _blocks.createBlock)('core/freeform', {
|
|
66
|
+
content: block.originalContent
|
|
67
|
+
});
|
|
68
|
+
return replaceBlock(block.clientId, classicBlock);
|
|
69
|
+
},
|
|
48
70
|
|
|
49
|
-
|
|
71
|
+
toHTML() {
|
|
72
|
+
const htmlBlock = (0, _blocks.createBlock)('core/html', {
|
|
73
|
+
content: block.originalContent
|
|
74
|
+
});
|
|
75
|
+
return replaceBlock(block.clientId, htmlBlock);
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
toBlocks() {
|
|
79
|
+
const newBlocks = blockToBlocks(block);
|
|
80
|
+
return replaceBlock(block.clientId, newBlocks);
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
toRecoveredBlock() {
|
|
84
|
+
const recoveredBlock = (0, _blocks.createBlock)(block.name, block.attributes, block.innerBlocks);
|
|
85
|
+
return replaceBlock(block.clientId, recoveredBlock);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
}), [block, replaceBlock]);
|
|
89
|
+
const secondaryActions = (0, _element.useMemo)(() => [{
|
|
50
90
|
// translators: Button to fix block content
|
|
51
91
|
title: (0, _i18n._x)('Resolve', 'imperative verb'),
|
|
52
|
-
onClick:
|
|
53
|
-
},
|
|
92
|
+
onClick: () => setCompare(true)
|
|
93
|
+
}, canInsertHTMLBlock && {
|
|
54
94
|
title: (0, _i18n.__)('Convert to HTML'),
|
|
55
|
-
onClick:
|
|
56
|
-
}, {
|
|
95
|
+
onClick: convert.toHTML
|
|
96
|
+
}, canInsertClassicBlock && {
|
|
57
97
|
title: (0, _i18n.__)('Convert to Classic Block'),
|
|
58
|
-
onClick:
|
|
59
|
-
}].filter(Boolean), [
|
|
98
|
+
onClick: convert.toClassic
|
|
99
|
+
}].filter(Boolean), [canInsertHTMLBlock, canInsertClassicBlock, convert]);
|
|
60
100
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_warning.default, {
|
|
61
101
|
actions: [(0, _element.createElement)(_components.Button, {
|
|
62
102
|
key: "recover",
|
|
63
|
-
onClick:
|
|
103
|
+
onClick: convert.toRecoveredBlock,
|
|
64
104
|
variant: "primary"
|
|
65
105
|
}, (0, _i18n.__)('Attempt Block Recovery'))],
|
|
66
|
-
secondaryActions:
|
|
106
|
+
secondaryActions: secondaryActions
|
|
67
107
|
}, (0, _i18n.__)('This block contains unexpected or invalid content.')), compare && (0, _element.createElement)(_components.Modal, {
|
|
68
108
|
title: // translators: Dialog title to fix block content
|
|
69
109
|
(0, _i18n.__)('Resolve Block'),
|
|
@@ -71,67 +111,10 @@ function BlockInvalidWarning(_ref) {
|
|
|
71
111
|
className: "block-editor-block-compare"
|
|
72
112
|
}, (0, _element.createElement)(_blockCompare.default, {
|
|
73
113
|
block: block,
|
|
74
|
-
onKeep:
|
|
75
|
-
onConvert:
|
|
114
|
+
onKeep: convert.toHTML,
|
|
115
|
+
onConvert: convert.toBlocks,
|
|
76
116
|
convertor: blockToBlocks,
|
|
77
117
|
convertButtonText: (0, _i18n.__)('Convert to Blocks')
|
|
78
118
|
})));
|
|
79
119
|
}
|
|
80
|
-
|
|
81
|
-
const blockToClassic = block => (0, _blocks.createBlock)('core/freeform', {
|
|
82
|
-
content: block.originalContent
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
const blockToHTML = block => (0, _blocks.createBlock)('core/html', {
|
|
86
|
-
content: block.originalContent
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
const blockToBlocks = block => (0, _blocks.rawHandler)({
|
|
90
|
-
HTML: block.originalContent
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
const recoverBlock = _ref2 => {
|
|
94
|
-
let {
|
|
95
|
-
name,
|
|
96
|
-
attributes,
|
|
97
|
-
innerBlocks
|
|
98
|
-
} = _ref2;
|
|
99
|
-
return (0, _blocks.createBlock)(name, attributes, innerBlocks);
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref3) => {
|
|
103
|
-
let {
|
|
104
|
-
clientId
|
|
105
|
-
} = _ref3;
|
|
106
|
-
return {
|
|
107
|
-
block: select(_store.store).getBlock(clientId)
|
|
108
|
-
};
|
|
109
|
-
}), (0, _data.withDispatch)((dispatch, _ref4) => {
|
|
110
|
-
let {
|
|
111
|
-
block
|
|
112
|
-
} = _ref4;
|
|
113
|
-
const {
|
|
114
|
-
replaceBlock
|
|
115
|
-
} = dispatch(_store.store);
|
|
116
|
-
return {
|
|
117
|
-
convertToClassic() {
|
|
118
|
-
replaceBlock(block.clientId, blockToClassic(block));
|
|
119
|
-
},
|
|
120
|
-
|
|
121
|
-
convertToHTML() {
|
|
122
|
-
replaceBlock(block.clientId, blockToHTML(block));
|
|
123
|
-
},
|
|
124
|
-
|
|
125
|
-
convertToBlocks() {
|
|
126
|
-
replaceBlock(block.clientId, blockToBlocks(block));
|
|
127
|
-
},
|
|
128
|
-
|
|
129
|
-
attemptBlockRecovery() {
|
|
130
|
-
replaceBlock(block.clientId, recoverBlock(block));
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
};
|
|
134
|
-
})])(BlockInvalidWarning);
|
|
135
|
-
|
|
136
|
-
exports.default = _default;
|
|
137
120
|
//# sourceMappingURL=block-invalid-warning.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.js"],"names":["blockToBlocks","block","HTML","originalContent","BlockInvalidWarning","clientId","canInsertHTMLBlock","canInsertClassicBlock","select","canInsertBlockType","getBlock","getBlockRootClientId","blockEditorStore","rootClientId","replaceBlock","compare","setCompare","onCompareClose","convert","toClassic","classicBlock","content","toHTML","htmlBlock","toBlocks","newBlocks","toRecoveredBlock","recoveredBlock","name","attributes","innerBlocks","secondaryActions","title","onClick","filter","Boolean"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { createBlock, rawHandler } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst { block, canInsertHTMLBlock, canInsertClassicBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlock, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tcanInsertHTMLBlock: canInsertBlockType(\n\t\t\t\t\t'core/html',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertClassicBlock: canInsertBlockType(\n\t\t\t\t\t'core/freeform',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst [ compare, setCompare ] = useState( false );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\tconst convert = useMemo(\n\t\t() => ( {\n\t\t\ttoClassic() {\n\t\t\t\tconst classicBlock = createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: block.originalContent,\n\t\t\t\t} );\n\t\t\t\treturn replaceBlock( block.clientId, classicBlock );\n\t\t\t},\n\t\t\ttoHTML() {\n\t\t\t\tconst htmlBlock = createBlock( 'core/html', {\n\t\t\t\t\tcontent: block.originalContent,\n\t\t\t\t} );\n\t\t\t\treturn replaceBlock( block.clientId, htmlBlock );\n\t\t\t},\n\t\t\ttoBlocks() {\n\t\t\t\tconst newBlocks = blockToBlocks( block );\n\t\t\t\treturn replaceBlock( block.clientId, newBlocks );\n\t\t\t},\n\t\t\ttoRecoveredBlock() {\n\t\t\t\tconst recoveredBlock = createBlock(\n\t\t\t\t\tblock.name,\n\t\t\t\t\tblock.attributes,\n\t\t\t\t\tblock.innerBlocks\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, recoveredBlock );\n\t\t\t},\n\t\t} ),\n\t\t[ block, replaceBlock ]\n\t);\n\n\tconst secondaryActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: () => setCompare( true ),\n\t\t\t\t},\n\t\t\t\tcanInsertHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convert.toHTML,\n\t\t\t\t},\n\t\t\t\tcanInsertClassicBlock && {\n\t\t\t\t\ttitle: __( 'Convert to Classic Block' ),\n\t\t\t\t\tonClick: convert.toClassic,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ canInsertHTMLBlock, canInsertClassicBlock, convert ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ convert.toRecoveredBlock }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt Block Recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ secondaryActions }\n\t\t\t>\n\t\t\t\t{ __( 'This block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convert.toHTML }\n\t\t\t\t\t\tonConvert={ convert.toBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -23,8 +23,6 @@ var _iframe = _interopRequireDefault(require("../iframe"));
|
|
|
23
23
|
|
|
24
24
|
var _editorStyles = _interopRequireDefault(require("../editor-styles"));
|
|
25
25
|
|
|
26
|
-
var _duotone = require("../../components/duotone");
|
|
27
|
-
|
|
28
26
|
var _store = require("../../store");
|
|
29
27
|
|
|
30
28
|
/**
|
|
@@ -54,15 +52,11 @@ function ScaledBlockPreview(_ref) {
|
|
|
54
52
|
height: contentHeight
|
|
55
53
|
}] = (0, _compose.useResizeObserver)();
|
|
56
54
|
const {
|
|
57
|
-
styles
|
|
58
|
-
duotone
|
|
55
|
+
styles
|
|
59
56
|
} = (0, _data.useSelect)(select => {
|
|
60
|
-
var _settings$__experimen, _settings$__experimen2;
|
|
61
|
-
|
|
62
57
|
const settings = select(_store.store).getSettings();
|
|
63
58
|
return {
|
|
64
|
-
styles: settings.styles
|
|
65
|
-
duotone: (_settings$__experimen = settings.__experimentalFeatures) === null || _settings$__experimen === void 0 ? void 0 : (_settings$__experimen2 = _settings$__experimen.color) === null || _settings$__experimen2 === void 0 ? void 0 : _settings$__experimen2.duotone
|
|
59
|
+
styles: settings.styles
|
|
66
60
|
};
|
|
67
61
|
}, []); // Avoid scrollbars for pattern previews.
|
|
68
62
|
|
|
@@ -75,12 +69,7 @@ function ScaledBlockPreview(_ref) {
|
|
|
75
69
|
}
|
|
76
70
|
|
|
77
71
|
return styles;
|
|
78
|
-
}, [styles, additionalStyles]);
|
|
79
|
-
const svgFilters = (0, _element.useMemo)(() => {
|
|
80
|
-
var _duotone$default, _duotone$theme;
|
|
81
|
-
|
|
82
|
-
return [...((_duotone$default = duotone === null || duotone === void 0 ? void 0 : duotone.default) !== null && _duotone$default !== void 0 ? _duotone$default : []), ...((_duotone$theme = duotone === null || duotone === void 0 ? void 0 : duotone.theme) !== null && _duotone$theme !== void 0 ? _duotone$theme : [])];
|
|
83
|
-
}, [duotone]); // Initialize on render instead of module top level, to avoid circular dependency issues.
|
|
72
|
+
}, [styles, additionalStyles]); // Initialize on render instead of module top level, to avoid circular dependency issues.
|
|
84
73
|
|
|
85
74
|
MemoizedBlockList = MemoizedBlockList || (0, _compose.pure)(_blockList.default);
|
|
86
75
|
const scale = containerWidth / viewportWidth;
|
|
@@ -93,9 +82,6 @@ function ScaledBlockPreview(_ref) {
|
|
|
93
82
|
minHeight
|
|
94
83
|
}
|
|
95
84
|
}, (0, _element.createElement)(_iframe.default, {
|
|
96
|
-
head: (0, _element.createElement)(_editorStyles.default, {
|
|
97
|
-
styles: editorStyles
|
|
98
|
-
}),
|
|
99
85
|
contentRef: (0, _compose.useRefEffect)(bodyElement => {
|
|
100
86
|
const {
|
|
101
87
|
ownerDocument: {
|
|
@@ -122,12 +108,9 @@ function ScaledBlockPreview(_ref) {
|
|
|
122
108
|
maxHeight: MAX_HEIGHT,
|
|
123
109
|
minHeight: scale !== 0 && scale < 1 && minHeight ? minHeight / scale : minHeight
|
|
124
110
|
}
|
|
125
|
-
},
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
preset: preset,
|
|
129
|
-
key: preset.slug
|
|
130
|
-
})), (0, _element.createElement)(MemoizedBlockList, {
|
|
111
|
+
}, (0, _element.createElement)(_editorStyles.default, {
|
|
112
|
+
styles: editorStyles
|
|
113
|
+
}), contentResizeListener, (0, _element.createElement)(MemoizedBlockList, {
|
|
131
114
|
renderAppender: false
|
|
132
115
|
})));
|
|
133
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/auto.js"],"names":["MemoizedBlockList","MAX_HEIGHT","ScaledBlockPreview","viewportWidth","containerWidth","minHeight","additionalStyles","contentResizeListener","height","contentHeight","styles","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/auto.js"],"names":["MemoizedBlockList","MAX_HEIGHT","ScaledBlockPreview","viewportWidth","containerWidth","minHeight","additionalStyles","contentResizeListener","height","contentHeight","styles","select","settings","store","getSettings","editorStyles","css","__unstableType","BlockList","scale","transform","maxHeight","undefined","bodyElement","ownerDocument","documentElement","classList","add","style","position","width","boxSizing","pointerEvents","AutoBlockPreview","props","containerResizeListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useResizeObserver, pure, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { Disabled } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport Iframe from '../iframe';\nimport EditorStyles from '../editor-styles';\nimport { store } from '../../store';\n\n// This is used to avoid rendering the block list if the sizes change.\nlet MemoizedBlockList;\n\nconst MAX_HEIGHT = 2000;\n\nfunction ScaledBlockPreview( {\n\tviewportWidth,\n\tcontainerWidth,\n\tminHeight,\n\tadditionalStyles = [],\n} ) {\n\tif ( ! viewportWidth ) {\n\t\tviewportWidth = containerWidth;\n\t}\n\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst { styles } = useSelect( ( select ) => {\n\t\tconst settings = select( store ).getSettings();\n\t\treturn {\n\t\t\tstyles: settings.styles,\n\t\t};\n\t}, [] );\n\n\t// Avoid scrollbars for pattern previews.\n\tconst editorStyles = useMemo( () => {\n\t\tif ( styles ) {\n\t\t\treturn [\n\t\t\t\t...styles,\n\t\t\t\t{\n\t\t\t\t\tcss: 'body{height:auto;overflow:hidden;border:none;padding:0;}',\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t\t},\n\t\t\t\t...additionalStyles,\n\t\t\t];\n\t\t}\n\n\t\treturn styles;\n\t}, [ styles, additionalStyles ] );\n\n\t// Initialize on render instead of module top level, to avoid circular dependency issues.\n\tMemoizedBlockList = MemoizedBlockList || pure( BlockList );\n\n\tconst scale = containerWidth / viewportWidth;\n\treturn (\n\t\t<Disabled\n\t\t\tclassName=\"block-editor-block-preview__content\"\n\t\t\tstyle={ {\n\t\t\t\ttransform: `scale(${ scale })`,\n\t\t\t\theight: contentHeight * scale,\n\t\t\t\tmaxHeight:\n\t\t\t\t\tcontentHeight > MAX_HEIGHT ? MAX_HEIGHT * scale : undefined,\n\t\t\t\tminHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tcontentRef={ useRefEffect( ( bodyElement ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\townerDocument: { documentElement },\n\t\t\t\t\t} = bodyElement;\n\t\t\t\t\tdocumentElement.classList.add(\n\t\t\t\t\t\t'block-editor-block-preview__content-iframe'\n\t\t\t\t\t);\n\t\t\t\t\tdocumentElement.style.position = 'absolute';\n\t\t\t\t\tdocumentElement.style.width = '100%';\n\n\t\t\t\t\t// Necessary for contentResizeListener to work.\n\t\t\t\t\tbodyElement.style.boxSizing = 'border-box';\n\t\t\t\t\tbodyElement.style.position = 'absolute';\n\t\t\t\t\tbodyElement.style.width = '100%';\n\t\t\t\t}, [] ) }\n\t\t\t\taria-hidden\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tstyle={ {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: viewportWidth,\n\t\t\t\t\theight: contentHeight,\n\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t// This is a catch-all max-height for patterns.\n\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/38175.\n\t\t\t\t\tmaxHeight: MAX_HEIGHT,\n\t\t\t\t\tminHeight:\n\t\t\t\t\t\tscale !== 0 && scale < 1 && minHeight\n\t\t\t\t\t\t\t? minHeight / scale\n\t\t\t\t\t\t\t: minHeight,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ editorStyles } />\n\t\t\t\t{ contentResizeListener }\n\t\t\t\t<MemoizedBlockList renderAppender={ false } />\n\t\t\t</Iframe>\n\t\t</Disabled>\n\t);\n}\n\nexport default function AutoBlockPreview( props ) {\n\tconst [ containerResizeListener, { width: containerWidth } ] =\n\t\tuseResizeObserver();\n\n\treturn (\n\t\t<>\n\t\t\t<div style={ { position: 'relative', width: '100%', height: 0 } }>\n\t\t\t\t{ containerResizeListener }\n\t\t\t</div>\n\t\t\t<div className=\"block-editor-block-preview__container\">\n\t\t\t\t{ !! containerWidth && (\n\t\t\t\t\t<ScaledBlockPreview\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\tcontainerWidth={ containerWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -62,7 +62,7 @@ const BlockSettingsMenuControlsSlot = _ref => {
|
|
|
62
62
|
const showLockButton = selectedClientIds.length === 1 && canLock; // Check if current selection of blocks is Groupable or Ungroupable
|
|
63
63
|
// and pass this props down to ConvertToGroupButton.
|
|
64
64
|
|
|
65
|
-
const convertToGroupButtonProps = (0, _convertToGroupButtons.useConvertToGroupButtonProps)();
|
|
65
|
+
const convertToGroupButtonProps = (0, _convertToGroupButtons.useConvertToGroupButtonProps)(selectedClientIds);
|
|
66
66
|
const {
|
|
67
67
|
isGroupable,
|
|
68
68
|
isUngroupable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"names":["Fill","Slot","BlockSettingsMenuControlsSlot","fillProps","clientIds","__unstableDisplayLocation","selectedBlocks","selectedClientIds","canRemove","select","getBlockNamesByClientId","getSelectedBlockClientIds","canRemoveBlocks","blockEditorStore","ids","canLock","showLockButton","length","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","fills","onClose","BlockSettingsMenuControls","props","document"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAIA;;AACA;;AAlBA;AACA;AACA;;AAQA;AACA;AACA;AAQA,MAAM;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiB,gCAAgB,2BAAhB,CAAvB;;AAEA,MAAMC,6BAA6B,GAAG,QAI/B;AAAA,MAJiC;AACvCC,IAAAA,SADuC;AAEvCC,IAAAA,SAAS,GAAG,IAF2B;AAGvCC,IAAAA;AAHuC,GAIjC;AACN,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,iBAAlB;AAAqCC,IAAAA;AAArC,MAAmD,qBACtDC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,uBADK;AAELC,MAAAA,yBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEI,YAAF,CAJV;AAKA,UAAMC,GAAG,GACRV,SAAS,KAAK,IAAd,GAAqBA,SAArB,GAAiCO,yBAAyB,EAD3D;AAEA,WAAO;AACNL,MAAAA,cAAc,EAAEI,uBAAuB,CAAEI,GAAF,CADjC;AAENP,MAAAA,iBAAiB,EAAEO,GAFb;AAGNN,MAAAA,SAAS,EAAEI,eAAe,CAAEE,GAAF;AAHpB,KAAP;AAKA,GAduD,EAexD,CAAEV,SAAF,CAfwD,CAAzD;AAkBA,QAAM;AAAEW,IAAAA;AAAF,MAAc,6BAAcR,iBAAiB,CAAE,CAAF,CAA/B,CAApB;AACA,QAAMS,cAAc,GAAGT,iBAAiB,CAACU,MAAlB,KAA6B,CAA7B,IAAkCF,OAAzD,CApBM,CAsBN;AACA;;AACA,QAAMG,yBAAyB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"names":["Fill","Slot","BlockSettingsMenuControlsSlot","fillProps","clientIds","__unstableDisplayLocation","selectedBlocks","selectedClientIds","canRemove","select","getBlockNamesByClientId","getSelectedBlockClientIds","canRemoveBlocks","blockEditorStore","ids","canLock","showLockButton","length","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","fills","onClose","BlockSettingsMenuControls","props","document"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAIA;;AACA;;AAlBA;AACA;AACA;;AAQA;AACA;AACA;AAQA,MAAM;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiB,gCAAgB,2BAAhB,CAAvB;;AAEA,MAAMC,6BAA6B,GAAG,QAI/B;AAAA,MAJiC;AACvCC,IAAAA,SADuC;AAEvCC,IAAAA,SAAS,GAAG,IAF2B;AAGvCC,IAAAA;AAHuC,GAIjC;AACN,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,iBAAlB;AAAqCC,IAAAA;AAArC,MAAmD,qBACtDC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,uBADK;AAELC,MAAAA,yBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEI,YAAF,CAJV;AAKA,UAAMC,GAAG,GACRV,SAAS,KAAK,IAAd,GAAqBA,SAArB,GAAiCO,yBAAyB,EAD3D;AAEA,WAAO;AACNL,MAAAA,cAAc,EAAEI,uBAAuB,CAAEI,GAAF,CADjC;AAENP,MAAAA,iBAAiB,EAAEO,GAFb;AAGNN,MAAAA,SAAS,EAAEI,eAAe,CAAEE,GAAF;AAHpB,KAAP;AAKA,GAduD,EAexD,CAAEV,SAAF,CAfwD,CAAzD;AAkBA,QAAM;AAAEW,IAAAA;AAAF,MAAc,6BAAcR,iBAAiB,CAAE,CAAF,CAA/B,CAApB;AACA,QAAMS,cAAc,GAAGT,iBAAiB,CAACU,MAAlB,KAA6B,CAA7B,IAAkCF,OAAzD,CApBM,CAsBN;AACA;;AACA,QAAMG,yBAAyB,GAC9B,yDAA8BX,iBAA9B,CADD;AAEA,QAAM;AAAEY,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAAiCF,yBAAvC;AACA,QAAMG,wBAAwB,GAC7B,CAAEF,WAAW,IAAIC,aAAjB,KAAoCZ,SADrC;AAGA,SACC,4BAAC,IAAD;AACC,IAAA,SAAS,EAAG,EACX,GAAGL,SADQ;AAEXE,MAAAA,yBAFW;AAGXC,MAAAA,cAHW;AAIXC,MAAAA;AAJW;AADb,KAQKe,KAAF,IAAa;AACd,QACC,EAAEA,KAAF,aAAEA,KAAF,eAAEA,KAAK,CAAEL,MAAT,IAAkB,CAAlB,IACA,CAAEI,wBADF,IAEA,CAAEL,cAHH,EAIE;AACD,aAAO,IAAP;AACA;;AAED,WACC,4BAAC,qBAAD,QACGA,cAAc,IACf,4BAAC,4BAAD;AACC,MAAA,QAAQ,EAAGT,iBAAiB,CAAE,CAAF;AAD7B,MAFF,EAMGe,KANH,EAOGD,wBAAwB,IACzB,4BAAC,2CAAD,6BACMH,yBADN;AAEC,MAAA,OAAO,EAAGf,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEoB;AAFtB,OARF,CADD;AAgBA,GAjCF,CADD;AAqCA,CAvED;AAyEA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,yBAAT,QAAmD;AAAA,MAAf,EAAE,GAAGC;AAAL,GAAe;AAClD,SACC,4BAAC,uCAAD;AAAe,IAAA,QAAQ,EAAGC;AAA1B,KACC,4BAAC,IAAD,EAAWD,KAAX,CADD,CADD;AAKA;;AAEDD,yBAAyB,CAACvB,IAA1B,GAAiCC,6BAAjC;eAEesB,yB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( {\n\tfillProps,\n\tclientIds = null,\n\t__unstableDisplayLocation,\n} ) => {\n\tconst { selectedBlocks, selectedClientIds, canRemove } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockNamesByClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t\tcanRemove: canRemoveBlocks( ids ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst showLockButton = selectedClientIds.length === 1 && canLock;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps =\n\t\tuseConvertToGroupButtonProps( selectedClientIds );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton =\n\t\t( isGroupable || isUngroupable ) && canRemove;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\t__unstableDisplayLocation,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {WPElement} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/block-transformations-menu.native.js"],"names":["BlockTransformationsMenu","anchorNodeRef","blockTitle","pickerRef","possibleTransformations","selectedBlock","selectedBlockClientId","replaceBlocks","blockEditorStore","createSuccessNotice","noticesStore","pickerOptions","selectedBlockName","name","blocksThatSplitWhenTransformed","map","item","label","length","includes","id","title","value","getAnchor","undefined","onPickerSelect","selectedItem","find","successNotice","Platform","OS"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAGA,MAAMA,wBAAwB,GAAG,QAO1B;AAAA,MAP4B;AAClCC,IAAAA,aADkC;AAElCC,IAAAA,UAFkC;AAGlCC,IAAAA,SAHkC;AAIlCC,IAAAA,uBAJkC;AAKlCC,IAAAA,aALkC;AAMlCC,IAAAA;AANkC,GAO5B;AACN,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,YAAb,CAA1B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;;AAEA,QAAMC,aAAa,GAAG,MAAM;AAAA;;AAC3B,UAAMC,iBAAiB,0BAAGP,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEQ,IAAlB,qEAA0B,EAAjD;AACA,UAAMC,8BAA8B,GAAG;AACtC,mBAAa,CAAE,gBAAF,EAAoB,cAApB,CADyB;AAEtC,oBAAc,CAAE,gBAAF,CAFwB;AAGtC,wBAAkB,CAAE,gBAAF;AAHoB,KAAvC;AAMA,WAAOV,uBAAuB,CAACW,GAAxB,CAA+BC,IAAF,IAAY;AAC/C,YAAMC,KAAK,GACVL,iBAAiB,CAACM,MAAlB,IACAJ,8BAA8B,CAAEF,iBAAF,CAD9B,IAEAE,8BAA8B,CAAEF,iBAAF,CAA9B,CAAoDO,QAApD,CACCH,IAAI,CAACI,EADN,CAFA,GAKI,GAAGJ,IAAI,CAACK,KAAO,SALnB,GAMGL,IAAI,CAACK,KAPT;AAQA,aAAO;AACNJ,QAAAA,KADM;AAENK,QAAAA,KAAK,EAAEN,IAAI,CAACI;AAFN,OAAP;AAIA,KAbM,CAAP;AAcA,GAtBD;;AAwBA,QAAMG,SAAS,GAAG,MACjBtB,aAAa,GAAG,iCAAgBA,aAAhB,CAAH,GAAqCuB,SADnD;;AAGA,WAASC,cAAT,CAAyBH,KAAzB,EAAiC;AAChCf,IAAAA,aAAa,CACZD,qBADY,EAEZ,+BAAmBD,aAAnB,EAAkCiB,KAAlC,CAFY,CAAb;AAKA,UAAMI,YAAY,GAAGf,aAAa,GAAGgB,IAAhB,CAClBX,IAAF,IAAYA,IAAI,CAACM,KAAL,KAAeA,KADP,CAArB;AAGA,UAAMM,aAAa,GAAG;AACrB;AACA,kBAAI,0BAAJ,CAFqB,EAGrB1B,UAHqB,EAIrBwB,YAAY,CAACT,KAJQ,CAAtB;AAMAR,IAAAA,mBAAmB,CAAEmB,aAAF,CAAnB;AACA;;AAED,SACC,4BAAC,kBAAD;AACC,IAAA,GAAG,EAAGzB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/block-transformations-menu.native.js"],"names":["BlockTransformationsMenu","anchorNodeRef","blockTitle","pickerRef","possibleTransformations","selectedBlock","selectedBlockClientId","replaceBlocks","blockEditorStore","createSuccessNotice","noticesStore","pickerOptions","selectedBlockName","name","blocksThatSplitWhenTransformed","map","item","label","length","includes","id","title","value","getAnchor","undefined","onPickerSelect","selectedItem","find","successNotice","Platform","OS"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAGA,MAAMA,wBAAwB,GAAG,QAO1B;AAAA,MAP4B;AAClCC,IAAAA,aADkC;AAElCC,IAAAA,UAFkC;AAGlCC,IAAAA,SAHkC;AAIlCC,IAAAA,uBAJkC;AAKlCC,IAAAA,aALkC;AAMlCC,IAAAA;AANkC,GAO5B;AACN,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,YAAb,CAA1B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;;AAEA,QAAMC,aAAa,GAAG,MAAM;AAAA;;AAC3B,UAAMC,iBAAiB,0BAAGP,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEQ,IAAlB,qEAA0B,EAAjD;AACA,UAAMC,8BAA8B,GAAG;AACtC,mBAAa,CAAE,gBAAF,EAAoB,cAApB,CADyB;AAEtC,oBAAc,CAAE,gBAAF,CAFwB;AAGtC,wBAAkB,CAAE,gBAAF;AAHoB,KAAvC;AAMA,WAAOV,uBAAuB,CAACW,GAAxB,CAA+BC,IAAF,IAAY;AAC/C,YAAMC,KAAK,GACVL,iBAAiB,CAACM,MAAlB,IACAJ,8BAA8B,CAAEF,iBAAF,CAD9B,IAEAE,8BAA8B,CAAEF,iBAAF,CAA9B,CAAoDO,QAApD,CACCH,IAAI,CAACI,EADN,CAFA,GAKI,GAAGJ,IAAI,CAACK,KAAO,SALnB,GAMGL,IAAI,CAACK,KAPT;AAQA,aAAO;AACNJ,QAAAA,KADM;AAENK,QAAAA,KAAK,EAAEN,IAAI,CAACI;AAFN,OAAP;AAIA,KAbM,CAAP;AAcA,GAtBD;;AAwBA,QAAMG,SAAS,GAAG,MACjBtB,aAAa,GAAG,iCAAgBA,aAAhB,CAAH,GAAqCuB,SADnD;;AAGA,WAASC,cAAT,CAAyBH,KAAzB,EAAiC;AAChCf,IAAAA,aAAa,CACZD,qBADY,EAEZ,+BAAmBD,aAAnB,EAAkCiB,KAAlC,CAFY,CAAb;AAKA,UAAMI,YAAY,GAAGf,aAAa,GAAGgB,IAAhB,CAClBX,IAAF,IAAYA,IAAI,CAACM,KAAL,KAAeA,KADP,CAArB;AAGA,UAAMM,aAAa,GAAG;AACrB;AACA,kBAAI,0BAAJ,CAFqB,EAGrB1B,UAHqB,EAIrBwB,YAAY,CAACT,KAJQ,CAAtB;AAMAR,IAAAA,mBAAmB,CAAEmB,aAAF,CAAnB;AACA;;AAED,SACC,4BAAC,kBAAD;AACC,IAAA,MAAM,EAAC,4BADR;AAEC,IAAA,GAAG,EAAGzB,SAFP;AAGC,IAAA,OAAO,EAAGQ,aAAa,EAHxB;AAIC,IAAA,QAAQ,EAAGc,cAJZ;AAKC,IAAA,gBAAgB,EAAGI,sBAASC,EAAT,KAAgB,KALpC;AAMC,IAAA,SAAS,EAAG,IANb;AAOC,IAAA,SAAS,EAAGP,SAPb,CAQC;AARD;AASC,IAAA,KAAK,EAAG,mBAAS,cAAI,iBAAJ,CAAT,EAAkCrB,UAAlC;AATT,IADD;AAaA,CArED;;eAuEeF,wB","sourcesContent":["/**\n * External dependencies\n */\nimport { findNodeHandle, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { switchToBlockType } from '@wordpress/blocks';\nimport { Picker } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockTransformationsMenu = ( {\n\tanchorNodeRef,\n\tblockTitle,\n\tpickerRef,\n\tpossibleTransformations,\n\tselectedBlock,\n\tselectedBlockClientId,\n} ) => {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst pickerOptions = () => {\n\t\tconst selectedBlockName = selectedBlock?.name ?? '';\n\t\tconst blocksThatSplitWhenTransformed = {\n\t\t\t'core/list': [ 'core/paragraph', 'core/heading' ],\n\t\t\t'core/quote': [ 'core/paragraph' ],\n\t\t\t'core/pullquote': [ 'core/paragraph' ],\n\t\t};\n\n\t\treturn possibleTransformations.map( ( item ) => {\n\t\t\tconst label =\n\t\t\t\tselectedBlockName.length &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ] &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ].includes(\n\t\t\t\t\titem.id\n\t\t\t\t)\n\t\t\t\t\t? `${ item.title } blocks`\n\t\t\t\t\t: item.title;\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tvalue: item.id,\n\t\t\t};\n\t\t} );\n\t};\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\tfunction onPickerSelect( value ) {\n\t\treplaceBlocks(\n\t\t\tselectedBlockClientId,\n\t\t\tswitchToBlockType( selectedBlock, value )\n\t\t);\n\n\t\tconst selectedItem = pickerOptions().find(\n\t\t\t( item ) => item.value === value\n\t\t);\n\t\tconst successNotice = sprintf(\n\t\t\t/* translators: 1: From block title, e.g. Paragraph. 2: To block title, e.g. Header. */\n\t\t\t__( '%1$s transformed to %2$s' ),\n\t\t\tblockTitle,\n\t\t\tselectedItem.label\n\t\t);\n\t\tcreateSuccessNotice( successNotice );\n\t}\n\n\treturn (\n\t\t<Picker\n\t\t\ttestID=\"block-transformations-menu\"\n\t\t\tref={ pickerRef }\n\t\t\toptions={ pickerOptions() }\n\t\t\tonChange={ onPickerSelect }\n\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\tleftAlign={ true }\n\t\t\tgetAnchor={ getAnchor }\n\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\ttitle={ sprintf( __( 'Transform %s to' ), blockTitle ) }\n\t\t/>\n\t);\n};\n\nexport default BlockTransformationsMenu;\n"]}
|
|
@@ -35,9 +35,12 @@ var _store = require("../../store");
|
|
|
35
35
|
* It is used in `BlockSettingsMenuControls` to know if `ConvertToGroupButton`
|
|
36
36
|
* should be rendered, to avoid ending up with an empty MenuGroup.
|
|
37
37
|
*
|
|
38
|
+
* @param {?string[]} selectedClientIds An optional array of clientIds to group. The selected blocks
|
|
39
|
+
* from the block editor store are used if this is not provided.
|
|
40
|
+
*
|
|
38
41
|
* @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`.
|
|
39
42
|
*/
|
|
40
|
-
function useConvertToGroupButtonProps() {
|
|
43
|
+
function useConvertToGroupButtonProps(selectedClientIds) {
|
|
41
44
|
const {
|
|
42
45
|
clientIds,
|
|
43
46
|
isGroupable,
|
|
@@ -57,7 +60,7 @@ function useConvertToGroupButtonProps() {
|
|
|
57
60
|
getGroupingBlockName
|
|
58
61
|
} = select(_blocks.store);
|
|
59
62
|
|
|
60
|
-
const _clientIds = getSelectedBlockClientIds();
|
|
63
|
+
const _clientIds = selectedClientIds !== null && selectedClientIds !== void 0 && selectedClientIds.length ? selectedClientIds : getSelectedBlockClientIds();
|
|
61
64
|
|
|
62
65
|
const _groupingBlockName = getGroupingBlockName();
|
|
63
66
|
|
|
@@ -82,7 +85,7 @@ function useConvertToGroupButtonProps() {
|
|
|
82
85
|
blocksSelection: _blocksSelection,
|
|
83
86
|
groupingBlockName: _groupingBlockName
|
|
84
87
|
};
|
|
85
|
-
}, []);
|
|
88
|
+
}, [selectedClientIds]);
|
|
86
89
|
return {
|
|
87
90
|
clientIds,
|
|
88
91
|
isGroupable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js"],"names":["useConvertToGroupButtonProps","clientIds","isGroupable","isUngroupable","blocksSelection","groupingBlockName","select","getBlockRootClientId","getBlocksByClientId","canInsertBlockType","getSelectedBlockClientIds","blockEditorStore","getGroupingBlockName","blocksStore","_clientIds","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js"],"names":["useConvertToGroupButtonProps","selectedClientIds","clientIds","isGroupable","isUngroupable","blocksSelection","groupingBlockName","select","getBlockRootClientId","getBlocksByClientId","canInsertBlockType","getSelectedBlockClientIds","blockEditorStore","getGroupingBlockName","blocksStore","_clientIds","length","_groupingBlockName","rootClientId","undefined","groupingBlockAvailable","_blocksSelection","isSingleGroupingBlock","name","_isGroupable","_isUngroupable","innerBlocks"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,4BAAT,CAAuCC,iBAAvC,EAA2D;AACzE,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA;AALK,MAMF,qBACDC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,oBADK;AAELC,MAAAA,mBAFK;AAGLC,MAAAA,kBAHK;AAILC,MAAAA;AAJK,QAKFJ,MAAM,CAAEK,YAAF,CALV;AAMA,UAAM;AAAEC,MAAAA;AAAF,QAA2BN,MAAM,CAAEO,aAAF,CAAvC;;AAEA,UAAMC,UAAU,GAAGd,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,IAAAA,iBAAiB,CAAEe,MAAnB,GAChBf,iBADgB,GAEhBU,yBAAyB,EAF5B;;AAGA,UAAMM,kBAAkB,GAAGJ,oBAAoB,EAA/C;;AAEA,UAAMK,YAAY,GAAG,CAAC,EAAEH,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEC,MAAd,CAAD,GAClBR,oBAAoB,CAAEO,UAAU,CAAE,CAAF,CAAZ,CADF,GAElBI,SAFH;AAIA,UAAMC,sBAAsB,GAAGV,kBAAkB,CAChDO,kBADgD,EAEhDC,YAFgD,CAAjD;;AAKA,UAAMG,gBAAgB,GAAGZ,mBAAmB,CAAEM,UAAF,CAA5C;;AAEA,UAAMO,qBAAqB,GAC1BD,gBAAgB,CAACL,MAAjB,KAA4B,CAA5B,IACA,sBAAAK,gBAAgB,CAAE,CAAF,CAAhB,wEAAuBE,IAAvB,MAAgCN,kBAFjC,CAzBa,CA6Bb;AACA;AACA;;AACA,UAAMO,YAAY,GACjBJ,sBAAsB,IAAIC,gBAAgB,CAACL,MAD5C,CAhCa,CAmCb;;;AACA,UAAMS,cAAc,GACnBH,qBAAqB,IACrB,CAAC,CAAED,gBAAgB,CAAE,CAAF,CAAhB,CAAsBK,WAAtB,CAAkCV,MAFtC;;AAGA,WAAO;AACNd,MAAAA,SAAS,EAAEa,UADL;AAENZ,MAAAA,WAAW,EAAEqB,YAFP;AAGNpB,MAAAA,aAAa,EAAEqB,cAHT;AAINpB,MAAAA,eAAe,EAAEgB,gBAJX;AAKNf,MAAAA,iBAAiB,EAAEW;AALb,KAAP;AAOA,GA/CE,EAgDH,CAAEhB,iBAAF,CAhDG,CANJ;AAyDA,SAAO;AACNC,IAAAA,SADM;AAENC,IAAAA,WAFM;AAGNC,IAAAA,aAHM;AAINC,IAAAA,eAJM;AAKNC,IAAAA;AALM,GAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Contains the properties `ConvertToGroupButton` component needs.\n *\n * @typedef {Object} ConvertToGroupButtonProps\n * @property {string[]} clientIds An array of the selected client ids.\n * @property {boolean} isGroupable Indicates if the selected blocks can be grouped.\n * @property {boolean} isUngroupable Indicates if the selected blocks can be ungrouped.\n * @property {WPBlock[]} blocksSelection An array of the selected blocks.\n * @property {string} groupingBlockName The name of block used for handling grouping interactions.\n */\n\n/**\n * Returns the properties `ConvertToGroupButton` component needs to work properly.\n * It is used in `BlockSettingsMenuControls` to know if `ConvertToGroupButton`\n * should be rendered, to avoid ending up with an empty MenuGroup.\n *\n * @param {?string[]} selectedClientIds An optional array of clientIds to group. The selected blocks\n * from the block editor store are used if this is not provided.\n *\n * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`.\n */\nexport default function useConvertToGroupButtonProps( selectedClientIds ) {\n\tconst {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getGroupingBlockName } = select( blocksStore );\n\n\t\t\tconst _clientIds = selectedClientIds?.length\n\t\t\t\t? selectedClientIds\n\t\t\t\t: getSelectedBlockClientIds();\n\t\t\tconst _groupingBlockName = getGroupingBlockName();\n\n\t\t\tconst rootClientId = !! _clientIds?.length\n\t\t\t\t? getBlockRootClientId( _clientIds[ 0 ] )\n\t\t\t\t: undefined;\n\n\t\t\tconst groupingBlockAvailable = canInsertBlockType(\n\t\t\t\t_groupingBlockName,\n\t\t\t\trootClientId\n\t\t\t);\n\n\t\t\tconst _blocksSelection = getBlocksByClientId( _clientIds );\n\n\t\t\tconst isSingleGroupingBlock =\n\t\t\t\t_blocksSelection.length === 1 &&\n\t\t\t\t_blocksSelection[ 0 ]?.name === _groupingBlockName;\n\n\t\t\t// Do we have\n\t\t\t// 1. Grouping block available to be inserted?\n\t\t\t// 2. One or more blocks selected\n\t\t\tconst _isGroupable =\n\t\t\t\tgroupingBlockAvailable && _blocksSelection.length;\n\n\t\t\t// Do we have a single Group Block selected and does that group have inner blocks?\n\t\t\tconst _isUngroupable =\n\t\t\t\tisSingleGroupingBlock &&\n\t\t\t\t!! _blocksSelection[ 0 ].innerBlocks.length;\n\t\t\treturn {\n\t\t\t\tclientIds: _clientIds,\n\t\t\t\tisGroupable: _isGroupable,\n\t\t\t\tisUngroupable: _isUngroupable,\n\t\t\t\tblocksSelection: _blocksSelection,\n\t\t\t\tgroupingBlockName: _groupingBlockName,\n\t\t\t};\n\t\t},\n\t\t[ selectedClientIds ]\n\t);\n\n\treturn {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t};\n}\n"]}
|
|
@@ -15,6 +15,8 @@ var _names = _interopRequireDefault(require("colord/plugins/names"));
|
|
|
15
15
|
|
|
16
16
|
var _a11y = _interopRequireDefault(require("colord/plugins/a11y"));
|
|
17
17
|
|
|
18
|
+
var _components = require("@wordpress/components");
|
|
19
|
+
|
|
18
20
|
var _transformStyles = _interopRequireDefault(require("../../utils/transform-styles"));
|
|
19
21
|
|
|
20
22
|
/**
|
|
@@ -74,11 +76,27 @@ function EditorStyles(_ref) {
|
|
|
74
76
|
let {
|
|
75
77
|
styles
|
|
76
78
|
} = _ref;
|
|
77
|
-
const transformedStyles = (0, _element.useMemo)(() => (0, _transformStyles.default)(styles, EDITOR_STYLES_SELECTOR), [styles]);
|
|
79
|
+
const transformedStyles = (0, _element.useMemo)(() => (0, _transformStyles.default)(styles.filter(style => style === null || style === void 0 ? void 0 : style.css), EDITOR_STYLES_SELECTOR), [styles]);
|
|
80
|
+
const transformedSvgs = (0, _element.useMemo)(() => styles.filter(style => style.__unstableType === 'svgs').map(style => style.assets).join(''), [styles]);
|
|
78
81
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("style", {
|
|
79
82
|
ref: useDarkThemeBodyClassName(styles)
|
|
80
83
|
}), transformedStyles.map((css, index) => (0, _element.createElement)("style", {
|
|
81
84
|
key: index
|
|
82
|
-
}, css)))
|
|
85
|
+
}, css)), (0, _element.createElement)(_components.SVG, {
|
|
86
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
87
|
+
viewBox: "0 0 0 0",
|
|
88
|
+
width: "0",
|
|
89
|
+
height: "0",
|
|
90
|
+
role: "none",
|
|
91
|
+
style: {
|
|
92
|
+
visibility: 'hidden',
|
|
93
|
+
position: 'absolute',
|
|
94
|
+
left: '-9999px',
|
|
95
|
+
overflow: 'hidden'
|
|
96
|
+
},
|
|
97
|
+
dangerouslySetInnerHTML: {
|
|
98
|
+
__html: transformedSvgs
|
|
99
|
+
}
|
|
100
|
+
}));
|
|
83
101
|
}
|
|
84
102
|
//# sourceMappingURL=index.js.map
|