@wordpress/block-editor 8.0.0 → 8.0.4
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/build/components/alignment-control/ui.js +11 -9
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +5 -4
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +12 -8
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +21 -17
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +9 -4
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +6 -4
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +4 -3
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-caption/index.native.js +34 -29
- package/build/components/block-caption/index.native.js.map +1 -1
- package/build/components/block-card/index.js +8 -6
- 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 +9 -7
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-content-overlay/index.js +7 -6
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-context/index.js +5 -4
- package/build/components/block-context/index.js.map +1 -1
- package/build/components/block-controls/fill.js +7 -6
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/slot.js +5 -4
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +5 -4
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +5 -4
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/index.js +13 -11
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-edit/context.js +1 -1
- package/build/components/block-full-height-alignment-control/index.js +7 -6
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-icon/index.js +7 -5
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-icon/index.native.js +8 -6
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-inspector/index.js +20 -15
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-html.js +4 -3
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +28 -20
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js +5 -4
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +6 -5
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js +11 -9
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +40 -33
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +35 -29
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +14 -12
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +22 -17
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/insertion-point.native.js +4 -3
- package/build/components/block-list/insertion-point.native.js.map +1 -1
- package/build/components/block-list/layout.js +8 -6
- package/build/components/block-list/layout.js.map +1 -1
- package/build/components/block-list/subdirectory-icon.js +13 -10
- package/build/components/block-list/subdirectory-icon.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +5 -3
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.native.js +2 -1
- package/build/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +2 -2
- package/build/components/block-list/use-block-props/use-multi-selection.js +9 -6
- package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build/components/block-list-appender/index.js +16 -13
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js +14 -11
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.js +4 -3
- package/build/components/block-mobile-toolbar/index.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.native.js +33 -25
- package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build/components/block-mover/button.js +8 -7
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +15 -13
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +23 -20
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-mover/mover-description.native.js +10 -7
- package/build/components/block-mover/mover-description.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +26 -21
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +26 -22
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +46 -39
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-list/index.js +44 -39
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-preview/auto.js +5 -4
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +8 -7
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-preview/live.js +4 -3
- package/build/components/block-preview/live.js.map +1 -1
- package/build/components/block-selection-clearer/index.js +1 -1
- package/build/components/block-settings/button.native.js +10 -7
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/block-settings/container.native.js +7 -6
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings/index.native.js +4 -2
- package/build/components/block-settings/index.native.js.map +1 -1
- package/build/components/block-settings-menu/block-convert-button.js +7 -5
- package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-html-convert-button.js +14 -10
- package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +25 -19
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +74 -66
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +5 -4
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +8 -6
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +20 -17
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +6 -4
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/preview.native.js +7 -6
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +5 -4
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js +7 -6
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +9 -8
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-switcher/index.js +42 -34
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +22 -18
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +4 -3
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +1 -1
- package/build/components/block-switcher/utils.js +2 -1
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-title/index.js +4 -3
- package/build/components/block-title/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +4 -3
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/utils.js +13 -11
- package/build/components/block-toolbar/utils.js.map +1 -1
- package/build/components/block-tools/back-compat.js +8 -5
- 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-popover.js +15 -13
- package/build/components/block-tools/block-popover.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +6 -5
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +6 -5
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +12 -10
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-types-list/index.js +9 -8
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +19 -15
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.js +9 -8
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +9 -7
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +22 -15
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +9 -7
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +6 -5
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +5 -4
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +16 -11
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +5 -4
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/border-radius-control/utils.js +10 -5
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/border-style-control/index.js +5 -4
- package/build/components/border-style-control/index.js.map +1 -1
- package/build/components/button-block-appender/index.js +15 -13
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/button-block-appender/index.native.js +28 -24
- package/build/components/button-block-appender/index.native.js.map +1 -1
- package/build/components/caption/index.native.js +44 -41
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/color-palette/control.js +6 -5
- package/build/components/color-palette/control.js.map +1 -1
- package/build/components/color-style-selector/index.js +43 -34
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/color-panel.js +21 -18
- package/build/components/colors/color-panel.js.map +1 -1
- package/build/components/colors/index.js +10 -8
- package/build/components/colors/index.js.map +1 -1
- package/build/components/colors/utils.js +7 -4
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +17 -6
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +16 -15
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +56 -49
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/contrast-checker/index.js +18 -15
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +9 -8
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/copy-handler/index.js +6 -5
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +10 -8
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-block-appender/index.native.js +10 -8
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/default-style-picker/index.js +14 -10
- package/build/components/default-style-picker/index.js.map +1 -1
- package/build/components/duotone-control/index.js +15 -12
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editable-text/index.js +6 -5
- package/build/components/editable-text/index.js.map +1 -1
- package/build/components/editor-styles/index.js +4 -3
- 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/font-appearance-control/index.js +26 -19
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +12 -10
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/index.js +6 -6
- package/build/components/font-sizes/index.native.js +6 -6
- package/build/components/font-sizes/utils.js +2 -2
- package/build/components/font-sizes/with-font-sizes.js +11 -5
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/gradients/use-gradient.js +7 -6
- package/build/components/gradients/use-gradient.js.map +1 -1
- package/build/components/iframe/index.js +28 -22
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +90 -82
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/constants.js +1 -1
- package/build/components/image-editor/context.js +11 -10
- package/build/components/image-editor/context.js.map +1 -1
- package/build/components/image-editor/cropper.js +9 -8
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/index.js +10 -9
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +12 -11
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js +6 -5
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js +13 -10
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/image-size-control/index.js +12 -11
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.js +210 -208
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +112 -110
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +8 -7
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +9 -7
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +4 -2
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +4 -2
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +10 -8
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +12 -9
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/sidebar.js +24 -20
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +26 -20
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +9 -7
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +9 -8
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js +5 -3
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +6 -5
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +11 -9
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/index.js +36 -28
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +46 -37
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +12 -11
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +12 -11
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js +31 -27
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/panel.js +6 -5
- package/build/components/inserter/panel.js.map +1 -1
- package/build/components/inserter/pattern-panel.js +7 -6
- package/build/components/inserter/pattern-panel.js.map +1 -1
- package/build/components/inserter/preview-panel.js +4 -3
- 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-blocks-tab.js +18 -13
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +6 -5
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-items.js +23 -7
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.js +15 -14
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/search-results.native.js +11 -10
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inserter/tabs.js +7 -6
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter/tabs.native.js +55 -37
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/utils.native.js +10 -8
- package/build/components/inserter/utils.native.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +12 -10
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js +79 -73
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inserter-listbox/index.js +8 -7
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +7 -6
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +5 -4
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +8 -6
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js +5 -4
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +6 -5
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/slot.js +7 -6
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +5 -4
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/justify-content-control/ui.js +10 -8
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +6 -5
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +5 -4
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +5 -4
- package/build/components/line-height-control/index.native.js.map +1 -1
- package/build/components/line-height-control/utils.js +1 -1
- package/build/components/link-control/index.js +25 -23
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +8 -7
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-create-button.js +9 -7
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +21 -20
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +10 -9
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +15 -14
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +7 -5
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +5 -4
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/link-control/viewer-slot.js +1 -1
- package/build/components/list-view/appender.js +27 -23
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/block-contents.js +32 -28
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +18 -17
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +79 -66
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +5 -4
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/expander.js +4 -3
- package/build/components/list-view/expander.js.map +1 -1
- package/build/components/list-view/index.js +11 -10
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +11 -10
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/list-item.js +8 -7
- package/build/components/list-view/list-item.js.map +1 -1
- package/build/components/media-placeholder/index.js +86 -68
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +5 -4
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +85 -72
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/check.js +5 -4
- package/build/components/media-upload/check.js.map +1 -1
- package/build/components/media-upload/index.native.js +1 -1
- package/build/components/media-upload-progress/index.native.js +1 -1
- package/build/components/multi-selection-inspector/index.js +4 -3
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +8 -7
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/observe-typing/index.js +5 -4
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/panel-color-settings/index.js +16 -12
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/plain-text/index.js +6 -4
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/preview-options/index.js +8 -7
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +5 -4
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/use-block-sync.js +8 -7
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +7 -5
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/responsive-block-control/label.js +6 -5
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +7 -5
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/file-paste-handler.js +6 -3
- package/build/components/rich-text/file-paste-handler.js.map +1 -1
- package/build/components/rich-text/format-edit.js +8 -7
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +18 -9
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +6 -4
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +45 -41
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +145 -122
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/input-event.js +5 -4
- package/build/components/rich-text/input-event.js.map +1 -1
- package/build/components/rich-text/shortcut.js +6 -5
- package/build/components/rich-text/shortcut.js.map +1 -1
- package/build/components/rich-text/split-value.js +10 -8
- package/build/components/rich-text/split-value.js.map +1 -1
- package/build/components/rich-text/toolbar-button.js +7 -6
- package/build/components/rich-text/toolbar-button.js.map +1 -1
- package/build/components/rich-text/use-caret-in-format.js +4 -3
- package/build/components/rich-text/use-caret-in-format.js.map +1 -1
- package/build/components/rich-text/use-enter.js +6 -3
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +13 -10
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +15 -9
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js +5 -4
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +28 -4
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/rich-text/utils.js +9 -7
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +4 -3
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/text-decoration-control/index.js +5 -4
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +5 -4
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js +16 -13
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/typewriter/index.js +10 -7
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/ungroup-button/index.native.js +12 -9
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/unit-control/index.js +5 -4
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/url-input/index.js +12 -9
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-input/index.native.js +8 -6
- package/build/components/url-input/index.native.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +12 -11
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js +9 -8
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +8 -7
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +6 -5
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +9 -8
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +9 -8
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +17 -13
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-no-recursive-renders/index.js +10 -6
- package/build/components/use-no-recursive-renders/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +2 -2
- package/build/components/use-setting/index.js +1 -1
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/warning/index.js +7 -6
- package/build/components/warning/index.js.map +1 -1
- package/build/components/warning/index.native.js +10 -9
- package/build/components/warning/index.native.js.map +1 -1
- package/build/components/writing-flow/index.js +6 -5
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js +2 -2
- package/build/hooks/align.js +12 -7
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/border.js +4 -2
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +7 -6
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +4 -3
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/dimensions.js +4 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +13 -10
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-appearance.js +17 -14
- package/build/hooks/font-appearance.js.map +1 -1
- package/build/hooks/font-family.js +29 -20
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +10 -8
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/gap.js +10 -8
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/index.js +14 -14
- package/build/hooks/index.native.js +10 -10
- package/build/hooks/layout.js +16 -13
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/letter-spacing.js +11 -9
- package/build/hooks/letter-spacing.js.map +1 -1
- package/build/hooks/line-height.js +11 -9
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/margin.js +10 -8
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +10 -8
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/style.js +9 -5
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/text-decoration.js +11 -9
- package/build/hooks/text-decoration.js.map +1 -1
- package/build/hooks/text-transform.js +11 -9
- package/build/hooks/text-transform.js.map +1 -1
- package/build/hooks/typography.js +3 -2
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +3 -2
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-border-props.js +5 -4
- package/build/hooks/use-border-props.js.map +1 -1
- package/build/index.js +18 -18
- package/build/layouts/flex.js +67 -39
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +10 -8
- package/build/layouts/flow.js.map +1 -1
- package/build/layouts/index.js +2 -1
- package/build/layouts/index.js.map +1 -1
- package/build/layouts/utils.js +2 -1
- package/build/layouts/utils.js.map +1 -1
- package/build/store/actions.js +311 -232
- package/build/store/actions.js.map +1 -1
- package/build/store/array.js +2 -1
- package/build/store/array.js.map +1 -1
- package/build/store/index.js +5 -3
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +124 -49
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +219 -141
- package/build/store/selectors.js.map +1 -1
- package/build/utils/block-variation-transforms.js +4 -3
- package/build/utils/block-variation-transforms.js.map +1 -1
- package/build/utils/dom.js +1 -1
- package/build/utils/get-paste-event-data.js +10 -6
- package/build/utils/get-paste-event-data.js.map +1 -1
- package/build/utils/index.js +4 -4
- package/build/utils/math.js +2 -1
- package/build/utils/math.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +6 -3
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build/utils/transform-styles/index.js +8 -6
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build/utils/transform-styles/transforms/wrap.js +31 -28
- package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +11 -9
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js +4 -3
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +12 -8
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +21 -17
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +9 -4
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +6 -4
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +4 -3
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-caption/index.native.js +34 -29
- package/build-module/components/block-caption/index.native.js.map +1 -1
- package/build-module/components/block-card/index.js +8 -6
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js +9 -8
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-compare/index.js +9 -7
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +7 -6
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-context/index.js +5 -4
- package/build-module/components/block-context/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +7 -6
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/slot.js +5 -4
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js +5 -4
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +5 -4
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/index.js +13 -11
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js +7 -6
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-icon/index.js +7 -5
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-icon/index.native.js +8 -6
- package/build-module/components/block-icon/index.native.js.map +1 -1
- package/build-module/components/block-inspector/index.js +16 -13
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-html.js +4 -3
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +27 -19
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js +5 -4
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +6 -5
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js +11 -9
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +40 -33
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +35 -29
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +13 -11
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +21 -16
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/insertion-point.native.js +4 -3
- package/build-module/components/block-list/insertion-point.native.js.map +1 -1
- package/build-module/components/block-list/layout.js +5 -4
- package/build-module/components/block-list/layout.js.map +1 -1
- package/build-module/components/block-list/subdirectory-icon.js +13 -10
- package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +5 -3
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.native.js +2 -1
- package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-multi-selection.js +9 -6
- package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +16 -13
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js +14 -11
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.js +4 -3
- package/build-module/components/block-mobile-toolbar/index.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +33 -25
- package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +7 -6
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +15 -13
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +22 -19
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-mover/mover-description.native.js +10 -7
- package/build-module/components/block-mover/mover-description.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +26 -21
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +26 -22
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +46 -39
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +44 -39
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +5 -4
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +8 -7
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-preview/live.js +4 -3
- package/build-module/components/block-preview/live.js.map +1 -1
- package/build-module/components/block-settings/button.native.js +10 -7
- package/build-module/components/block-settings/button.native.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +7 -6
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-convert-button.js +7 -5
- package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
- package/build-module/components/block-settings-menu/block-html-convert-button.js +14 -10
- 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 +25 -19
- package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +74 -66
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +5 -4
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +8 -6
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +20 -17
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +6 -4
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +7 -6
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +5 -4
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +7 -6
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -8
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/block-switcher/index.js +41 -33
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +22 -18
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +4 -3
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +2 -1
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-title/index.js +4 -3
- package/build-module/components/block-title/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +4 -3
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/utils.js +13 -11
- package/build-module/components/block-toolbar/utils.js.map +1 -1
- package/build-module/components/block-tools/back-compat.js +4 -3
- package/build-module/components/block-tools/back-compat.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +6 -5
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-popover.js +15 -13
- package/build-module/components/block-tools/block-popover.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +6 -5
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +6 -5
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +11 -9
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-types-list/index.js +9 -8
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +19 -15
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +9 -8
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +9 -7
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +22 -15
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +9 -7
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +6 -5
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +5 -4
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +16 -11
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +5 -4
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +8 -3
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/border-style-control/index.js +5 -4
- package/build-module/components/border-style-control/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +15 -13
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.native.js +28 -24
- package/build-module/components/button-block-appender/index.native.js.map +1 -1
- package/build-module/components/caption/index.native.js +44 -41
- package/build-module/components/caption/index.native.js.map +1 -1
- package/build-module/components/color-palette/control.js +6 -5
- package/build-module/components/color-palette/control.js.map +1 -1
- package/build-module/components/color-style-selector/index.js +43 -34
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors/color-panel.js +21 -18
- package/build-module/components/colors/color-panel.js.map +1 -1
- package/build-module/components/colors/utils.js +6 -3
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +17 -6
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +16 -15
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +57 -50
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +18 -15
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +9 -8
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/copy-handler/index.js +4 -3
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +10 -8
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js +10 -8
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/default-style-picker/index.js +14 -10
- package/build-module/components/default-style-picker/index.js.map +1 -1
- package/build-module/components/duotone-control/index.js +15 -12
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editable-text/index.js +6 -5
- package/build-module/components/editable-text/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +4 -3
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +8 -7
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +26 -19
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +12 -10
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +11 -5
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js +5 -4
- package/build-module/components/gradients/use-gradient.js.map +1 -1
- package/build-module/components/iframe/index.js +28 -22
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +90 -82
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/context.js +11 -10
- package/build-module/components/image-editor/context.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +9 -8
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/index.js +9 -8
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +12 -11
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js +6 -5
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js +13 -10
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build-module/components/image-size-control/index.js +12 -11
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +8 -7
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +9 -7
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +3 -1
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +3 -1
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +10 -8
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +12 -9
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +24 -20
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +26 -20
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +9 -7
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +9 -8
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +5 -3
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +6 -5
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +11 -9
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/index.js +36 -28
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +46 -37
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +12 -11
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +12 -11
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js +31 -27
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/panel.js +6 -5
- package/build-module/components/inserter/panel.js.map +1 -1
- package/build-module/components/inserter/pattern-panel.js +7 -6
- package/build-module/components/inserter/pattern-panel.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +4 -3
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +7 -6
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +18 -13
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +6 -5
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/search-items.js +23 -7
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.js +15 -14
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js +11 -10
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inserter/tabs.js +7 -6
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +55 -37
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter/utils.native.js +10 -8
- package/build-module/components/inserter/utils.native.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +12 -10
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +75 -69
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +4 -3
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +7 -6
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +5 -4
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +8 -6
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +5 -4
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +6 -5
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +7 -6
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +5 -4
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js +10 -8
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +6 -5
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +5 -4
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js +5 -4
- package/build-module/components/line-height-control/index.native.js.map +1 -1
- package/build-module/components/link-control/index.js +25 -23
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +8 -7
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +9 -7
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +21 -20
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +10 -9
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +15 -14
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +7 -5
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +4 -3
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/appender.js +27 -23
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +32 -28
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +18 -17
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +79 -66
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +5 -4
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/expander.js +4 -3
- package/build-module/components/list-view/expander.js.map +1 -1
- package/build-module/components/list-view/index.js +11 -10
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +11 -10
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/list-item.js +8 -7
- package/build-module/components/list-view/list-item.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +86 -68
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +5 -4
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +85 -72
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/check.js +5 -4
- package/build-module/components/media-upload/check.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +4 -3
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +8 -7
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js +4 -3
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js +16 -12
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +6 -4
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/preview-options/index.js +8 -7
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +4 -3
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +8 -7
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js +7 -5
- package/build-module/components/provider/with-registry-provider.js.map +1 -1
- package/build-module/components/responsive-block-control/label.js +6 -5
- package/build-module/components/responsive-block-control/label.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +7 -5
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build-module/components/rich-text/file-paste-handler.js +6 -3
- package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +8 -7
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +18 -9
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +6 -4
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +44 -40
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +145 -122
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/input-event.js +5 -4
- package/build-module/components/rich-text/input-event.js.map +1 -1
- package/build-module/components/rich-text/shortcut.js +6 -5
- package/build-module/components/rich-text/shortcut.js.map +1 -1
- package/build-module/components/rich-text/split-value.js +10 -8
- package/build-module/components/rich-text/split-value.js.map +1 -1
- package/build-module/components/rich-text/toolbar-button.js +7 -6
- package/build-module/components/rich-text/toolbar-button.js.map +1 -1
- package/build-module/components/rich-text/use-caret-in-format.js +4 -3
- package/build-module/components/rich-text/use-caret-in-format.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +6 -3
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +13 -10
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +15 -9
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js +5 -4
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +28 -4
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/utils.js +7 -5
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +4 -3
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +5 -4
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +5 -4
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +16 -13
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/typewriter/index.js +9 -6
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js +12 -9
- package/build-module/components/ungroup-button/index.native.js.map +1 -1
- package/build-module/components/unit-control/index.js +5 -4
- package/build-module/components/unit-control/index.js.map +1 -1
- package/build-module/components/url-input/index.js +12 -9
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-input/index.native.js +8 -6
- package/build-module/components/url-input/index.native.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +12 -11
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js +9 -8
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +8 -7
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +6 -5
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +9 -8
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +8 -7
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +17 -13
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-no-recursive-renders/index.js +10 -6
- package/build-module/components/use-no-recursive-renders/index.js.map +1 -1
- package/build-module/components/use-setting/index.js +1 -1
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/warning/index.js +7 -6
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/warning/index.native.js +10 -9
- package/build-module/components/warning/index.native.js.map +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/hooks/align.js +9 -4
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/border.js +3 -1
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +7 -6
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/dimensions.js +2 -1
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +13 -10
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-appearance.js +13 -10
- package/build-module/hooks/font-appearance.js.map +1 -1
- package/build-module/hooks/font-family.js +27 -18
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +9 -7
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/gap.js +9 -7
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/layout.js +16 -13
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/letter-spacing.js +9 -7
- package/build-module/hooks/letter-spacing.js.map +1 -1
- package/build-module/hooks/line-height.js +9 -7
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/margin.js +9 -7
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +9 -7
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/style.js +7 -3
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/text-decoration.js +9 -7
- package/build-module/hooks/text-decoration.js.map +1 -1
- package/build-module/hooks/text-transform.js +9 -7
- package/build-module/hooks/text-transform.js.map +1 -1
- package/build-module/hooks/typography.js +2 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +2 -1
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-border-props.js +5 -4
- package/build-module/hooks/use-border-props.js.map +1 -1
- package/build-module/layouts/flex.js +67 -39
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +10 -8
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/layouts/index.js +2 -1
- package/build-module/layouts/index.js.map +1 -1
- package/build-module/layouts/utils.js +2 -1
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/store/actions.js +271 -206
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/array.js +2 -1
- package/build-module/store/array.js.map +1 -1
- package/build-module/store/reducer.js +108 -34
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +158 -90
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/block-variation-transforms.js +4 -3
- package/build-module/utils/block-variation-transforms.js.map +1 -1
- package/build-module/utils/get-paste-event-data.js +10 -6
- package/build-module/utils/get-paste-event-data.js.map +1 -1
- package/build-module/utils/math.js +2 -1
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +5 -2
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +8 -6
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-module/utils/transform-styles/transforms/wrap.js +28 -25
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-style/style-rtl.css +68 -68
- package/build-style/style.css +68 -68
- package/package.json +27 -27
- package/src/components/block-list-appender/style.scss +0 -42
- package/src/components/button-block-appender/style.scss +0 -17
- package/src/components/colors-gradients/panel-color-gradient-settings.js +56 -25
- package/src/components/default-block-appender/style.scss +90 -16
- package/src/components/inner-blocks/style.scss +4 -10
- package/src/components/rich-text/use-paste-handler.js +22 -0
- package/src/components/use-setting/index.js +1 -1
- package/src/layouts/flex.js +25 -7
|
@@ -8,10 +8,11 @@ import { useDispatch } from '@wordpress/data';
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { store as blockEditorStore } from '../../store';
|
|
11
|
-
export function useMarkPersistent({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
export function useMarkPersistent(_ref) {
|
|
12
|
+
let {
|
|
13
|
+
html,
|
|
14
|
+
value
|
|
15
|
+
} = _ref;
|
|
15
16
|
const previousText = useRef();
|
|
16
17
|
const hasActiveFormats = value.activeFormats && !!value.activeFormats.length;
|
|
17
18
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-mark-persistent.js"],"names":["useLayoutEffect","useRef","useDispatch","store","blockEditorStore","useMarkPersistent","html","value","previousText","hasActiveFormats","activeFormats","length","__unstableMarkLastChangeAsPersistent","current","text","timeout","window","setTimeout","clearTimeout"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAT,EAA0BC,MAA1B,QAAwC,oBAAxC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,OAAO,SAASC,iBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-mark-persistent.js"],"names":["useLayoutEffect","useRef","useDispatch","store","blockEditorStore","useMarkPersistent","html","value","previousText","hasActiveFormats","activeFormats","length","__unstableMarkLastChangeAsPersistent","current","text","timeout","window","setTimeout","clearTimeout"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAT,EAA0BC,MAA1B,QAAwC,oBAAxC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,OAAO,SAASC,iBAAT,OAA8C;AAAA,MAAlB;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAkB;AACpD,QAAMC,YAAY,GAAGP,MAAM,EAA3B;AACA,QAAMQ,gBAAgB,GACrBF,KAAK,CAACG,aAAN,IAAuB,CAAC,CAAEH,KAAK,CAACG,aAAN,CAAoBC,MAD/C;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAA2CV,WAAW,CAC3DE,gBAD2D,CAA5D,CAJoD,CAQpD;;AACAJ,EAAAA,eAAe,CAAE,MAAM;AACtB;AACA,QAAK,CAAEQ,YAAY,CAACK,OAApB,EAA8B;AAC7BL,MAAAA,YAAY,CAACK,OAAb,GAAuBN,KAAK,CAACO,IAA7B;AACA;AACA,KALqB,CAOtB;AACA;;;AACA,QAAKN,YAAY,CAACK,OAAb,KAAyBN,KAAK,CAACO,IAApC,EAA2C;AAC1C,YAAMC,OAAO,GAAGC,MAAM,CAACC,UAAP,CAAmB,MAAM;AACxCL,QAAAA,oCAAoC;AACpC,OAFe,EAEb,IAFa,CAAhB;AAGAJ,MAAAA,YAAY,CAACK,OAAb,GAAuBN,KAAK,CAACO,IAA7B;AACA,aAAO,MAAM;AACZE,QAAAA,MAAM,CAACE,YAAP,CAAqBH,OAArB;AACA,OAFD;AAGA;;AAEDH,IAAAA,oCAAoC;AACpC,GApBc,EAoBZ,CAAEN,IAAF,EAAQG,gBAAR,CApBY,CAAf;AAqBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useLayoutEffect, useRef } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport function useMarkPersistent( { html, value } ) {\n\tconst previousText = useRef();\n\tconst hasActiveFormats =\n\t\tvalue.activeFormats && !! value.activeFormats.length;\n\tconst { __unstableMarkLastChangeAsPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\t// Must be set synchronously to make sure it applies to the last change.\n\tuseLayoutEffect( () => {\n\t\t// Ignore mount.\n\t\tif ( ! previousText.current ) {\n\t\t\tpreviousText.current = value.text;\n\t\t\treturn;\n\t\t}\n\n\t\t// Text input, so don't create an undo level for every character.\n\t\t// Create an undo level after 1 second of no input.\n\t\tif ( previousText.current !== value.text ) {\n\t\t\tconst timeout = window.setTimeout( () => {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}, 1000 );\n\t\t\tpreviousText.current = value.text;\n\t\t\treturn () => {\n\t\t\t\twindow.clearTimeout( timeout );\n\t\t\t};\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\t}, [ html, hasActiveFormats ] );\n}\n"]}
|
|
@@ -83,7 +83,9 @@ export function usePasteHandler(props) {
|
|
|
83
83
|
} // Remove Windows-specific metadata appended within copied HTML text.
|
|
84
84
|
|
|
85
85
|
|
|
86
|
-
html = removeWindowsFragments(html);
|
|
86
|
+
html = removeWindowsFragments(html); // Strip meta tag.
|
|
87
|
+
|
|
88
|
+
html = removeCharsetMetaTag(html);
|
|
87
89
|
event.preventDefault(); // Allows us to ask for this information when we get a report.
|
|
88
90
|
|
|
89
91
|
window.console.log('Received HTML:\n\n', html);
|
|
@@ -94,9 +96,11 @@ export function usePasteHandler(props) {
|
|
|
94
96
|
return;
|
|
95
97
|
}
|
|
96
98
|
|
|
97
|
-
const transformed = formatTypes.reduce((accumlator, {
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
const transformed = formatTypes.reduce((accumlator, _ref) => {
|
|
100
|
+
let {
|
|
101
|
+
__unstablePasteRule
|
|
102
|
+
} = _ref;
|
|
103
|
+
|
|
100
104
|
// Only allow one transform.
|
|
101
105
|
if (__unstablePasteRule && accumlator === value) {
|
|
102
106
|
accumlator = __unstablePasteRule(value, {
|
|
@@ -233,4 +237,24 @@ function removeWindowsFragments(html) {
|
|
|
233
237
|
const endReg = /<!--EndFragment-->.*/s;
|
|
234
238
|
return html.replace(startReg, '').replace(endReg, '');
|
|
235
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Removes the charset meta tag inserted by Chromium.
|
|
242
|
+
* See:
|
|
243
|
+
* - https://github.com/WordPress/gutenberg/issues/33585
|
|
244
|
+
* - https://bugs.chromium.org/p/chromium/issues/detail?id=1264616#c4
|
|
245
|
+
*
|
|
246
|
+
* @param {string} html the html to be stripped of the meta tag.
|
|
247
|
+
* @return {string} the cleaned html
|
|
248
|
+
*/
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
function removeCharsetMetaTag(html) {
|
|
252
|
+
const metaTag = `<meta charset='utf-8'>`;
|
|
253
|
+
|
|
254
|
+
if (html.startsWith(metaTag)) {
|
|
255
|
+
return html.slice(metaTag.length);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
return html;
|
|
259
|
+
}
|
|
236
260
|
//# sourceMappingURL=use-paste-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-paste-handler.js"],"names":["useRef","useRefEffect","getFilesFromDataTransfer","pasteHandler","isEmpty","insert","create","replace","__UNSTABLE_LINE_SEPARATOR","LINE_SEPARATOR","isURL","filePasteHandler","addActiveFormats","isShortcode","splitValue","adjustLines","value","isMultiline","RegExp","usePasteHandler","props","propsRef","current","element","_onPaste","event","isSelected","disableFormats","onChange","formatTypes","tagName","onReplace","onSplit","onSplitMiddle","__unstableEmbedURLOnPaste","multilineTag","preserveWhiteSpace","pastePlainText","preventDefault","clipboardData","plainText","html","getData","error1","error2","removeWindowsFragments","window","console","log","transformed","reduce","accumlator","__unstablePasteRule","files","isInternal","pastedMultilineTag","undefined","pastedValue","multilineWrapperTags","activeFormats","text","length","content","HTML","mode","pastedBlocks","trim","valueToInsert","addEventListener","removeEventListener","startReg","endReg"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { getFilesFromDataTransfer } from '@wordpress/dom';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\tisEmpty,\n\tinsert,\n\tcreate,\n\treplace,\n\t__UNSTABLE_LINE_SEPARATOR as LINE_SEPARATOR,\n} from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { filePasteHandler } from './file-paste-handler';\nimport { addActiveFormats, isShortcode } from './utils';\nimport { splitValue } from './split-value';\n\n/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */\n\n/**\n * Replaces line separators with line breaks if not multiline.\n * Replaces line breaks with line separators if multiline.\n *\n * @param {RichTextValue} value Value to adjust.\n * @param {boolean} isMultiline Whether to adjust to multiline or not.\n *\n * @return {RichTextValue} Adjusted value.\n */\nfunction adjustLines( value, isMultiline ) {\n\tif ( isMultiline ) {\n\t\treturn replace( value, /\\n+/g, LINE_SEPARATOR );\n\t}\n\n\treturn replace( value, new RegExp( LINE_SEPARATOR, 'g' ), '\\n' );\n}\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\tonSplitMiddle,\n\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\tmultilineTag,\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\tevent.preventDefault();\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\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 pastedMultilineTag =\n\t\t\t\t\tclipboardData.getData( 'rich-text-multi-line-tag' ) ||\n\t\t\t\t\tundefined;\n\t\t\t\tlet pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tmultilineTag: pastedMultilineTag,\n\t\t\t\t\tmultilineWrapperTags:\n\t\t\t\t\t\tpastedMultilineTag === 'li'\n\t\t\t\t\t\t\t? [ 'ul', 'ol' ]\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\tpastedValue = adjustLines( pastedValue, !! multilineTag );\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\t// Only process file if no HTML is present.\n\t\t\t// Note: a pasted file may have the URL as plain text.\n\t\t\tif ( files && files.length && ! html ) {\n\t\t\t\tconst content = pasteHandler( {\n\t\t\t\t\tHTML: filePasteHandler( files ),\n\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\ttagName,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\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\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content );\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\tonSplitMiddle,\n\t\t\t\t\t\tmultilineTag,\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\tlet valueToInsert = create( { html: content } );\n\n\t\t\t\t// If the content should be multiline, we should process text\n\t\t\t\t// separated by a line break as separate lines.\n\t\t\t\tvalueToInsert = adjustLines( valueToInsert, !! multilineTag );\n\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\tonSplitMiddle,\n\t\t\t\t\t\tmultilineTag,\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\" comments\n * and any preceeding and trailing whitespace.\n *\n * @param {string} html the html to be normalized\n * @return {string} the normalized html\n */\nfunction removeWindowsFragments( html ) {\n\tconst startReg = /.*<!--StartFragment-->/s;\n\tconst endReg = /<!--EndFragment-->.*/s;\n\n\treturn html.replace( startReg, '' ).replace( endReg, '' );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-paste-handler.js"],"names":["useRef","useRefEffect","getFilesFromDataTransfer","pasteHandler","isEmpty","insert","create","replace","__UNSTABLE_LINE_SEPARATOR","LINE_SEPARATOR","isURL","filePasteHandler","addActiveFormats","isShortcode","splitValue","adjustLines","value","isMultiline","RegExp","usePasteHandler","props","propsRef","current","element","_onPaste","event","isSelected","disableFormats","onChange","formatTypes","tagName","onReplace","onSplit","onSplitMiddle","__unstableEmbedURLOnPaste","multilineTag","preserveWhiteSpace","pastePlainText","preventDefault","clipboardData","plainText","html","getData","error1","error2","removeWindowsFragments","removeCharsetMetaTag","window","console","log","transformed","reduce","accumlator","__unstablePasteRule","files","isInternal","pastedMultilineTag","undefined","pastedValue","multilineWrapperTags","activeFormats","text","length","content","HTML","mode","pastedBlocks","trim","valueToInsert","addEventListener","removeEventListener","startReg","endReg","metaTag","startsWith","slice"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { getFilesFromDataTransfer } from '@wordpress/dom';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\tisEmpty,\n\tinsert,\n\tcreate,\n\treplace,\n\t__UNSTABLE_LINE_SEPARATOR as LINE_SEPARATOR,\n} from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { filePasteHandler } from './file-paste-handler';\nimport { addActiveFormats, isShortcode } from './utils';\nimport { splitValue } from './split-value';\n\n/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */\n\n/**\n * Replaces line separators with line breaks if not multiline.\n * Replaces line breaks with line separators if multiline.\n *\n * @param {RichTextValue} value Value to adjust.\n * @param {boolean} isMultiline Whether to adjust to multiline or not.\n *\n * @return {RichTextValue} Adjusted value.\n */\nfunction adjustLines( value, isMultiline ) {\n\tif ( isMultiline ) {\n\t\treturn replace( value, /\\n+/g, LINE_SEPARATOR );\n\t}\n\n\treturn replace( value, new RegExp( LINE_SEPARATOR, 'g' ), '\\n' );\n}\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\tonSplitMiddle,\n\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\tmultilineTag,\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\tevent.preventDefault();\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 pastedMultilineTag =\n\t\t\t\t\tclipboardData.getData( 'rich-text-multi-line-tag' ) ||\n\t\t\t\t\tundefined;\n\t\t\t\tlet pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tmultilineTag: pastedMultilineTag,\n\t\t\t\t\tmultilineWrapperTags:\n\t\t\t\t\t\tpastedMultilineTag === 'li'\n\t\t\t\t\t\t\t? [ 'ul', 'ol' ]\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\tpastedValue = adjustLines( pastedValue, !! multilineTag );\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\t// Only process file if no HTML is present.\n\t\t\t// Note: a pasted file may have the URL as plain text.\n\t\t\tif ( files && files.length && ! html ) {\n\t\t\t\tconst content = pasteHandler( {\n\t\t\t\t\tHTML: filePasteHandler( files ),\n\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\ttagName,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\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\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content );\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\tonSplitMiddle,\n\t\t\t\t\t\tmultilineTag,\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\tlet valueToInsert = create( { html: content } );\n\n\t\t\t\t// If the content should be multiline, we should process text\n\t\t\t\t// separated by a line break as separate lines.\n\t\t\t\tvalueToInsert = adjustLines( valueToInsert, !! multilineTag );\n\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\tonSplitMiddle,\n\t\t\t\t\t\tmultilineTag,\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\" comments\n * and any preceeding and trailing whitespace.\n *\n * @param {string} html the html to be normalized\n * @return {string} the normalized html\n */\nfunction removeWindowsFragments( html ) {\n\tconst startReg = /.*<!--StartFragment-->/s;\n\tconst endReg = /<!--EndFragment-->.*/s;\n\n\treturn html.replace( startReg, '' ).replace( endReg, '' );\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"]}
|
|
@@ -31,11 +31,13 @@ export function getMultilineTag(multiline) {
|
|
|
31
31
|
|
|
32
32
|
return multiline === true ? 'p' : multiline;
|
|
33
33
|
}
|
|
34
|
-
export function getAllowedFormats({
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
export function getAllowedFormats(_ref) {
|
|
35
|
+
let {
|
|
36
|
+
allowedFormats,
|
|
37
|
+
formattingControls,
|
|
38
|
+
disableFormats
|
|
39
|
+
} = _ref;
|
|
40
|
+
|
|
39
41
|
if (disableFormats) {
|
|
40
42
|
return getAllowedFormats.EMPTY_ARRAY;
|
|
41
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/utils.js"],"names":["regexp","deprecated","renderToString","createBlock","addActiveFormats","value","activeFormats","length","index","formats","getMultilineTag","multiline","getAllowedFormats","allowedFormats","formattingControls","disableFormats","EMPTY_ARRAY","since","alternative","map","name","isShortcode","text","test","createLinkInParagraph","url","onReplace","link","content"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,sBAAvB;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AACA,SAASC,cAAT,QAA+B,oBAA/B;AACA,SAASC,WAAT,QAA4B,mBAA5B;AAEA,OAAO,SAASC,gBAAT,CAA2BC,KAA3B,EAAkCC,aAAlC,EAAkD;AACxD,MAAKA,aAAL,aAAKA,aAAL,eAAKA,aAAa,CAAEC,MAApB,EAA6B;AAC5B,QAAIC,KAAK,GAAGH,KAAK,CAACI,OAAN,CAAcF,MAA1B;;AAEA,WAAQC,KAAK,EAAb,EAAkB;AACjBH,MAAAA,KAAK,CAACI,OAAN,CAAeD,KAAf,IAAyB,CACxB,GAAGF,aADqB,EAExB,IAAKD,KAAK,CAACI,OAAN,CAAeD,KAAf,KAA0B,EAA/B,CAFwB,CAAzB;AAIA;AACD;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,eAAT,CAA0BC,SAA1B,EAAsC;AAC5C,MAAKA,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAK,GAApC,IAA2CA,SAAS,KAAK,IAA9D,EAAqE;AACpE;AACA;;AAED,SAAOA,SAAS,KAAK,IAAd,GAAqB,GAArB,GAA2BA,SAAlC;AACA;AAED,OAAO,SAASC,iBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/utils.js"],"names":["regexp","deprecated","renderToString","createBlock","addActiveFormats","value","activeFormats","length","index","formats","getMultilineTag","multiline","getAllowedFormats","allowedFormats","formattingControls","disableFormats","EMPTY_ARRAY","since","alternative","map","name","isShortcode","text","test","createLinkInParagraph","url","onReplace","link","content"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,sBAAvB;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AACA,SAASC,cAAT,QAA+B,oBAA/B;AACA,SAASC,WAAT,QAA4B,mBAA5B;AAEA,OAAO,SAASC,gBAAT,CAA2BC,KAA3B,EAAkCC,aAAlC,EAAkD;AACxD,MAAKA,aAAL,aAAKA,aAAL,eAAKA,aAAa,CAAEC,MAApB,EAA6B;AAC5B,QAAIC,KAAK,GAAGH,KAAK,CAACI,OAAN,CAAcF,MAA1B;;AAEA,WAAQC,KAAK,EAAb,EAAkB;AACjBH,MAAAA,KAAK,CAACI,OAAN,CAAeD,KAAf,IAAyB,CACxB,GAAGF,aADqB,EAExB,IAAKD,KAAK,CAACI,OAAN,CAAeD,KAAf,KAA0B,EAA/B,CAFwB,CAAzB;AAIA;AACD;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,eAAT,CAA0BC,SAA1B,EAAsC;AAC5C,MAAKA,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAK,GAApC,IAA2CA,SAAS,KAAK,IAA9D,EAAqE;AACpE;AACA;;AAED,SAAOA,SAAS,KAAK,IAAd,GAAqB,GAArB,GAA2BA,SAAlC;AACA;AAED,OAAO,SAASC,iBAAT,OAIH;AAAA,MAJ+B;AAClCC,IAAAA,cADkC;AAElCC,IAAAA,kBAFkC;AAGlCC,IAAAA;AAHkC,GAI/B;;AACH,MAAKA,cAAL,EAAsB;AACrB,WAAOH,iBAAiB,CAACI,WAAzB;AACA;;AAED,MAAK,CAAEH,cAAF,IAAoB,CAAEC,kBAA3B,EAAgD;AAC/C;AACA;;AAED,MAAKD,cAAL,EAAsB;AACrB,WAAOA,cAAP;AACA;;AAEDZ,EAAAA,UAAU,CAAE,iDAAF,EAAqD;AAC9DgB,IAAAA,KAAK,EAAE,KADuD;AAE9DC,IAAAA,WAAW,EAAE;AAFiD,GAArD,CAAV;AAKA,SAAOJ,kBAAkB,CAACK,GAAnB,CAA0BC,IAAF,IAAa,QAAQA,IAAM,EAAnD,CAAP;AACA;AAEDR,iBAAiB,CAACI,WAAlB,GAAgC,EAAhC;AAEA,OAAO,MAAMK,WAAW,GAAKC,IAAF,IAAYtB,MAAM,CAAE,IAAF,CAAN,CAAeuB,IAAf,CAAqBD,IAArB,CAAhC;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,qBAAT,CAAgCC,GAAhC,EAAqCC,SAArC,EAAiD;AACvD,QAAMC,IAAI,GAAG;AAAG,IAAA,IAAI,EAAGF;AAAV,KAAkBA,GAAlB,CAAb;AACAC,EAAAA,SAAS,CACRvB,WAAW,CAAE,gBAAF,EAAoB;AAAEyB,IAAAA,OAAO,EAAE1B,cAAc,CAAEyB,IAAF;AAAzB,GAApB,CADH,CAAT;AAGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { regexp } from '@wordpress/shortcode';\nimport deprecated from '@wordpress/deprecated';\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} 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( {\n\tallowedFormats,\n\tformattingControls,\n\tdisableFormats,\n} ) {\n\tif ( disableFormats ) {\n\t\treturn getAllowedFormats.EMPTY_ARRAY;\n\t}\n\n\tif ( ! allowedFormats && ! formattingControls ) {\n\t\treturn;\n\t}\n\n\tif ( allowedFormats ) {\n\t\treturn allowedFormats;\n\t}\n\n\tdeprecated( 'wp.blockEditor.RichText formattingControls prop', {\n\t\tsince: '5.4',\n\t\talternative: 'allowedFormats',\n\t} );\n\n\treturn formattingControls.map( ( name ) => `core/${ name }` );\n}\n\ngetAllowedFormats.EMPTY_ARRAY = [];\n\nexport const isShortcode = ( text ) => regexp( '.*' ).test( text );\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"]}
|
|
@@ -13,9 +13,10 @@ import { Button } from '@wordpress/components';
|
|
|
13
13
|
import { store as blockEditorStore } from '../../store';
|
|
14
14
|
import { __unstableUseBlockRef as useBlockRef } from '../block-list/use-block-props/use-block-refs';
|
|
15
15
|
|
|
16
|
-
const SkipToSelectedBlock =
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
const SkipToSelectedBlock = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
selectedBlockClientId
|
|
19
|
+
} = _ref;
|
|
19
20
|
const ref = useBlockRef(selectedBlockClientId);
|
|
20
21
|
|
|
21
22
|
const onClick = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/skip-to-selected-block/index.js"],"names":["withSelect","__","Button","store","blockEditorStore","__unstableUseBlockRef","useBlockRef","SkipToSelectedBlock","selectedBlockClientId","ref","onClick","current","focus","select","getBlockSelectionStart"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,iBAA3B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AACA,SAASC,qBAAqB,IAAIC,WAAlC,QAAqD,8CAArD;;AAEA,MAAMC,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/skip-to-selected-block/index.js"],"names":["withSelect","__","Button","store","blockEditorStore","__unstableUseBlockRef","useBlockRef","SkipToSelectedBlock","selectedBlockClientId","ref","onClick","current","focus","select","getBlockSelectionStart"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,iBAA3B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AACA,SAASC,qBAAqB,IAAIC,WAAlC,QAAqD,8CAArD;;AAEA,MAAMC,mBAAmB,GAAG,QAAiC;AAAA,MAA/B;AAAEC,IAAAA;AAAF,GAA+B;AAC5D,QAAMC,GAAG,GAAGH,WAAW,CAAEE,qBAAF,CAAvB;;AACA,QAAME,OAAO,GAAG,MAAM;AACrBD,IAAAA,GAAG,CAACE,OAAJ,CAAYC,KAAZ;AACA,GAFD;;AAIA,SAAOJ,qBAAqB,GAC3B,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,WADT;AAEC,IAAA,SAAS,EAAC,qCAFX;AAGC,IAAA,OAAO,EAAGE;AAHX,KAKGT,EAAE,CAAE,4BAAF,CALL,CAD2B,GAQxB,IARJ;AASA,CAfD;;AAiBA,eAAeD,UAAU,CAAIa,MAAF,IAAc;AACxC,SAAO;AACNL,IAAAA,qBAAqB,EAAEK,MAAM,CAC5BT,gBAD4B,CAAN,CAErBU,sBAFqB;AADjB,GAAP;AAKA,CANwB,CAAV,CAMVP,mBANU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { __unstableUseBlockRef as useBlockRef } from '../block-list/use-block-props/use-block-refs';\n\nconst SkipToSelectedBlock = ( { selectedBlockClientId } ) => {\n\tconst ref = useBlockRef( selectedBlockClientId );\n\tconst onClick = () => {\n\t\tref.current.focus();\n\t};\n\n\treturn selectedBlockClientId ? (\n\t\t<Button\n\t\t\tvariant=\"secondary\"\n\t\t\tclassName=\"block-editor-skip-to-selected-block\"\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ __( 'Skip to the selected block' ) }\n\t\t</Button>\n\t) : null;\n};\n\nexport default withSelect( ( select ) => {\n\treturn {\n\t\tselectedBlockClientId: select(\n\t\t\tblockEditorStore\n\t\t).getBlockSelectionStart(),\n\t};\n} )( SkipToSelectedBlock );\n"]}
|
|
@@ -25,10 +25,11 @@ const TEXT_DECORATIONS = [{
|
|
|
25
25
|
* @return {WPElement} Text decoration control.
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
|
-
export default function TextDecorationControl({
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
export default function TextDecorationControl(_ref) {
|
|
29
|
+
let {
|
|
30
|
+
value,
|
|
31
|
+
onChange
|
|
32
|
+
} = _ref;
|
|
32
33
|
return createElement("fieldset", {
|
|
33
34
|
className: "block-editor-text-decoration-control"
|
|
34
35
|
}, createElement("legend", null, __('Decoration')), createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/text-decoration-control/index.js"],"names":["Button","formatStrikethrough","formatUnderline","__","TEXT_DECORATIONS","name","value","icon","TextDecorationControl","onChange","map","textDecoration","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,uBAAvB;AACA,SAASC,mBAAT,EAA8BC,eAA9B,QAAqD,kBAArD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,MAAMC,gBAAgB,GAAG,CACxB;AACCC,EAAAA,IAAI,EAAEF,EAAE,CAAE,WAAF,CADT;AAECG,EAAAA,KAAK,EAAE,WAFR;AAGCC,EAAAA,IAAI,EAAEL;AAHP,CADwB,EAMxB;AACCG,EAAAA,IAAI,EAAEF,EAAE,CAAE,eAAF,CADT;AAECG,EAAAA,KAAK,EAAE,cAFR;AAGCC,EAAAA,IAAI,EAAEN;AAHP,CANwB,CAAzB;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASO,qBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/text-decoration-control/index.js"],"names":["Button","formatStrikethrough","formatUnderline","__","TEXT_DECORATIONS","name","value","icon","TextDecorationControl","onChange","map","textDecoration","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,uBAAvB;AACA,SAASC,mBAAT,EAA8BC,eAA9B,QAAqD,kBAArD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,MAAMC,gBAAgB,GAAG,CACxB;AACCC,EAAAA,IAAI,EAAEF,EAAE,CAAE,WAAF,CADT;AAECG,EAAAA,KAAK,EAAE,WAFR;AAGCC,EAAAA,IAAI,EAAEL;AAHP,CADwB,EAMxB;AACCG,EAAAA,IAAI,EAAEF,EAAE,CAAE,eAAF,CADT;AAECG,EAAAA,KAAK,EAAE,cAFR;AAGCC,EAAAA,IAAI,EAAEN;AAHP,CANwB,CAAzB;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASO,qBAAT,OAAsD;AAAA,MAAtB;AAAEF,IAAAA,KAAF;AAASG,IAAAA;AAAT,GAAsB;AACpE,SACC;AAAU,IAAA,SAAS,EAAC;AAApB,KACC,8BAAUN,EAAE,CAAE,YAAF,CAAZ,CADD,EAEC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGC,gBAAgB,CAACM,GAAjB,CAAwBC,cAAF,IAAsB;AAC7C,WACC,cAAC,MAAD;AACC,MAAA,GAAG,EAAGA,cAAc,CAACL,KADtB;AAEC,MAAA,IAAI,EAAGK,cAAc,CAACJ,IAFvB;AAGC,MAAA,OAAO,MAHR;AAIC,MAAA,SAAS,EAAGI,cAAc,CAACL,KAAf,KAAyBA,KAJtC;AAKC,MAAA,OAAO,EAAG,MACTG,QAAQ,CACPE,cAAc,CAACL,KAAf,KAAyBA,KAAzB,GACGM,SADH,GAEGD,cAAc,CAACL,KAHX,CANV;AAYC,oBAAaK,cAAc,CAACN;AAZ7B,MADD;AAgBA,GAjBC,CADH,CAFD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { formatStrikethrough, formatUnderline } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst TEXT_DECORATIONS = [\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 *\n * @return {WPElement} Text decoration control.\n */\nexport default function TextDecorationControl( { value, onChange } ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-text-decoration-control\">\n\t\t\t<legend>{ __( 'Decoration' ) }</legend>\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\tisSmall\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\taria-label={ textDecoration.name }\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"]}
|
|
@@ -29,10 +29,11 @@ const TEXT_TRANSFORMS = [{
|
|
|
29
29
|
* @return {WPElement} Text transform control.
|
|
30
30
|
*/
|
|
31
31
|
|
|
32
|
-
export default function TextTransformControl({
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
export default function TextTransformControl(_ref) {
|
|
33
|
+
let {
|
|
34
|
+
value,
|
|
35
|
+
onChange
|
|
36
|
+
} = _ref;
|
|
36
37
|
return createElement("fieldset", {
|
|
37
38
|
className: "block-editor-text-transform-control"
|
|
38
39
|
}, createElement("legend", null, __('Letter case')), createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/text-transform-control/index.js"],"names":["Button","__","formatCapitalize","formatLowercase","formatUppercase","TEXT_TRANSFORMS","name","value","icon","TextTransformControl","onChange","map","textTransform","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,uBAAvB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,gBADD,EAECC,eAFD,EAGCC,eAHD,QAIO,kBAJP;AAMA,MAAMC,eAAe,GAAG,CACvB;AACCC,EAAAA,IAAI,EAAEL,EAAE,CAAE,WAAF,CADT;AAECM,EAAAA,KAAK,EAAE,WAFR;AAGCC,EAAAA,IAAI,EAAEJ;AAHP,CADuB,EAMvB;AACCE,EAAAA,IAAI,EAAEL,EAAE,CAAE,WAAF,CADT;AAECM,EAAAA,KAAK,EAAE,WAFR;AAGCC,EAAAA,IAAI,EAAEL;AAHP,CANuB,EAWvB;AACCG,EAAAA,IAAI,EAAEL,EAAE,CAAE,YAAF,CADT;AAECM,EAAAA,KAAK,EAAE,YAFR;AAGCC,EAAAA,IAAI,EAAEN;AAHP,CAXuB,CAAxB;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASO,oBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/text-transform-control/index.js"],"names":["Button","__","formatCapitalize","formatLowercase","formatUppercase","TEXT_TRANSFORMS","name","value","icon","TextTransformControl","onChange","map","textTransform","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,uBAAvB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,gBADD,EAECC,eAFD,EAGCC,eAHD,QAIO,kBAJP;AAMA,MAAMC,eAAe,GAAG,CACvB;AACCC,EAAAA,IAAI,EAAEL,EAAE,CAAE,WAAF,CADT;AAECM,EAAAA,KAAK,EAAE,WAFR;AAGCC,EAAAA,IAAI,EAAEJ;AAHP,CADuB,EAMvB;AACCE,EAAAA,IAAI,EAAEL,EAAE,CAAE,WAAF,CADT;AAECM,EAAAA,KAAK,EAAE,WAFR;AAGCC,EAAAA,IAAI,EAAEL;AAHP,CANuB,EAWvB;AACCG,EAAAA,IAAI,EAAEL,EAAE,CAAE,YAAF,CADT;AAECM,EAAAA,KAAK,EAAE,YAFR;AAGCC,EAAAA,IAAI,EAAEN;AAHP,CAXuB,CAAxB;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASO,oBAAT,OAAqD;AAAA,MAAtB;AAAEF,IAAAA,KAAF;AAASG,IAAAA;AAAT,GAAsB;AACnE,SACC;AAAU,IAAA,SAAS,EAAC;AAApB,KACC,8BAAUT,EAAE,CAAE,aAAF,CAAZ,CADD,EAEC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGI,eAAe,CAACM,GAAhB,CAAuBC,aAAF,IAAqB;AAC3C,WACC,cAAC,MAAD;AACC,MAAA,GAAG,EAAGA,aAAa,CAACL,KADrB;AAEC,MAAA,IAAI,EAAGK,aAAa,CAACJ,IAFtB;AAGC,MAAA,OAAO,MAHR;AAIC,MAAA,SAAS,EAAGD,KAAK,KAAKK,aAAa,CAACL,KAJrC;AAKC,oBAAaK,aAAa,CAACN,IAL5B;AAMC,MAAA,OAAO,EAAG,MACTI,QAAQ,CACPH,KAAK,KAAKK,aAAa,CAACL,KAAxB,GACGM,SADH,GAEGD,aAAa,CAACL,KAHV;AAPV,MADD;AAgBA,GAjBC,CADH,CAFD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tformatCapitalize,\n\tformatLowercase,\n\tformatUppercase,\n} from '@wordpress/icons';\n\nconst TEXT_TRANSFORMS = [\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.value Currently selected text transform.\n * @param {Function} props.onChange Handles change in text transform selection.\n *\n * @return {WPElement} Text transform control.\n */\nexport default function TextTransformControl( { value, onChange } ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-text-transform-control\">\n\t\t\t<legend>{ __( 'Letter case' ) }</legend>\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\tisSmall\n\t\t\t\t\t\t\tisPressed={ value === textTransform.value }\n\t\t\t\t\t\t\taria-label={ textTransform.name }\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\tvalue === textTransform.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"]}
|
|
@@ -34,19 +34,22 @@ function ToolSelector(props, ref) {
|
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
return createElement(Dropdown, {
|
|
37
|
-
renderToggle:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
renderToggle: _ref => {
|
|
38
|
+
let {
|
|
39
|
+
isOpen,
|
|
40
|
+
onToggle
|
|
41
|
+
} = _ref;
|
|
42
|
+
return createElement(Button, _extends({}, props, {
|
|
43
|
+
ref: ref,
|
|
44
|
+
icon: isNavigationTool ? selectIcon : editIcon,
|
|
45
|
+
"aria-expanded": isOpen,
|
|
46
|
+
"aria-haspopup": "true",
|
|
47
|
+
onClick: onToggle
|
|
48
|
+
/* translators: button label text should, if possible, be under 16 characters. */
|
|
49
|
+
,
|
|
50
|
+
label: __('Tools')
|
|
51
|
+
}));
|
|
52
|
+
},
|
|
50
53
|
position: "bottom right",
|
|
51
54
|
renderContent: () => createElement(Fragment, null, createElement(NavigableMenu, {
|
|
52
55
|
role: "menu",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/tool-selector/index.js"],"names":["Dropdown","Button","MenuItemsChoice","SVG","Path","NavigableMenu","__","useSelect","useDispatch","forwardRef","Icon","edit","editIcon","store","blockEditorStore","selectIcon","ToolSelector","props","ref","isNavigationTool","select","isNavigationMode","setNavigationMode","onSwitchMode","mode","isOpen","onToggle","value","label"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,QADD,EAECC,MAFD,EAGCC,eAHD,EAICC,GAJD,EAKCC,IALD,EAMCC,aAND,QAOO,uBAPP;AAQA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,IAAT,EAAeC,IAAI,IAAIC,QAAvB,QAAuC,kBAAvC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,MAAMC,UAAU,GACf,cAAC,GAAD;AACC,EAAA,KAAK,EAAC,4BADP;AAEC,EAAA,KAAK,EAAC,IAFP;AAGC,EAAA,MAAM,EAAC,IAHR;AAIC,EAAA,OAAO,EAAC;AAJT,GAMC,cAAC,IAAD;AAAM,EAAA,CAAC,EAAC;AAAR,EAND,CADD;;AAWA,SAASC,YAAT,CAAuBC,KAAvB,EAA8BC,GAA9B,EAAoC;AACnC,QAAMC,gBAAgB,GAAGZ,SAAS,CAC/Ba,MAAF,IAAcA,MAAM,CAAEN,gBAAF,CAAN,CAA2BO,gBAA3B,EADmB,EAEjC,EAFiC,CAAlC;AAIA,QAAM;AAAEC,IAAAA;AAAF,MAAwBd,WAAW,CAAEM,gBAAF,CAAzC;;AAEA,QAAMS,YAAY,GAAKC,IAAF,IAAY;AAChCF,IAAAA,iBAAiB,CAAEE,IAAI,KAAK,MAAT,GAAkB,KAAlB,GAA0B,IAA5B,CAAjB;AACA,GAFD;;AAIA,SACC,cAAC,QAAD;AACC,IAAA,YAAY,EAAG,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/tool-selector/index.js"],"names":["Dropdown","Button","MenuItemsChoice","SVG","Path","NavigableMenu","__","useSelect","useDispatch","forwardRef","Icon","edit","editIcon","store","blockEditorStore","selectIcon","ToolSelector","props","ref","isNavigationTool","select","isNavigationMode","setNavigationMode","onSwitchMode","mode","isOpen","onToggle","value","label"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,QADD,EAECC,MAFD,EAGCC,eAHD,EAICC,GAJD,EAKCC,IALD,EAMCC,aAND,QAOO,uBAPP;AAQA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,IAAT,EAAeC,IAAI,IAAIC,QAAvB,QAAuC,kBAAvC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,MAAMC,UAAU,GACf,cAAC,GAAD;AACC,EAAA,KAAK,EAAC,4BADP;AAEC,EAAA,KAAK,EAAC,IAFP;AAGC,EAAA,MAAM,EAAC,IAHR;AAIC,EAAA,OAAO,EAAC;AAJT,GAMC,cAAC,IAAD;AAAM,EAAA,CAAC,EAAC;AAAR,EAND,CADD;;AAWA,SAASC,YAAT,CAAuBC,KAAvB,EAA8BC,GAA9B,EAAoC;AACnC,QAAMC,gBAAgB,GAAGZ,SAAS,CAC/Ba,MAAF,IAAcA,MAAM,CAAEN,gBAAF,CAAN,CAA2BO,gBAA3B,EADmB,EAEjC,EAFiC,CAAlC;AAIA,QAAM;AAAEC,IAAAA;AAAF,MAAwBd,WAAW,CAAEM,gBAAF,CAAzC;;AAEA,QAAMS,YAAY,GAAKC,IAAF,IAAY;AAChCF,IAAAA,iBAAiB,CAAEE,IAAI,KAAK,MAAT,GAAkB,KAAlB,GAA0B,IAA5B,CAAjB;AACA,GAFD;;AAIA,SACC,cAAC,QAAD;AACC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEC,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAAF;AAAA,aACd,cAAC,MAAD,eACMT,KADN;AAEC,QAAA,GAAG,EAAGC,GAFP;AAGC,QAAA,IAAI,EAAGC,gBAAgB,GAAGJ,UAAH,GAAgBH,QAHxC;AAIC,yBAAgBa,MAJjB;AAKC,yBAAc,MALf;AAMC,QAAA,OAAO,EAAGC;AACV;AAPD;AAQC,QAAA,KAAK,EAAGpB,EAAE,CAAE,OAAF;AARX,SADc;AAAA,KADhB;AAaC,IAAA,QAAQ,EAAC,cAbV;AAcC,IAAA,aAAa,EAAG,MACf,8BACC,cAAC,aAAD;AAAe,MAAA,IAAI,EAAC,MAApB;AAA2B,oBAAaA,EAAE,CAAE,OAAF;AAA1C,OACC,cAAC,eAAD;AACC,MAAA,KAAK,EAAGa,gBAAgB,GAAG,QAAH,GAAc,MADvC;AAEC,MAAA,QAAQ,EAAGI,YAFZ;AAGC,MAAA,OAAO,EAAG,CACT;AACCI,QAAAA,KAAK,EAAE,MADR;AAECC,QAAAA,KAAK,EACJ,8BACC,cAAC,IAAD;AAAM,UAAA,IAAI,EAAGhB;AAAb,UADD,EAEGN,EAAE,CAAE,MAAF,CAFL;AAHF,OADS,EAUT;AACCqB,QAAAA,KAAK,EAAE,QADR;AAECC,QAAAA,KAAK,EACJ,8BACGb,UADH,EAEGT,EAAE,CAAE,QAAF,CAFL;AAHF,OAVS;AAHX,MADD,CADD,EA2BC;AAAK,MAAA,SAAS,EAAC;AAAf,OACGA,EAAE,CACH,kJADG,CADL,CA3BD;AAfF,IADD;AAoDA;;AAED,eAAeG,UAAU,CAAEO,YAAF,CAAzB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tDropdown,\n\tButton,\n\tMenuItemsChoice,\n\tSVG,\n\tPath,\n\tNavigableMenu,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { Icon, edit as editIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst selectIcon = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth=\"24\"\n\t\theight=\"24\"\n\t\tviewBox=\"0 0 24 24\"\n\t>\n\t\t<Path d=\"M9.4 20.5L5.2 3.8l14.6 9-2 .3c-.2 0-.4.1-.7.1-.9.2-1.6.3-2.2.5-.8.3-1.4.5-1.8.8-.4.3-.8.8-1.3 1.5-.4.5-.8 1.2-1.2 2l-.3.6-.9 1.9zM7.6 7.1l2.4 9.3c.2-.4.5-.8.7-1.1.6-.8 1.1-1.4 1.6-1.8.5-.4 1.3-.8 2.2-1.1l1.2-.3-8.1-5z\" />\n\t</SVG>\n);\n\nfunction ToolSelector( props, ref ) {\n\tconst isNavigationTool = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\tconst { setNavigationMode } = useDispatch( blockEditorStore );\n\n\tconst onSwitchMode = ( mode ) => {\n\t\tsetNavigationMode( mode === 'edit' ? false : true );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\ticon={ isNavigationTool ? selectIcon : editIcon }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\tlabel={ __( 'Tools' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\tposition=\"bottom right\"\n\t\t\trenderContent={ () => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu role=\"menu\" aria-label={ __( 'Tools' ) }>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tvalue={ isNavigationTool ? 'select' : 'edit' }\n\t\t\t\t\t\t\tonSelect={ onSwitchMode }\n\t\t\t\t\t\t\tchoices={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'edit',\n\t\t\t\t\t\t\t\t\tlabel: (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ editIcon } />\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'select',\n\t\t\t\t\t\t\t\t\tlabel: (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t{ selectIcon }\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Select' ) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t<div className=\"block-editor-tool-selector__help\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Tools provide different interactions for selecting, navigating, and editing blocks. Toggle between select and edit by pressing Escape and Enter.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( ToolSelector );\n"]}
|
|
@@ -63,9 +63,11 @@ export function useTypewriter() {
|
|
|
63
63
|
*/
|
|
64
64
|
|
|
65
65
|
|
|
66
|
-
function maintainCaretPosition({
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
function maintainCaretPosition(_ref) {
|
|
67
|
+
let {
|
|
68
|
+
keyCode
|
|
69
|
+
} = _ref;
|
|
70
|
+
|
|
69
71
|
if (!isSelectionEligibleForScroll()) {
|
|
70
72
|
return;
|
|
71
73
|
}
|
|
@@ -206,9 +208,10 @@ export function useTypewriter() {
|
|
|
206
208
|
}, [hasSelectedBlock]);
|
|
207
209
|
}
|
|
208
210
|
|
|
209
|
-
function Typewriter({
|
|
210
|
-
|
|
211
|
-
|
|
211
|
+
function Typewriter(_ref2) {
|
|
212
|
+
let {
|
|
213
|
+
children
|
|
214
|
+
} = _ref2;
|
|
212
215
|
return createElement("div", {
|
|
213
216
|
ref: useTypewriter(),
|
|
214
217
|
className: "block-editor__typewriter"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/typewriter/index.js"],"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","scrollY","scrollTop","scrollContainerY","getBoundingClientRect","relativeScrollPosition","innerHeight","isLastEditableNode","scrollContainerHeight","clientHeight","height","scrollBy","addSelectionChangeListener","addEventListener","computeCaretRectOnSelectionChange","removeEventListener","contains","activeElement","isContentEditable","editableNodes","querySelectorAll","lastEditableNode","length","Typewriter","children","TypewriterOrIEBypass","props"],"mappings":"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","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 = scrollContainer === ownerDocument.body;\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"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/typewriter/index.js"],"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","scrollY","scrollTop","scrollContainerY","getBoundingClientRect","relativeScrollPosition","innerHeight","isLastEditableNode","scrollContainerHeight","clientHeight","height","scrollBy","addSelectionChangeListener","addEventListener","computeCaretRectOnSelectionChange","removeEventListener","contains","activeElement","isContentEditable","editableNodes","querySelectorAll","lastEditableNode","length","Typewriter","children","TypewriterOrIEBypass","props"],"mappings":"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","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 = scrollContainer === ownerDocument.body;\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"]}
|
|
@@ -19,10 +19,12 @@ import { compose } from '@wordpress/compose';
|
|
|
19
19
|
|
|
20
20
|
import UngroupIcon from './icon';
|
|
21
21
|
import { store as blockEditorStore } from '../../store';
|
|
22
|
-
export function UngroupButton({
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
export function UngroupButton(_ref) {
|
|
23
|
+
let {
|
|
24
|
+
onConvertFromGroup,
|
|
25
|
+
isUngroupable = false
|
|
26
|
+
} = _ref;
|
|
27
|
+
|
|
26
28
|
if (!isUngroupable) {
|
|
27
29
|
return null;
|
|
28
30
|
}
|
|
@@ -51,11 +53,12 @@ export default compose([withSelect(select => {
|
|
|
51
53
|
clientId: selectedId,
|
|
52
54
|
innerBlocks
|
|
53
55
|
};
|
|
54
|
-
}), withDispatch((dispatch, {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
}), withDispatch((dispatch, _ref2) => {
|
|
57
|
+
let {
|
|
58
|
+
clientId,
|
|
59
|
+
innerBlocks,
|
|
60
|
+
onToggle = noop
|
|
61
|
+
} = _ref2;
|
|
59
62
|
const {
|
|
60
63
|
replaceBlocks
|
|
61
64
|
} = dispatch(blockEditorStore);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/ungroup-button/index.native.js"],"names":["noop","store","blocksStore","ToolbarGroup","ToolbarButton","__","withSelect","withDispatch","compose","UngroupIcon","blockEditorStore","UngroupButton","onConvertFromGroup","isUngroupable","select","getSelectedBlockClientId","getBlock","getGroupingBlockName","selectedId","selectedBlock","groupingBlockName","innerBlocks","length","name","clientId","dispatch","onToggle","replaceBlocks"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AACA,SAASC,YAAT,EAAuBC,aAAvB,QAA4C,uBAA5C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,QAAxB;AACA,SAASR,KAAK,IAAIS,gBAAlB,QAA0C,aAA1C;AAEA,OAAO,SAASC,aAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/ungroup-button/index.native.js"],"names":["noop","store","blocksStore","ToolbarGroup","ToolbarButton","__","withSelect","withDispatch","compose","UngroupIcon","blockEditorStore","UngroupButton","onConvertFromGroup","isUngroupable","select","getSelectedBlockClientId","getBlock","getGroupingBlockName","selectedId","selectedBlock","groupingBlockName","innerBlocks","length","name","clientId","dispatch","onToggle","replaceBlocks"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AACA,SAASC,YAAT,EAAuBC,aAAvB,QAA4C,uBAA5C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,QAAxB;AACA,SAASR,KAAK,IAAIS,gBAAlB,QAA0C,aAA1C;AAEA,OAAO,SAASC,aAAT,OAAwE;AAAA,MAAhD;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA,aAAa,GAAG;AAAtC,GAAgD;;AAC9E,MAAK,CAAEA,aAAP,EAAuB;AACtB,WAAO,IAAP;AACA;;AACD,SACC,cAAC,YAAD,QACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGR,EAAE,CAAE,SAAF,CADX;AAEC,IAAA,IAAI,EAAGI,WAFR;AAGC,IAAA,OAAO,EAAGG;AAHX,IADD,CADD;AASA;AAED,eAAeJ,OAAO,CAAE,CACvBF,UAAU,CAAIQ,MAAF,IAAc;AACzB,QAAM;AAAEC,IAAAA,wBAAF;AAA4BC,IAAAA;AAA5B,MAAyCF,MAAM,CACpDJ,gBADoD,CAArD;AAIA,QAAM;AAAEO,IAAAA;AAAF,MAA2BH,MAAM,CAAEZ,WAAF,CAAvC;AAEA,QAAMgB,UAAU,GAAGH,wBAAwB,EAA3C;AACA,QAAMI,aAAa,GAAGH,QAAQ,CAAEE,UAAF,CAA9B;AAEA,QAAME,iBAAiB,GAAGH,oBAAoB,EAA9C;AAEA,QAAMJ,aAAa,GAClBM,aAAa,IACbA,aAAa,CAACE,WADd,IAEA,CAAC,CAAEF,aAAa,CAACE,WAAd,CAA0BC,MAF7B,IAGAH,aAAa,CAACI,IAAd,KAAuBH,iBAJxB;AAKA,QAAMC,WAAW,GAAGR,aAAa,GAAGM,aAAa,CAACE,WAAjB,GAA+B,EAAhE;AAEA,SAAO;AACNR,IAAAA,aADM;AAENW,IAAAA,QAAQ,EAAEN,UAFJ;AAGNG,IAAAA;AAHM,GAAP;AAKA,CAxBS,CADa,EA0BvBd,YAAY,CAAE,CAAEkB,QAAF,YAA4D;AAAA,MAAhD;AAAED,IAAAA,QAAF;AAAYH,IAAAA,WAAZ;AAAyBK,IAAAA,QAAQ,GAAG1B;AAApC,GAAgD;AACzE,QAAM;AAAE2B,IAAAA;AAAF,MAAoBF,QAAQ,CAAEf,gBAAF,CAAlC;AAEA,SAAO;AACNE,IAAAA,kBAAkB,GAAG;AACpB,UAAK,CAAES,WAAW,CAACC,MAAnB,EAA4B;AAC3B;AACA;;AAEDK,MAAAA,aAAa,CAAEH,QAAF,EAAYH,WAAZ,CAAb;AAEAK,MAAAA,QAAQ;AACR;;AATK,GAAP;AAWA,CAdW,CA1BW,CAAF,CAAP,CAyCVf,aAzCU,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { ToolbarGroup, ToolbarButton } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport UngroupIcon from './icon';\nimport { store as blockEditorStore } from '../../store';\n\nexport function UngroupButton( { onConvertFromGroup, isUngroupable = false } ) {\n\tif ( ! isUngroupable ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Ungroup' ) }\n\t\t\t\ticon={ UngroupIcon }\n\t\t\t\tonClick={ onConvertFromGroup }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getSelectedBlockClientId, getBlock } = select(\n\t\t\tblockEditorStore\n\t\t);\n\n\t\tconst { getGroupingBlockName } = select( blocksStore );\n\n\t\tconst selectedId = getSelectedBlockClientId();\n\t\tconst selectedBlock = getBlock( selectedId );\n\n\t\tconst groupingBlockName = getGroupingBlockName();\n\n\t\tconst isUngroupable =\n\t\t\tselectedBlock &&\n\t\t\tselectedBlock.innerBlocks &&\n\t\t\t!! selectedBlock.innerBlocks.length &&\n\t\t\tselectedBlock.name === groupingBlockName;\n\t\tconst innerBlocks = isUngroupable ? selectedBlock.innerBlocks : [];\n\n\t\treturn {\n\t\t\tisUngroupable,\n\t\t\tclientId: selectedId,\n\t\t\tinnerBlocks,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId, innerBlocks, onToggle = noop } ) => {\n\t\tconst { replaceBlocks } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonConvertFromGroup() {\n\t\t\t\tif ( ! innerBlocks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\treplaceBlocks( clientId, innerBlocks );\n\n\t\t\t\tonToggle();\n\t\t\t},\n\t\t};\n\t} ),\n] )( UngroupButton );\n"]}
|
|
@@ -10,10 +10,11 @@ import { __experimentalUseCustomUnits as useCustomUnits, __experimentalUnitContr
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import useSetting from '../use-setting';
|
|
13
|
-
export default function UnitControl({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
export default function UnitControl(_ref) {
|
|
14
|
+
let {
|
|
15
|
+
units: unitsProp,
|
|
16
|
+
...props
|
|
17
|
+
} = _ref;
|
|
17
18
|
const units = useCustomUnits({
|
|
18
19
|
availableUnits: useSetting('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'],
|
|
19
20
|
units: unitsProp
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/unit-control/index.js"],"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","BaseUnitControl","useSetting","UnitControl","units","unitsProp","props","availableUnits"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,4BAA4B,IAAIC,cADjC,EAECC,yBAAyB,IAAIC,eAF9B,QAGO,uBAHP;AAKA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA,eAAe,SAASC,WAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/unit-control/index.js"],"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","BaseUnitControl","useSetting","UnitControl","units","unitsProp","props","availableUnits"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,4BAA4B,IAAIC,cADjC,EAECC,yBAAyB,IAAIC,eAF9B,QAGO,uBAHP;AAKA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA,eAAe,SAASC,WAAT,OAAuD;AAAA,MAAjC;AAAEC,IAAAA,KAAK,EAAEC,SAAT;AAAoB,OAAGC;AAAvB,GAAiC;AACrE,QAAMF,KAAK,GAAGL,cAAc,CAAE;AAC7BQ,IAAAA,cAAc,EAAEL,UAAU,CAAE,eAAF,CAAV,IAAiC,CAChD,GADgD,EAEhD,IAFgD,EAGhD,IAHgD,EAIhD,KAJgD,EAKhD,IALgD,CADpB;AAQ7BE,IAAAA,KAAK,EAAEC;AARsB,GAAF,CAA5B;AAWA,SAAO,cAAC,eAAD;AAAiB,IAAA,KAAK,EAAGD;AAAzB,KAAsCE,KAAtC,EAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as BaseUnitControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nexport default function UnitControl( { units: unitsProp, ...props } ) {\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t\tunits: unitsProp,\n\t} );\n\n\treturn <BaseUnitControl units={ units } { ...props } />;\n}\n"]}
|
|
@@ -110,9 +110,10 @@ class URLInput extends Component {
|
|
|
110
110
|
return !this.isUpdatingSuggestions && __experimentalShowInitialSuggestions && !(value && value.length) && !(suggestions && suggestions.length);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
updateSuggestions(
|
|
113
|
+
updateSuggestions() {
|
|
114
114
|
var _value;
|
|
115
115
|
|
|
116
|
+
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
116
117
|
const {
|
|
117
118
|
__experimentalFetchLinkSuggestions: fetchLinkSuggestions,
|
|
118
119
|
__experimentalHandleURLSuggestions: handleURLSuggestions
|
|
@@ -331,14 +332,16 @@ class URLInput extends Component {
|
|
|
331
332
|
this.inputRef.current.focus();
|
|
332
333
|
}
|
|
333
334
|
|
|
334
|
-
static getDerivedStateFromProps({
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
335
|
+
static getDerivedStateFromProps(_ref, _ref2) {
|
|
336
|
+
let {
|
|
337
|
+
value,
|
|
338
|
+
instanceId,
|
|
339
|
+
disableSuggestions,
|
|
340
|
+
__experimentalShowInitialSuggestions = false
|
|
341
|
+
} = _ref;
|
|
342
|
+
let {
|
|
343
|
+
showSuggestions
|
|
344
|
+
} = _ref2;
|
|
342
345
|
let shouldShowSuggestions = showSuggestions;
|
|
343
346
|
const hasValue = value && value.length;
|
|
344
347
|
|