@wordpress/block-editor 15.22.1 → 16.0.1-next.v.202607070741.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 +27 -0
- package/build/autocompleters/block.cjs +10 -2
- package/build/autocompleters/block.cjs.map +2 -2
- package/build/components/background-image-control/index.cjs +0 -2
- package/build/components/background-image-control/index.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs +3 -0
- package/build/components/block-inspector/edit-contents.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +18 -36
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-list/block-invalid-warning.cjs +8 -19
- package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
- package/build/components/block-styles/use-styles-for-block.cjs +2 -1
- package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
- package/build/components/block-title/use-block-display-title.cjs +7 -2
- package/build/components/block-title/use-block-display-title.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-icon.cjs +10 -14
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
- package/build/components/block-variation-transforms/index.cjs +0 -1
- package/build/components/block-variation-transforms/index.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs +0 -2
- package/build/components/child-layout-control/index.cjs.map +2 -2
- package/build/components/colors-gradients/control.cjs +5 -5
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/date-format-picker/index.cjs +0 -1
- package/build/components/date-format-picker/index.cjs.map +2 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs +0 -1
- package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/width-height-tool.cjs +2 -4
- package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
- package/build/components/font-appearance-control/index.cjs +6 -25
- package/build/components/font-appearance-control/index.cjs.map +3 -3
- package/build/components/font-family/index.cjs +6 -15
- package/build/components/font-family/index.cjs.map +3 -3
- package/build/components/font-sizes/font-size-picker.cjs +1 -2
- package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
- package/build/components/global-styles/border-panel.cjs +0 -1
- package/build/components/global-styles/border-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +0 -3
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs +4 -10
- package/build/components/global-styles/typography-panel.cjs.map +2 -2
- package/build/components/height-control/index.cjs +0 -2
- package/build/components/height-control/index.cjs.map +2 -2
- package/build/components/html-element-control/index.cjs +0 -1
- package/build/components/html-element-control/index.cjs.map +2 -2
- package/build/components/image-editor/index.cjs +5 -0
- package/build/components/image-editor/index.cjs.map +3 -3
- package/build/components/image-editor/zoom-dropdown.cjs +0 -1
- package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
- package/build/components/image-size-control/index.cjs +1 -3
- package/build/components/image-size-control/index.cjs.map +2 -2
- package/build/components/inner-content/index.cjs +107 -0
- package/build/components/inner-content/index.cjs.map +7 -0
- package/build/components/inserter/hooks/use-block-types-state.cjs +10 -2
- package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
- package/build/components/inserter/media-tab/hooks.cjs +34 -6
- package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-list.cjs +3 -1
- package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-panel.cjs +224 -27
- package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
- package/build/components/inserter/media-tab/media-preview.cjs +32 -17
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-tab.cjs +26 -6
- package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
- package/build/components/inserter/mobile-tab-navigation.cjs +6 -1
- package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
- package/build/components/inserter/no-results.cjs +2 -2
- package/build/components/inserter/no-results.cjs.map +2 -2
- package/build/components/inserter/preview-panel.cjs +2 -1
- package/build/components/inserter/preview-panel.cjs.map +2 -2
- package/build/components/inserter-list-item/index.cjs +8 -2
- package/build/components/inserter-list-item/index.cjs.map +2 -2
- package/build/components/letter-spacing-control/index.cjs +0 -24
- package/build/components/letter-spacing-control/index.cjs.map +3 -3
- package/build/components/line-height-control/index.cjs +7 -22
- package/build/components/line-height-control/index.cjs.map +3 -3
- package/build/components/list-view/block-select-button.cjs +90 -84
- package/build/components/list-view/block-select-button.cjs.map +2 -2
- package/build/components/list-view/block.cjs +51 -20
- package/build/components/list-view/block.cjs.map +2 -2
- package/build/components/list-view/expander.cjs +1 -1
- package/build/components/list-view/expander.cjs.map +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
- package/build/components/observe-typing/index.cjs +4 -3
- package/build/components/observe-typing/index.cjs.map +2 -2
- package/build/components/preset-input-control/custom-value-controls.cjs +1 -3
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/preset-input-control/index.cjs +1 -3
- package/build/components/preset-input-control/index.cjs.map +2 -2
- package/build/components/resolution-tool/index.cjs +1 -2
- package/build/components/resolution-tool/index.cjs.map +2 -2
- package/build/components/text-alignment-control/index.cjs +0 -1
- package/build/components/text-alignment-control/index.cjs.map +2 -2
- package/build/components/text-decoration-control/index.cjs +0 -1
- package/build/components/text-decoration-control/index.cjs.map +2 -2
- package/build/components/text-indent-control/index.cjs +0 -8
- package/build/components/text-indent-control/index.cjs.map +2 -2
- package/build/components/text-transform-control/index.cjs +0 -1
- package/build/components/text-transform-control/index.cjs.map +2 -2
- package/build/components/use-block-display-information/index.cjs +10 -8
- package/build/components/use-block-display-information/index.cjs.map +2 -2
- package/build/components/use-on-block-drop/index.cjs +3 -7
- package/build/components/use-on-block-drop/index.cjs.map +2 -2
- package/build/components/use-resize-canvas/index.cjs +16 -53
- package/build/components/use-resize-canvas/index.cjs.map +3 -3
- package/build/components/writing-mode-control/index.cjs +0 -1
- package/build/components/writing-mode-control/index.cjs.map +2 -2
- package/build/hooks/font-size.cjs +1 -2
- package/build/hooks/font-size.cjs.map +2 -2
- package/build/hooks/layout.cjs +5 -3
- package/build/hooks/layout.cjs.map +2 -2
- package/build/hooks/position.cjs +36 -16
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/states.cjs +10 -21
- package/build/hooks/states.cjs.map +2 -2
- package/build/layouts/constrained.cjs +21 -21
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +0 -3
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/grid.cjs +51 -9
- package/build/layouts/grid.cjs.map +2 -2
- package/build/private-apis.cjs +4 -2
- package/build/private-apis.cjs.map +3 -3
- package/build/store/actions.cjs.map +2 -2
- package/build/store/private-actions.cjs +16 -0
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +3 -3
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +96 -10
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +19 -3
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs +13 -0
- package/build/store/selectors.cjs.map +2 -2
- package/build-module/autocompleters/block.mjs +10 -2
- package/build-module/autocompleters/block.mjs.map +2 -2
- package/build-module/components/background-image-control/index.mjs +0 -2
- package/build-module/components/background-image-control/index.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs +4 -1
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +18 -36
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
- package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
- package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
- package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
- package/build-module/components/block-title/use-block-display-title.mjs +7 -2
- package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
- package/build-module/components/block-variation-transforms/index.mjs +0 -1
- package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +0 -2
- package/build-module/components/child-layout-control/index.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs +5 -5
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/date-format-picker/index.mjs +0 -1
- package/build-module/components/date-format-picker/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
- package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
- package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
- package/build-module/components/font-appearance-control/index.mjs +6 -15
- package/build-module/components/font-appearance-control/index.mjs.map +2 -2
- package/build-module/components/font-family/index.mjs +6 -15
- package/build-module/components/font-family/index.mjs.map +2 -2
- package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
- package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +0 -1
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs +4 -10
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/height-control/index.mjs +0 -2
- package/build-module/components/height-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/index.mjs +0 -1
- package/build-module/components/html-element-control/index.mjs.map +2 -2
- package/build-module/components/image-editor/index.mjs +5 -0
- package/build-module/components/image-editor/index.mjs.map +2 -2
- package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
- package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
- package/build-module/components/image-size-control/index.mjs +1 -3
- package/build-module/components/image-size-control/index.mjs.map +2 -2
- package/build-module/components/inner-content/index.mjs +82 -0
- package/build-module/components/inner-content/index.mjs.map +7 -0
- package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
- package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/hooks.mjs +33 -6
- package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
- package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-panel.mjs +227 -30
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
- package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
- package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
- package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
- package/build-module/components/inserter/no-results.mjs +2 -2
- package/build-module/components/inserter/no-results.mjs.map +2 -2
- package/build-module/components/inserter/preview-panel.mjs +2 -1
- package/build-module/components/inserter/preview-panel.mjs.map +2 -2
- package/build-module/components/inserter-list-item/index.mjs +8 -2
- package/build-module/components/inserter-list-item/index.mjs.map +2 -2
- package/build-module/components/letter-spacing-control/index.mjs +0 -14
- package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
- package/build-module/components/line-height-control/index.mjs +7 -12
- package/build-module/components/line-height-control/index.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +90 -84
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +51 -20
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/list-view/expander.mjs +1 -1
- package/build-module/components/list-view/expander.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
- package/build-module/components/observe-typing/index.mjs +4 -3
- package/build-module/components/observe-typing/index.mjs.map +2 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs +1 -3
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/resolution-tool/index.mjs +1 -2
- package/build-module/components/resolution-tool/index.mjs.map +2 -2
- package/build-module/components/text-alignment-control/index.mjs +0 -1
- package/build-module/components/text-alignment-control/index.mjs.map +2 -2
- package/build-module/components/text-decoration-control/index.mjs +0 -1
- package/build-module/components/text-decoration-control/index.mjs.map +2 -2
- package/build-module/components/text-indent-control/index.mjs +0 -8
- package/build-module/components/text-indent-control/index.mjs.map +2 -2
- package/build-module/components/text-transform-control/index.mjs +0 -1
- package/build-module/components/text-transform-control/index.mjs.map +2 -2
- package/build-module/components/use-block-display-information/index.mjs +10 -8
- package/build-module/components/use-block-display-information/index.mjs.map +2 -2
- package/build-module/components/use-on-block-drop/index.mjs +4 -7
- package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
- package/build-module/components/use-resize-canvas/index.mjs +6 -53
- package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
- package/build-module/components/writing-mode-control/index.mjs +0 -1
- package/build-module/components/writing-mode-control/index.mjs.map +2 -2
- package/build-module/hooks/font-size.mjs +1 -2
- package/build-module/hooks/font-size.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +4 -3
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/position.mjs +38 -18
- package/build-module/hooks/position.mjs.map +2 -2
- package/build-module/hooks/states.mjs +10 -21
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +21 -21
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +0 -3
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +52 -9
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/private-apis.mjs +5 -3
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +14 -0
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +2 -2
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +93 -10
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +17 -3
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs +13 -0
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-style/content-rtl.css +11 -5
- package/build-style/content.css +11 -5
- package/build-style/style-rtl.css +113 -3
- package/build-style/style.css +113 -3
- package/package.json +43 -41
- package/src/autocompleters/block.js +10 -3
- package/src/autocompleters/test/block.js +53 -0
- package/src/components/background-image-control/index.js +0 -2
- package/src/components/block-inspector/edit-contents.js +5 -1
- package/src/components/block-inspector/index.js +25 -44
- package/src/components/block-list/block-invalid-warning.js +8 -19
- package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
- package/src/components/block-styles/use-styles-for-block.js +1 -0
- package/src/components/block-title/use-block-display-title.js +7 -2
- package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
- package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
- package/src/components/block-variation-transforms/index.js +0 -1
- package/src/components/child-layout-control/index.js +0 -2
- package/src/components/color-palette/test/__snapshots__/control.js.snap +11 -106
- package/src/components/colors-gradients/control.js +4 -4
- package/src/components/colors-gradients/style.scss +2 -2
- package/src/components/date-format-picker/index.js +0 -1
- package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
- package/src/components/dimensions-tool/scale-tool.js +0 -1
- package/src/components/dimensions-tool/width-height-tool.js +0 -2
- package/src/components/font-appearance-control/index.js +6 -19
- package/src/components/font-family/README.md +0 -9
- package/src/components/font-family/index.js +6 -19
- package/src/components/font-family/stories/index.story.jsx +0 -1
- package/src/components/font-sizes/font-size-picker.js +0 -1
- package/src/components/global-styles/border-panel.js +0 -1
- package/src/components/global-styles/dimensions-panel.js +0 -3
- package/src/components/global-styles/typography-panel.js +0 -6
- package/src/components/height-control/index.js +0 -2
- package/src/components/html-element-control/index.js +0 -1
- package/src/components/iframe/content.scss +3 -3
- package/src/components/image-editor/index.js +22 -0
- package/src/components/image-editor/zoom-dropdown.js +0 -1
- package/src/components/image-size-control/index.js +0 -2
- package/src/components/inner-content/index.js +119 -0
- package/src/components/inner-content/test/index.js +81 -0
- package/src/components/inserter/hooks/use-block-types-state.js +10 -2
- package/src/components/inserter/media-tab/hooks.js +59 -9
- package/src/components/inserter/media-tab/media-list.js +2 -0
- package/src/components/inserter/media-tab/media-panel.js +256 -17
- package/src/components/inserter/media-tab/media-preview.js +34 -17
- package/src/components/inserter/media-tab/media-tab.js +20 -2
- package/src/components/inserter/media-tab/test/hooks.js +204 -0
- package/src/components/inserter/mobile-tab-navigation.js +6 -1
- package/src/components/inserter/no-results.js +2 -2
- package/src/components/inserter/preview-panel.js +1 -0
- package/src/components/inserter/style.scss +110 -1
- package/src/components/inserter-list-item/index.js +8 -2
- package/src/components/letter-spacing-control/README.md +0 -8
- package/src/components/letter-spacing-control/index.js +5 -23
- package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
- package/src/components/line-height-control/README.md +0 -8
- package/src/components/line-height-control/index.js +7 -16
- package/src/components/line-height-control/stories/index.story.jsx +0 -1
- package/src/components/line-height-control/test/index.js +1 -7
- package/src/components/link-picker/test/index.js +3 -1
- package/src/components/list-view/block-select-button.js +5 -1
- package/src/components/list-view/block.js +57 -20
- package/src/components/list-view/expander.js +5 -1
- package/src/components/list-view/style.scss +19 -0
- package/src/components/list-view/use-list-view-client-ids.js +2 -2
- package/src/components/observe-typing/index.js +9 -4
- package/src/components/preset-input-control/custom-value-controls.js +0 -2
- package/src/components/preset-input-control/index.js +0 -2
- package/src/components/resolution-tool/index.js +0 -1
- package/src/components/responsive-block-control/test/index.js +1 -5
- package/src/components/text-alignment-control/index.js +0 -1
- package/src/components/text-decoration-control/index.js +0 -1
- package/src/components/text-indent-control/index.js +7 -16
- package/src/components/text-transform-control/index.js +0 -1
- package/src/components/use-block-display-information/index.js +9 -13
- package/src/components/use-block-display-information/test/index.js +47 -9
- package/src/components/use-on-block-drop/index.js +4 -7
- package/src/components/use-resize-canvas/index.js +10 -71
- package/src/components/writing-mode-control/index.js +0 -1
- package/src/hooks/block-hooks.scss +15 -0
- package/src/hooks/font-size.js +0 -1
- package/src/hooks/layout.js +5 -4
- package/src/hooks/position.js +44 -23
- package/src/hooks/states.js +24 -26
- package/src/hooks/test/cross-origin-isolation.js +0 -4
- package/src/hooks/test/layout.js +75 -1
- package/src/layouts/constrained.js +51 -28
- package/src/layouts/flex.js +0 -3
- package/src/layouts/grid.js +59 -7
- package/src/layouts/test/constrained.js +91 -0
- package/src/layouts/test/grid.js +71 -0
- package/src/private-apis.js +4 -2
- package/src/store/actions.js +1 -0
- package/src/store/private-actions.js +31 -0
- package/src/store/private-keys.js +1 -1
- package/src/store/private-selectors.js +184 -11
- package/src/store/reducer.js +37 -2
- package/src/store/selectors.js +41 -0
- package/src/store/test/private-selectors.js +436 -10
- package/src/store/test/reducer.js +41 -13
- package/src/store/test/selectors.js +133 -0
- package/src/style.scss +1 -0
- package/src/components/use-resize-canvas/README.md +0 -37
|
@@ -79,7 +79,6 @@ export default function WidthHeightTool( {
|
|
|
79
79
|
min={ 0 }
|
|
80
80
|
value={ width }
|
|
81
81
|
onChange={ onDimensionChange( 'width' ) }
|
|
82
|
-
size="__unstable-large"
|
|
83
82
|
/>
|
|
84
83
|
</ToolsPanelItem>
|
|
85
84
|
<ToolsPanelItem
|
|
@@ -98,7 +97,6 @@ export default function WidthHeightTool( {
|
|
|
98
97
|
min={ 0 }
|
|
99
98
|
value={ height }
|
|
100
99
|
onChange={ onDimensionChange( 'height' ) }
|
|
101
|
-
size="__unstable-large"
|
|
102
100
|
/>
|
|
103
101
|
</ToolsPanelItem>
|
|
104
102
|
</>
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { CustomSelectControl } from '@wordpress/components';
|
|
5
|
-
import deprecated from '@wordpress/deprecated';
|
|
6
5
|
import { useMemo } from '@wordpress/element';
|
|
7
6
|
import { __, sprintf } from '@wordpress/i18n';
|
|
8
7
|
|
|
@@ -40,8 +39,12 @@ const getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {
|
|
|
40
39
|
*/
|
|
41
40
|
export default function FontAppearanceControl( props ) {
|
|
42
41
|
const {
|
|
43
|
-
/**
|
|
44
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Start opting into the larger default height that will become the default size in a future version.
|
|
44
|
+
*
|
|
45
|
+
* @deprecated Default behavior since WordPress 7.1. Prop can be safely removed.
|
|
46
|
+
*/
|
|
47
|
+
__next40pxDefaultSize: _next40pxDefaultSize,
|
|
45
48
|
onChange,
|
|
46
49
|
hasFontStyles = true,
|
|
47
50
|
hasFontWeights = true,
|
|
@@ -148,27 +151,11 @@ export default function FontAppearanceControl( props ) {
|
|
|
148
151
|
);
|
|
149
152
|
};
|
|
150
153
|
|
|
151
|
-
if (
|
|
152
|
-
! __next40pxDefaultSize &&
|
|
153
|
-
( otherProps.size === undefined || otherProps.size === 'default' )
|
|
154
|
-
) {
|
|
155
|
-
deprecated(
|
|
156
|
-
`36px default size for wp.blockEditor.__experimentalFontAppearanceControl`,
|
|
157
|
-
{
|
|
158
|
-
since: '6.8',
|
|
159
|
-
version: '7.1',
|
|
160
|
-
hint: 'Set the `__next40pxDefaultSize` prop to true to start opting into the new default size, which will become the default in a future version.',
|
|
161
|
-
}
|
|
162
|
-
);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
154
|
return (
|
|
166
155
|
hasStylesOrWeights && (
|
|
167
156
|
<CustomSelectControl
|
|
168
157
|
{ ...otherProps }
|
|
169
158
|
className="components-font-appearance-control"
|
|
170
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
171
|
-
__shouldNotWarnDeprecated36pxSize
|
|
172
159
|
label={ label }
|
|
173
160
|
describedBy={ getDescribedBy() }
|
|
174
161
|
options={ selectOptions }
|
|
@@ -28,7 +28,6 @@ const MyFontFamilyControl = () => {
|
|
|
28
28
|
onChange={ ( newFontFamily ) => {
|
|
29
29
|
setFontFamily( newFontFamily );
|
|
30
30
|
} }
|
|
31
|
-
__next40pxDefaultSize
|
|
32
31
|
/>
|
|
33
32
|
);
|
|
34
33
|
};
|
|
@@ -74,11 +73,3 @@ The current font family value.
|
|
|
74
73
|
- Default: ''
|
|
75
74
|
|
|
76
75
|
The rest of the props are passed down to the underlying `<SelectControl />` instance.
|
|
77
|
-
|
|
78
|
-
#### `__next40pxDefaultSize`
|
|
79
|
-
|
|
80
|
-
- Type: `boolean`
|
|
81
|
-
- Required: No
|
|
82
|
-
- Default: `false`
|
|
83
|
-
|
|
84
|
-
Start opting into the larger default height that will become the default size in a future version.
|
|
@@ -7,7 +7,6 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { CustomSelectControl } from '@wordpress/components';
|
|
10
|
-
import deprecated from '@wordpress/deprecated';
|
|
11
10
|
import { __ } from '@wordpress/i18n';
|
|
12
11
|
|
|
13
12
|
/**
|
|
@@ -16,8 +15,12 @@ import { __ } from '@wordpress/i18n';
|
|
|
16
15
|
import { useSettings } from '../use-settings';
|
|
17
16
|
|
|
18
17
|
export default function FontFamilyControl( {
|
|
19
|
-
/**
|
|
20
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Start opting into the larger default height that will become the default size in a future version.
|
|
20
|
+
*
|
|
21
|
+
* @deprecated Default behavior since WordPress 7.1. Prop can be safely removed.
|
|
22
|
+
*/
|
|
23
|
+
__next40pxDefaultSize: _next40pxDefaultSize,
|
|
21
24
|
value = '',
|
|
22
25
|
onChange,
|
|
23
26
|
fontFamilies,
|
|
@@ -45,26 +48,10 @@ export default function FontFamilyControl( {
|
|
|
45
48
|
} ) ),
|
|
46
49
|
];
|
|
47
50
|
|
|
48
|
-
if (
|
|
49
|
-
! __next40pxDefaultSize &&
|
|
50
|
-
( props.size === undefined || props.size === 'default' )
|
|
51
|
-
) {
|
|
52
|
-
deprecated(
|
|
53
|
-
`36px default size for wp.blockEditor.__experimentalFontFamilyControl`,
|
|
54
|
-
{
|
|
55
|
-
since: '6.8',
|
|
56
|
-
version: '7.1',
|
|
57
|
-
hint: 'Set the `__next40pxDefaultSize` prop to true to start opting into the new default size, which will become the default in a future version.',
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
51
|
const selectedValue =
|
|
63
52
|
options.find( ( option ) => option.key === value ) ?? '';
|
|
64
53
|
return (
|
|
65
54
|
<CustomSelectControl
|
|
66
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
67
|
-
__shouldNotWarnDeprecated36pxSize
|
|
68
55
|
label={ __( 'Font' ) }
|
|
69
56
|
value={ selectedValue }
|
|
70
57
|
onChange={ ( { selectedItem } ) => onChange( selectedItem.key ) }
|
|
@@ -544,7 +544,6 @@ export default function DimensionsPanel( {
|
|
|
544
544
|
panelId={ panelId }
|
|
545
545
|
>
|
|
546
546
|
<UnitControl
|
|
547
|
-
__next40pxDefaultSize
|
|
548
547
|
label={ __( 'Content width' ) }
|
|
549
548
|
labelPosition="top"
|
|
550
549
|
value={ contentSizeValue || '' }
|
|
@@ -571,7 +570,6 @@ export default function DimensionsPanel( {
|
|
|
571
570
|
panelId={ panelId }
|
|
572
571
|
>
|
|
573
572
|
<UnitControl
|
|
574
|
-
__next40pxDefaultSize
|
|
575
573
|
label={ __( 'Wide width' ) }
|
|
576
574
|
labelPosition="top"
|
|
577
575
|
value={ wideSizeValue || '' }
|
|
@@ -710,7 +708,6 @@ export default function DimensionsPanel( {
|
|
|
710
708
|
/>
|
|
711
709
|
) : (
|
|
712
710
|
<UnitControl
|
|
713
|
-
__next40pxDefaultSize
|
|
714
711
|
label={ __( 'Block spacing' ) }
|
|
715
712
|
min={ 0 }
|
|
716
713
|
onChange={ setGapValue }
|
|
@@ -605,7 +605,6 @@ export default function TypographyPanel( {
|
|
|
605
605
|
fontFamilies={ fontFamilies }
|
|
606
606
|
value={ fontFamily }
|
|
607
607
|
onChange={ setFontFamily }
|
|
608
|
-
size="__unstable-large"
|
|
609
608
|
/>
|
|
610
609
|
</ToolsPanelItem>
|
|
611
610
|
) }
|
|
@@ -625,7 +624,6 @@ export default function TypographyPanel( {
|
|
|
625
624
|
disableCustomFontSizes={ disableCustomFontSizes }
|
|
626
625
|
withReset={ false }
|
|
627
626
|
withSlider
|
|
628
|
-
size="__unstable-large"
|
|
629
627
|
/>
|
|
630
628
|
</ToolsPanelItem>
|
|
631
629
|
) }
|
|
@@ -646,7 +644,6 @@ export default function TypographyPanel( {
|
|
|
646
644
|
hasFontStyles={ hasFontStyles }
|
|
647
645
|
hasFontWeights={ hasFontWeights }
|
|
648
646
|
fontFamilyFaces={ fontFamilyFaces }
|
|
649
|
-
size="__unstable-large"
|
|
650
647
|
/>
|
|
651
648
|
</ToolsPanelItem>
|
|
652
649
|
) }
|
|
@@ -663,7 +660,6 @@ export default function TypographyPanel( {
|
|
|
663
660
|
__unstableInputWidth="auto"
|
|
664
661
|
value={ lineHeight }
|
|
665
662
|
onChange={ setLineHeight }
|
|
666
|
-
size="__unstable-large"
|
|
667
663
|
/>
|
|
668
664
|
</ToolsPanelItem>
|
|
669
665
|
) }
|
|
@@ -679,7 +675,6 @@ export default function TypographyPanel( {
|
|
|
679
675
|
<LetterSpacingControl
|
|
680
676
|
value={ letterSpacing }
|
|
681
677
|
onChange={ setLetterSpacing }
|
|
682
|
-
size="__unstable-large"
|
|
683
678
|
__unstableInputWidth="auto"
|
|
684
679
|
/>
|
|
685
680
|
</ToolsPanelItem>
|
|
@@ -695,7 +690,6 @@ export default function TypographyPanel( {
|
|
|
695
690
|
<TextIndentControl
|
|
696
691
|
value={ textIndent }
|
|
697
692
|
onChange={ setTextIndentValue }
|
|
698
|
-
size="__unstable-large"
|
|
699
693
|
__unstableInputWidth="auto"
|
|
700
694
|
withSlider
|
|
701
695
|
hasBottomMargin={ isGlobalStyles }
|
|
@@ -164,7 +164,6 @@ export default function HeightControl( {
|
|
|
164
164
|
onChange={ onChange }
|
|
165
165
|
onUnitChange={ handleUnitChange }
|
|
166
166
|
min={ 0 }
|
|
167
|
-
size="__unstable-large"
|
|
168
167
|
label={ label }
|
|
169
168
|
hideLabelFromVision
|
|
170
169
|
/>
|
|
@@ -172,7 +171,6 @@ export default function HeightControl( {
|
|
|
172
171
|
<FlexItem isBlock>
|
|
173
172
|
<Spacer marginX={ 2 } marginBottom={ 0 }>
|
|
174
173
|
<RangeControl
|
|
175
|
-
__next40pxDefaultSize
|
|
176
174
|
value={ customRangeValue }
|
|
177
175
|
min={ 0 }
|
|
178
176
|
max={
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
&.zoom-out-animation {
|
|
21
|
-
$scroll-top: var(--wp-block-editor-iframe-zoom-out-scroll-top,
|
|
22
|
-
$scroll-top-next: var(--wp-block-editor-iframe-zoom-out-scroll-top-next,
|
|
21
|
+
$scroll-top: var(--wp-block-editor-iframe-zoom-out-scroll-top, 0px);
|
|
22
|
+
$scroll-top-next: var(--wp-block-editor-iframe-zoom-out-scroll-top-next, 0px);
|
|
23
23
|
$overflow-behavior: var(--wp-block-editor-iframe-zoom-out-overflow-behavior, scroll);
|
|
24
24
|
|
|
25
25
|
position: fixed;
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
&.is-zoomed-out {
|
|
36
36
|
$scale: var(--wp-block-editor-iframe-zoom-out-scale, 1);
|
|
37
|
-
$frame-size: var(--wp-block-editor-iframe-zoom-out-frame-size,
|
|
37
|
+
$frame-size: var(--wp-block-editor-iframe-zoom-out-frame-size, 0px);
|
|
38
38
|
$inner-height: var(--wp-block-editor-iframe-zoom-out-inner-height);
|
|
39
39
|
$content-height: var(--wp-block-editor-iframe-zoom-out-content-height);
|
|
40
40
|
$scale-container-width: var(--wp-block-editor-iframe-zoom-out-scale-container-width);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { ToolbarGroup, ToolbarItem } from '@wordpress/components';
|
|
5
|
+
import deprecated from '@wordpress/deprecated';
|
|
5
6
|
import { ImageCropperProvider } from '@wordpress/image-cropper';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -15,6 +16,22 @@ import ZoomDropdown from './zoom-dropdown';
|
|
|
15
16
|
import RotationButton from './rotation-button';
|
|
16
17
|
import FormControls from './form-controls';
|
|
17
18
|
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated since 7.1. The Media Editor modal is now the default crop
|
|
21
|
+
* experience for core blocks. This component (exported as
|
|
22
|
+
* `__experimentalImageEditor`) will be removed in a future major release.
|
|
23
|
+
*
|
|
24
|
+
* @param {Object} root0 Component props.
|
|
25
|
+
* @param {number} root0.id Media attachment ID.
|
|
26
|
+
* @param {string} root0.url Media URL.
|
|
27
|
+
* @param {number} root0.width Rendered image width.
|
|
28
|
+
* @param {number} root0.height Rendered image height.
|
|
29
|
+
* @param {number} root0.naturalHeight Natural image height.
|
|
30
|
+
* @param {number} root0.naturalWidth Natural image width.
|
|
31
|
+
* @param {Function} root0.onSaveImage Callback to save image attributes.
|
|
32
|
+
* @param {Function} root0.onFinishEditing Callback when editing finishes.
|
|
33
|
+
* @param {Object} root0.borderProps Border classes and styles.
|
|
34
|
+
*/
|
|
18
35
|
export default function ImageEditor( {
|
|
19
36
|
id,
|
|
20
37
|
url,
|
|
@@ -26,6 +43,11 @@ export default function ImageEditor( {
|
|
|
26
43
|
onFinishEditing,
|
|
27
44
|
borderProps,
|
|
28
45
|
} ) {
|
|
46
|
+
deprecated( 'wp.blockEditor.__experimentalImageEditor', {
|
|
47
|
+
since: '7.1',
|
|
48
|
+
hint: 'The Media Editor modal is now the default crop experience for core blocks. This component will be removed in a future major release.',
|
|
49
|
+
} );
|
|
50
|
+
|
|
29
51
|
return (
|
|
30
52
|
<ImageCropperProvider>
|
|
31
53
|
<ImageEditingProvider
|
|
@@ -96,7 +96,6 @@ export default function ImageSizeControl( {
|
|
|
96
96
|
options={ imageSizeOptions }
|
|
97
97
|
onChange={ onChangeImage }
|
|
98
98
|
help={ imageSizeHelp }
|
|
99
|
-
size="__unstable-large"
|
|
100
99
|
/>
|
|
101
100
|
) }
|
|
102
101
|
{ isResizable && (
|
|
@@ -127,7 +126,6 @@ export default function ImageSizeControl( {
|
|
|
127
126
|
onChange={ handleUpdateDimensions }
|
|
128
127
|
value={ selectedValue }
|
|
129
128
|
isBlock
|
|
130
|
-
__next40pxDefaultSize
|
|
131
129
|
>
|
|
132
130
|
{ IMAGE_SIZE_PRESETS.map( ( scale ) => {
|
|
133
131
|
return (
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
createPortal,
|
|
6
|
+
useLayoutEffect,
|
|
7
|
+
useMemo,
|
|
8
|
+
useRef,
|
|
9
|
+
useState,
|
|
10
|
+
} from '@wordpress/element';
|
|
11
|
+
import { AsyncModeProvider, useSelect } from '@wordpress/data';
|
|
12
|
+
import { safeHTML } from '@wordpress/dom';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
import { store as blockEditorStore } from '../../store';
|
|
18
|
+
import BlockListBlock from '../block-list/block';
|
|
19
|
+
import { LayoutProvider } from '../block-list/layout';
|
|
20
|
+
|
|
21
|
+
const SLOT_TAG_NAME = 'wp-inner-block-slot';
|
|
22
|
+
|
|
23
|
+
// The static markup surrounding the inner blocks is arbitrary HTML the block
|
|
24
|
+
// editor doesn't manage, so it provides no layout context: no alignments are
|
|
25
|
+
// available to the inner blocks.
|
|
26
|
+
const LAYOUT = { type: 'default', alignments: [] };
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Renders the static HTML fragments of a block with the `innerContent`
|
|
30
|
+
* support, mounting each inner block at the position of its `null`
|
|
31
|
+
* placeholder within the static markup.
|
|
32
|
+
*
|
|
33
|
+
* Unlike `InnerBlocks`, the rendered blocks are not a contiguous list: they
|
|
34
|
+
* live at arbitrary positions inside markup the block editor doesn't manage.
|
|
35
|
+
* The static fragments are sanitized with `safeHTML` before being injected
|
|
36
|
+
* into the canvas — the same treatment block save content receives elsewhere
|
|
37
|
+
* in the editor — and the inner blocks are portalled into placeholder
|
|
38
|
+
* elements. Inner blocks are locked: they can be edited in place but not
|
|
39
|
+
* moved, removed, or added to.
|
|
40
|
+
*
|
|
41
|
+
* @param {Object} props Component props.
|
|
42
|
+
* @param {string} props.clientId Client ID of the block whose inner content
|
|
43
|
+
* should be rendered.
|
|
44
|
+
*/
|
|
45
|
+
export default function InnerContent( { clientId } ) {
|
|
46
|
+
const { innerContent, order, selectedClientIds } = useSelect(
|
|
47
|
+
( select ) => {
|
|
48
|
+
const { getBlock, getBlockOrder, getSelectedBlockClientIds } =
|
|
49
|
+
select( blockEditorStore );
|
|
50
|
+
return {
|
|
51
|
+
innerContent: getBlock( clientId )?.innerContent,
|
|
52
|
+
order: getBlockOrder( clientId ),
|
|
53
|
+
selectedClientIds: getSelectedBlockClientIds(),
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
[ clientId ]
|
|
57
|
+
);
|
|
58
|
+
const html = useMemo( () => {
|
|
59
|
+
let slotIndex = 0;
|
|
60
|
+
return ( innerContent ?? [] )
|
|
61
|
+
.map( ( item ) =>
|
|
62
|
+
item === null
|
|
63
|
+
? `<${ SLOT_TAG_NAME } data-slot-index="${ slotIndex++ }" style="display: contents"></${ SLOT_TAG_NAME }>`
|
|
64
|
+
: item
|
|
65
|
+
)
|
|
66
|
+
.join( '' );
|
|
67
|
+
}, [ innerContent ] );
|
|
68
|
+
|
|
69
|
+
const containerRef = useRef();
|
|
70
|
+
const [ slots, setSlots ] = useState( [] );
|
|
71
|
+
|
|
72
|
+
useLayoutEffect( () => {
|
|
73
|
+
const container = containerRef.current;
|
|
74
|
+
|
|
75
|
+
// Sanitize before injecting into the canvas: `safeHTML` removes
|
|
76
|
+
// `<script>` elements and inline event handlers, matching how block
|
|
77
|
+
// save content is rendered elsewhere in the editor.
|
|
78
|
+
container.innerHTML = safeHTML( html );
|
|
79
|
+
|
|
80
|
+
setSlots(
|
|
81
|
+
Array.from( container.querySelectorAll( SLOT_TAG_NAME ) ).sort(
|
|
82
|
+
( a, b ) =>
|
|
83
|
+
Number( a.dataset.slotIndex ) -
|
|
84
|
+
Number( b.dataset.slotIndex )
|
|
85
|
+
)
|
|
86
|
+
);
|
|
87
|
+
}, [ html ] );
|
|
88
|
+
|
|
89
|
+
return (
|
|
90
|
+
<LayoutProvider value={ LAYOUT }>
|
|
91
|
+
<div
|
|
92
|
+
ref={ containerRef }
|
|
93
|
+
className="block-editor-inner-content"
|
|
94
|
+
style={ { display: 'contents' } }
|
|
95
|
+
/>
|
|
96
|
+
{ order.map( ( childClientId, index ) =>
|
|
97
|
+
slots[ index ]
|
|
98
|
+
? createPortal(
|
|
99
|
+
// Render the selected block synchronously, as the block list does.
|
|
100
|
+
<AsyncModeProvider
|
|
101
|
+
value={
|
|
102
|
+
! selectedClientIds.includes(
|
|
103
|
+
childClientId
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
>
|
|
107
|
+
<BlockListBlock
|
|
108
|
+
rootClientId={ clientId }
|
|
109
|
+
clientId={ childClientId }
|
|
110
|
+
/>
|
|
111
|
+
</AsyncModeProvider>,
|
|
112
|
+
slots[ index ],
|
|
113
|
+
childClientId
|
|
114
|
+
)
|
|
115
|
+
: null
|
|
116
|
+
) }
|
|
117
|
+
</LayoutProvider>
|
|
118
|
+
);
|
|
119
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { render } from '@testing-library/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import {
|
|
10
|
+
createBlock,
|
|
11
|
+
registerBlockType,
|
|
12
|
+
unregisterBlockType,
|
|
13
|
+
} from '@wordpress/blocks';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Internal dependencies
|
|
17
|
+
*/
|
|
18
|
+
import InnerContent from '../';
|
|
19
|
+
import { BlockEditorProvider } from '../../provider';
|
|
20
|
+
|
|
21
|
+
const BLOCK_NAME = 'core/html';
|
|
22
|
+
|
|
23
|
+
// These tests inspect the raw injected DOM to verify the static markup is
|
|
24
|
+
// sanitized before being added to the editor canvas, so direct node access is
|
|
25
|
+
// intentional.
|
|
26
|
+
/* eslint-disable testing-library/no-node-access, testing-library/no-container, testing-library/render-result-naming-convention */
|
|
27
|
+
|
|
28
|
+
function renderWithInnerContent( innerContent ) {
|
|
29
|
+
const block = createBlock( BLOCK_NAME, {}, [], innerContent );
|
|
30
|
+
const { container } = render(
|
|
31
|
+
<BlockEditorProvider value={ [ block ] }>
|
|
32
|
+
<InnerContent clientId={ block.clientId } />
|
|
33
|
+
</BlockEditorProvider>
|
|
34
|
+
);
|
|
35
|
+
return container.querySelector( '.block-editor-inner-content' );
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
describe( 'InnerContent', () => {
|
|
39
|
+
beforeAll( () => {
|
|
40
|
+
registerBlockType( BLOCK_NAME, {
|
|
41
|
+
apiVersion: 3,
|
|
42
|
+
title: 'Custom HTML',
|
|
43
|
+
category: 'text',
|
|
44
|
+
save: () => null,
|
|
45
|
+
} );
|
|
46
|
+
} );
|
|
47
|
+
|
|
48
|
+
afterAll( () => {
|
|
49
|
+
unregisterBlockType( BLOCK_NAME );
|
|
50
|
+
} );
|
|
51
|
+
|
|
52
|
+
it( 'renders the static fragments into the canvas', () => {
|
|
53
|
+
const root = renderWithInnerContent( [
|
|
54
|
+
'<div class="banner"><h1>Static heading</h1></div>',
|
|
55
|
+
] );
|
|
56
|
+
|
|
57
|
+
expect( root.querySelector( 'h1' ) ).toHaveTextContent(
|
|
58
|
+
'Static heading'
|
|
59
|
+
);
|
|
60
|
+
} );
|
|
61
|
+
|
|
62
|
+
it( 'strips script elements from the static fragments', () => {
|
|
63
|
+
const root = renderWithInnerContent( [
|
|
64
|
+
'<div><script>window.__innerContentRan = true;</script>Safe</div>',
|
|
65
|
+
] );
|
|
66
|
+
|
|
67
|
+
expect( root.querySelector( 'script' ) ).toBeNull();
|
|
68
|
+
expect( root ).toHaveTextContent( 'Safe' );
|
|
69
|
+
} );
|
|
70
|
+
|
|
71
|
+
it( 'strips inline event handlers from the static fragments', () => {
|
|
72
|
+
const root = renderWithInnerContent( [
|
|
73
|
+
'<button onclick="alert(1)">Click</button>',
|
|
74
|
+
] );
|
|
75
|
+
|
|
76
|
+
expect( root.querySelector( '[onclick]' ) ).toBeNull();
|
|
77
|
+
expect( root.querySelector( 'button' ) ).toHaveTextContent( 'Click' );
|
|
78
|
+
} );
|
|
79
|
+
} );
|
|
80
|
+
|
|
81
|
+
/* eslint-enable testing-library/no-node-access, testing-library/no-container, testing-library/render-result-naming-convention */
|
|
@@ -54,7 +54,14 @@ const useBlockTypesState = ( rootClientId, onInsert, isQuick ) => {
|
|
|
54
54
|
|
|
55
55
|
const onSelectItem = useCallback(
|
|
56
56
|
(
|
|
57
|
-
{
|
|
57
|
+
{
|
|
58
|
+
name,
|
|
59
|
+
initialAttributes,
|
|
60
|
+
innerBlocks,
|
|
61
|
+
innerContent,
|
|
62
|
+
syncStatus,
|
|
63
|
+
content,
|
|
64
|
+
},
|
|
58
65
|
shouldFocusBlock
|
|
59
66
|
) => {
|
|
60
67
|
const destinationClientId = getClosestAllowedInsertionPoint(
|
|
@@ -85,7 +92,8 @@ const useBlockTypesState = ( rootClientId, onInsert, isQuick ) => {
|
|
|
85
92
|
: createBlock(
|
|
86
93
|
name,
|
|
87
94
|
initialAttributes,
|
|
88
|
-
createBlocksFromInnerBlocksTemplate( innerBlocks )
|
|
95
|
+
createBlocksFromInnerBlocksTemplate( innerBlocks ),
|
|
96
|
+
innerContent
|
|
89
97
|
);
|
|
90
98
|
onInsert(
|
|
91
99
|
insertedBlock,
|