@wordpress/block-editor 12.10.3 → 12.11.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 +4 -0
- package/README.md +13 -11
- package/build/autocompleters/block.js +3 -2
- package/build/autocompleters/block.js.map +1 -1
- package/build/autocompleters/link.js +3 -3
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/alignment-control/index.js +3 -3
- package/build/components/alignment-control/index.js.map +1 -1
- package/build/components/alignment-control/ui.js +2 -2
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +3 -2
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +2 -2
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/index.js +3 -3
- package/build/components/block-alignment-control/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +4 -4
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +2 -2
- package/build/components/block-alignment-control/ui.native.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +5 -5
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +12 -12
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-canvas/index.js +13 -15
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-caption/index.native.js +3 -3
- package/build/components/block-caption/index.native.js.map +1 -1
- package/build/components/block-card/index.js +7 -7
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/block-view.js +9 -8
- package/build/components/block-compare/block-view.js.map +1 -1
- package/build/components/block-compare/index.js +5 -5
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-context/index.js +2 -1
- package/build/components/block-context/index.js.map +1 -1
- package/build/components/block-controls/fill.js +5 -5
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/index.js +3 -3
- package/build/components/block-controls/index.js.map +1 -1
- package/build/components/block-controls/slot.js +3 -2
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +4 -4
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +6 -6
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.native.js +4 -4
- package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build/components/block-draggable/dropping-insertion-point.native.js +2 -2
- package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
- package/build/components/block-draggable/index.js +4 -3
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +9 -8
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-edit/edit.js +5 -4
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-edit/edit.native.js +3 -2
- package/build/components/block-edit/edit.native.js.map +1 -1
- package/build/components/block-edit/index.js +3 -2
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-edit-visually-button/index.js +2 -2
- package/build/components/block-edit-visually-button/index.js.map +1 -1
- package/build/components/block-full-height-alignment-control/index.js +2 -2
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/heading-level-icon.js +4 -4
- package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.js +6 -6
- package/build/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.native.js +6 -6
- package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build/components/block-icon/index.js +4 -3
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-icon/index.native.js +3 -3
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +3 -3
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-inspector/index.js +34 -34
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-crash-warning.js +2 -2
- package/build/components/block-list/block-crash-warning.js.map +1 -1
- package/build/components/block-list/block-html.js +3 -2
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +6 -5
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js +3 -3
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js +3 -2
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +10 -10
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +2 -2
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js +9 -9
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +16 -15
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +10 -9
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/grid-item.native.js +2 -2
- package/build/components/block-list/grid-item.native.js.map +1 -1
- package/build/components/block-list/index.js +14 -13
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +21 -20
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/insertion-point.native.js +5 -5
- package/build/components/block-list/insertion-point.native.js.map +1 -1
- package/build/components/block-list/layout.js +3 -2
- package/build/components/block-list/layout.js.map +1 -1
- package/build/components/block-list/subdirectory-icon.js +3 -3
- package/build/components/block-list/subdirectory-icon.js.map +1 -1
- package/build/components/block-list-appender/index.js +5 -5
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js +4 -4
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-lock/menu-item.js +4 -3
- package/build/components/block-lock/menu-item.js.map +1 -1
- package/build/components/block-lock/modal.js +21 -20
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-lock/toolbar.js +5 -4
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js +5 -4
- package/build/components/block-media-update-progress/index.native.js.map +1 -1
- package/build/components/block-mover/button.js +6 -5
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +7 -7
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +5 -4
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +8 -7
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-parent-selector/index.js +6 -5
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +20 -19
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +12 -12
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-list/index.js +19 -18
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +12 -12
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-popover/drop-zone.js +3 -3
- package/build/components/block-popover/drop-zone.js.map +1 -1
- package/build/components/block-popover/inbetween.js +4 -3
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +4 -3
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/auto.js +9 -8
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +7 -6
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +7 -7
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +7 -6
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-selection-clearer/index.js +2 -2
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings/button.native.js +3 -3
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/block-settings/container.native.js +12 -12
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings-menu/block-html-convert-button.js +21 -17
- package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +2 -2
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +17 -16
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +2 -2
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +9 -9
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +9 -8
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +4 -3
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/menu-items.js +4 -4
- package/build/components/block-styles/menu-items.js.map +1 -1
- package/build/components/block-styles/preview-panel.js +3 -2
- package/build/components/block-styles/preview-panel.js.map +1 -1
- package/build/components/block-styles/preview.native.js +8 -7
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +3 -3
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js +11 -10
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +2 -2
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-switcher/block-variation-transformations.js +6 -5
- package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build/components/block-switcher/index.js +17 -17
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +18 -17
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +7 -7
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js +6 -5
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-toolbar/index.js +16 -15
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/index.native.js +8 -7
- package/build/components/block-toolbar/index.native.js.map +1 -1
- package/build/components/block-tools/back-compat.js +3 -2
- package/build/components/block-tools/back-compat.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +6 -5
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +11 -10
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +10 -9
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +9 -8
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +9 -8
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +5 -4
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-types-list/index.js +4 -4
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +11 -10
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.js +8 -8
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +8 -8
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +10 -9
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/icons.js +11 -11
- package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build/components/block-vertical-alignment-control/index.js +3 -3
- package/build/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +2 -2
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +2 -2
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +10 -9
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +5 -5
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +3 -3
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/button-block-appender/index.js +7 -6
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/button-block-appender/index.native.js +5 -5
- package/build/components/button-block-appender/index.native.js.map +1 -1
- package/build/components/caption/index.native.js +3 -3
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/child-layout-control/index.js +8 -7
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/color-palette/control.js +2 -2
- package/build/components/color-palette/control.js.map +1 -1
- package/build/components/color-palette/with-color-context.js +2 -2
- package/build/components/color-palette/with-color-context.js.map +1 -1
- package/build/components/color-style-selector/index.js +9 -9
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/with-colors.js +5 -4
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +12 -12
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +13 -13
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +7 -7
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js +5 -4
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/contrast-checker/index.js +3 -3
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/contrast-checker/index.native.js +6 -5
- package/build/components/contrast-checker/index.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +3 -3
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +4 -4
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/copy-handler/index.js +29 -209
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +9 -8
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +4 -4
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-block-appender/index.native.js +4 -4
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/default-style-picker/index.js +4 -3
- package/build/components/default-style-picker/index.js.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js +3 -3
- package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build/components/dimensions-tool/index.js +5 -4
- package/build/components/dimensions-tool/index.js.map +1 -1
- package/build/components/dimensions-tool/scale-tool.js +6 -5
- package/build/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build/components/dimensions-tool/width-height-tool.js +7 -7
- package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
- package/build/components/duotone-control/index.js +18 -10
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editable-text/index.js +3 -2
- package/build/components/editable-text/index.js.map +1 -1
- package/build/components/editor-styles/index.js +5 -4
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +8 -7
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/floating-toolbar/nav-up-icon.js +4 -4
- package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
- package/build/components/font-appearance-control/index.js +4 -3
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +2 -2
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/font-size-picker.js +2 -2
- package/build/components/font-sizes/font-size-picker.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +4 -3
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +7 -6
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/border-panel.js +8 -7
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +21 -20
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.native.js +4 -3
- package/build/components/global-styles/color-panel.native.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +27 -26
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +23 -22
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +17 -16
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +4 -4
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +22 -21
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/gradients/with-gradient.js +2 -2
- package/build/components/gradients/with-gradient.js.map +1 -1
- package/build/components/height-control/index.js +9 -8
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/iframe/index.js +6 -5
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +7 -7
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/context.js +2 -1
- package/build/components/image-editor/context.js.map +1 -1
- package/build/components/image-editor/cropper.js +4 -4
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/form-controls.js +3 -3
- package/build/components/image-editor/form-controls.js.map +1 -1
- package/build/components/image-editor/index.js +5 -5
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/image-editor/rotation-button.js +2 -2
- package/build/components/image-editor/rotation-button.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js +4 -4
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/image-size-control/index.js +9 -9
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.js +1 -1
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +2 -2
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/constants.native.js +13 -0
- package/build/components/inner-blocks/constants.native.js.map +1 -0
- package/build/components/inner-blocks/default-block-appender.js +2 -2
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +9 -8
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +21 -8
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +95 -0
- package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -0
- package/build/components/inner-blocks/with-client-id.js +2 -2
- package/build/components/inner-blocks/with-client-id.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +7 -6
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +6 -5
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/sidebar.js +8 -8
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-filter.js +21 -19
- package/build/components/inserter/block-patterns-filter.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +19 -18
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +10 -9
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +2 -1
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/index.js +9 -8
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +11 -10
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +3 -2
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +4 -33
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +3 -3
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +7 -6
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +18 -17
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +12 -11
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/media-tab/utils.js +2 -2
- package/build/components/inserter/media-tab/utils.js.map +1 -1
- package/build/components/inserter/menu.js +19 -18
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js +9 -8
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +12 -12
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/no-results.js +4 -4
- package/build/components/inserter/no-results.js.map +1 -1
- package/build/components/inserter/no-results.native.js +4 -4
- package/build/components/inserter/no-results.native.js.map +1 -1
- package/build/components/inserter/panel.js +5 -5
- package/build/components/inserter/panel.js.map +1 -1
- package/build/components/inserter/preview-panel.js +8 -7
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +7 -6
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/reusable-block-rename-hint.js +5 -4
- package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +3 -2
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-results.js +11 -10
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/search-results.native.js +4 -3
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inserter/tabs.js +2 -1
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter/tabs.native.js +7 -6
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/tips.js +6 -5
- package/build/components/inserter/tips.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +3 -3
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js +9 -8
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inserter-listbox/group.js +2 -1
- package/build/components/inserter-listbox/group.js.map +1 -1
- package/build/components/inserter-listbox/index.js +2 -2
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +5 -4
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js +2 -1
- package/build/components/inserter-listbox/row.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +3 -2
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +3 -2
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js +7 -6
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +4 -3
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/index.js +3 -3
- package/build/components/inspector-controls/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +5 -4
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +2 -2
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js +3 -3
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +5 -5
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +5 -4
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab-hint.js +5 -4
- package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.js +2 -2
- package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +11 -11
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +8 -8
- package/build/components/inspector-popover-header/index.js.map +1 -1
- package/build/components/justify-content-control/index.js +3 -3
- package/build/components/justify-content-control/index.js.map +1 -1
- package/build/components/justify-content-control/ui.js +2 -2
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +3 -3
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +3 -3
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +2 -2
- package/build/components/line-height-control/index.native.js.map +1 -1
- package/build/components/link-control/index.js +18 -17
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +20 -20
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-create-button.js +4 -3
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +5 -4
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +5 -5
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +7 -7
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +5 -4
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/settings.js +4 -4
- package/build/components/link-control/settings.js.map +1 -1
- package/build/components/list-view/appender.js +5 -4
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/aria-referenced-text.js +2 -1
- package/build/components/list-view/aria-referenced-text.js.map +1 -1
- package/build/components/list-view/block-contents.js +5 -4
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +16 -15
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +15 -45
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +17 -9
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +4 -3
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/expander.js +3 -3
- package/build/components/list-view/expander.js.map +1 -1
- package/build/components/list-view/index.js +16 -10
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +3 -2
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/utils.js +35 -0
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +22 -21
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +13 -12
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +14 -13
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-replace-flow/index.native.js +2 -2
- package/build/components/media-replace-flow/index.native.js.map +1 -1
- package/build/components/media-upload/{constants.js → constants.native.js} +2 -4
- package/build/components/media-upload/constants.native.js.map +1 -0
- package/build/components/media-upload/index.js +1 -1
- package/build/components/media-upload/index.js.map +1 -1
- package/build/components/media-upload/index.native.js +12 -11
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/media-upload-progress/index.native.js +5 -4
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +6 -6
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +4 -3
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/observe-typing/index.js +2 -2
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/panel-color-settings/index.js +2 -2
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/plain-text/index.js +4 -3
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +4 -3
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +5 -5
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +2 -1
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/index.js +4 -3
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +3 -2
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-sync.js +1 -1
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +4 -3
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js +5 -4
- package/build/components/publish-date-time-picker/index.js.map +1 -1
- package/build/components/recursion-provider/index.js +2 -1
- package/build/components/recursion-provider/index.js.map +1 -1
- package/build/components/resizable-box-popover/index.js +3 -3
- package/build/components/resizable-box-popover/index.js.map +1 -1
- package/build/components/resolution-tool/index.js +3 -3
- package/build/components/resolution-tool/index.js.map +1 -1
- package/build/components/responsive-block-control/index.js +10 -9
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/responsive-block-control/label.js +3 -3
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/content.js +3 -2
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +2 -1
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/format-edit.js +4 -3
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +4 -4
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.native.js +3 -3
- package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +9 -9
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.native.js +3 -3
- package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +2 -1
- package/build/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build/components/rich-text/index.js +9 -8
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +8 -15
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +3 -2
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/rich-text/toolbar-button.js +3 -3
- package/build/components/rich-text/toolbar-button.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +5 -87
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/rich-text/utils.js +2 -5
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +2 -2
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +9 -8
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.js +3 -3
- package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js +3 -3
- package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/single.js +2 -2
- package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +9 -8
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/sides-dropdown/index.js +6 -6
- package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
- package/build/components/text-decoration-control/index.js +6 -6
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +6 -6
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js +11 -10
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/typewriter/index.js +3 -3
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/ungroup-button/index.native.js +2 -2
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/unit-control/index.js +2 -2
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/unsupported-block-details/index.native.js +127 -0
- package/build/components/unsupported-block-details/index.native.js.map +1 -0
- package/build/components/url-input/button.js +9 -8
- package/build/components/url-input/button.js.map +1 -1
- package/build/components/url-input/index.js +9 -8
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-input/index.native.js +2 -2
- package/build/components/url-input/index.native.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +19 -18
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js +8 -7
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +4 -4
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +3 -3
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +4 -4
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +2 -2
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-unsupported-block-editor/index.native.js +57 -0
- package/build/components/use-unsupported-block-editor/index.native.js.map +1 -0
- package/build/components/video-player/gridicon-play.native.js +3 -3
- package/build/components/video-player/gridicon-play.native.js.map +1 -1
- package/build/components/video-player/index.native.js +6 -5
- package/build/components/video-player/index.native.js.map +1 -1
- package/build/components/warning/index.js +10 -9
- package/build/components/warning/index.js.map +1 -1
- package/build/components/warning/index.native.js +6 -6
- package/build/components/warning/index.native.js.map +1 -1
- package/build/components/writing-flow/index.js +7 -5
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js +179 -0
- package/build/components/writing-flow/use-clipboard-handler.js.map +1 -0
- package/build/components/writing-flow/use-tab-nav.js +4 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +6 -6
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/align.js +6 -6
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +10 -9
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/background.js +17 -16
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js +11 -10
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-rename-ui.js +17 -16
- package/build/hooks/block-rename-ui.js.map +1 -1
- package/build/hooks/border.js +6 -5
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +7 -6
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +9 -8
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/contrast-checker.js +2 -1
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/custom-class-name.js +7 -7
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-fields.js +8 -8
- package/build/hooks/custom-fields.js.map +1 -1
- package/build/hooks/dimensions.js +5 -4
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +10 -9
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-size.js +5 -5
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/layout.js +14 -13
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/line-height.js +3 -3
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/margin.js +3 -2
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +3 -2
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +10 -9
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +11 -10
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +4 -3
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +4 -4
- package/build/hooks/typography.native.js.map +1 -1
- package/build/layouts/constrained.js +11 -11
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +18 -18
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/grid.js +10 -10
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +2 -0
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +8 -12
- package/build/store/actions.js.map +1 -1
- package/build/store/private-selectors.js +55 -1
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +19 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +1 -1
- package/build/store/selectors.js.map +1 -1
- package/build/utils/pasting.js +46 -0
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/transform-styles/transforms/wrap.js +5 -0
- package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build/utils/use-notify-copy.js +53 -0
- package/build/utils/use-notify-copy.js.map +1 -0
- package/build-module/autocompleters/block.js +1 -1
- package/build-module/autocompleters/link.js +1 -1
- package/build-module/components/alignment-control/index.js +1 -1
- package/build-module/components/alignment-control/ui.js +1 -1
- package/build-module/components/autocomplete/index.js +1 -1
- package/build-module/components/block-actions/index.js +1 -1
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/index.js +1 -1
- package/build-module/components/block-alignment-control/ui.js +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +1 -1
- package/build-module/components/block-breadcrumb/index.js +2 -2
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-canvas/index.js +7 -9
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-caption/index.native.js +1 -1
- package/build-module/components/block-card/index.js +1 -1
- package/build-module/components/block-compare/block-view.js +1 -1
- package/build-module/components/block-compare/index.js +1 -1
- package/build-module/components/block-context/index.js +1 -1
- package/build-module/components/block-controls/fill.js +1 -1
- package/build-module/components/block-controls/index.js +1 -1
- package/build-module/components/block-controls/slot.js +1 -1
- package/build-module/components/block-controls/slot.native.js +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +1 -1
- package/build-module/components/block-draggable/draggable-chip.native.js +1 -1
- package/build-module/components/block-draggable/dropping-insertion-point.native.js +1 -1
- package/build-module/components/block-draggable/index.js +1 -1
- package/build-module/components/block-draggable/index.native.js +1 -1
- package/build-module/components/block-edit/edit.js +1 -1
- package/build-module/components/block-edit/edit.native.js +1 -1
- package/build-module/components/block-edit/index.js +1 -1
- package/build-module/components/block-edit-visually-button/index.js +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js +1 -1
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +3 -3
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js +3 -3
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.native.js +3 -3
- package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build-module/components/block-icon/index.js +1 -1
- package/build-module/components/block-icon/index.native.js +1 -1
- package/build-module/components/block-info-slot-fill/index.js +1 -1
- package/build-module/components/block-inspector/index.js +1 -1
- package/build-module/components/block-list/block-crash-warning.js +1 -1
- package/build-module/components/block-list/block-html.js +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js +1 -1
- package/build-module/components/block-list/block-list-item.native.js +3 -3
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +1 -1
- package/build-module/components/block-list/block-selection-button.native.js +1 -1
- package/build-module/components/block-list/block.js +1 -1
- package/build-module/components/block-list/block.native.js +1 -1
- package/build-module/components/block-list/grid-item.native.js +1 -1
- package/build-module/components/block-list/index.js +1 -1
- package/build-module/components/block-list/index.native.js +1 -1
- package/build-module/components/block-list/insertion-point.native.js +1 -1
- package/build-module/components/block-list/layout.js +1 -1
- package/build-module/components/block-list/subdirectory-icon.js +1 -1
- package/build-module/components/block-list-appender/index.js +1 -1
- package/build-module/components/block-list-appender/index.native.js +1 -1
- package/build-module/components/block-lock/menu-item.js +1 -1
- package/build-module/components/block-lock/modal.js +1 -1
- package/build-module/components/block-lock/toolbar.js +1 -1
- package/build-module/components/block-media-update-progress/index.native.js +1 -1
- package/build-module/components/block-mover/button.js +1 -1
- package/build-module/components/block-mover/index.js +1 -1
- package/build-module/components/block-mover/index.native.js +1 -1
- package/build-module/components/block-navigation/dropdown.js +1 -1
- package/build-module/components/block-parent-selector/index.js +2 -2
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +1 -1
- package/build-module/components/block-patterns-list/index.js +1 -1
- package/build-module/components/block-patterns-paging/index.js +1 -1
- package/build-module/components/block-popover/drop-zone.js +1 -1
- package/build-module/components/block-popover/inbetween.js +1 -1
- package/build-module/components/block-popover/index.js +1 -1
- package/build-module/components/block-preview/auto.js +1 -1
- package/build-module/components/block-preview/index.js +2 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +1 -1
- package/build-module/components/block-selection-clearer/index.js +1 -1
- package/build-module/components/block-settings/button.native.js +1 -1
- package/build-module/components/block-settings/container.native.js +1 -1
- package/build-module/components/block-settings-menu/block-html-convert-button.js +20 -17
- package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.js +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -1
- package/build-module/components/block-settings-menu/index.js +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +2 -2
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -1
- package/build-module/components/block-styles/index.native.js +1 -1
- package/build-module/components/block-styles/menu-items.js +1 -1
- package/build-module/components/block-styles/preview-panel.js +1 -1
- package/build-module/components/block-styles/preview.native.js +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -1
- package/build-module/components/block-switcher/block-variation-transformations.js +1 -1
- package/build-module/components/block-switcher/index.js +6 -6
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -1
- package/build-module/components/block-toolbar/index.js +1 -1
- package/build-module/components/block-toolbar/index.native.js +1 -1
- package/build-module/components/block-tools/back-compat.js +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +1 -1
- package/build-module/components/block-tools/block-selection-button.js +2 -2
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +1 -1
- package/build-module/components/block-tools/insertion-point.js +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +1 -1
- package/build-module/components/block-types-list/index.js +1 -1
- package/build-module/components/block-types-list/index.native.js +1 -1
- package/build-module/components/block-variation-picker/index.js +1 -1
- package/build-module/components/block-variation-picker/index.native.js +1 -1
- package/build-module/components/block-variation-transforms/index.js +1 -1
- package/build-module/components/block-vertical-alignment-control/icons.js +1 -1
- package/build-module/components/block-vertical-alignment-control/index.js +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +1 -1
- package/build-module/components/border-radius-control/index.js +2 -2
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +1 -1
- package/build-module/components/border-radius-control/linked-button.js +1 -1
- package/build-module/components/button-block-appender/index.js +1 -1
- package/build-module/components/button-block-appender/index.native.js +1 -1
- package/build-module/components/caption/index.native.js +1 -1
- package/build-module/components/child-layout-control/index.js +2 -2
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/color-palette/control.js +1 -1
- package/build-module/components/color-palette/with-color-context.js +1 -1
- package/build-module/components/color-style-selector/index.js +1 -1
- package/build-module/components/colors/with-colors.js +2 -2
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +1 -1
- package/build-module/components/colors-gradients/dropdown.js +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -1
- package/build-module/components/contrast-checker/index.js +1 -1
- package/build-module/components/contrast-checker/index.native.js +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +1 -1
- package/build-module/components/copy-handler/index.js +25 -205
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +1 -1
- package/build-module/components/default-block-appender/index.js +1 -1
- package/build-module/components/default-block-appender/index.native.js +1 -1
- package/build-module/components/default-style-picker/index.js +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js +1 -1
- package/build-module/components/dimensions-tool/index.js +2 -2
- package/build-module/components/dimensions-tool/index.js.map +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js +2 -2
- package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build-module/components/dimensions-tool/width-height-tool.js +3 -3
- package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
- package/build-module/components/duotone-control/index.js +10 -2
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editable-text/index.js +1 -1
- package/build-module/components/editor-styles/index.js +1 -1
- package/build-module/components/floating-toolbar/index.native.js +1 -1
- package/build-module/components/floating-toolbar/nav-up-icon.js +1 -1
- package/build-module/components/font-appearance-control/index.js +2 -2
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +1 -1
- package/build-module/components/font-sizes/font-size-picker.js +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +1 -1
- package/build-module/components/global-styles/advanced-panel.js +1 -1
- package/build-module/components/global-styles/border-panel.js +1 -1
- package/build-module/components/global-styles/color-panel.js +1 -1
- package/build-module/components/global-styles/color-panel.native.js +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +1 -1
- package/build-module/components/global-styles/effects-panel.js +1 -1
- package/build-module/components/global-styles/filters-panel.js +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +1 -1
- package/build-module/components/global-styles/typography-panel.js +1 -1
- package/build-module/components/gradients/with-gradient.js +1 -1
- package/build-module/components/height-control/index.js +2 -2
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/index.js +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
- package/build-module/components/image-editor/context.js +1 -1
- package/build-module/components/image-editor/cropper.js +1 -1
- package/build-module/components/image-editor/form-controls.js +1 -1
- package/build-module/components/image-editor/index.js +1 -1
- package/build-module/components/image-editor/rotation-button.js +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js +1 -1
- package/build-module/components/image-size-control/index.js +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +1 -1
- package/build-module/components/inner-blocks/constants.native.js +6 -0
- package/build-module/components/inner-blocks/constants.native.js.map +1 -0
- package/build-module/components/inner-blocks/default-block-appender.js +1 -1
- package/build-module/components/inner-blocks/index.js +1 -1
- package/build-module/components/inner-blocks/index.native.js +13 -1
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +86 -0
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -0
- package/build-module/components/inner-blocks/with-client-id.js +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +1 -1
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +1 -1
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +1 -1
- package/build-module/components/inserter/block-patterns-filter.js +14 -13
- package/build-module/components/inserter/block-patterns-filter.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +2 -2
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +1 -1
- package/build-module/components/inserter/index.js +3 -3
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +3 -3
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +5 -34
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +1 -1
- package/build-module/components/inserter/media-tab/utils.js +1 -1
- package/build-module/components/inserter/menu.js +1 -1
- package/build-module/components/inserter/menu.native.js +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
- package/build-module/components/inserter/no-results.js +1 -1
- package/build-module/components/inserter/no-results.native.js +1 -1
- package/build-module/components/inserter/panel.js +1 -1
- package/build-module/components/inserter/preview-panel.js +1 -1
- package/build-module/components/inserter/quick-inserter.js +1 -1
- package/build-module/components/inserter/reusable-block-rename-hint.js +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +1 -1
- package/build-module/components/inserter/search-results.js +1 -1
- package/build-module/components/inserter/search-results.native.js +1 -1
- package/build-module/components/inserter/tabs.js +1 -1
- package/build-module/components/inserter/tabs.native.js +1 -1
- package/build-module/components/inserter/tips.js +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +1 -1
- package/build-module/components/inserter-list-item/index.js +1 -1
- package/build-module/components/inserter-listbox/group.js +1 -1
- package/build-module/components/inserter-listbox/index.js +1 -1
- package/build-module/components/inserter-listbox/item.js +1 -1
- package/build-module/components/inserter-listbox/row.js +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +1 -1
- package/build-module/components/inspector-controls/fill.js +1 -1
- package/build-module/components/inspector-controls/fill.native.js +1 -1
- package/build-module/components/inspector-controls/index.js +1 -1
- package/build-module/components/inspector-controls/slot.js +1 -1
- package/build-module/components/inspector-controls/slot.native.js +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -1
- package/build-module/components/inspector-popover-header/index.js +1 -1
- package/build-module/components/justify-content-control/index.js +1 -1
- package/build-module/components/justify-content-control/ui.js +1 -1
- package/build-module/components/letter-spacing-control/index.js +2 -2
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +1 -1
- package/build-module/components/line-height-control/index.native.js +1 -1
- package/build-module/components/link-control/index.js +1 -1
- package/build-module/components/link-control/link-preview.js +1 -1
- package/build-module/components/link-control/search-create-button.js +1 -1
- package/build-module/components/link-control/search-input.js +1 -1
- package/build-module/components/link-control/search-item.js +1 -1
- package/build-module/components/link-control/search-results.js +1 -1
- package/build-module/components/link-control/settings-drawer.js +1 -1
- package/build-module/components/link-control/settings.js +1 -1
- package/build-module/components/list-view/appender.js +1 -1
- package/build-module/components/list-view/aria-referenced-text.js +1 -1
- package/build-module/components/list-view/block-contents.js +1 -1
- package/build-module/components/list-view/block-select-button.js +1 -1
- package/build-module/components/list-view/block.js +4 -35
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +9 -2
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +1 -1
- package/build-module/components/list-view/expander.js +1 -1
- package/build-module/components/list-view/index.js +9 -4
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +1 -1
- package/build-module/components/list-view/utils.js +34 -0
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +1 -1
- package/build-module/components/media-placeholder/index.native.js +1 -1
- package/build-module/components/media-replace-flow/index.js +1 -1
- package/build-module/components/media-replace-flow/index.native.js +1 -1
- package/build-module/components/media-upload/{constants.js → constants.native.js} +1 -2
- package/build-module/components/media-upload/constants.native.js.map +1 -0
- package/build-module/components/media-upload/index.js +1 -1
- package/build-module/components/media-upload/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +7 -7
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/media-upload-progress/index.native.js +1 -1
- package/build-module/components/multi-selection-inspector/index.js +1 -1
- package/build-module/components/navigable-toolbar/index.js +1 -1
- package/build-module/components/observe-typing/index.js +1 -1
- package/build-module/components/panel-color-settings/index.js +1 -1
- package/build-module/components/plain-text/index.js +1 -1
- package/build-module/components/plain-text/index.native.js +1 -1
- package/build-module/components/preview-options/index.js +1 -1
- package/build-module/components/provider/block-refs-provider.js +1 -1
- package/build-module/components/provider/index.js +1 -1
- package/build-module/components/provider/index.native.js +1 -1
- package/build-module/components/provider/use-block-sync.js +1 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js +1 -1
- package/build-module/components/publish-date-time-picker/index.js +1 -1
- package/build-module/components/recursion-provider/index.js +1 -1
- package/build-module/components/resizable-box-popover/index.js +1 -1
- package/build-module/components/resolution-tool/index.js +1 -1
- package/build-module/components/responsive-block-control/index.js +1 -1
- package/build-module/components/responsive-block-control/label.js +1 -1
- package/build-module/components/rich-text/content.js +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +1 -1
- package/build-module/components/rich-text/format-edit.js +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +1 -1
- package/build-module/components/rich-text/format-toolbar/index.native.js +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +1 -1
- package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +1 -1
- package/build-module/components/rich-text/index.js +1 -1
- package/build-module/components/rich-text/index.native.js +2 -10
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +1 -1
- package/build-module/components/rich-text/toolbar-button.js +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +7 -89
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/utils.js +1 -3
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +1 -1
- package/build-module/components/spacing-sizes-control/index.js +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/single.js +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
- package/build-module/components/text-decoration-control/index.js +2 -2
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +2 -2
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +1 -1
- package/build-module/components/typewriter/index.js +2 -2
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js +1 -1
- package/build-module/components/unit-control/index.js +1 -1
- package/build-module/components/unsupported-block-details/index.native.js +118 -0
- package/build-module/components/unsupported-block-details/index.native.js.map +1 -0
- package/build-module/components/url-input/button.js +1 -1
- package/build-module/components/url-input/index.js +1 -1
- package/build-module/components/url-input/index.native.js +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +1 -1
- package/build-module/components/url-popover/index.js +1 -1
- package/build-module/components/url-popover/link-editor.js +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +1 -1
- package/build-module/components/url-popover/link-viewer.js +1 -1
- package/build-module/components/use-on-block-drop/index.js +2 -2
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-unsupported-block-editor/index.native.js +51 -0
- package/build-module/components/use-unsupported-block-editor/index.native.js.map +1 -0
- package/build-module/components/video-player/gridicon-play.native.js +1 -1
- package/build-module/components/video-player/index.native.js +1 -1
- package/build-module/components/warning/index.js +1 -1
- package/build-module/components/warning/index.native.js +1 -1
- package/build-module/components/writing-flow/index.js +5 -4
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js +172 -0
- package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -0
- package/build-module/components/writing-flow/use-tab-nav.js +1 -1
- package/build-module/components/writing-mode-control/index.js +2 -2
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/align.js +1 -1
- package/build-module/hooks/anchor.js +3 -3
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/background.js +1 -1
- package/build-module/hooks/block-hooks.js +1 -1
- package/build-module/hooks/block-rename-ui.js +1 -1
- package/build-module/hooks/border.js +1 -1
- package/build-module/hooks/color.js +1 -1
- package/build-module/hooks/content-lock-ui.js +1 -1
- package/build-module/hooks/contrast-checker.js +1 -1
- package/build-module/hooks/custom-class-name.js +3 -3
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-fields.js +3 -3
- package/build-module/hooks/custom-fields.js.map +1 -1
- package/build-module/hooks/dimensions.js +1 -1
- package/build-module/hooks/duotone.js +1 -1
- package/build-module/hooks/font-size.js +2 -2
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/layout.js +1 -1
- package/build-module/hooks/line-height.js +2 -2
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/margin.js +1 -1
- package/build-module/hooks/padding.js +1 -1
- package/build-module/hooks/position.js +3 -3
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +1 -1
- package/build-module/hooks/typography.js +1 -1
- package/build-module/hooks/typography.native.js +1 -1
- package/build-module/layouts/constrained.js +1 -1
- package/build-module/layouts/flex.js +1 -1
- package/build-module/layouts/grid.js +1 -1
- package/build-module/private-apis.js +2 -0
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +8 -12
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-selectors.js +52 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +18 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +1 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/pasting.js +47 -0
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/transform-styles/transforms/wrap.js +5 -0
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-module/utils/use-notify-copy.js +46 -0
- package/build-module/utils/use-notify-copy.js.map +1 -0
- package/build-style/content-rtl.css +10 -11
- package/build-style/content.css +10 -11
- 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 +11 -12
- package/build-style/style.css +11 -12
- package/package.json +31 -32
- package/src/components/block-actions/index.js +1 -1
- package/src/components/block-breadcrumb/index.js +1 -1
- package/src/components/block-canvas/index.js +6 -12
- package/src/components/block-context/README.md +1 -1
- package/src/components/block-heading-level-dropdown/heading-level-icon.js +2 -2
- package/src/components/block-heading-level-dropdown/index.js +2 -2
- package/src/components/block-heading-level-dropdown/index.native.js +2 -2
- package/src/components/block-list/block-list-item.native.js +2 -2
- package/src/components/block-parent-selector/index.js +1 -1
- package/src/components/block-preview/index.js +1 -1
- package/src/components/block-settings-menu/block-html-convert-button.js +28 -19
- package/src/components/block-settings-menu-controls/index.js +1 -1
- package/src/components/block-switcher/index.js +17 -18
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +2 -2
- package/src/components/block-tools/block-selection-button.js +1 -1
- package/src/components/border-radius-control/index.js +1 -1
- package/src/components/child-layout-control/index.js +1 -1
- package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
- package/src/components/colors/with-colors.js +1 -1
- package/src/components/copy-handler/README.md +2 -0
- package/src/components/copy-handler/index.js +21 -291
- package/src/components/dimensions-tool/index.js +1 -1
- package/src/components/dimensions-tool/scale-tool.js +1 -1
- package/src/components/dimensions-tool/width-height-tool.js +1 -1
- package/src/components/duotone-control/index.js +14 -2
- package/src/components/editable-text/README.md +2 -2
- package/src/components/font-appearance-control/index.js +1 -1
- package/src/components/font-family/README.md +1 -1
- package/src/components/height-control/README.md +1 -1
- package/src/components/height-control/index.js +1 -1
- package/src/components/image-size-control/README.md +2 -2
- package/src/components/index.js +1 -1
- package/src/components/inner-blocks/constants.native.js +5 -0
- package/src/components/inner-blocks/index.native.js +15 -0
- package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +100 -0
- package/src/components/inserter/block-patterns-filter.js +22 -10
- package/src/components/inserter/block-patterns-tab.js +0 -3
- package/src/components/inserter/index.js +2 -2
- package/src/components/inserter/index.native.js +2 -2
- package/src/components/inserter/media-tab/hooks.js +10 -44
- package/src/components/inserter/style.scss +1 -1
- package/src/components/letter-spacing-control/index.js +1 -1
- package/src/components/list-view/block.js +3 -43
- package/src/components/list-view/branch.js +11 -1
- package/src/components/list-view/index.js +8 -4
- package/src/components/list-view/utils.js +37 -0
- package/src/components/media-placeholder/README.md +3 -3
- package/src/components/media-upload/{constants.js → constants.native.js} +0 -1
- package/src/components/media-upload/index.js +1 -1
- package/src/components/media-upload/index.native.js +9 -5
- package/src/components/panel-color-settings/README.md +5 -1
- package/src/components/plain-text/README.md +1 -1
- package/src/components/provider/README.md +1 -1
- package/src/components/provider/use-block-sync.js +1 -1
- package/src/components/publish-date-time-picker/README.md +1 -1
- package/src/components/responsive-block-control/README.md +1 -3
- package/src/components/rich-text/README.md +3 -3
- package/src/components/rich-text/index.native.js +0 -13
- package/src/components/rich-text/use-paste-handler.js +5 -99
- package/src/components/rich-text/utils.js +0 -3
- package/src/components/text-decoration-control/index.js +1 -1
- package/src/components/text-transform-control/index.js +1 -1
- package/src/components/typewriter/index.js +1 -1
- package/src/components/unit-control/README.md +1 -1
- package/src/components/unsupported-block-details/index.native.js +183 -0
- package/src/components/unsupported-block-details/style.native.scss +56 -0
- package/src/components/url-input/README.md +4 -4
- package/src/components/use-on-block-drop/index.js +2 -2
- package/src/components/use-unsupported-block-editor/index.native.js +59 -0
- package/src/components/writing-flow/index.js +4 -2
- package/src/components/writing-flow/use-clipboard-handler.js +242 -0
- package/src/components/writing-mode-control/index.js +1 -1
- package/src/hooks/anchor.js +2 -2
- package/src/hooks/custom-class-name.js +2 -2
- package/src/hooks/custom-fields.js +2 -2
- package/src/hooks/font-size.js +1 -1
- package/src/hooks/line-height.js +1 -1
- package/src/hooks/position.js +2 -2
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +7 -11
- package/src/store/private-selectors.js +72 -0
- package/src/store/reducer.js +17 -0
- package/src/store/selectors.js +1 -1
- package/src/store/test/actions.js +10 -16
- package/src/utils/pasting.js +51 -0
- package/src/utils/transform-styles/transforms/test/__snapshots__/wrap.js.snap +13 -6
- package/src/utils/transform-styles/transforms/test/wrap.js +9 -0
- package/src/utils/transform-styles/transforms/wrap.js +5 -0
- package/src/utils/use-notify-copy.js +63 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-settings-menu/block-convert-button.js +0 -27
- package/build/components/block-settings-menu/block-convert-button.js.map +0 -1
- package/build/components/media-upload/constants.js.map +0 -1
- package/build-module/components/block-settings-menu/block-convert-button.js +0 -20
- package/build-module/components/block-settings-menu/block-convert-button.js.map +0 -1
- package/build-module/components/media-upload/constants.js.map +0 -1
- package/src/components/block-settings-menu/block-convert-button.js +0 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRefEffect","getFilesFromDataTransfer","pasteHandler","findTransform","getBlockTransforms","isEmpty","insert","create","isURL","addActiveFormats","isShortcode","splitValue","shouldDismissPastedFiles","usePasteHandler","props","propsRef","current","element","_onPaste","event","isSelected","disableFormats","onChange","value","formatTypes","tagName","onReplace","onSplit","__unstableEmbedURLOnPaste","preserveWhiteSpace","pastePlainText","clipboardData","plainText","html","getData","error1","error2","removeWindowsFragments","removeCharsetMetaTag","preventDefault","window","console","log","transformed","reduce","accumlator","__unstablePasteRule","files","isInternal","pastedValue","activeFormats","text","length","fromTransforms","blocks","accumulator","file","transformation","transform","type","isMatch","push","flat","pastedBlocks","mode","trim","content","HTML","valueToInsert","addEventListener","removeEventListener","startStr","startIdx","indexOf","substring","endStr","endIdx","metaTag","startsWith","slice"],"sources":["@wordpress/block-editor/src/components/rich-text/use-paste-handler.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { getFilesFromDataTransfer } from '@wordpress/dom';\nimport {\n\tpasteHandler,\n\tfindTransform,\n\tgetBlockTransforms,\n} from '@wordpress/blocks';\nimport { isEmpty, insert, create } from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { addActiveFormats, isShortcode } from './utils';\nimport { splitValue } from './split-value';\nimport { shouldDismissPastedFiles } from '../../utils/pasting';\n\n/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */\n\nexport function usePasteHandler( props ) {\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction _onPaste( event ) {\n\t\t\tconst {\n\t\t\t\tisSelected,\n\t\t\t\tdisableFormats,\n\t\t\t\tonChange,\n\t\t\t\tvalue,\n\t\t\t\tformatTypes,\n\t\t\t\ttagName,\n\t\t\t\tonReplace,\n\t\t\t\tonSplit,\n\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t\tpastePlainText,\n\t\t\t} = propsRef.current;\n\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { clipboardData } = event;\n\n\t\t\tlet plainText = '';\n\t\t\tlet html = '';\n\n\t\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t\t// arguments first, then fallback to `Text` if they fail.\n\t\t\ttry {\n\t\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t\t} catch ( error1 ) {\n\t\t\t\ttry {\n\t\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t\t} catch ( error2 ) {\n\t\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t\t// behaviour.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove Windows-specific metadata appended within copied HTML text.\n\t\t\thtml = removeWindowsFragments( html );\n\n\t\t\t// Strip meta tag.\n\t\t\thtml = removeCharsetMetaTag( html );\n\n\t\t\tevent.preventDefault();\n\n\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\t\tif ( disableFormats ) {\n\t\t\t\tonChange( insert( value, plainText ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst transformed = formatTypes.reduce(\n\t\t\t\t( accumlator, { __unstablePasteRule } ) => {\n\t\t\t\t\t// Only allow one transform.\n\t\t\t\t\tif ( __unstablePasteRule && accumlator === value ) {\n\t\t\t\t\t\taccumlator = __unstablePasteRule( value, {\n\t\t\t\t\t\t\thtml,\n\t\t\t\t\t\t\tplainText,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn accumlator;\n\t\t\t\t},\n\t\t\t\tvalue\n\t\t\t);\n\n\t\t\tif ( transformed !== value ) {\n\t\t\t\tonChange( transformed );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst files = [ ...getFilesFromDataTransfer( clipboardData ) ];\n\t\t\tconst isInternal = clipboardData.getData( 'rich-text' ) === 'true';\n\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, value.activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( files?.length ) {\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\t\t\t}\n\n\t\t\t// Process any attached files, unless we infer that the files in\n\t\t\t// question are redundant \"screenshots\" of the actual HTML payload,\n\t\t\t// as created by certain office-type programs.\n\t\t\t//\n\t\t\t// @see shouldDismissPastedFiles\n\t\t\tif (\n\t\t\t\tfiles?.length &&\n\t\t\t\t! shouldDismissPastedFiles( files, html, plainText )\n\t\t\t) {\n\t\t\t\tconst fromTransforms = getBlockTransforms( 'from' );\n\t\t\t\tconst blocks = files\n\t\t\t\t\t.reduce( ( accumulator, file ) => {\n\t\t\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\t\t\tfromTransforms,\n\t\t\t\t\t\t\t( transform ) =>\n\t\t\t\t\t\t\t\ttransform.type === 'files' &&\n\t\t\t\t\t\t\t\ttransform.isMatch( [ file ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( transformation ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\ttransformation.transform( [ file ] )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, [] )\n\t\t\t\t\t.flat();\n\t\t\t\tif ( ! blocks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( blocks );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: blocks,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\t// Force the blocks mode when the user is pasting\n\t\t\t// on a new line & the content resembles a shortcode.\n\t\t\t// Otherwise it's going to be detected as inline\n\t\t\t// and the shortcode won't be replaced.\n\t\t\tif (\n\t\t\t\tmode === 'AUTO' &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisShortcode( plainText )\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisURL( plainText.trim() )\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\taddActiveFormats( valueToInsert, value.activeFormats );\n\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: content,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\telement.addEventListener( 'paste', _onPaste );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'paste', _onPaste );\n\t\t};\n\t}, [] );\n}\n\n/**\n * Normalizes a given string of HTML to remove the Windows-specific \"Fragment\"\n * comments and any preceding and trailing content.\n *\n * @param {string} html the html to be normalized\n * @return {string} the normalized html\n */\nfunction removeWindowsFragments( html ) {\n\tconst startStr = '<!--StartFragment-->';\n\tconst startIdx = html.indexOf( startStr );\n\tif ( startIdx > -1 ) {\n\t\thtml = html.substring( startIdx + startStr.length );\n\t} else {\n\t\t// No point looking for EndFragment\n\t\treturn html;\n\t}\n\n\tconst endStr = '<!--EndFragment-->';\n\tconst endIdx = html.indexOf( endStr );\n\tif ( endIdx > -1 ) {\n\t\thtml = html.substring( 0, endIdx );\n\t}\n\n\treturn html;\n}\n\n/**\n * Removes the charset meta tag inserted by Chromium.\n * See:\n * - https://github.com/WordPress/gutenberg/issues/33585\n * - https://bugs.chromium.org/p/chromium/issues/detail?id=1264616#c4\n *\n * @param {string} html the html to be stripped of the meta tag.\n * @return {string} the cleaned html\n */\nfunction removeCharsetMetaTag( html ) {\n\tconst metaTag = `<meta charset='utf-8'>`;\n\n\tif ( html.startsWith( metaTag ) ) {\n\t\treturn html.slice( metaTag.length );\n\t}\n\n\treturn html;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useRef","useRefEffect","pasteHandler","findTransform","getBlockTransforms","isEmpty","insert","create","isURL","addActiveFormats","splitValue","getPasteEventData","usePasteHandler","props","propsRef","current","element","_onPaste","event","isSelected","disableFormats","onChange","value","formatTypes","tagName","onReplace","onSplit","__unstableEmbedURLOnPaste","preserveWhiteSpace","pastePlainText","plainText","html","files","preventDefault","window","console","log","transformed","reduce","accumlator","__unstablePasteRule","isInternal","clipboardData","getData","pastedValue","activeFormats","text","length","fromTransforms","blocks","accumulator","file","transformation","transform","type","isMatch","push","flat","pastedBlocks","mode","trim","content","HTML","valueToInsert","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/rich-text/use-paste-handler.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport {\n\tpasteHandler,\n\tfindTransform,\n\tgetBlockTransforms,\n} from '@wordpress/blocks';\nimport { isEmpty, insert, create } from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { addActiveFormats } from './utils';\nimport { splitValue } from './split-value';\nimport { getPasteEventData } from '../../utils/pasting';\n\n/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */\n\nexport function usePasteHandler( props ) {\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction _onPaste( event ) {\n\t\t\tconst {\n\t\t\t\tisSelected,\n\t\t\t\tdisableFormats,\n\t\t\t\tonChange,\n\t\t\t\tvalue,\n\t\t\t\tformatTypes,\n\t\t\t\ttagName,\n\t\t\t\tonReplace,\n\t\t\t\tonSplit,\n\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t\tpastePlainText,\n\t\t\t} = propsRef.current;\n\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { plainText, html, files } = getPasteEventData( event );\n\n\t\t\tevent.preventDefault();\n\n\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\t\tif ( disableFormats ) {\n\t\t\t\tonChange( insert( value, plainText ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst transformed = formatTypes.reduce(\n\t\t\t\t( accumlator, { __unstablePasteRule } ) => {\n\t\t\t\t\t// Only allow one transform.\n\t\t\t\t\tif ( __unstablePasteRule && accumlator === value ) {\n\t\t\t\t\t\taccumlator = __unstablePasteRule( value, {\n\t\t\t\t\t\t\thtml,\n\t\t\t\t\t\t\tplainText,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn accumlator;\n\t\t\t\t},\n\t\t\t\tvalue\n\t\t\t);\n\n\t\t\tif ( transformed !== value ) {\n\t\t\t\tonChange( transformed );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isInternal =\n\t\t\t\tevent.clipboardData.getData( 'rich-text' ) === 'true';\n\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, value.activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( files?.length ) {\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\n\t\t\t\tconst fromTransforms = getBlockTransforms( 'from' );\n\t\t\t\tconst blocks = files\n\t\t\t\t\t.reduce( ( accumulator, file ) => {\n\t\t\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\t\t\tfromTransforms,\n\t\t\t\t\t\t\t( transform ) =>\n\t\t\t\t\t\t\t\ttransform.type === 'files' &&\n\t\t\t\t\t\t\t\ttransform.isMatch( [ file ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( transformation ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\ttransformation.transform( [ file ] )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, [] )\n\t\t\t\t\t.flat();\n\t\t\t\tif ( ! blocks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( blocks );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: blocks,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisURL( plainText.trim() )\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\taddActiveFormats( valueToInsert, value.activeFormats );\n\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: content,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\telement.addEventListener( 'paste', _onPaste );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'paste', _onPaste );\n\t\t};\n\t}, [] );\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { createElement } from "
|
|
1
|
+
import { createElement } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { regexp } from '@wordpress/shortcode';
|
|
6
5
|
import { renderToString } from '@wordpress/element';
|
|
7
6
|
import { createBlock } from '@wordpress/blocks';
|
|
8
7
|
export function addActiveFormats(value, activeFormats) {
|
|
@@ -37,7 +36,6 @@ export function getAllowedFormats({
|
|
|
37
36
|
return allowedFormats;
|
|
38
37
|
}
|
|
39
38
|
getAllowedFormats.EMPTY_ARRAY = [];
|
|
40
|
-
export const isShortcode = text => regexp('.*').test(text);
|
|
41
39
|
|
|
42
40
|
/**
|
|
43
41
|
* Creates a link from pasted URL.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["renderToString","createBlock","addActiveFormats","value","activeFormats","length","index","formats","getMultilineTag","multiline","getAllowedFormats","allowedFormats","disableFormats","EMPTY_ARRAY","createLinkInParagraph","url","onReplace","link","createElement","href","content"],"sources":["@wordpress/block-editor/src/components/rich-text/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { renderToString } from '@wordpress/element';\nimport { createBlock } from '@wordpress/blocks';\n\nexport function addActiveFormats( value, activeFormats ) {\n\tif ( activeFormats?.length ) {\n\t\tlet index = value.formats.length;\n\n\t\twhile ( index-- ) {\n\t\t\tvalue.formats[ index ] = [\n\t\t\t\t...activeFormats,\n\t\t\t\t...( value.formats[ index ] || [] ),\n\t\t\t];\n\t\t}\n\t}\n}\n\n/**\n * Get the multiline tag based on the multiline prop.\n *\n * @param {?(string|boolean)} multiline The multiline prop.\n *\n * @return {string | undefined} The multiline tag.\n */\nexport function getMultilineTag( multiline ) {\n\tif ( multiline !== true && multiline !== 'p' && multiline !== 'li' ) {\n\t\treturn;\n\t}\n\n\treturn multiline === true ? 'p' : multiline;\n}\n\nexport function getAllowedFormats( { allowedFormats, disableFormats } ) {\n\tif ( disableFormats ) {\n\t\treturn getAllowedFormats.EMPTY_ARRAY;\n\t}\n\n\treturn allowedFormats;\n}\n\ngetAllowedFormats.EMPTY_ARRAY = [];\n\n/**\n * Creates a link from pasted URL.\n * Creates a paragraph block containing a link to the URL, and calls `onReplace`.\n *\n * @param {string} url The URL that could not be embedded.\n * @param {Function} onReplace Function to call with the created fallback block.\n */\nexport function createLinkInParagraph( url, onReplace ) {\n\tconst link = <a href={ url }>{ url }</a>;\n\tonReplace(\n\t\tcreateBlock( 'core/paragraph', { content: renderToString( link ) } )\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,oBAAoB;AACnD,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,OAAO,SAASC,gBAAgBA,CAAEC,KAAK,EAAEC,aAAa,EAAG;EACxD,IAAKA,aAAa,EAAEC,MAAM,EAAG;IAC5B,IAAIC,KAAK,GAAGH,KAAK,CAACI,OAAO,CAACF,MAAM;IAEhC,OAAQC,KAAK,EAAE,EAAG;MACjBH,KAAK,CAACI,OAAO,CAAED,KAAK,CAAE,GAAG,CACxB,GAAGF,aAAa,EAChB,IAAKD,KAAK,CAACI,OAAO,CAAED,KAAK,CAAE,IAAI,EAAE,CAAE,CACnC;IACF;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAAEC,SAAS,EAAG;EAC5C,IAAKA,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,GAAG,IAAIA,SAAS,KAAK,IAAI,EAAG;IACpE;EACD;EAEA,OAAOA,SAAS,KAAK,IAAI,GAAG,GAAG,GAAGA,SAAS;AAC5C;AAEA,OAAO,SAASC,iBAAiBA,CAAE;EAAEC,cAAc;EAAEC;AAAe,CAAC,EAAG;EACvE,IAAKA,cAAc,EAAG;IACrB,OAAOF,iBAAiB,CAACG,WAAW;EACrC;EAEA,OAAOF,cAAc;AACtB;AAEAD,iBAAiB,CAACG,WAAW,GAAG,EAAE;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAEC,GAAG,EAAEC,SAAS,EAAG;EACvD,MAAMC,IAAI,GAAGC,aAAA;IAAGC,IAAI,EAAGJ;EAAK,GAAGA,GAAQ,CAAC;EACxCC,SAAS,CACRf,WAAW,CAAE,gBAAgB,EAAE;IAAEmB,OAAO,EAAEpB,cAAc,CAAEiB,IAAK;EAAE,CAAE,CACpE,CAAC;AACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElement } from "
|
|
1
|
+
import { createElement } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
@@ -32,7 +32,7 @@ const TEXT_DECORATIONS = [{
|
|
|
32
32
|
* @param {Function} props.onChange Handles change in text decoration selection.
|
|
33
33
|
* @param {string} [props.className] Additional class name to apply.
|
|
34
34
|
*
|
|
35
|
-
* @return {
|
|
35
|
+
* @return {Element} Text decoration control.
|
|
36
36
|
*/
|
|
37
37
|
export default function TextDecorationControl({
|
|
38
38
|
value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","BaseControl","Button","reset","formatStrikethrough","formatUnderline","__","TEXT_DECORATIONS","name","value","icon","TextDecorationControl","onChange","className","createElement","VisualLabel","as","map","textDecoration","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/text-decoration-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { BaseControl, Button } from '@wordpress/components';\nimport { reset, formatStrikethrough, formatUnderline } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst TEXT_DECORATIONS = [\n\t{\n\t\tname: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tname: __( 'Underline' ),\n\t\tvalue: 'underline',\n\t\ticon: formatUnderline,\n\t},\n\t{\n\t\tname: __( 'Strikethrough' ),\n\t\tvalue: 'line-through',\n\t\ticon: formatStrikethrough,\n\t},\n];\n\n/**\n * Control to facilitate text decoration selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.value Currently selected text decoration.\n * @param {Function} props.onChange Handles change in text decoration selection.\n * @param {string} [props.className] Additional class name to apply.\n *\n * @return {
|
|
1
|
+
{"version":3,"names":["classnames","BaseControl","Button","reset","formatStrikethrough","formatUnderline","__","TEXT_DECORATIONS","name","value","icon","TextDecorationControl","onChange","className","createElement","VisualLabel","as","map","textDecoration","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/text-decoration-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { BaseControl, Button } from '@wordpress/components';\nimport { reset, formatStrikethrough, formatUnderline } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst TEXT_DECORATIONS = [\n\t{\n\t\tname: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tname: __( 'Underline' ),\n\t\tvalue: 'underline',\n\t\ticon: formatUnderline,\n\t},\n\t{\n\t\tname: __( 'Strikethrough' ),\n\t\tvalue: 'line-through',\n\t\ticon: formatStrikethrough,\n\t},\n];\n\n/**\n * Control to facilitate text decoration selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.value Currently selected text decoration.\n * @param {Function} props.onChange Handles change in text decoration selection.\n * @param {string} [props.className] Additional class name to apply.\n *\n * @return {Element} Text decoration control.\n */\nexport default function TextDecorationControl( {\n\tvalue,\n\tonChange,\n\tclassName,\n} ) {\n\treturn (\n\t\t<fieldset\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-text-decoration-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Decoration' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<div className=\"block-editor-text-decoration-control__buttons\">\n\t\t\t\t{ TEXT_DECORATIONS.map( ( textDecoration ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ textDecoration.value }\n\t\t\t\t\t\t\ticon={ textDecoration.icon }\n\t\t\t\t\t\t\tlabel={ textDecoration.name }\n\t\t\t\t\t\t\tisPressed={ textDecoration.value === value }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttextDecoration.value === value\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: textDecoration.value\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</fieldset>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,WAAW,EAAEC,MAAM,QAAQ,uBAAuB;AAC3D,SAASC,KAAK,EAAEC,mBAAmB,EAAEC,eAAe,QAAQ,kBAAkB;AAC9E,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,MAAMC,gBAAgB,GAAG,CACxB;EACCC,IAAI,EAAEF,EAAE,CAAE,MAAO,CAAC;EAClBG,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEP;AACP,CAAC,EACD;EACCK,IAAI,EAAEF,EAAE,CAAE,WAAY,CAAC;EACvBG,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEL;AACP,CAAC,EACD;EACCG,IAAI,EAAEF,EAAE,CAAE,eAAgB,CAAC;EAC3BG,KAAK,EAAE,cAAc;EACrBC,IAAI,EAAEN;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASO,qBAAqBA,CAAE;EAC9CF,KAAK;EACLG,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,OACCC,aAAA;IACCD,SAAS,EAAGb,UAAU,CACrB,sCAAsC,EACtCa,SACD;EAAG,GAEHC,aAAA,CAACb,WAAW,CAACc,WAAW;IAACC,EAAE,EAAC;EAAQ,GACjCV,EAAE,CAAE,YAAa,CACK,CAAC,EAC1BQ,aAAA;IAAKD,SAAS,EAAC;EAA+C,GAC3DN,gBAAgB,CAACU,GAAG,CAAIC,cAAc,IAAM;IAC7C,OACCJ,aAAA,CAACZ,MAAM;MACNiB,GAAG,EAAGD,cAAc,CAACT,KAAO;MAC5BC,IAAI,EAAGQ,cAAc,CAACR,IAAM;MAC5BU,KAAK,EAAGF,cAAc,CAACV,IAAM;MAC7Ba,SAAS,EAAGH,cAAc,CAACT,KAAK,KAAKA,KAAO;MAC5Ca,OAAO,EAAGA,CAAA,KAAM;QACfV,QAAQ,CACPM,cAAc,CAACT,KAAK,KAAKA,KAAK,GAC3Bc,SAAS,GACTL,cAAc,CAACT,KACnB,CAAC;MACF;IAAG,CACH,CAAC;EAEJ,CAAE,CACE,CACI,CAAC;AAEb"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElement } from "
|
|
1
|
+
import { createElement } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
@@ -36,7 +36,7 @@ const TEXT_TRANSFORMS = [{
|
|
|
36
36
|
* @param {string} props.value Currently selected text transform.
|
|
37
37
|
* @param {Function} props.onChange Handles change in text transform selection.
|
|
38
38
|
*
|
|
39
|
-
* @return {
|
|
39
|
+
* @return {Element} Text transform control.
|
|
40
40
|
*/
|
|
41
41
|
export default function TextTransformControl({
|
|
42
42
|
className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","BaseControl","Button","__","reset","formatCapitalize","formatLowercase","formatUppercase","TEXT_TRANSFORMS","name","value","icon","TextTransformControl","className","onChange","createElement","VisualLabel","as","map","textTransform","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/text-transform-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\treset,\n\tformatCapitalize,\n\tformatLowercase,\n\tformatUppercase,\n} from '@wordpress/icons';\n\nconst TEXT_TRANSFORMS = [\n\t{\n\t\tname: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tname: __( 'Uppercase' ),\n\t\tvalue: 'uppercase',\n\t\ticon: formatUppercase,\n\t},\n\t{\n\t\tname: __( 'Lowercase' ),\n\t\tvalue: 'lowercase',\n\t\ticon: formatLowercase,\n\t},\n\t{\n\t\tname: __( 'Capitalize' ),\n\t\tvalue: 'capitalize',\n\t\ticon: formatCapitalize,\n\t},\n];\n\n/**\n * Control to facilitate text transform selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.className Class name to add to the control.\n * @param {string} props.value Currently selected text transform.\n * @param {Function} props.onChange Handles change in text transform selection.\n *\n * @return {
|
|
1
|
+
{"version":3,"names":["classnames","BaseControl","Button","__","reset","formatCapitalize","formatLowercase","formatUppercase","TEXT_TRANSFORMS","name","value","icon","TextTransformControl","className","onChange","createElement","VisualLabel","as","map","textTransform","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/text-transform-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\treset,\n\tformatCapitalize,\n\tformatLowercase,\n\tformatUppercase,\n} from '@wordpress/icons';\n\nconst TEXT_TRANSFORMS = [\n\t{\n\t\tname: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tname: __( 'Uppercase' ),\n\t\tvalue: 'uppercase',\n\t\ticon: formatUppercase,\n\t},\n\t{\n\t\tname: __( 'Lowercase' ),\n\t\tvalue: 'lowercase',\n\t\ticon: formatLowercase,\n\t},\n\t{\n\t\tname: __( 'Capitalize' ),\n\t\tvalue: 'capitalize',\n\t\ticon: formatCapitalize,\n\t},\n];\n\n/**\n * Control to facilitate text transform selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.className Class name to add to the control.\n * @param {string} props.value Currently selected text transform.\n * @param {Function} props.onChange Handles change in text transform selection.\n *\n * @return {Element} Text transform control.\n */\nexport default function TextTransformControl( { className, value, onChange } ) {\n\treturn (\n\t\t<fieldset\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-text-transform-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Letter case' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<div className=\"block-editor-text-transform-control__buttons\">\n\t\t\t\t{ TEXT_TRANSFORMS.map( ( textTransform ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ textTransform.value }\n\t\t\t\t\t\t\ticon={ textTransform.icon }\n\t\t\t\t\t\t\tlabel={ textTransform.name }\n\t\t\t\t\t\t\tisPressed={ textTransform.value === value }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttextTransform.value === value\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: textTransform.value\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</fieldset>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,WAAW,EAAEC,MAAM,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,KAAK,EACLC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,QACT,kBAAkB;AAEzB,MAAMC,eAAe,GAAG,CACvB;EACCC,IAAI,EAAEN,EAAE,CAAE,MAAO,CAAC;EAClBO,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEP;AACP,CAAC,EACD;EACCK,IAAI,EAAEN,EAAE,CAAE,WAAY,CAAC;EACvBO,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEJ;AACP,CAAC,EACD;EACCE,IAAI,EAAEN,EAAE,CAAE,WAAY,CAAC;EACvBO,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEL;AACP,CAAC,EACD;EACCG,IAAI,EAAEN,EAAE,CAAE,YAAa,CAAC;EACxBO,KAAK,EAAE,YAAY;EACnBC,IAAI,EAAEN;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASO,oBAAoBA,CAAE;EAAEC,SAAS;EAAEH,KAAK;EAAEI;AAAS,CAAC,EAAG;EAC9E,OACCC,aAAA;IACCF,SAAS,EAAGb,UAAU,CACrB,qCAAqC,EACrCa,SACD;EAAG,GAEHE,aAAA,CAACd,WAAW,CAACe,WAAW;IAACC,EAAE,EAAC;EAAQ,GACjCd,EAAE,CAAE,aAAc,CACI,CAAC,EAC1BY,aAAA;IAAKF,SAAS,EAAC;EAA8C,GAC1DL,eAAe,CAACU,GAAG,CAAIC,aAAa,IAAM;IAC3C,OACCJ,aAAA,CAACb,MAAM;MACNkB,GAAG,EAAGD,aAAa,CAACT,KAAO;MAC3BC,IAAI,EAAGQ,aAAa,CAACR,IAAM;MAC3BU,KAAK,EAAGF,aAAa,CAACV,IAAM;MAC5Ba,SAAS,EAAGH,aAAa,CAACT,KAAK,KAAKA,KAAO;MAC3Ca,OAAO,EAAGA,CAAA,KAAM;QACfT,QAAQ,CACPK,aAAa,CAACT,KAAK,KAAKA,KAAK,GAC1Bc,SAAS,GACTL,aAAa,CAACT,KAClB,CAAC;MACF;IAAG,CACH,CAAC;EAEJ,CAAE,CACE,CACI,CAAC;AAEb"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElement } from "
|
|
1
|
+
import { createElement } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
@@ -205,7 +205,7 @@ function Typewriter({
|
|
|
205
205
|
* challenges in Internet Explorer, and is simply skipped, rendering the given
|
|
206
206
|
* props children instead.
|
|
207
207
|
*
|
|
208
|
-
* @type {
|
|
208
|
+
* @type {Component}
|
|
209
209
|
*/
|
|
210
210
|
const TypewriterOrIEBypass = isIE ? props => props.children : Typewriter;
|
|
211
211
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRefEffect","computeCaretRect","getScrollContainer","useSelect","UP","DOWN","LEFT","RIGHT","store","blockEditorStore","isIE","window","navigator","userAgent","indexOf","arrowKeyCodes","Set","initialTriggerPercentage","useTypewriter","hasSelectedBlock","select","node","ownerDocument","defaultView","scrollResizeRafId","onKeyDownRafId","caretRect","onScrollResize","requestAnimationFrame","computeCaretRectangle","onKeyDown","event","cancelAnimationFrame","maintainCaretPosition","keyCode","isSelectionEligibleForScroll","currentCaretRect","has","diff","top","scrollContainer","windowScroll","body","documentElement","scrollY","scrollTop","scrollContainerY","getBoundingClientRect","relativeScrollPosition","innerHeight","isLastEditableNode","scrollContainerHeight","clientHeight","height","scrollBy","addSelectionChangeListener","addEventListener","computeCaretRectOnSelectionChange","removeEventListener","contains","activeElement","isContentEditable","editableNodes","querySelectorAll","lastEditableNode","length","Typewriter","children","createElement","ref","className","TypewriterOrIEBypass","props"],"sources":["@wordpress/block-editor/src/components/typewriter/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { computeCaretRect, getScrollContainer } from '@wordpress/dom';\nimport { useSelect } from '@wordpress/data';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst isIE = window.navigator.userAgent.indexOf( 'Trident' ) !== -1;\nconst arrowKeyCodes = new Set( [ UP, DOWN, LEFT, RIGHT ] );\nconst initialTriggerPercentage = 0.75;\n\nexport function useTypewriter() {\n\tconst hasSelectedBlock = useSelect(\n\t\t( select ) => select( blockEditorStore ).hasSelectedBlock(),\n\t\t[]\n\t);\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( ! hasSelectedBlock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tlet scrollResizeRafId;\n\t\t\tlet onKeyDownRafId;\n\n\t\t\tlet caretRect;\n\n\t\t\tfunction onScrollResize() {\n\t\t\t\tif ( scrollResizeRafId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tscrollResizeRafId = defaultView.requestAnimationFrame( () => {\n\t\t\t\t\tcomputeCaretRectangle();\n\t\t\t\t\tscrollResizeRafId = null;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\t// Ensure the any remaining request is cancelled.\n\t\t\t\tif ( onKeyDownRafId ) {\n\t\t\t\t\tdefaultView.cancelAnimationFrame( onKeyDownRafId );\n\t\t\t\t}\n\n\t\t\t\t// Use an animation frame for a smooth result.\n\t\t\t\tonKeyDownRafId = defaultView.requestAnimationFrame( () => {\n\t\t\t\t\tmaintainCaretPosition( event );\n\t\t\t\t\tonKeyDownRafId = null;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Maintains the scroll position after a selection change caused by a\n\t\t\t * keyboard event.\n\t\t\t *\n\t\t\t * @param {KeyboardEvent} event Keyboard event.\n\t\t\t */\n\t\t\tfunction maintainCaretPosition( { keyCode } ) {\n\t\t\t\tif ( ! isSelectionEligibleForScroll() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst currentCaretRect = computeCaretRect( defaultView );\n\n\t\t\t\tif ( ! currentCaretRect ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// If for some reason there is no position set to be scrolled to, let\n\t\t\t\t// this be the position to be scrolled to in the future.\n\t\t\t\tif ( ! caretRect ) {\n\t\t\t\t\tcaretRect = currentCaretRect;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Even though enabling the typewriter effect for arrow keys results in\n\t\t\t\t// a pleasant experience, it may not be the case for everyone, so, for\n\t\t\t\t// now, let's disable it.\n\t\t\t\tif ( arrowKeyCodes.has( keyCode ) ) {\n\t\t\t\t\t// Reset the caret position to maintain.\n\t\t\t\t\tcaretRect = currentCaretRect;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst diff = currentCaretRect.top - caretRect.top;\n\n\t\t\t\tif ( diff === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst scrollContainer = getScrollContainer( node );\n\n\t\t\t\t// The page must be scrollable.\n\t\t\t\tif ( ! scrollContainer ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst windowScroll =\n\t\t\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\t\t\tscrollContainer === ownerDocument.documentElement;\n\t\t\t\tconst scrollY = windowScroll\n\t\t\t\t\t? defaultView.scrollY\n\t\t\t\t\t: scrollContainer.scrollTop;\n\t\t\t\tconst scrollContainerY = windowScroll\n\t\t\t\t\t? 0\n\t\t\t\t\t: scrollContainer.getBoundingClientRect().top;\n\t\t\t\tconst relativeScrollPosition = windowScroll\n\t\t\t\t\t? caretRect.top / defaultView.innerHeight\n\t\t\t\t\t: ( caretRect.top - scrollContainerY ) /\n\t\t\t\t\t ( defaultView.innerHeight - scrollContainerY );\n\n\t\t\t\t// If the scroll position is at the start, the active editable element\n\t\t\t\t// is the last one, and the caret is positioned within the initial\n\t\t\t\t// trigger percentage of the page, do not scroll the page.\n\t\t\t\t// The typewriter effect should not kick in until an empty page has been\n\t\t\t\t// filled with the initial trigger percentage or the user scrolls\n\t\t\t\t// intentionally down.\n\t\t\t\tif (\n\t\t\t\t\tscrollY === 0 &&\n\t\t\t\t\trelativeScrollPosition < initialTriggerPercentage &&\n\t\t\t\t\tisLastEditableNode()\n\t\t\t\t) {\n\t\t\t\t\t// Reset the caret position to maintain.\n\t\t\t\t\tcaretRect = currentCaretRect;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst scrollContainerHeight = windowScroll\n\t\t\t\t\t? defaultView.innerHeight\n\t\t\t\t\t: scrollContainer.clientHeight;\n\n\t\t\t\t// Abort if the target scroll position would scroll the caret out of\n\t\t\t\t// view.\n\t\t\t\tif (\n\t\t\t\t\t// The caret is under the lower fold.\n\t\t\t\t\tcaretRect.top + caretRect.height >\n\t\t\t\t\t\tscrollContainerY + scrollContainerHeight ||\n\t\t\t\t\t// The caret is above the upper fold.\n\t\t\t\t\tcaretRect.top < scrollContainerY\n\t\t\t\t) {\n\t\t\t\t\t// Reset the caret position to maintain.\n\t\t\t\t\tcaretRect = currentCaretRect;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( windowScroll ) {\n\t\t\t\t\tdefaultView.scrollBy( 0, diff );\n\t\t\t\t} else {\n\t\t\t\t\tscrollContainer.scrollTop += diff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Adds a `selectionchange` listener to reset the scroll position to be\n\t\t\t * maintained.\n\t\t\t */\n\t\t\tfunction addSelectionChangeListener() {\n\t\t\t\townerDocument.addEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tcomputeCaretRectOnSelectionChange\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Resets the scroll position to be maintained during a `selectionchange`\n\t\t\t * event. Also removes the listener, so it acts as a one-time listener.\n\t\t\t */\n\t\t\tfunction computeCaretRectOnSelectionChange() {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tcomputeCaretRectOnSelectionChange\n\t\t\t\t);\n\t\t\t\tcomputeCaretRectangle();\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Resets the scroll position to be maintained.\n\t\t\t */\n\t\t\tfunction computeCaretRectangle() {\n\t\t\t\tif ( isSelectionEligibleForScroll() ) {\n\t\t\t\t\tcaretRect = computeCaretRect( defaultView );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Checks if the current situation is elegible for scroll:\n\t\t\t * - There should be one and only one block selected.\n\t\t\t * - The component must contain the selection.\n\t\t\t * - The active element must be contenteditable.\n\t\t\t */\n\t\t\tfunction isSelectionEligibleForScroll() {\n\t\t\t\treturn (\n\t\t\t\t\tnode.contains( ownerDocument.activeElement ) &&\n\t\t\t\t\townerDocument.activeElement.isContentEditable\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfunction isLastEditableNode() {\n\t\t\t\tconst editableNodes = node.querySelectorAll(\n\t\t\t\t\t'[contenteditable=\"true\"]'\n\t\t\t\t);\n\t\t\t\tconst lastEditableNode =\n\t\t\t\t\teditableNodes[ editableNodes.length - 1 ];\n\t\t\t\treturn lastEditableNode === ownerDocument.activeElement;\n\t\t\t}\n\n\t\t\t// When the user scrolls or resizes, the scroll position should be\n\t\t\t// reset.\n\t\t\tdefaultView.addEventListener( 'scroll', onScrollResize, true );\n\t\t\tdefaultView.addEventListener( 'resize', onScrollResize, true );\n\n\t\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\t\tnode.addEventListener( 'keyup', maintainCaretPosition );\n\t\t\tnode.addEventListener( 'mousedown', addSelectionChangeListener );\n\t\t\tnode.addEventListener( 'touchstart', addSelectionChangeListener );\n\n\t\t\treturn () => {\n\t\t\t\tdefaultView.removeEventListener(\n\t\t\t\t\t'scroll',\n\t\t\t\t\tonScrollResize,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t\tdefaultView.removeEventListener(\n\t\t\t\t\t'resize',\n\t\t\t\t\tonScrollResize,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\t\tnode.removeEventListener( 'keyup', maintainCaretPosition );\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\t'mousedown',\n\t\t\t\t\taddSelectionChangeListener\n\t\t\t\t);\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\t'touchstart',\n\t\t\t\t\taddSelectionChangeListener\n\t\t\t\t);\n\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tcomputeCaretRectOnSelectionChange\n\t\t\t\t);\n\n\t\t\t\tdefaultView.cancelAnimationFrame( scrollResizeRafId );\n\t\t\t\tdefaultView.cancelAnimationFrame( onKeyDownRafId );\n\t\t\t};\n\t\t},\n\t\t[ hasSelectedBlock ]\n\t);\n}\n\nfunction Typewriter( { children } ) {\n\treturn (\n\t\t<div ref={ useTypewriter() } className=\"block-editor__typewriter\">\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\n/**\n * The exported component. The implementation of Typewriter faced technical\n * challenges in Internet Explorer, and is simply skipped, rendering the given\n * props children instead.\n *\n * @type {WPComponent}\n */\nconst TypewriterOrIEBypass = isIE ? ( props ) => props.children : Typewriter;\n\n/**\n * Ensures that the text selection keeps the same vertical distance from the\n * viewport during keyboard events within this component. The vertical distance\n * can vary. It is the last clicked or scrolled to position.\n */\nexport default TypewriterOrIEBypass;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useRefEffect","computeCaretRect","getScrollContainer","useSelect","UP","DOWN","LEFT","RIGHT","store","blockEditorStore","isIE","window","navigator","userAgent","indexOf","arrowKeyCodes","Set","initialTriggerPercentage","useTypewriter","hasSelectedBlock","select","node","ownerDocument","defaultView","scrollResizeRafId","onKeyDownRafId","caretRect","onScrollResize","requestAnimationFrame","computeCaretRectangle","onKeyDown","event","cancelAnimationFrame","maintainCaretPosition","keyCode","isSelectionEligibleForScroll","currentCaretRect","has","diff","top","scrollContainer","windowScroll","body","documentElement","scrollY","scrollTop","scrollContainerY","getBoundingClientRect","relativeScrollPosition","innerHeight","isLastEditableNode","scrollContainerHeight","clientHeight","height","scrollBy","addSelectionChangeListener","addEventListener","computeCaretRectOnSelectionChange","removeEventListener","contains","activeElement","isContentEditable","editableNodes","querySelectorAll","lastEditableNode","length","Typewriter","children","createElement","ref","className","TypewriterOrIEBypass","props"],"sources":["@wordpress/block-editor/src/components/typewriter/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { computeCaretRect, getScrollContainer } from '@wordpress/dom';\nimport { useSelect } from '@wordpress/data';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst isIE = window.navigator.userAgent.indexOf( 'Trident' ) !== -1;\nconst arrowKeyCodes = new Set( [ UP, DOWN, LEFT, RIGHT ] );\nconst initialTriggerPercentage = 0.75;\n\nexport function useTypewriter() {\n\tconst hasSelectedBlock = useSelect(\n\t\t( select ) => select( blockEditorStore ).hasSelectedBlock(),\n\t\t[]\n\t);\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( ! hasSelectedBlock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tlet scrollResizeRafId;\n\t\t\tlet onKeyDownRafId;\n\n\t\t\tlet caretRect;\n\n\t\t\tfunction onScrollResize() {\n\t\t\t\tif ( scrollResizeRafId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tscrollResizeRafId = defaultView.requestAnimationFrame( () => {\n\t\t\t\t\tcomputeCaretRectangle();\n\t\t\t\t\tscrollResizeRafId = null;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\t// Ensure the any remaining request is cancelled.\n\t\t\t\tif ( onKeyDownRafId ) {\n\t\t\t\t\tdefaultView.cancelAnimationFrame( onKeyDownRafId );\n\t\t\t\t}\n\n\t\t\t\t// Use an animation frame for a smooth result.\n\t\t\t\tonKeyDownRafId = defaultView.requestAnimationFrame( () => {\n\t\t\t\t\tmaintainCaretPosition( event );\n\t\t\t\t\tonKeyDownRafId = null;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Maintains the scroll position after a selection change caused by a\n\t\t\t * keyboard event.\n\t\t\t *\n\t\t\t * @param {KeyboardEvent} event Keyboard event.\n\t\t\t */\n\t\t\tfunction maintainCaretPosition( { keyCode } ) {\n\t\t\t\tif ( ! isSelectionEligibleForScroll() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst currentCaretRect = computeCaretRect( defaultView );\n\n\t\t\t\tif ( ! currentCaretRect ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// If for some reason there is no position set to be scrolled to, let\n\t\t\t\t// this be the position to be scrolled to in the future.\n\t\t\t\tif ( ! caretRect ) {\n\t\t\t\t\tcaretRect = currentCaretRect;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Even though enabling the typewriter effect for arrow keys results in\n\t\t\t\t// a pleasant experience, it may not be the case for everyone, so, for\n\t\t\t\t// now, let's disable it.\n\t\t\t\tif ( arrowKeyCodes.has( keyCode ) ) {\n\t\t\t\t\t// Reset the caret position to maintain.\n\t\t\t\t\tcaretRect = currentCaretRect;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst diff = currentCaretRect.top - caretRect.top;\n\n\t\t\t\tif ( diff === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst scrollContainer = getScrollContainer( node );\n\n\t\t\t\t// The page must be scrollable.\n\t\t\t\tif ( ! scrollContainer ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst windowScroll =\n\t\t\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\t\t\tscrollContainer === ownerDocument.documentElement;\n\t\t\t\tconst scrollY = windowScroll\n\t\t\t\t\t? defaultView.scrollY\n\t\t\t\t\t: scrollContainer.scrollTop;\n\t\t\t\tconst scrollContainerY = windowScroll\n\t\t\t\t\t? 0\n\t\t\t\t\t: scrollContainer.getBoundingClientRect().top;\n\t\t\t\tconst relativeScrollPosition = windowScroll\n\t\t\t\t\t? caretRect.top / defaultView.innerHeight\n\t\t\t\t\t: ( caretRect.top - scrollContainerY ) /\n\t\t\t\t\t ( defaultView.innerHeight - scrollContainerY );\n\n\t\t\t\t// If the scroll position is at the start, the active editable element\n\t\t\t\t// is the last one, and the caret is positioned within the initial\n\t\t\t\t// trigger percentage of the page, do not scroll the page.\n\t\t\t\t// The typewriter effect should not kick in until an empty page has been\n\t\t\t\t// filled with the initial trigger percentage or the user scrolls\n\t\t\t\t// intentionally down.\n\t\t\t\tif (\n\t\t\t\t\tscrollY === 0 &&\n\t\t\t\t\trelativeScrollPosition < initialTriggerPercentage &&\n\t\t\t\t\tisLastEditableNode()\n\t\t\t\t) {\n\t\t\t\t\t// Reset the caret position to maintain.\n\t\t\t\t\tcaretRect = currentCaretRect;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst scrollContainerHeight = windowScroll\n\t\t\t\t\t? defaultView.innerHeight\n\t\t\t\t\t: scrollContainer.clientHeight;\n\n\t\t\t\t// Abort if the target scroll position would scroll the caret out of\n\t\t\t\t// view.\n\t\t\t\tif (\n\t\t\t\t\t// The caret is under the lower fold.\n\t\t\t\t\tcaretRect.top + caretRect.height >\n\t\t\t\t\t\tscrollContainerY + scrollContainerHeight ||\n\t\t\t\t\t// The caret is above the upper fold.\n\t\t\t\t\tcaretRect.top < scrollContainerY\n\t\t\t\t) {\n\t\t\t\t\t// Reset the caret position to maintain.\n\t\t\t\t\tcaretRect = currentCaretRect;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( windowScroll ) {\n\t\t\t\t\tdefaultView.scrollBy( 0, diff );\n\t\t\t\t} else {\n\t\t\t\t\tscrollContainer.scrollTop += diff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Adds a `selectionchange` listener to reset the scroll position to be\n\t\t\t * maintained.\n\t\t\t */\n\t\t\tfunction addSelectionChangeListener() {\n\t\t\t\townerDocument.addEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tcomputeCaretRectOnSelectionChange\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Resets the scroll position to be maintained during a `selectionchange`\n\t\t\t * event. Also removes the listener, so it acts as a one-time listener.\n\t\t\t */\n\t\t\tfunction computeCaretRectOnSelectionChange() {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tcomputeCaretRectOnSelectionChange\n\t\t\t\t);\n\t\t\t\tcomputeCaretRectangle();\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Resets the scroll position to be maintained.\n\t\t\t */\n\t\t\tfunction computeCaretRectangle() {\n\t\t\t\tif ( isSelectionEligibleForScroll() ) {\n\t\t\t\t\tcaretRect = computeCaretRect( defaultView );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Checks if the current situation is elegible for scroll:\n\t\t\t * - There should be one and only one block selected.\n\t\t\t * - The component must contain the selection.\n\t\t\t * - The active element must be contenteditable.\n\t\t\t */\n\t\t\tfunction isSelectionEligibleForScroll() {\n\t\t\t\treturn (\n\t\t\t\t\tnode.contains( ownerDocument.activeElement ) &&\n\t\t\t\t\townerDocument.activeElement.isContentEditable\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfunction isLastEditableNode() {\n\t\t\t\tconst editableNodes = node.querySelectorAll(\n\t\t\t\t\t'[contenteditable=\"true\"]'\n\t\t\t\t);\n\t\t\t\tconst lastEditableNode =\n\t\t\t\t\teditableNodes[ editableNodes.length - 1 ];\n\t\t\t\treturn lastEditableNode === ownerDocument.activeElement;\n\t\t\t}\n\n\t\t\t// When the user scrolls or resizes, the scroll position should be\n\t\t\t// reset.\n\t\t\tdefaultView.addEventListener( 'scroll', onScrollResize, true );\n\t\t\tdefaultView.addEventListener( 'resize', onScrollResize, true );\n\n\t\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\t\tnode.addEventListener( 'keyup', maintainCaretPosition );\n\t\t\tnode.addEventListener( 'mousedown', addSelectionChangeListener );\n\t\t\tnode.addEventListener( 'touchstart', addSelectionChangeListener );\n\n\t\t\treturn () => {\n\t\t\t\tdefaultView.removeEventListener(\n\t\t\t\t\t'scroll',\n\t\t\t\t\tonScrollResize,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t\tdefaultView.removeEventListener(\n\t\t\t\t\t'resize',\n\t\t\t\t\tonScrollResize,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\t\tnode.removeEventListener( 'keyup', maintainCaretPosition );\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\t'mousedown',\n\t\t\t\t\taddSelectionChangeListener\n\t\t\t\t);\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\t'touchstart',\n\t\t\t\t\taddSelectionChangeListener\n\t\t\t\t);\n\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tcomputeCaretRectOnSelectionChange\n\t\t\t\t);\n\n\t\t\t\tdefaultView.cancelAnimationFrame( scrollResizeRafId );\n\t\t\t\tdefaultView.cancelAnimationFrame( onKeyDownRafId );\n\t\t\t};\n\t\t},\n\t\t[ hasSelectedBlock ]\n\t);\n}\n\nfunction Typewriter( { children } ) {\n\treturn (\n\t\t<div ref={ useTypewriter() } className=\"block-editor__typewriter\">\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\n/**\n * The exported component. The implementation of Typewriter faced technical\n * challenges in Internet Explorer, and is simply skipped, rendering the given\n * props children instead.\n *\n * @type {Component}\n */\nconst TypewriterOrIEBypass = isIE ? ( props ) => props.children : Typewriter;\n\n/**\n * Ensures that the text selection keeps the same vertical distance from the\n * viewport during keyboard events within this component. The vertical distance\n * can vary. It is the last clicked or scrolled to position.\n */\nexport default TypewriterOrIEBypass;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* External dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { View, Text } from 'react-native';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { BottomSheet, Icon, TextControl } from '@wordpress/components';
|
|
11
|
+
import { requestUnsupportedBlockFallback, sendActionButtonPressedAction, actionButtons } from '@wordpress/react-native-bridge';
|
|
12
|
+
import { help } from '@wordpress/icons';
|
|
13
|
+
import { __ } from '@wordpress/i18n';
|
|
14
|
+
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
15
|
+
import { getBlockType } from '@wordpress/blocks';
|
|
16
|
+
import { useCallback, useState } from '@wordpress/element';
|
|
17
|
+
import { applyFilters } from '@wordpress/hooks';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Internal dependencies
|
|
21
|
+
*/
|
|
22
|
+
import styles from './style.scss';
|
|
23
|
+
import useUnsupportedBlockEditor from '../use-unsupported-block-editor';
|
|
24
|
+
const EMPTY_ARRAY = [];
|
|
25
|
+
const UnsupportedBlockDetails = ({
|
|
26
|
+
clientId,
|
|
27
|
+
showSheet,
|
|
28
|
+
onCloseSheet,
|
|
29
|
+
customBlockTitle = '',
|
|
30
|
+
icon,
|
|
31
|
+
title,
|
|
32
|
+
description,
|
|
33
|
+
actionButtonLabel,
|
|
34
|
+
customActions = EMPTY_ARRAY
|
|
35
|
+
}) => {
|
|
36
|
+
const [sendFallbackMessage, setSendFallbackMessage] = useState(false);
|
|
37
|
+
const [sendButtonPressMessage, setSendButtonPressMessage] = useState(false);
|
|
38
|
+
const {
|
|
39
|
+
blockName,
|
|
40
|
+
blockContent,
|
|
41
|
+
isUnsupportedBlockEditorSupported,
|
|
42
|
+
canEnableUnsupportedBlockEditor,
|
|
43
|
+
isEditableInUnsupportedBlockEditor
|
|
44
|
+
} = useUnsupportedBlockEditor(clientId);
|
|
45
|
+
|
|
46
|
+
// Styles
|
|
47
|
+
const textStyle = usePreferredColorSchemeStyle(styles['unsupported-block-details__text'], styles['unsupported-block-details__text--dark']);
|
|
48
|
+
const titleStyle = usePreferredColorSchemeStyle(styles['unsupported-block-details__title'], styles['unsupported-block-details__title--dark']);
|
|
49
|
+
const descriptionStyle = usePreferredColorSchemeStyle(styles['unsupported-block-details__description'], styles['unsupported-block-details__description--dark']);
|
|
50
|
+
const iconStyle = usePreferredColorSchemeStyle(styles['unsupported-block-details__icon'], styles['unsupported-block-details__icon--dark']);
|
|
51
|
+
const actionButtonStyle = usePreferredColorSchemeStyle(styles['unsupported-block-details__action-button'], styles['unsupported-block-details__action-button--dark']);
|
|
52
|
+
const blockTitle = customBlockTitle || getBlockType(blockName)?.title || blockName;
|
|
53
|
+
const requestFallback = useCallback(() => {
|
|
54
|
+
if (canEnableUnsupportedBlockEditor && isUnsupportedBlockEditorSupported === false) {
|
|
55
|
+
onCloseSheet();
|
|
56
|
+
setSendButtonPressMessage(true);
|
|
57
|
+
} else {
|
|
58
|
+
onCloseSheet();
|
|
59
|
+
setSendFallbackMessage(true);
|
|
60
|
+
}
|
|
61
|
+
}, [canEnableUnsupportedBlockEditor, isUnsupportedBlockEditorSupported, onCloseSheet]);
|
|
62
|
+
|
|
63
|
+
// The description can include extra notes via WP hooks.
|
|
64
|
+
const descriptionWithNotes = applyFilters('native.unsupported_block_details_extra_note', description, blockName);
|
|
65
|
+
const webEditorDefaultLabel = applyFilters('native.unsupported_block_details_web_editor_action', __('Edit using web editor'));
|
|
66
|
+
const canUseWebEditor = (isUnsupportedBlockEditorSupported || canEnableUnsupportedBlockEditor) && isEditableInUnsupportedBlockEditor;
|
|
67
|
+
const actions = [...[canUseWebEditor && {
|
|
68
|
+
label: actionButtonLabel || webEditorDefaultLabel,
|
|
69
|
+
onPress: requestFallback
|
|
70
|
+
}], ...customActions].filter(Boolean);
|
|
71
|
+
return createElement(BottomSheet, {
|
|
72
|
+
isVisible: showSheet,
|
|
73
|
+
hideHeader: true,
|
|
74
|
+
onClose: onCloseSheet,
|
|
75
|
+
onModalHide: () => {
|
|
76
|
+
if (sendFallbackMessage) {
|
|
77
|
+
// On iOS, onModalHide is called when the controller is still part of the hierarchy.
|
|
78
|
+
// A small delay will ensure that the controller has already been removed.
|
|
79
|
+
this.timeout = setTimeout(() => {
|
|
80
|
+
// For the Classic block, the content is kept in the `content` attribute.
|
|
81
|
+
requestUnsupportedBlockFallback(blockContent, clientId, blockName, blockTitle);
|
|
82
|
+
}, 100);
|
|
83
|
+
setSendFallbackMessage(false);
|
|
84
|
+
} else if (sendButtonPressMessage) {
|
|
85
|
+
this.timeout = setTimeout(() => {
|
|
86
|
+
sendActionButtonPressedAction(actionButtons.missingBlockAlertActionButton);
|
|
87
|
+
}, 100);
|
|
88
|
+
setSendButtonPressMessage(false);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}, createElement(View, {
|
|
92
|
+
style: styles['unsupported-block-details__container']
|
|
93
|
+
}, createElement(Icon, {
|
|
94
|
+
icon: icon || help,
|
|
95
|
+
color: iconStyle.color,
|
|
96
|
+
size: iconStyle.size
|
|
97
|
+
}), createElement(Text, {
|
|
98
|
+
style: [textStyle, titleStyle]
|
|
99
|
+
}, title), isEditableInUnsupportedBlockEditor && descriptionWithNotes && createElement(Text, {
|
|
100
|
+
style: [textStyle, descriptionStyle]
|
|
101
|
+
}, descriptionWithNotes)), actions.map(({
|
|
102
|
+
label,
|
|
103
|
+
onPress
|
|
104
|
+
}, index) => createElement(TextControl, {
|
|
105
|
+
key: `${label} - ${index}`,
|
|
106
|
+
label: label,
|
|
107
|
+
separatorType: "topFullWidth",
|
|
108
|
+
onPress: onPress,
|
|
109
|
+
labelStyle: actionButtonStyle
|
|
110
|
+
})), createElement(TextControl, {
|
|
111
|
+
label: __('Dismiss'),
|
|
112
|
+
separatorType: "topFullWidth",
|
|
113
|
+
onPress: onCloseSheet,
|
|
114
|
+
labelStyle: actionButtonStyle
|
|
115
|
+
}));
|
|
116
|
+
};
|
|
117
|
+
export default UnsupportedBlockDetails;
|
|
118
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","Text","BottomSheet","Icon","TextControl","requestUnsupportedBlockFallback","sendActionButtonPressedAction","actionButtons","help","__","usePreferredColorSchemeStyle","getBlockType","useCallback","useState","applyFilters","styles","useUnsupportedBlockEditor","EMPTY_ARRAY","UnsupportedBlockDetails","clientId","showSheet","onCloseSheet","customBlockTitle","icon","title","description","actionButtonLabel","customActions","sendFallbackMessage","setSendFallbackMessage","sendButtonPressMessage","setSendButtonPressMessage","blockName","blockContent","isUnsupportedBlockEditorSupported","canEnableUnsupportedBlockEditor","isEditableInUnsupportedBlockEditor","textStyle","titleStyle","descriptionStyle","iconStyle","actionButtonStyle","blockTitle","requestFallback","descriptionWithNotes","webEditorDefaultLabel","canUseWebEditor","actions","label","onPress","filter","Boolean","createElement","isVisible","hideHeader","onClose","onModalHide","timeout","setTimeout","missingBlockAlertActionButton","style","color","size","map","index","key","separatorType","labelStyle"],"sources":["@wordpress/block-editor/src/components/unsupported-block-details/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport {\n\trequestUnsupportedBlockFallback,\n\tsendActionButtonPressedAction,\n\tactionButtons,\n} from '@wordpress/react-native-bridge';\nimport { help } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { getBlockType } from '@wordpress/blocks';\nimport { useCallback, useState } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport useUnsupportedBlockEditor from '../use-unsupported-block-editor';\n\nconst EMPTY_ARRAY = [];\n\nconst UnsupportedBlockDetails = ( {\n\tclientId,\n\tshowSheet,\n\tonCloseSheet,\n\tcustomBlockTitle = '',\n\ticon,\n\ttitle,\n\tdescription,\n\tactionButtonLabel,\n\tcustomActions = EMPTY_ARRAY,\n} ) => {\n\tconst [ sendFallbackMessage, setSendFallbackMessage ] = useState( false );\n\tconst [ sendButtonPressMessage, setSendButtonPressMessage ] =\n\t\tuseState( false );\n\n\tconst {\n\t\tblockName,\n\t\tblockContent,\n\t\tisUnsupportedBlockEditorSupported,\n\t\tcanEnableUnsupportedBlockEditor,\n\t\tisEditableInUnsupportedBlockEditor,\n\t} = useUnsupportedBlockEditor( clientId );\n\n\t// Styles\n\tconst textStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'unsupported-block-details__text' ],\n\t\tstyles[ 'unsupported-block-details__text--dark' ]\n\t);\n\tconst titleStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'unsupported-block-details__title' ],\n\t\tstyles[ 'unsupported-block-details__title--dark' ]\n\t);\n\tconst descriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'unsupported-block-details__description' ],\n\t\tstyles[ 'unsupported-block-details__description--dark' ]\n\t);\n\tconst iconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'unsupported-block-details__icon' ],\n\t\tstyles[ 'unsupported-block-details__icon--dark' ]\n\t);\n\tconst actionButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'unsupported-block-details__action-button' ],\n\t\tstyles[ 'unsupported-block-details__action-button--dark' ]\n\t);\n\n\tconst blockTitle =\n\t\tcustomBlockTitle || getBlockType( blockName )?.title || blockName;\n\n\tconst requestFallback = useCallback( () => {\n\t\tif (\n\t\t\tcanEnableUnsupportedBlockEditor &&\n\t\t\tisUnsupportedBlockEditorSupported === false\n\t\t) {\n\t\t\tonCloseSheet();\n\t\t\tsetSendButtonPressMessage( true );\n\t\t} else {\n\t\t\tonCloseSheet();\n\t\t\tsetSendFallbackMessage( true );\n\t\t}\n\t}, [\n\t\tcanEnableUnsupportedBlockEditor,\n\t\tisUnsupportedBlockEditorSupported,\n\t\tonCloseSheet,\n\t] );\n\n\t// The description can include extra notes via WP hooks.\n\tconst descriptionWithNotes = applyFilters(\n\t\t'native.unsupported_block_details_extra_note',\n\t\tdescription,\n\t\tblockName\n\t);\n\n\tconst webEditorDefaultLabel = applyFilters(\n\t\t'native.unsupported_block_details_web_editor_action',\n\t\t__( 'Edit using web editor' )\n\t);\n\n\tconst canUseWebEditor =\n\t\t( isUnsupportedBlockEditorSupported ||\n\t\t\tcanEnableUnsupportedBlockEditor ) &&\n\t\tisEditableInUnsupportedBlockEditor;\n\tconst actions = [\n\t\t...[\n\t\t\tcanUseWebEditor && {\n\t\t\t\tlabel: actionButtonLabel || webEditorDefaultLabel,\n\t\t\t\tonPress: requestFallback,\n\t\t\t},\n\t\t],\n\t\t...customActions,\n\t].filter( Boolean );\n\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ showSheet }\n\t\t\thideHeader\n\t\t\tonClose={ onCloseSheet }\n\t\t\tonModalHide={ () => {\n\t\t\t\tif ( sendFallbackMessage ) {\n\t\t\t\t\t// On iOS, onModalHide is called when the controller is still part of the hierarchy.\n\t\t\t\t\t// A small delay will ensure that the controller has already been removed.\n\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t// For the Classic block, the content is kept in the `content` attribute.\n\t\t\t\t\t\trequestUnsupportedBlockFallback(\n\t\t\t\t\t\t\tblockContent,\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tblockTitle\n\t\t\t\t\t\t);\n\t\t\t\t\t}, 100 );\n\t\t\t\t\tsetSendFallbackMessage( false );\n\t\t\t\t} else if ( sendButtonPressMessage ) {\n\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\tsendActionButtonPressedAction(\n\t\t\t\t\t\t\tactionButtons.missingBlockAlertActionButton\n\t\t\t\t\t\t);\n\t\t\t\t\t}, 100 );\n\t\t\t\t\tsetSendButtonPressMessage( false );\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<View style={ styles[ 'unsupported-block-details__container' ] }>\n\t\t\t\t<Icon\n\t\t\t\t\ticon={ icon || help }\n\t\t\t\t\tcolor={ iconStyle.color }\n\t\t\t\t\tsize={ iconStyle.size }\n\t\t\t\t/>\n\t\t\t\t<Text style={ [ textStyle, titleStyle ] }>{ title }</Text>\n\t\t\t\t{ isEditableInUnsupportedBlockEditor &&\n\t\t\t\t\tdescriptionWithNotes && (\n\t\t\t\t\t\t<Text style={ [ textStyle, descriptionStyle ] }>\n\t\t\t\t\t\t\t{ descriptionWithNotes }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) }\n\t\t\t</View>\n\t\t\t{ actions.map( ( { label, onPress }, index ) => (\n\t\t\t\t<TextControl\n\t\t\t\t\tkey={ `${ label } - ${ index }` }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\tonPress={ onPress }\n\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t<TextControl\n\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\tonPress={ onCloseSheet }\n\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t/>\n\t\t</BottomSheet>\n\t);\n};\n\nexport default UnsupportedBlockDetails;\n"],"mappings":"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"}
|
|
@@ -11,13 +11,13 @@ import { getFilesFromDataTransfer } from '@wordpress/dom';
|
|
|
11
11
|
*/
|
|
12
12
|
import { store as blockEditorStore } from '../../store';
|
|
13
13
|
|
|
14
|
-
/** @typedef {import('
|
|
14
|
+
/** @typedef {import('react').SyntheticEvent} SyntheticEvent */
|
|
15
15
|
/** @typedef {import('./types').WPDropOperation} WPDropOperation */
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Retrieve the data for a block drop event.
|
|
19
19
|
*
|
|
20
|
-
* @param {
|
|
20
|
+
* @param {SyntheticEvent} event The drop event.
|
|
21
21
|
*
|
|
22
22
|
* @return {Object} An object with block drag and drop data.
|
|
23
23
|
*/
|