@wordpress/block-editor 15.23.0 → 16.0.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 +33 -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-canvas/index.cjs +6 -1
- package/build/components/block-canvas/index.cjs.map +2 -2
- package/build/components/block-controls/groups.cjs +3 -1
- package/build/components/block-controls/groups.cjs.map +2 -2
- package/build/components/block-edit/edit.cjs +10 -18
- package/build/components/block-edit/edit.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 +2 -3
- 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-list/block.cjs +9 -3
- package/build/components/block-list/block.cjs.map +3 -3
- package/build/components/block-list/index.cjs +1 -3
- package/build/components/block-list/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/index.cjs +3 -1
- package/build/components/block-list/use-block-props/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-handler.cjs +12 -4
- package/build/components/block-list/use-block-props/use-focus-handler.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-toolbar/index.cjs +43 -24
- package/build/components/block-toolbar/index.cjs.map +2 -2
- package/build/components/block-tools/index.cjs +7 -2
- package/build/components/block-tools/index.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/block-visibility/modal.cjs +20 -6
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/use-block-visibility.cjs +16 -6
- package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
- package/build/components/block-visibility/utils.cjs +15 -2
- package/build/components/block-visibility/utils.cjs.map +3 -3
- package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
- package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
- package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
- package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs +0 -6
- 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/state-control-badges.cjs +39 -3
- package/build/components/global-styles/state-control-badges.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs +4 -11
- 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 +3 -7
- 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 +67 -12
- 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 +287 -28
- 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/keyboard-shortcuts/index.cjs +19 -11
- package/build/components/keyboard-shortcuts/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 +6 -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 +61 -21
- 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/media-placeholder/index.cjs +0 -1
- package/build/components/media-placeholder/index.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/rich-text/event-listeners/before-input-rules.cjs +3 -4
- package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/delete.cjs +2 -3
- package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/enter.cjs +3 -2
- package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
- package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-rules.cjs +3 -4
- package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/paste-handler.cjs +2 -1
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
- package/build/components/rich-text/index.cjs +66 -17
- package/build/components/rich-text/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/typewriter/index.cjs +129 -136
- package/build/components/typewriter/index.cjs.map +3 -3
- package/build/components/use-block-commands/index.cjs +21 -17
- package/build/components/use-block-commands/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/writing-flow/index.cjs +12 -1
- package/build/components/writing-flow/index.cjs.map +3 -3
- package/build/components/writing-flow/use-arrow-nav.cjs +18 -5
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-click-selection.cjs +2 -2
- package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-clipboard-handler.cjs +4 -1
- package/build/components/writing-flow/use-clipboard-handler.cjs.map +2 -2
- package/build/components/writing-flow/use-drag-selection.cjs +3 -8
- package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root.cjs +112 -0
- package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
- package/build/components/writing-flow/use-home-end.cjs +64 -0
- package/build/components/writing-flow/use-home-end.cjs.map +7 -0
- package/build/components/writing-flow/use-input.cjs +15 -5
- package/build/components/writing-flow/use-input.cjs.map +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-select-all.cjs +14 -2
- package/build/components/writing-flow/use-select-all.cjs.map +2 -2
- package/build/components/writing-flow/use-selection-observer.cjs +126 -20
- package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
- package/build/components/writing-flow/utils.cjs +39 -2
- package/build/components/writing-flow/utils.cjs.map +2 -2
- package/build/components/writing-mode-control/index.cjs +0 -1
- package/build/components/writing-mode-control/index.cjs.map +2 -2
- package/build/hooks/background.cjs +3 -2
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-fields/rich-text/index.cjs +2 -3
- package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
- package/build/hooks/elements.cjs +1 -1
- package/build/hooks/elements.cjs.map +2 -2
- package/build/hooks/font-size.cjs +1 -2
- package/build/hooks/font-size.cjs.map +2 -2
- package/build/hooks/grid-visualizer.cjs +5 -3
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +22 -12
- package/build/hooks/layout-child.cjs.map +3 -3
- package/build/hooks/layout.cjs +33 -16
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/position.cjs +36 -16
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/states.cjs +29 -12
- package/build/hooks/states.cjs.map +3 -3
- package/build/hooks/style.cjs +31 -9
- package/build/hooks/style.cjs.map +3 -3
- package/build/hooks/text-align.cjs +36 -6
- package/build/hooks/text-align.cjs.map +3 -3
- package/build/hooks/typography.cjs +1 -1
- package/build/hooks/typography.cjs.map +2 -2
- package/build/layouts/constrained.cjs +35 -27
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +27 -22
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/grid.cjs +51 -11
- package/build/layouts/grid.cjs.map +2 -2
- package/build/private-apis.cjs +4 -1
- package/build/private-apis.cjs.map +3 -3
- package/build/store/actions.cjs +2 -2
- package/build/store/actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +3 -0
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +85 -6
- package/build/store/private-selectors.cjs.map +3 -3
- package/build/store/selectors.cjs +13 -0
- package/build/store/selectors.cjs.map +2 -2
- package/build/utils/block-bindings.cjs +29 -0
- package/build/utils/block-bindings.cjs.map +2 -2
- package/build/utils/dom.cjs +14 -0
- package/build/utils/dom.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-canvas/index.mjs +7 -2
- package/build-module/components/block-canvas/index.mjs.map +2 -2
- package/build-module/components/block-controls/groups.mjs +3 -1
- package/build-module/components/block-controls/groups.mjs.map +2 -2
- package/build-module/components/block-edit/edit.mjs +11 -18
- package/build-module/components/block-edit/edit.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 +2 -3
- 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-list/block.mjs +9 -3
- package/build-module/components/block-list/block.mjs.map +3 -3
- package/build-module/components/block-list/index.mjs +1 -3
- package/build-module/components/block-list/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/index.mjs +3 -1
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +12 -4
- package/build-module/components/block-list/use-block-props/use-focus-handler.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-toolbar/index.mjs +43 -24
- package/build-module/components/block-toolbar/index.mjs.map +2 -2
- package/build-module/components/block-tools/index.mjs +7 -2
- package/build-module/components/block-tools/index.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/block-visibility/modal.mjs +22 -10
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/use-block-visibility.mjs +17 -7
- package/build-module/components/block-visibility/use-block-visibility.mjs.map +2 -2
- package/build-module/components/block-visibility/utils.mjs +18 -3
- package/build-module/components/block-visibility/utils.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
- package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
- package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +0 -6
- 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/state-control-badges.mjs +41 -5
- package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs +4 -11
- 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 +3 -7
- 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 +66 -12
- 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 +297 -32
- 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/keyboard-shortcuts/index.mjs +19 -11
- package/build-module/components/keyboard-shortcuts/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 +6 -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 +61 -21
- 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/media-placeholder/index.mjs +0 -1
- package/build-module/components/media-placeholder/index.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/rich-text/event-listeners/before-input-rules.mjs +8 -5
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
- package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-rules.mjs +8 -5
- package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
- package/build-module/components/rich-text/index.mjs +64 -13
- package/build-module/components/rich-text/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/typewriter/index.mjs +129 -136
- package/build-module/components/typewriter/index.mjs.map +2 -2
- package/build-module/components/use-block-commands/index.mjs +21 -17
- package/build-module/components/use-block-commands/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/writing-flow/index.mjs +12 -1
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +19 -6
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs +5 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
- package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root.mjs +86 -0
- package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
- package/build-module/components/writing-flow/use-home-end.mjs +43 -0
- package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
- package/build-module/components/writing-flow/use-input.mjs +15 -5
- package/build-module/components/writing-flow/use-input.mjs.map +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-select-all.mjs +19 -3
- package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
- package/build-module/components/writing-flow/use-selection-observer.mjs +128 -19
- package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
- package/build-module/components/writing-flow/utils.mjs +35 -1
- package/build-module/components/writing-flow/utils.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/background.mjs +3 -2
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
- package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
- package/build-module/hooks/elements.mjs +1 -1
- package/build-module/hooks/elements.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/grid-visualizer.mjs +5 -3
- package/build-module/hooks/grid-visualizer.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +22 -12
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +32 -16
- 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 +29 -12
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs +40 -11
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/text-align.mjs +39 -10
- package/build-module/hooks/text-align.mjs.map +2 -2
- package/build-module/hooks/typography.mjs +1 -1
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +35 -27
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +27 -22
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +52 -11
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/private-apis.mjs +5 -1
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +3 -3
- package/build-module/store/actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +2 -0
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +84 -6
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/selectors.mjs +13 -0
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-module/utils/block-bindings.mjs +28 -0
- package/build-module/utils/block-bindings.mjs.map +2 -2
- package/build-module/utils/dom.mjs +13 -0
- package/build-module/utils/dom.mjs.map +2 -2
- package/build-style/content-rtl.css +15 -14
- package/build-style/content.css +15 -14
- package/build-style/default-editor-styles-rtl.css +1 -1
- package/build-style/default-editor-styles.css +1 -1
- package/build-style/style-rtl.css +144 -47
- package/build-style/style.css +144 -47
- package/build-types/components/block-context/index.d.ts +7 -0
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/utils/block-bindings.d.ts +19 -0
- package/build-types/utils/block-bindings.d.ts.map +1 -1
- package/build-types/utils/dom.d.ts +11 -0
- package/build-types/utils/dom.d.ts.map +1 -1
- package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
- package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
- package/build-types/utils/pasting.d.ts +1 -1
- package/build-types/utils/pasting.d.ts.map +1 -1
- package/package.json +46 -44
- 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-canvas/index.js +9 -2
- package/src/components/block-card/style.scss +1 -1
- package/src/components/block-controls/groups.js +2 -0
- package/src/components/block-edit/edit.js +13 -31
- package/src/components/block-inspector/edit-contents.js +5 -1
- package/src/components/block-inspector/index.js +3 -2
- package/src/components/block-list/block-invalid-warning.js +8 -19
- package/src/components/block-list/block.js +6 -0
- package/src/components/block-list/index.js +0 -2
- package/src/components/block-list/use-block-props/index.js +2 -0
- package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -4
- package/src/components/block-list/use-block-props/use-focus-handler.js +34 -9
- package/src/components/block-lock/style.scss +1 -1
- package/src/components/block-manager/style.scss +1 -1
- package/src/components/block-navigation/style.scss +1 -1
- package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
- package/src/components/block-quick-navigation/style.scss +1 -3
- package/src/components/block-styles/style.scss +2 -2
- 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/index.js +41 -18
- package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
- package/src/components/block-tools/index.js +7 -0
- package/src/components/block-types-list/style.scss +0 -1
- package/src/components/block-variation-transforms/index.js +0 -1
- package/src/components/block-visibility/modal.js +24 -10
- package/src/components/block-visibility/style.scss +1 -1
- package/src/components/block-visibility/test/use-block-visibility.js +128 -35
- package/src/components/block-visibility/test/utils.js +11 -0
- package/src/components/block-visibility/use-block-visibility.js +33 -11
- package/src/components/block-visibility/utils.js +31 -6
- package/src/components/block-visibility/viewport-menu-item.js +10 -1
- package/src/components/block-visibility/viewport-toolbar.js +6 -0
- package/src/components/block-visibility/viewport-visibility-info.js +5 -1
- package/src/components/button-block-appender/content.scss +1 -7
- package/src/components/child-layout-control/index.js +0 -6
- package/src/components/color-palette/test/__snapshots__/control.js.snap +13 -108
- 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 +1 -2
- 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/state-control-badges.js +45 -6
- package/src/components/global-styles/style.scss +5 -0
- package/src/components/global-styles/test/state-control-badges.js +65 -0
- package/src/components/global-styles/typography-panel.js +0 -7
- 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 -4
- 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 +114 -16
- package/src/components/inserter/media-tab/media-list.js +2 -0
- package/src/components/inserter/media-tab/media-panel.js +354 -19
- 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 +267 -0
- package/src/components/inserter/media-tab/test/media-panel.js +127 -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 +115 -3
- package/src/components/inserter-list-item/index.js +8 -2
- package/src/components/inserter-list-item/style.scss +0 -15
- package/src/components/keyboard-shortcuts/index.js +28 -11
- 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 +6 -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-control/style.scss +2 -2
- package/src/components/link-control/test/index.js +6 -6
- package/src/components/link-picker/style.scss +1 -2
- 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 +69 -23
- package/src/components/list-view/expander.js +5 -1
- package/src/components/list-view/style.scss +23 -5
- package/src/components/list-view/use-list-view-client-ids.js +2 -2
- package/src/components/media-placeholder/index.js +0 -1
- package/src/components/multi-selection-inspector/style.scss +1 -1
- 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/style.scss +1 -1
- package/src/components/responsive-block-control/test/index.js +1 -5
- package/src/components/rich-text/event-listeners/before-input-rules.js +8 -5
- package/src/components/rich-text/event-listeners/delete.js +7 -4
- package/src/components/rich-text/event-listeners/enter.js +10 -4
- package/src/components/rich-text/event-listeners/input-events.js +4 -3
- package/src/components/rich-text/event-listeners/input-rules.js +8 -5
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +4 -3
- package/src/components/rich-text/event-listeners/paste-handler.js +15 -3
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +4 -3
- package/src/components/rich-text/event-listeners/shortcuts.js +4 -3
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +4 -3
- package/src/components/rich-text/index.js +94 -25
- package/src/components/skip-to-selected-block/style.scss +1 -1
- 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/typewriter/index.js +228 -224
- package/src/components/use-block-commands/index.js +27 -17
- 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/writing-flow/index.js +15 -1
- package/src/components/writing-flow/use-arrow-nav.js +39 -12
- package/src/components/writing-flow/use-click-selection.js +2 -3
- package/src/components/writing-flow/use-clipboard-handler.js +5 -2
- package/src/components/writing-flow/use-drag-selection.js +1 -14
- package/src/components/writing-flow/use-editable-root.js +182 -0
- package/src/components/writing-flow/use-home-end.js +63 -0
- package/src/components/writing-flow/use-input.js +25 -8
- package/src/components/writing-flow/use-multi-selection.js +2 -3
- package/src/components/writing-flow/use-select-all.js +33 -3
- package/src/components/writing-flow/use-selection-observer.js +197 -38
- package/src/components/writing-flow/utils.js +83 -0
- package/src/components/writing-mode-control/index.js +0 -1
- package/src/hooks/background.js +7 -9
- package/src/hooks/block-fields/link/styles.scss +1 -6
- package/src/hooks/block-fields/media/styles.scss +1 -6
- package/src/hooks/block-fields/rich-text/index.js +6 -9
- package/src/hooks/block-hooks.scss +15 -0
- package/src/hooks/elements.js +0 -1
- package/src/hooks/font-size.js +0 -1
- package/src/hooks/grid-visualizer.js +40 -36
- package/src/hooks/layout-child.js +19 -9
- package/src/hooks/layout.js +53 -35
- package/src/hooks/position.js +44 -23
- package/src/hooks/states.js +36 -13
- package/src/hooks/style.js +67 -17
- package/src/hooks/test/cross-origin-isolation.js +0 -4
- package/src/hooks/test/layout.js +75 -1
- package/src/hooks/test/style.js +29 -0
- package/src/hooks/test/text-align.js +34 -1
- package/src/hooks/text-align.js +41 -10
- package/src/hooks/typography.js +0 -1
- package/src/layouts/constrained.js +56 -29
- package/src/layouts/flex.js +5 -4
- package/src/layouts/grid.js +59 -9
- package/src/layouts/test/constrained.js +91 -0
- package/src/layouts/test/grid.js +71 -0
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +43 -14
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +166 -9
- package/src/store/selectors.js +41 -0
- package/src/store/test/actions.js +1 -1
- package/src/store/test/private-selectors.js +533 -0
- package/src/store/test/reducer.js +11 -11
- package/src/store/test/selectors.js +133 -0
- package/src/style.scss +1 -0
- package/src/utils/block-bindings.ts +50 -0
- package/src/utils/dom.ts +33 -0
- package/src/utils/test/block-bindings.js +181 -0
- package/build/components/rich-text/input-event.cjs +0 -50
- package/build/components/rich-text/input-event.cjs.map +0 -7
- package/build/components/rich-text/shortcut.cjs +0 -51
- package/build/components/rich-text/shortcut.cjs.map +0 -7
- package/build-module/components/rich-text/input-event.mjs +0 -25
- package/build-module/components/rich-text/input-event.mjs.map +0 -7
- package/build-module/components/rich-text/shortcut.mjs +0 -26
- package/build-module/components/rich-text/shortcut.mjs.map +0 -7
- package/src/components/rich-text/input-event.js +0 -31
- package/src/components/rich-text/shortcut.js +0 -32
|
@@ -7,6 +7,8 @@ import {
|
|
|
7
7
|
setFreeformContentHandlerName,
|
|
8
8
|
setDefaultBlockName,
|
|
9
9
|
getDefaultBlockName,
|
|
10
|
+
createBlock,
|
|
11
|
+
createBlocksFromInnerBlocksTemplate,
|
|
10
12
|
} from '@wordpress/blocks';
|
|
11
13
|
import { RawHTML } from '@wordpress/element';
|
|
12
14
|
import { symbol } from '@wordpress/icons';
|
|
@@ -3657,6 +3659,54 @@ describe( 'selectors', () => {
|
|
|
3657
3659
|
} );
|
|
3658
3660
|
} );
|
|
3659
3661
|
|
|
3662
|
+
it( 'surfaces innerContent on a block variation inserter item', () => {
|
|
3663
|
+
registerBlockType( 'core/html', {
|
|
3664
|
+
apiVersion: 3,
|
|
3665
|
+
save: () => null,
|
|
3666
|
+
category: 'widgets',
|
|
3667
|
+
title: 'Custom HTML',
|
|
3668
|
+
variations: [
|
|
3669
|
+
{
|
|
3670
|
+
name: 'card',
|
|
3671
|
+
title: 'Card',
|
|
3672
|
+
innerContent: [ '<div class="card">', null, '</div>' ],
|
|
3673
|
+
innerBlocks: [ [ 'core/test-block-a' ] ],
|
|
3674
|
+
},
|
|
3675
|
+
],
|
|
3676
|
+
} );
|
|
3677
|
+
|
|
3678
|
+
const items = select( store ).getInserterItems();
|
|
3679
|
+
const variationItem = items.find(
|
|
3680
|
+
( item ) => item.id === 'core/html/card'
|
|
3681
|
+
);
|
|
3682
|
+
|
|
3683
|
+
expect( variationItem.innerContent ).toEqual( [
|
|
3684
|
+
'<div class="card">',
|
|
3685
|
+
null,
|
|
3686
|
+
'</div>',
|
|
3687
|
+
] );
|
|
3688
|
+
|
|
3689
|
+
// Replicate how `useBlockTypesState` builds the block on insert,
|
|
3690
|
+
// to guard the full path from variation to created block.
|
|
3691
|
+
const block = createBlock(
|
|
3692
|
+
variationItem.name,
|
|
3693
|
+
variationItem.initialAttributes,
|
|
3694
|
+
createBlocksFromInnerBlocksTemplate(
|
|
3695
|
+
variationItem.innerBlocks
|
|
3696
|
+
),
|
|
3697
|
+
variationItem.innerContent
|
|
3698
|
+
);
|
|
3699
|
+
expect( block.innerContent ).toEqual( [
|
|
3700
|
+
'<div class="card">',
|
|
3701
|
+
null,
|
|
3702
|
+
'</div>',
|
|
3703
|
+
] );
|
|
3704
|
+
expect( block.innerBlocks ).toHaveLength( 1 );
|
|
3705
|
+
expect( block.innerBlocks[ 0 ].name ).toBe( 'core/test-block-a' );
|
|
3706
|
+
|
|
3707
|
+
unregisterBlockType( 'core/html' );
|
|
3708
|
+
} );
|
|
3709
|
+
|
|
3660
3710
|
it( 'should correctly cache the return values', async () => {
|
|
3661
3711
|
await dispatch( store ).updateSettings( {
|
|
3662
3712
|
__experimentalReusableBlocks: [
|
|
@@ -4802,6 +4852,89 @@ describe( 'selectors', () => {
|
|
|
4802
4852
|
} );
|
|
4803
4853
|
} );
|
|
4804
4854
|
|
|
4855
|
+
describe( 'static inner content (Custom HTML block)', () => {
|
|
4856
|
+
beforeEach( () => {
|
|
4857
|
+
registerBlockType( 'core/html', {
|
|
4858
|
+
apiVersion: 3,
|
|
4859
|
+
save: () => null,
|
|
4860
|
+
category: 'text',
|
|
4861
|
+
title: 'Custom HTML',
|
|
4862
|
+
icon: 'test',
|
|
4863
|
+
} );
|
|
4864
|
+
} );
|
|
4865
|
+
|
|
4866
|
+
afterEach( () => {
|
|
4867
|
+
unregisterBlockType( 'core/html' );
|
|
4868
|
+
} );
|
|
4869
|
+
|
|
4870
|
+
// The Custom HTML block parent with a child container, which has a
|
|
4871
|
+
// child of its own. The direct child is fixed in place; the grandchild
|
|
4872
|
+
// is regular, fully editable content.
|
|
4873
|
+
const buildState = () => ( {
|
|
4874
|
+
blocks: {
|
|
4875
|
+
byClientId: new Map(
|
|
4876
|
+
Object.entries( {
|
|
4877
|
+
parent: { name: 'core/html' },
|
|
4878
|
+
child: { name: 'core/test-block-b' },
|
|
4879
|
+
grandchild: { name: 'core/test-block-b' },
|
|
4880
|
+
} )
|
|
4881
|
+
),
|
|
4882
|
+
attributes: new Map(
|
|
4883
|
+
Object.entries( {
|
|
4884
|
+
parent: {},
|
|
4885
|
+
child: {},
|
|
4886
|
+
grandchild: {},
|
|
4887
|
+
} )
|
|
4888
|
+
),
|
|
4889
|
+
parents: new Map(
|
|
4890
|
+
Object.entries( {
|
|
4891
|
+
parent: '',
|
|
4892
|
+
child: 'parent',
|
|
4893
|
+
grandchild: 'child',
|
|
4894
|
+
} )
|
|
4895
|
+
),
|
|
4896
|
+
order: new Map( [
|
|
4897
|
+
[ '', [ 'parent' ] ],
|
|
4898
|
+
[ 'parent', [ 'child' ] ],
|
|
4899
|
+
[ 'child', [ 'grandchild' ] ],
|
|
4900
|
+
] ),
|
|
4901
|
+
blockEditingModes: new Map(),
|
|
4902
|
+
},
|
|
4903
|
+
blockListSettings: new Map( [
|
|
4904
|
+
[ 'parent', {} ],
|
|
4905
|
+
[ 'child', {} ],
|
|
4906
|
+
] ),
|
|
4907
|
+
settings: {},
|
|
4908
|
+
derivedBlockEditingModes: new Map(),
|
|
4909
|
+
} );
|
|
4910
|
+
|
|
4911
|
+
it( 'prevents removing a direct child', () => {
|
|
4912
|
+
expect( canRemoveBlock( buildState(), 'child' ) ).toBe( false );
|
|
4913
|
+
} );
|
|
4914
|
+
|
|
4915
|
+
it( 'prevents moving a direct child', () => {
|
|
4916
|
+
expect( canMoveBlock( buildState(), 'child' ) ).toBe( false );
|
|
4917
|
+
} );
|
|
4918
|
+
|
|
4919
|
+
it( 'prevents insertion into the inner content root', () => {
|
|
4920
|
+
expect(
|
|
4921
|
+
canInsertBlockType(
|
|
4922
|
+
buildState(),
|
|
4923
|
+
'core/test-block-b',
|
|
4924
|
+
'parent'
|
|
4925
|
+
)
|
|
4926
|
+
).toBe( false );
|
|
4927
|
+
} );
|
|
4928
|
+
|
|
4929
|
+
it( 'does not cascade to deeper descendants', () => {
|
|
4930
|
+
expect( canRemoveBlock( buildState(), 'grandchild' ) ).toBe( true );
|
|
4931
|
+
expect( canMoveBlock( buildState(), 'grandchild' ) ).toBe( true );
|
|
4932
|
+
expect(
|
|
4933
|
+
canInsertBlockType( buildState(), 'core/test-block-b', 'child' )
|
|
4934
|
+
).toBe( true );
|
|
4935
|
+
} );
|
|
4936
|
+
} );
|
|
4937
|
+
|
|
4805
4938
|
describe( 'canMoveBlock', () => {
|
|
4806
4939
|
it( 'allows moving within a non-section contentOnly container', () => {
|
|
4807
4940
|
// When the parent has contentOnly editing mode but is NOT
|
package/src/style.scss
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
@use "./components/border-radius-control/style.scss" as *;
|
|
31
31
|
@use "./components/colors-gradients/style.scss" as *;
|
|
32
32
|
@use "./components/date-format-picker/style.scss" as *;
|
|
33
|
+
@use "./components/dimension-control/style.scss" as *;
|
|
33
34
|
@use "./components/duotone-control/style.scss" as *;
|
|
34
35
|
@use "./components/fit-text-size-warning/style.scss" as *;
|
|
35
36
|
@use "./components/font-appearance-control/style.scss" as *;
|
|
@@ -1,8 +1,58 @@
|
|
|
1
1
|
type Binding = { source?: string };
|
|
2
2
|
type Bindings = Record< string, Binding >;
|
|
3
|
+
type BlockBindingsSource = { usesContext?: readonly string[] };
|
|
3
4
|
|
|
4
5
|
const DEFAULT_ATTRIBUTE = '__default';
|
|
5
6
|
const PATTERN_OVERRIDES_SOURCE = 'core/pattern-overrides';
|
|
7
|
+
const EMPTY_CONTEXT: Record< string, unknown > = {};
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Assembles the context made available to a block's bindings sources: the
|
|
11
|
+
* entries of the surrounding block context declared by the block type's
|
|
12
|
+
* `usesContext`, plus the entries declared by the given sources' `usesContext`.
|
|
13
|
+
*
|
|
14
|
+
* Only entries present in the surrounding block context are copied — a
|
|
15
|
+
* declared key with no provider never becomes an own (undefined-valued) key
|
|
16
|
+
* of the result, so `key in context` checks stay meaningful.
|
|
17
|
+
*
|
|
18
|
+
* @param blockContext The surrounding block context.
|
|
19
|
+
* @param blockTypeUsesContext The block type's declared context needs.
|
|
20
|
+
* @param sources Block-bindings sources whose declared context to add.
|
|
21
|
+
*
|
|
22
|
+
* @return The context for resolving the block's bindings.
|
|
23
|
+
*/
|
|
24
|
+
export function getBlockBindingsContext(
|
|
25
|
+
blockContext: Record< string, unknown >,
|
|
26
|
+
blockTypeUsesContext: readonly string[] | undefined,
|
|
27
|
+
sources: readonly ( BlockBindingsSource | undefined )[] | undefined
|
|
28
|
+
): Record< string, unknown > {
|
|
29
|
+
let context: Record< string, unknown > | undefined;
|
|
30
|
+
if ( blockTypeUsesContext ) {
|
|
31
|
+
for ( const [ key, value ] of Object.entries( blockContext ) ) {
|
|
32
|
+
if ( blockTypeUsesContext.includes( key ) ) {
|
|
33
|
+
if ( context === undefined ) {
|
|
34
|
+
context = {};
|
|
35
|
+
}
|
|
36
|
+
context[ key ] = value;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if ( sources ) {
|
|
41
|
+
for ( const source of sources ) {
|
|
42
|
+
source?.usesContext?.forEach( ( key ) => {
|
|
43
|
+
if ( key in blockContext ) {
|
|
44
|
+
if ( context === undefined ) {
|
|
45
|
+
context = {};
|
|
46
|
+
}
|
|
47
|
+
context[ key ] = blockContext[ key ];
|
|
48
|
+
}
|
|
49
|
+
} );
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// A stable empty object avoids re-renders for consumers that compare the
|
|
53
|
+
// context by reference.
|
|
54
|
+
return context ?? EMPTY_CONTEXT;
|
|
55
|
+
}
|
|
6
56
|
|
|
7
57
|
/**
|
|
8
58
|
* Checks if the block has the `__default` binding for pattern overrides.
|
package/src/utils/dom.ts
CHANGED
|
@@ -31,6 +31,39 @@ export function isInsideRootBlock( blockElement: Element, element: Element ) {
|
|
|
31
31
|
return parentBlock === blockElement;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Returns the editable element containing the selection, if the selection is
|
|
36
|
+
* fully contained within one. The root element (an editable wrapper) does not
|
|
37
|
+
* count as a containing editable element.
|
|
38
|
+
*
|
|
39
|
+
* @param selection The selection.
|
|
40
|
+
* @param root The editable wrapper element.
|
|
41
|
+
*
|
|
42
|
+
* @return The editable element containing the selection.
|
|
43
|
+
*/
|
|
44
|
+
export function getSelectionEditableElement(
|
|
45
|
+
selection: Selection,
|
|
46
|
+
root: Element
|
|
47
|
+
) {
|
|
48
|
+
const { anchorNode, focusNode } = selection;
|
|
49
|
+
|
|
50
|
+
if ( ! anchorNode || ! focusNode ) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const element =
|
|
55
|
+
anchorNode.nodeType === anchorNode.ELEMENT_NODE
|
|
56
|
+
? ( anchorNode as Element )
|
|
57
|
+
: anchorNode.parentElement;
|
|
58
|
+
const editable = element?.closest( '[contenteditable="true"]' );
|
|
59
|
+
|
|
60
|
+
if ( ! editable || editable === root || ! editable.contains( focusNode ) ) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return editable;
|
|
65
|
+
}
|
|
66
|
+
|
|
34
67
|
/**
|
|
35
68
|
* Finds the block client ID given any DOM node inside the block.
|
|
36
69
|
*
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
getBlockBindingsContext,
|
|
6
|
+
hasPatternOverridesDefaultBinding,
|
|
7
|
+
replacePatternOverridesDefaultBinding,
|
|
8
|
+
} from '../block-bindings';
|
|
9
|
+
|
|
10
|
+
describe( 'hasPatternOverridesDefaultBinding', () => {
|
|
11
|
+
it( 'returns true when the `__default` binding targets pattern overrides', () => {
|
|
12
|
+
expect(
|
|
13
|
+
hasPatternOverridesDefaultBinding( {
|
|
14
|
+
__default: { source: 'core/pattern-overrides' },
|
|
15
|
+
} )
|
|
16
|
+
).toBe( true );
|
|
17
|
+
} );
|
|
18
|
+
|
|
19
|
+
it( 'returns false when there is no `__default` binding', () => {
|
|
20
|
+
expect(
|
|
21
|
+
hasPatternOverridesDefaultBinding( {
|
|
22
|
+
content: { source: 'core/pattern-overrides' },
|
|
23
|
+
} )
|
|
24
|
+
).toBe( false );
|
|
25
|
+
} );
|
|
26
|
+
|
|
27
|
+
it( 'returns false when the `__default` binding targets another source', () => {
|
|
28
|
+
expect(
|
|
29
|
+
hasPatternOverridesDefaultBinding( {
|
|
30
|
+
__default: { source: 'core/post-meta' },
|
|
31
|
+
} )
|
|
32
|
+
).toBe( false );
|
|
33
|
+
} );
|
|
34
|
+
|
|
35
|
+
it( 'returns false for undefined bindings', () => {
|
|
36
|
+
expect( hasPatternOverridesDefaultBinding( undefined ) ).toBe( false );
|
|
37
|
+
} );
|
|
38
|
+
} );
|
|
39
|
+
|
|
40
|
+
describe( 'replacePatternOverridesDefaultBinding', () => {
|
|
41
|
+
it( 'expands `__default` to a binding for each supported attribute', () => {
|
|
42
|
+
const result = replacePatternOverridesDefaultBinding(
|
|
43
|
+
{ __default: { source: 'core/pattern-overrides' } },
|
|
44
|
+
[ 'content', 'url', 'alt' ]
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
expect( result ).toEqual( {
|
|
48
|
+
content: { source: 'core/pattern-overrides' },
|
|
49
|
+
url: { source: 'core/pattern-overrides' },
|
|
50
|
+
alt: { source: 'core/pattern-overrides' },
|
|
51
|
+
} );
|
|
52
|
+
} );
|
|
53
|
+
|
|
54
|
+
it( 'retains explicit non-pattern-override bindings while expanding `__default`', () => {
|
|
55
|
+
const result = replacePatternOverridesDefaultBinding(
|
|
56
|
+
{
|
|
57
|
+
__default: { source: 'core/pattern-overrides' },
|
|
58
|
+
url: { source: 'core/post-meta', args: { key: 'my_url' } },
|
|
59
|
+
},
|
|
60
|
+
[ 'content', 'url' ]
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
expect( result ).toEqual( {
|
|
64
|
+
content: { source: 'core/pattern-overrides' },
|
|
65
|
+
url: { source: 'core/post-meta', args: { key: 'my_url' } },
|
|
66
|
+
} );
|
|
67
|
+
} );
|
|
68
|
+
|
|
69
|
+
it( 'returns the bindings untouched when there is no `__default` pattern-override binding', () => {
|
|
70
|
+
const bindings = { content: { source: 'core/pattern-overrides' } };
|
|
71
|
+
|
|
72
|
+
expect(
|
|
73
|
+
replacePatternOverridesDefaultBinding( bindings, [ 'content' ] )
|
|
74
|
+
).toBe( bindings );
|
|
75
|
+
} );
|
|
76
|
+
|
|
77
|
+
// Regression guard: the `__default` expansion only iterates the block
|
|
78
|
+
// type's supported *attributes*, so it can never synthesize an
|
|
79
|
+
// `innerBlocks` binding. Existing `__default` pattern-override blocks
|
|
80
|
+
// must not implicitly gain an inner-block binding.
|
|
81
|
+
it( 'never synthesizes an `innerBlocks` binding when expanding `__default`', () => {
|
|
82
|
+
// A realistic set of supported *attribute* names — `innerBlocks` is not
|
|
83
|
+
// an attribute and is therefore never present here.
|
|
84
|
+
const supportedAttributes = [ 'content', 'url', 'alt', 'title' ];
|
|
85
|
+
|
|
86
|
+
const result = replacePatternOverridesDefaultBinding(
|
|
87
|
+
{ __default: { source: 'core/pattern-overrides' } },
|
|
88
|
+
supportedAttributes
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
// Every produced binding key corresponds to a supported attribute…
|
|
92
|
+
expect( Object.keys( result ) ).toEqual( supportedAttributes );
|
|
93
|
+
// …and `innerBlocks` is never among them.
|
|
94
|
+
expect( result ).not.toHaveProperty( 'innerBlocks' );
|
|
95
|
+
} );
|
|
96
|
+
|
|
97
|
+
it( 'does not add an `innerBlocks` binding even when supportedAttributes is empty', () => {
|
|
98
|
+
const result = replacePatternOverridesDefaultBinding(
|
|
99
|
+
{ __default: { source: 'core/pattern-overrides' } },
|
|
100
|
+
[]
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
expect( result ).toEqual( {} );
|
|
104
|
+
expect( result ).not.toHaveProperty( 'innerBlocks' );
|
|
105
|
+
} );
|
|
106
|
+
} );
|
|
107
|
+
|
|
108
|
+
describe( 'getBlockBindingsContext', () => {
|
|
109
|
+
const blockContext = {
|
|
110
|
+
postId: 1,
|
|
111
|
+
postType: 'post',
|
|
112
|
+
'pattern/overrides': { content: 'x' },
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
it( 'copies the block-type-declared entries present in the block context', () => {
|
|
116
|
+
expect(
|
|
117
|
+
getBlockBindingsContext(
|
|
118
|
+
blockContext,
|
|
119
|
+
[ 'postId', 'postType' ],
|
|
120
|
+
undefined
|
|
121
|
+
)
|
|
122
|
+
).toEqual( { postId: 1, postType: 'post' } );
|
|
123
|
+
} );
|
|
124
|
+
|
|
125
|
+
it( 'omits block-type-declared keys absent from the block context', () => {
|
|
126
|
+
const result = getBlockBindingsContext(
|
|
127
|
+
blockContext,
|
|
128
|
+
[ 'postId', 'core/missing' ],
|
|
129
|
+
undefined
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
expect( result ).toEqual( { postId: 1 } );
|
|
133
|
+
// The declared-but-unprovided key must not become an own
|
|
134
|
+
// (undefined-valued) key, so `key in context` checks stay meaningful.
|
|
135
|
+
expect( result ).not.toHaveProperty( 'core/missing' );
|
|
136
|
+
} );
|
|
137
|
+
|
|
138
|
+
it( 'adds source-declared entries present in the block context', () => {
|
|
139
|
+
expect(
|
|
140
|
+
getBlockBindingsContext(
|
|
141
|
+
blockContext,
|
|
142
|
+
[ 'postId' ],
|
|
143
|
+
[
|
|
144
|
+
{ usesContext: [ 'pattern/overrides' ] },
|
|
145
|
+
{ usesContext: [ 'postType' ] },
|
|
146
|
+
]
|
|
147
|
+
)
|
|
148
|
+
).toEqual( {
|
|
149
|
+
postId: 1,
|
|
150
|
+
postType: 'post',
|
|
151
|
+
'pattern/overrides': { content: 'x' },
|
|
152
|
+
} );
|
|
153
|
+
} );
|
|
154
|
+
|
|
155
|
+
it( 'omits source-declared keys absent from the block context', () => {
|
|
156
|
+
const result = getBlockBindingsContext( blockContext, undefined, [
|
|
157
|
+
{ usesContext: [ 'core/missing' ] },
|
|
158
|
+
] );
|
|
159
|
+
|
|
160
|
+
expect( result ).toEqual( {} );
|
|
161
|
+
expect( result ).not.toHaveProperty( 'core/missing' );
|
|
162
|
+
} );
|
|
163
|
+
|
|
164
|
+
it( 'ignores unregistered (undefined) sources and sources without usesContext', () => {
|
|
165
|
+
expect(
|
|
166
|
+
getBlockBindingsContext( blockContext, undefined, [
|
|
167
|
+
undefined,
|
|
168
|
+
{},
|
|
169
|
+
{ usesContext: [ 'postId' ] },
|
|
170
|
+
] )
|
|
171
|
+
).toEqual( { postId: 1 } );
|
|
172
|
+
} );
|
|
173
|
+
|
|
174
|
+
it( 'returns a stable empty object when nothing is declared', () => {
|
|
175
|
+
const first = getBlockBindingsContext( blockContext, undefined, [] );
|
|
176
|
+
const second = getBlockBindingsContext( blockContext, [], undefined );
|
|
177
|
+
|
|
178
|
+
expect( first ).toEqual( {} );
|
|
179
|
+
expect( second ).toBe( first );
|
|
180
|
+
} );
|
|
181
|
+
} );
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// packages/block-editor/src/components/rich-text/input-event.js
|
|
21
|
-
var input_event_exports = {};
|
|
22
|
-
__export(input_event_exports, {
|
|
23
|
-
RichTextInputEvent: () => RichTextInputEvent
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(input_event_exports);
|
|
26
|
-
var import_element = require("@wordpress/element");
|
|
27
|
-
var import__ = require("./index.cjs");
|
|
28
|
-
function RichTextInputEvent({ inputType, onInput }) {
|
|
29
|
-
const callbacks = (0, import_element.useContext)(import__.inputEventContext);
|
|
30
|
-
const onInputRef = (0, import_element.useRef)();
|
|
31
|
-
onInputRef.current = onInput;
|
|
32
|
-
(0, import_element.useEffect)(() => {
|
|
33
|
-
function callback(event) {
|
|
34
|
-
if (event.inputType === inputType) {
|
|
35
|
-
onInputRef.current();
|
|
36
|
-
event.preventDefault();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
callbacks.current.add(callback);
|
|
40
|
-
return () => {
|
|
41
|
-
callbacks.current.delete(callback);
|
|
42
|
-
};
|
|
43
|
-
}, [inputType]);
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
-
0 && (module.exports = {
|
|
48
|
-
RichTextInputEvent
|
|
49
|
-
});
|
|
50
|
-
//# sourceMappingURL=input-event.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/rich-text/input-event.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useContext, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { inputEventContext } from './';\n\nexport function RichTextInputEvent( { inputType, onInput } ) {\n\tconst callbacks = useContext( inputEventContext );\n\tconst onInputRef = useRef();\n\tonInputRef.current = onInput;\n\n\tuseEffect( () => {\n\t\tfunction callback( event ) {\n\t\t\tif ( event.inputType === inputType ) {\n\t\t\t\tonInputRef.current();\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tcallbacks.current.add( callback );\n\t\treturn () => {\n\t\t\tcallbacks.current.delete( callback );\n\t\t};\n\t}, [ inputType ] );\n\n\treturn null;\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA8C;AAK9C,eAAkC;AAE3B,SAAS,mBAAoB,EAAE,WAAW,QAAQ,GAAI;AAC5D,QAAM,gBAAY,2BAAY,0BAAkB;AAChD,QAAM,iBAAa,uBAAO;AAC1B,aAAW,UAAU;AAErB,gCAAW,MAAM;AAChB,aAAS,SAAU,OAAQ;AAC1B,UAAK,MAAM,cAAc,WAAY;AACpC,mBAAW,QAAQ;AACnB,cAAM,eAAe;AAAA,MACtB;AAAA,IACD;AAEA,cAAU,QAAQ,IAAK,QAAS;AAChC,WAAO,MAAM;AACZ,gBAAU,QAAQ,OAAQ,QAAS;AAAA,IACpC;AAAA,EACD,GAAG,CAAE,SAAU,CAAE;AAEjB,SAAO;AACR;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// packages/block-editor/src/components/rich-text/shortcut.js
|
|
21
|
-
var shortcut_exports = {};
|
|
22
|
-
__export(shortcut_exports, {
|
|
23
|
-
RichTextShortcut: () => RichTextShortcut
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(shortcut_exports);
|
|
26
|
-
var import_keycodes = require("@wordpress/keycodes");
|
|
27
|
-
var import_element = require("@wordpress/element");
|
|
28
|
-
var import__ = require("./index.cjs");
|
|
29
|
-
function RichTextShortcut({ character, type, onUse }) {
|
|
30
|
-
const keyboardShortcuts = (0, import_element.useContext)(import__.keyboardShortcutContext);
|
|
31
|
-
const onUseRef = (0, import_element.useRef)();
|
|
32
|
-
onUseRef.current = onUse;
|
|
33
|
-
(0, import_element.useEffect)(() => {
|
|
34
|
-
function callback(event) {
|
|
35
|
-
if (import_keycodes.isKeyboardEvent[type](event, character)) {
|
|
36
|
-
onUseRef.current();
|
|
37
|
-
event.preventDefault();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
keyboardShortcuts.current.add(callback);
|
|
41
|
-
return () => {
|
|
42
|
-
keyboardShortcuts.current.delete(callback);
|
|
43
|
-
};
|
|
44
|
-
}, [character, type]);
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
48
|
-
0 && (module.exports = {
|
|
49
|
-
RichTextShortcut
|
|
50
|
-
});
|
|
51
|
-
//# sourceMappingURL=shortcut.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/rich-text/shortcut.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { isKeyboardEvent } from '@wordpress/keycodes';\nimport { useEffect, useContext, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { keyboardShortcutContext } from './';\n\nexport function RichTextShortcut( { character, type, onUse } ) {\n\tconst keyboardShortcuts = useContext( keyboardShortcutContext );\n\tconst onUseRef = useRef();\n\tonUseRef.current = onUse;\n\n\tuseEffect( () => {\n\t\tfunction callback( event ) {\n\t\t\tif ( isKeyboardEvent[ type ]( event, character ) ) {\n\t\t\t\tonUseRef.current();\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tkeyboardShortcuts.current.add( callback );\n\t\treturn () => {\n\t\t\tkeyboardShortcuts.current.delete( callback );\n\t\t};\n\t}, [ character, type ] );\n\n\treturn null;\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sBAAgC;AAChC,qBAA8C;AAK9C,eAAwC;AAEjC,SAAS,iBAAkB,EAAE,WAAW,MAAM,MAAM,GAAI;AAC9D,QAAM,wBAAoB,2BAAY,gCAAwB;AAC9D,QAAM,eAAW,uBAAO;AACxB,WAAS,UAAU;AAEnB,gCAAW,MAAM;AAChB,aAAS,SAAU,OAAQ;AAC1B,UAAK,gCAAiB,IAAK,EAAG,OAAO,SAAU,GAAI;AAClD,iBAAS,QAAQ;AACjB,cAAM,eAAe;AAAA,MACtB;AAAA,IACD;AAEA,sBAAkB,QAAQ,IAAK,QAAS;AACxC,WAAO,MAAM;AACZ,wBAAkB,QAAQ,OAAQ,QAAS;AAAA,IAC5C;AAAA,EACD,GAAG,CAAE,WAAW,IAAK,CAAE;AAEvB,SAAO;AACR;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// packages/block-editor/src/components/rich-text/input-event.js
|
|
2
|
-
import { useEffect, useContext, useRef } from "@wordpress/element";
|
|
3
|
-
import { inputEventContext } from "./index.mjs";
|
|
4
|
-
function RichTextInputEvent({ inputType, onInput }) {
|
|
5
|
-
const callbacks = useContext(inputEventContext);
|
|
6
|
-
const onInputRef = useRef();
|
|
7
|
-
onInputRef.current = onInput;
|
|
8
|
-
useEffect(() => {
|
|
9
|
-
function callback(event) {
|
|
10
|
-
if (event.inputType === inputType) {
|
|
11
|
-
onInputRef.current();
|
|
12
|
-
event.preventDefault();
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
callbacks.current.add(callback);
|
|
16
|
-
return () => {
|
|
17
|
-
callbacks.current.delete(callback);
|
|
18
|
-
};
|
|
19
|
-
}, [inputType]);
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
export {
|
|
23
|
-
RichTextInputEvent
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=input-event.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/rich-text/input-event.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useContext, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { inputEventContext } from './';\n\nexport function RichTextInputEvent( { inputType, onInput } ) {\n\tconst callbacks = useContext( inputEventContext );\n\tconst onInputRef = useRef();\n\tonInputRef.current = onInput;\n\n\tuseEffect( () => {\n\t\tfunction callback( event ) {\n\t\t\tif ( event.inputType === inputType ) {\n\t\t\t\tonInputRef.current();\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tcallbacks.current.add( callback );\n\t\treturn () => {\n\t\t\tcallbacks.current.delete( callback );\n\t\t};\n\t}, [ inputType ] );\n\n\treturn null;\n}\n"],
|
|
5
|
-
"mappings": ";AAGA,SAAS,WAAW,YAAY,cAAc;AAK9C,SAAS,yBAAyB;AAE3B,SAAS,mBAAoB,EAAE,WAAW,QAAQ,GAAI;AAC5D,QAAM,YAAY,WAAY,iBAAkB;AAChD,QAAM,aAAa,OAAO;AAC1B,aAAW,UAAU;AAErB,YAAW,MAAM;AAChB,aAAS,SAAU,OAAQ;AAC1B,UAAK,MAAM,cAAc,WAAY;AACpC,mBAAW,QAAQ;AACnB,cAAM,eAAe;AAAA,MACtB;AAAA,IACD;AAEA,cAAU,QAAQ,IAAK,QAAS;AAChC,WAAO,MAAM;AACZ,gBAAU,QAAQ,OAAQ,QAAS;AAAA,IACpC;AAAA,EACD,GAAG,CAAE,SAAU,CAAE;AAEjB,SAAO;AACR;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// packages/block-editor/src/components/rich-text/shortcut.js
|
|
2
|
-
import { isKeyboardEvent } from "@wordpress/keycodes";
|
|
3
|
-
import { useEffect, useContext, useRef } from "@wordpress/element";
|
|
4
|
-
import { keyboardShortcutContext } from "./index.mjs";
|
|
5
|
-
function RichTextShortcut({ character, type, onUse }) {
|
|
6
|
-
const keyboardShortcuts = useContext(keyboardShortcutContext);
|
|
7
|
-
const onUseRef = useRef();
|
|
8
|
-
onUseRef.current = onUse;
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
function callback(event) {
|
|
11
|
-
if (isKeyboardEvent[type](event, character)) {
|
|
12
|
-
onUseRef.current();
|
|
13
|
-
event.preventDefault();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
keyboardShortcuts.current.add(callback);
|
|
17
|
-
return () => {
|
|
18
|
-
keyboardShortcuts.current.delete(callback);
|
|
19
|
-
};
|
|
20
|
-
}, [character, type]);
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
export {
|
|
24
|
-
RichTextShortcut
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=shortcut.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/rich-text/shortcut.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { isKeyboardEvent } from '@wordpress/keycodes';\nimport { useEffect, useContext, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { keyboardShortcutContext } from './';\n\nexport function RichTextShortcut( { character, type, onUse } ) {\n\tconst keyboardShortcuts = useContext( keyboardShortcutContext );\n\tconst onUseRef = useRef();\n\tonUseRef.current = onUse;\n\n\tuseEffect( () => {\n\t\tfunction callback( event ) {\n\t\t\tif ( isKeyboardEvent[ type ]( event, character ) ) {\n\t\t\t\tonUseRef.current();\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tkeyboardShortcuts.current.add( callback );\n\t\treturn () => {\n\t\t\tkeyboardShortcuts.current.delete( callback );\n\t\t};\n\t}, [ character, type ] );\n\n\treturn null;\n}\n"],
|
|
5
|
-
"mappings": ";AAGA,SAAS,uBAAuB;AAChC,SAAS,WAAW,YAAY,cAAc;AAK9C,SAAS,+BAA+B;AAEjC,SAAS,iBAAkB,EAAE,WAAW,MAAM,MAAM,GAAI;AAC9D,QAAM,oBAAoB,WAAY,uBAAwB;AAC9D,QAAM,WAAW,OAAO;AACxB,WAAS,UAAU;AAEnB,YAAW,MAAM;AAChB,aAAS,SAAU,OAAQ;AAC1B,UAAK,gBAAiB,IAAK,EAAG,OAAO,SAAU,GAAI;AAClD,iBAAS,QAAQ;AACjB,cAAM,eAAe;AAAA,MACtB;AAAA,IACD;AAEA,sBAAkB,QAAQ,IAAK,QAAS;AACxC,WAAO,MAAM;AACZ,wBAAkB,QAAQ,OAAQ,QAAS;AAAA,IAC5C;AAAA,EACD,GAAG,CAAE,WAAW,IAAK,CAAE;AAEvB,SAAO;AACR;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { useEffect, useContext, useRef } from '@wordpress/element';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Internal dependencies
|
|
8
|
-
*/
|
|
9
|
-
import { inputEventContext } from './';
|
|
10
|
-
|
|
11
|
-
export function RichTextInputEvent( { inputType, onInput } ) {
|
|
12
|
-
const callbacks = useContext( inputEventContext );
|
|
13
|
-
const onInputRef = useRef();
|
|
14
|
-
onInputRef.current = onInput;
|
|
15
|
-
|
|
16
|
-
useEffect( () => {
|
|
17
|
-
function callback( event ) {
|
|
18
|
-
if ( event.inputType === inputType ) {
|
|
19
|
-
onInputRef.current();
|
|
20
|
-
event.preventDefault();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
callbacks.current.add( callback );
|
|
25
|
-
return () => {
|
|
26
|
-
callbacks.current.delete( callback );
|
|
27
|
-
};
|
|
28
|
-
}, [ inputType ] );
|
|
29
|
-
|
|
30
|
-
return null;
|
|
31
|
-
}
|