@wordpress/block-editor 12.11.1 → 12.12.2-next.f8d8eceb.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -10
- package/README.md +35 -3
- package/build/components/block-alignment-control/use-available-alignments.js +30 -28
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-controls/hook.js +4 -1
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +1 -1
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block.js +2 -0
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +4 -4
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/layout.js +2 -3
- package/build/components/block-list/layout.js.map +1 -1
- package/build/components/block-preview/index.js +4 -1
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-styles/index.js +1 -2
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +2 -4
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +1 -0
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/border-radius-control/index.js +3 -2
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/color-palette/with-color-context.js +6 -6
- package/build/components/color-palette/with-color-context.js.map +1 -1
- package/build/components/colors/with-colors.js +2 -8
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +6 -7
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -13
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/dimensions-tool/index.js +22 -22
- package/build/components/dimensions-tool/index.js.map +1 -1
- package/build/components/dimensions-tool/scale-tool.js +1 -1
- package/build/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build/components/font-family/index.js +2 -3
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/font-size-picker.js +3 -5
- package/build/components/font-sizes/font-size-picker.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +3 -4
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +7 -8
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +2 -2
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +1 -1
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/gradients/use-gradient.js +2 -5
- package/build/components/gradients/use-gradient.js.map +1 -1
- package/build/components/height-control/index.js +93 -5
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/iframe/index.js +9 -1
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +0 -6
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/index.js +9 -2
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +17 -2
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/index.js +2 -2
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +3 -3
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +5 -2
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-item.js +11 -0
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -1
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/use-internal-value.js +14 -8
- package/build/components/link-control/use-internal-value.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +10 -5
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/index.js +6 -5
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +2 -4
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +2 -2
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/index.js +1 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +14 -3
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/use-delete.js +1 -1
- package/build/components/rich-text/use-delete.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +25 -22
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -3
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +91 -3
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/tool-selector/index.js +1 -2
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/unit-control/index.js +3 -3
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +96 -47
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-settings/index.js +212 -0
- package/build/components/use-settings/index.js.map +1 -0
- package/build/components/writing-flow/use-arrow-nav.js +4 -0
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/hooks/align.js +51 -35
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +37 -32
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/background.js +4 -4
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-rename-ui.js +5 -5
- package/build/hooks/block-rename-ui.js.map +1 -1
- package/build/hooks/{metadata-name.js → block-renaming.js} +3 -7
- package/build/hooks/block-renaming.js.map +1 -0
- package/build/hooks/color.js +2 -4
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/custom-class-name.js +28 -21
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/duotone.js +33 -8
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-size.js +4 -4
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +1 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout.js +16 -17
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/line-height.js +3 -3
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/metadata.js +6 -27
- package/build/hooks/metadata.js.map +1 -1
- package/build/hooks/position.js +2 -3
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/use-color-props.js +3 -11
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/utils.js +2 -43
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +3 -3
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/grid.js +25 -3
- package/build/layouts/grid.js.map +1 -1
- package/build/layouts/utils.js +1 -1
- package/build/layouts/utils.js.map +1 -1
- package/build/lock-unlock.js +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/store/actions.js +13 -5
- package/build/store/actions.js.map +1 -1
- package/build/utils/object.js +4 -1
- package/build/utils/object.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +20 -0
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build/utils/pasting.js +1 -1
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/transform-styles/index.js +19 -24
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +30 -28
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-controls/hook.js +4 -1
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +1 -1
- package/build-module/components/block-list/block-outline.native.js.map +1 -1
- package/build-module/components/block-list/block.js +2 -0
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +4 -4
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/layout.js +2 -2
- package/build-module/components/block-list/layout.js.map +1 -1
- package/build-module/components/block-preview/index.js +4 -1
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -2
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +2 -4
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +1 -0
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +3 -2
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/color-palette/with-color-context.js +6 -5
- package/build-module/components/color-palette/with-color-context.js.map +1 -1
- package/build-module/components/colors/with-colors.js +2 -7
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +6 -7
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -12
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/dimensions-tool/index.js +22 -22
- package/build-module/components/dimensions-tool/index.js.map +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build-module/components/font-family/index.js +2 -2
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/font-size-picker.js +3 -4
- package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +3 -3
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +7 -8
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +2 -2
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +1 -1
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js +2 -4
- package/build-module/components/gradients/use-gradient.js.map +1 -1
- package/build-module/components/height-control/index.js +93 -4
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/index.js +9 -1
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +0 -6
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +2 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +2 -2
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +3 -2
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +6 -3
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-item.js +12 -1
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +2 -1
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/use-internal-value.js +14 -9
- package/build-module/components/link-control/use-internal-value.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +10 -5
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/index.js +7 -6
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +3 -5
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +2 -2
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/index.js +1 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +15 -4
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-delete.js +1 -1
- package/build-module/components/rich-text/use-delete.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +25 -22
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -2
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +91 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/tool-selector/index.js +1 -2
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/unit-control/index.js +3 -2
- package/build-module/components/unit-control/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +95 -47
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +203 -0
- package/build-module/components/use-settings/index.js.map +1 -0
- package/build-module/components/writing-flow/use-arrow-nav.js +4 -0
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/hooks/align.js +51 -35
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +37 -32
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/background.js +4 -4
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-rename-ui.js +6 -6
- package/build-module/hooks/block-rename-ui.js.map +1 -1
- package/build-module/hooks/{metadata-name.js → block-renaming.js} +3 -6
- package/build-module/hooks/block-renaming.js.map +1 -0
- package/build-module/hooks/color.js +2 -4
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +28 -21
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/duotone.js +34 -9
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-size.js +4 -4
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +1 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout.js +16 -17
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/line-height.js +3 -3
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/metadata.js +6 -25
- package/build-module/hooks/metadata.js.map +1 -1
- package/build-module/hooks/position.js +2 -3
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/use-color-props.js +3 -11
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/utils.js +3 -44
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +3 -2
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/grid.js +25 -3
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/layouts/utils.js +1 -1
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/lock-unlock.js +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/store/actions.js +14 -6
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/object.js +3 -1
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +20 -0
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/utils/pasting.js +1 -1
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +20 -24
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/style-rtl.css +24 -12
- package/build-style/style.css +24 -12
- package/package.json +36 -34
- package/src/components/block-alignment-control/use-available-alignments.js +49 -34
- package/src/components/block-controls/hook.js +6 -3
- package/src/components/block-list/block-outline.native.js +1 -1
- package/src/components/block-list/block.js +2 -0
- package/src/components/block-list/block.native.js +4 -4
- package/src/components/block-list/layout.js +2 -2
- package/src/components/block-preview/index.js +7 -1
- package/src/components/block-styles/index.js +1 -4
- package/src/components/block-styles/style.scss +1 -1
- package/src/components/block-switcher/pattern-transformations-menu.js +1 -4
- package/src/components/block-switcher/style.scss +6 -0
- package/src/components/block-tools/block-contextual-toolbar.js +1 -0
- package/src/components/block-tools/style.scss +0 -1
- package/src/components/border-radius-control/index.js +3 -2
- package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -1
- package/src/components/color-palette/with-color-context.js +9 -9
- package/src/components/colors/with-colors.js +6 -7
- package/src/components/colors-gradients/control.js +10 -7
- package/src/components/colors-gradients/style.scss +4 -2
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +29 -15
- package/src/components/dimensions-tool/index.js +25 -25
- package/src/components/dimensions-tool/scale-tool.js +1 -1
- package/src/components/font-family/index.js +2 -2
- package/src/components/font-sizes/font-size-picker.js +6 -4
- package/src/components/font-sizes/with-font-sizes.js +3 -5
- package/src/components/global-styles/filters-panel.js +9 -15
- package/src/components/global-styles/image-settings-panel.js +2 -2
- package/src/components/global-styles/typography-panel.js +1 -1
- package/src/components/gradients/use-gradient.js +10 -4
- package/src/components/height-control/index.js +53 -4
- package/src/components/iframe/index.js +8 -1
- package/src/components/image-editor/aspect-ratio-dropdown.js +0 -8
- package/src/components/index.js +1 -1
- package/src/components/index.native.js +2 -1
- package/src/components/inner-blocks/index.js +2 -2
- package/src/components/inserter/style.scss +9 -1
- package/src/components/letter-spacing-control/index.js +3 -2
- package/src/components/link-control/README.md +43 -0
- package/src/components/link-control/link-preview.js +11 -5
- package/src/components/link-control/search-item.js +14 -0
- package/src/components/link-control/search-results.js +1 -0
- package/src/components/link-control/style.scss +3 -3
- package/src/components/link-control/test/index.js +19 -0
- package/src/components/link-control/use-internal-value.js +14 -10
- package/src/components/link-control/use-search-handler.js +22 -15
- package/src/components/list-view/index.js +13 -3
- package/src/components/media-replace-flow/index.js +9 -14
- package/src/components/provider/test/use-block-sync.js +1 -1
- package/src/components/provider/use-block-sync.js +2 -2
- package/src/components/rich-text/index.js +1 -1
- package/src/components/rich-text/index.native.js +19 -3
- package/src/components/rich-text/use-delete.js +1 -1
- package/src/components/rich-text/use-paste-handler.js +27 -24
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +7 -5
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +25 -2
- package/src/components/tool-selector/index.js +1 -1
- package/src/components/unit-control/index.js +3 -8
- package/src/components/use-block-commands/index.js +93 -47
- package/src/components/{use-setting → use-settings}/README.md +9 -10
- package/src/components/use-settings/index.js +272 -0
- package/src/components/{use-setting → use-settings}/test/index.js +47 -5
- package/src/components/writing-flow/use-arrow-nav.js +4 -0
- package/src/hooks/align.js +79 -54
- package/src/hooks/anchor.js +75 -65
- package/src/hooks/background.js +7 -9
- package/src/hooks/block-rename-ui.js +5 -14
- package/src/hooks/{metadata-name.js → block-renaming.js} +4 -7
- package/src/hooks/color.js +7 -4
- package/src/hooks/custom-class-name.js +36 -31
- package/src/hooks/duotone.js +51 -14
- package/src/hooks/font-size.js +4 -4
- package/src/hooks/index.js +1 -1
- package/src/hooks/layout.js +17 -17
- package/src/hooks/line-height.js +3 -3
- package/src/hooks/metadata.js +6 -38
- package/src/hooks/position.js +5 -3
- package/src/hooks/use-color-props.js +21 -14
- package/src/hooks/utils.js +90 -43
- package/src/layouts/constrained.js +3 -8
- package/src/layouts/grid.js +50 -2
- package/src/layouts/utils.js +2 -1
- package/src/lock-unlock.js +1 -1
- package/src/store/actions.js +25 -8
- package/src/utils/object.js +4 -1
- package/src/utils/parse-css-unit-to-px.js +20 -0
- package/src/utils/pasting.js +1 -4
- package/src/utils/test/__snapshots__/transform-styles.js.snap +103 -0
- package/src/utils/test/pasting.js +12 -19
- package/src/utils/test/transform-styles.js +217 -0
- package/src/utils/transform-styles/index.js +25 -25
- package/build/components/use-setting/index.js +0 -159
- package/build/components/use-setting/index.js.map +0 -1
- package/build/hooks/metadata-name.js.map +0 -1
- package/build/utils/transform-styles/ast/index.js +0 -21
- package/build/utils/transform-styles/ast/index.js.map +0 -1
- package/build/utils/transform-styles/ast/parse.js +0 -660
- package/build/utils/transform-styles/ast/parse.js.map +0 -1
- package/build/utils/transform-styles/ast/stringify/compiler.js +0 -52
- package/build/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
- package/build/utils/transform-styles/ast/stringify/compress.js +0 -178
- package/build/utils/transform-styles/ast/stringify/compress.js.map +0 -1
- package/build/utils/transform-styles/ast/stringify/identity.js +0 -207
- package/build/utils/transform-styles/ast/stringify/identity.js.map +0 -1
- package/build/utils/transform-styles/ast/stringify/index.js +0 -36
- package/build/utils/transform-styles/ast/stringify/index.js.map +0 -1
- package/build/utils/transform-styles/transforms/url-rewrite.js +0 -130
- package/build/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
- package/build/utils/transform-styles/transforms/wrap.js +0 -59
- package/build/utils/transform-styles/transforms/wrap.js.map +0 -1
- package/build/utils/transform-styles/traverse.js +0 -37
- package/build/utils/transform-styles/traverse.js.map +0 -1
- package/build-module/components/use-setting/index.js +0 -152
- package/build-module/components/use-setting/index.js.map +0 -1
- package/build-module/hooks/metadata-name.js.map +0 -1
- package/build-module/utils/transform-styles/ast/index.js +0 -6
- package/build-module/utils/transform-styles/ast/index.js.map +0 -1
- package/build-module/utils/transform-styles/ast/parse.js +0 -654
- package/build-module/utils/transform-styles/ast/parse.js.map +0 -1
- package/build-module/utils/transform-styles/ast/stringify/compiler.js +0 -49
- package/build-module/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
- package/build-module/utils/transform-styles/ast/stringify/compress.js +0 -176
- package/build-module/utils/transform-styles/ast/stringify/compress.js.map +0 -1
- package/build-module/utils/transform-styles/ast/stringify/identity.js +0 -206
- package/build-module/utils/transform-styles/ast/stringify/identity.js.map +0 -1
- package/build-module/utils/transform-styles/ast/stringify/index.js +0 -29
- package/build-module/utils/transform-styles/ast/stringify/index.js.map +0 -1
- package/build-module/utils/transform-styles/transforms/url-rewrite.js +0 -123
- package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
- package/build-module/utils/transform-styles/transforms/wrap.js +0 -52
- package/build-module/utils/transform-styles/transforms/wrap.js.map +0 -1
- package/build-module/utils/transform-styles/traverse.js +0 -28
- package/build-module/utils/transform-styles/traverse.js.map +0 -1
- package/src/components/use-setting/index.js +0 -213
- package/src/utils/transform-styles/ast/index.js +0 -5
- package/src/utils/transform-styles/ast/parse.js +0 -732
- package/src/utils/transform-styles/ast/stringify/compiler.js +0 -50
- package/src/utils/transform-styles/ast/stringify/compress.js +0 -238
- package/src/utils/transform-styles/ast/stringify/identity.js +0 -286
- package/src/utils/transform-styles/ast/stringify/index.js +0 -32
- package/src/utils/transform-styles/test/__snapshots__/traverse.js.snap +0 -7
- package/src/utils/transform-styles/test/traverse.js +0 -24
- package/src/utils/transform-styles/transforms/test/__snapshots__/url-rewrite.js.snap +0 -25
- package/src/utils/transform-styles/transforms/test/__snapshots__/wrap.js.snap +0 -64
- package/src/utils/transform-styles/transforms/test/url-rewrite.js +0 -39
- package/src/utils/transform-styles/transforms/test/wrap.js +0 -95
- package/src/utils/transform-styles/transforms/url-rewrite.js +0 -139
- package/src/utils/transform-styles/transforms/wrap.js +0 -56
- package/src/utils/transform-styles/traverse.js +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_compose","_keycodes","_richText","useDelete","props","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","keyCode","defaultPrevented","value","onMerge","onRemove","DELETE","BACKSPACE","start","end","text","isReverse","hasActiveFormats","activeFormats","length","isCollapsed","isEmpty","preventDefault","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/rich-text/use-delete.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { DELETE, BACKSPACE } from '@wordpress/keycodes';\nimport { isCollapsed, isEmpty } from '@wordpress/rich-text';\n\nexport function useDelete( props ) {\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tconst { keyCode } = event;\n\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { value, onMerge, onRemove } = propsRef.current;\n\n\t\t\tif ( keyCode === DELETE || keyCode === BACKSPACE ) {\n\t\t\t\tconst { start, end, text } = value;\n\t\t\t\tconst isReverse = keyCode === BACKSPACE;\n\t\t\t\tconst hasActiveFormats =\n\t\t\t\t\tvalue.activeFormats && !! value.activeFormats.length;\n\n\t\t\t\t// Only process delete if the key press occurs at an uncollapsed edge.\n\t\t\t\tif (\n\t\t\t\t\t! isCollapsed( value ) ||\n\t\t\t\t\thasActiveFormats ||\n\t\t\t\t\t( isReverse && start !== 0 ) ||\n\t\t\t\t\t( ! isReverse && end !== text.length )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( onMerge ) {\n\t\t\t\t\tonMerge( ! isReverse );\n\t\t\t\t}\n\n\t\t\t\t// Only handle remove on Backspace. This serves dual-purpose of being\n\t\t\t\t// an intentional user interaction distinguishing between Backspace and\n\t\t\t\t// Delete to remove the empty field, but also to avoid merge & remove\n\t\t\t\t// causing destruction of two fields (merge, then removed merged).\n\t\t\t\
|
|
1
|
+
{"version":3,"names":["_element","require","_compose","_keycodes","_richText","useDelete","props","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","keyCode","defaultPrevented","value","onMerge","onRemove","DELETE","BACKSPACE","start","end","text","isReverse","hasActiveFormats","activeFormats","length","isCollapsed","isEmpty","preventDefault","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/rich-text/use-delete.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { DELETE, BACKSPACE } from '@wordpress/keycodes';\nimport { isCollapsed, isEmpty } from '@wordpress/rich-text';\n\nexport function useDelete( props ) {\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tconst { keyCode } = event;\n\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { value, onMerge, onRemove } = propsRef.current;\n\n\t\t\tif ( keyCode === DELETE || keyCode === BACKSPACE ) {\n\t\t\t\tconst { start, end, text } = value;\n\t\t\t\tconst isReverse = keyCode === BACKSPACE;\n\t\t\t\tconst hasActiveFormats =\n\t\t\t\t\tvalue.activeFormats && !! value.activeFormats.length;\n\n\t\t\t\t// Only process delete if the key press occurs at an uncollapsed edge.\n\t\t\t\tif (\n\t\t\t\t\t! isCollapsed( value ) ||\n\t\t\t\t\thasActiveFormats ||\n\t\t\t\t\t( isReverse && start !== 0 ) ||\n\t\t\t\t\t( ! isReverse && end !== text.length )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( onMerge ) {\n\t\t\t\t\tonMerge( ! isReverse );\n\t\t\t\t}\n\n\t\t\t\t// Only handle remove on Backspace. This serves dual-purpose of being\n\t\t\t\t// an intentional user interaction distinguishing between Backspace and\n\t\t\t\t// Delete to remove the empty field, but also to avoid merge & remove\n\t\t\t\t// causing destruction of two fields (merge, then removed merged).\n\t\t\t\telse if ( onRemove && isEmpty( value ) && isReverse ) {\n\t\t\t\t\tonRemove( ! isReverse );\n\t\t\t\t}\n\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AANA;AACA;AACA;;AAMO,SAASI,SAASA,CAAEC,KAAK,EAAG;EAClC,MAAMC,QAAQ,GAAG,IAAAC,eAAM,EAAEF,KAAM,CAAC;EAChCC,QAAQ,CAACE,OAAO,GAAGH,KAAK;EACxB,OAAO,IAAAI,qBAAY,EAAIC,OAAO,IAAM;IACnC,SAASC,SAASA,CAAEC,KAAK,EAAG;MAC3B,MAAM;QAAEC;MAAQ,CAAC,GAAGD,KAAK;MAEzB,IAAKA,KAAK,CAACE,gBAAgB,EAAG;QAC7B;MACD;MAEA,MAAM;QAAEC,KAAK;QAAEC,OAAO;QAAEC;MAAS,CAAC,GAAGX,QAAQ,CAACE,OAAO;MAErD,IAAKK,OAAO,KAAKK,gBAAM,IAAIL,OAAO,KAAKM,mBAAS,EAAG;QAClD,MAAM;UAAEC,KAAK;UAAEC,GAAG;UAAEC;QAAK,CAAC,GAAGP,KAAK;QAClC,MAAMQ,SAAS,GAAGV,OAAO,KAAKM,mBAAS;QACvC,MAAMK,gBAAgB,GACrBT,KAAK,CAACU,aAAa,IAAI,CAAC,CAAEV,KAAK,CAACU,aAAa,CAACC,MAAM;;QAErD;QACA,IACC,CAAE,IAAAC,qBAAW,EAAEZ,KAAM,CAAC,IACtBS,gBAAgB,IACdD,SAAS,IAAIH,KAAK,KAAK,CAAG,IAC1B,CAAEG,SAAS,IAAIF,GAAG,KAAKC,IAAI,CAACI,MAAQ,EACrC;UACD;QACD;QAEA,IAAKV,OAAO,EAAG;UACdA,OAAO,CAAE,CAAEO,SAAU,CAAC;QACvB;;QAEA;QACA;QACA;QACA;QAAA,KACK,IAAKN,QAAQ,IAAI,IAAAW,iBAAO,EAAEb,KAAM,CAAC,IAAIQ,SAAS,EAAG;UACrDN,QAAQ,CAAE,CAAEM,SAAU,CAAC;QACxB;QAEAX,KAAK,CAACiB,cAAc,CAAC,CAAC;MACvB;IACD;IAEAnB,OAAO,CAACoB,gBAAgB,CAAE,SAAS,EAAEnB,SAAU,CAAC;IAChD,OAAO,MAAM;MACZD,OAAO,CAACqB,mBAAmB,CAAE,SAAS,EAAEpB,SAAU,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;AACR"}
|
|
@@ -57,22 +57,6 @@ function usePasteHandler(props) {
|
|
|
57
57
|
onChange((0, _richText.insert)(value, plainText));
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
|
-
const transformed = formatTypes.reduce((accumlator, {
|
|
61
|
-
__unstablePasteRule
|
|
62
|
-
}) => {
|
|
63
|
-
// Only allow one transform.
|
|
64
|
-
if (__unstablePasteRule && accumlator === value) {
|
|
65
|
-
accumlator = __unstablePasteRule(value, {
|
|
66
|
-
html,
|
|
67
|
-
plainText
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
return accumlator;
|
|
71
|
-
}, value);
|
|
72
|
-
if (transformed !== value) {
|
|
73
|
-
onChange(transformed);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
60
|
const isInternal = event.clipboardData.getData('rich-text') === 'true';
|
|
77
61
|
|
|
78
62
|
// If the data comes from a rich text instance, we can directly use it
|
|
@@ -121,7 +105,10 @@ function usePasteHandler(props) {
|
|
|
121
105
|
return;
|
|
122
106
|
}
|
|
123
107
|
let mode = onReplace && onSplit ? 'AUTO' : 'INLINE';
|
|
124
|
-
|
|
108
|
+
const trimmedPlainText = plainText.trim();
|
|
109
|
+
if (__unstableEmbedURLOnPaste && (0, _richText.isEmpty)(value) && (0, _url.isURL)(trimmedPlainText) &&
|
|
110
|
+
// For the link pasting feature, allow only http(s) protocols.
|
|
111
|
+
/^https?:/.test(trimmedPlainText)) {
|
|
125
112
|
mode = 'BLOCKS';
|
|
126
113
|
}
|
|
127
114
|
const content = (0, _blocks.pasteHandler)({
|
|
@@ -132,11 +119,27 @@ function usePasteHandler(props) {
|
|
|
132
119
|
preserveWhiteSpace
|
|
133
120
|
});
|
|
134
121
|
if (typeof content === 'string') {
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
})
|
|
138
|
-
|
|
139
|
-
|
|
122
|
+
const transformed = formatTypes.reduce((accumlator, {
|
|
123
|
+
__unstablePasteRule
|
|
124
|
+
}) => {
|
|
125
|
+
// Only allow one transform.
|
|
126
|
+
if (__unstablePasteRule && accumlator === value) {
|
|
127
|
+
accumlator = __unstablePasteRule(value, {
|
|
128
|
+
html,
|
|
129
|
+
plainText
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
return accumlator;
|
|
133
|
+
}, value);
|
|
134
|
+
if (transformed !== value) {
|
|
135
|
+
onChange(transformed);
|
|
136
|
+
} else {
|
|
137
|
+
const valueToInsert = (0, _richText.create)({
|
|
138
|
+
html: content
|
|
139
|
+
});
|
|
140
|
+
(0, _utils.addActiveFormats)(valueToInsert, value.activeFormats);
|
|
141
|
+
onChange((0, _richText.insert)(value, valueToInsert));
|
|
142
|
+
}
|
|
140
143
|
} else if (content.length > 0) {
|
|
141
144
|
if (onReplace && (0, _richText.isEmpty)(value)) {
|
|
142
145
|
onReplace(content, content.length - 1, -1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_compose","_blocks","_richText","_url","_utils","_splitValue","_pasting","usePasteHandler","props","propsRef","useRef","current","useRefEffect","element","_onPaste","event","isSelected","disableFormats","onChange","value","formatTypes","tagName","onReplace","onSplit","__unstableEmbedURLOnPaste","preserveWhiteSpace","pastePlainText","plainText","html","files","getPasteEventData","preventDefault","window","console","log","insert","transformed","reduce","accumlator","__unstablePasteRule","isInternal","clipboardData","getData","pastedValue","create","addActiveFormats","activeFormats","text","length","fromTransforms","getBlockTransforms","blocks","accumulator","file","transformation","findTransform","transform","type","isMatch","push","flat","isEmpty","splitValue","pastedBlocks","mode","isURL","trim","content","pasteHandler","HTML","valueToInsert","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/rich-text/use-paste-handler.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport {\n\tpasteHandler,\n\tfindTransform,\n\tgetBlockTransforms,\n} from '@wordpress/blocks';\nimport { isEmpty, insert, create } from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { addActiveFormats } from './utils';\nimport { splitValue } from './split-value';\nimport { getPasteEventData } from '../../utils/pasting';\n\n/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */\n\nexport function usePasteHandler( props ) {\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction _onPaste( event ) {\n\t\t\tconst {\n\t\t\t\tisSelected,\n\t\t\t\tdisableFormats,\n\t\t\t\tonChange,\n\t\t\t\tvalue,\n\t\t\t\tformatTypes,\n\t\t\t\ttagName,\n\t\t\t\tonReplace,\n\t\t\t\tonSplit,\n\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t\tpastePlainText,\n\t\t\t} = propsRef.current;\n\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { plainText, html, files } = getPasteEventData( event );\n\n\t\t\tevent.preventDefault();\n\n\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\t\tif ( disableFormats ) {\n\t\t\t\tonChange( insert( value, plainText ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst transformed = formatTypes.reduce(\n\t\t\t\t( accumlator, { __unstablePasteRule } ) => {\n\t\t\t\t\t// Only allow one transform.\n\t\t\t\t\tif ( __unstablePasteRule && accumlator === value ) {\n\t\t\t\t\t\taccumlator = __unstablePasteRule( value, {\n\t\t\t\t\t\t\thtml,\n\t\t\t\t\t\t\tplainText,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn accumlator;\n\t\t\t\t},\n\t\t\t\tvalue\n\t\t\t);\n\n\t\t\tif ( transformed !== value ) {\n\t\t\t\tonChange( transformed );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isInternal =\n\t\t\t\tevent.clipboardData.getData( 'rich-text' ) === 'true';\n\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, value.activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( files?.length ) {\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\n\t\t\t\tconst fromTransforms = getBlockTransforms( 'from' );\n\t\t\t\tconst blocks = files\n\t\t\t\t\t.reduce( ( accumulator, file ) => {\n\t\t\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\t\t\tfromTransforms,\n\t\t\t\t\t\t\t( transform ) =>\n\t\t\t\t\t\t\t\ttransform.type === 'files' &&\n\t\t\t\t\t\t\t\ttransform.isMatch( [ file ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( transformation ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\ttransformation.transform( [ file ] )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, [] )\n\t\t\t\t\t.flat();\n\t\t\t\tif ( ! blocks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( blocks );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: blocks,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisURL( plainText.trim() )\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\taddActiveFormats( valueToInsert, value.activeFormats );\n\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: content,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\telement.addEventListener( 'paste', _onPaste );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'paste', _onPaste );\n\t\t};\n\t}, [] );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_compose","_blocks","_richText","_url","_utils","_splitValue","_pasting","usePasteHandler","props","propsRef","useRef","current","useRefEffect","element","_onPaste","event","isSelected","disableFormats","onChange","value","formatTypes","tagName","onReplace","onSplit","__unstableEmbedURLOnPaste","preserveWhiteSpace","pastePlainText","plainText","html","files","getPasteEventData","preventDefault","window","console","log","insert","isInternal","clipboardData","getData","pastedValue","create","addActiveFormats","activeFormats","text","length","fromTransforms","getBlockTransforms","blocks","reduce","accumulator","file","transformation","findTransform","transform","type","isMatch","push","flat","isEmpty","splitValue","pastedBlocks","mode","trimmedPlainText","trim","isURL","test","content","pasteHandler","HTML","transformed","accumlator","__unstablePasteRule","valueToInsert","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/rich-text/use-paste-handler.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport {\n\tpasteHandler,\n\tfindTransform,\n\tgetBlockTransforms,\n} from '@wordpress/blocks';\nimport { isEmpty, insert, create } from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { addActiveFormats } from './utils';\nimport { splitValue } from './split-value';\nimport { getPasteEventData } from '../../utils/pasting';\n\n/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */\n\nexport function usePasteHandler( props ) {\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction _onPaste( event ) {\n\t\t\tconst {\n\t\t\t\tisSelected,\n\t\t\t\tdisableFormats,\n\t\t\t\tonChange,\n\t\t\t\tvalue,\n\t\t\t\tformatTypes,\n\t\t\t\ttagName,\n\t\t\t\tonReplace,\n\t\t\t\tonSplit,\n\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t\tpastePlainText,\n\t\t\t} = propsRef.current;\n\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { plainText, html, files } = getPasteEventData( event );\n\n\t\t\tevent.preventDefault();\n\n\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\t\tif ( disableFormats ) {\n\t\t\t\tonChange( insert( value, plainText ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isInternal =\n\t\t\t\tevent.clipboardData.getData( 'rich-text' ) === 'true';\n\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, value.activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( files?.length ) {\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\n\t\t\t\tconst fromTransforms = getBlockTransforms( 'from' );\n\t\t\t\tconst blocks = files\n\t\t\t\t\t.reduce( ( accumulator, file ) => {\n\t\t\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\t\t\tfromTransforms,\n\t\t\t\t\t\t\t( transform ) =>\n\t\t\t\t\t\t\t\ttransform.type === 'files' &&\n\t\t\t\t\t\t\t\ttransform.isMatch( [ file ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( transformation ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\ttransformation.transform( [ file ] )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, [] )\n\t\t\t\t\t.flat();\n\t\t\t\tif ( ! blocks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( blocks );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: blocks,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\tconst trimmedPlainText = plainText.trim();\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisURL( trimmedPlainText ) &&\n\t\t\t\t// For the link pasting feature, allow only http(s) protocols.\n\t\t\t\t/^https?:/.test( trimmedPlainText )\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst transformed = formatTypes.reduce(\n\t\t\t\t\t( accumlator, { __unstablePasteRule } ) => {\n\t\t\t\t\t\t// Only allow one transform.\n\t\t\t\t\t\tif ( __unstablePasteRule && accumlator === value ) {\n\t\t\t\t\t\t\taccumlator = __unstablePasteRule( value, {\n\t\t\t\t\t\t\t\thtml,\n\t\t\t\t\t\t\t\tplainText,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn accumlator;\n\t\t\t\t\t},\n\t\t\t\t\tvalue\n\t\t\t\t);\n\n\t\t\t\tif ( transformed !== value ) {\n\t\t\t\t\tonChange( transformed );\n\t\t\t\t} else {\n\t\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\t\taddActiveFormats( valueToInsert, value.activeFormats );\n\t\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t\t}\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: content,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\telement.addEventListener( 'paste', _onPaste );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'paste', _onPaste );\n\t\t};\n\t}, [] );\n}\n"],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.default = useSpacingSizes;
|
|
8
7
|
var _i18n = require("@wordpress/i18n");
|
|
9
|
-
var
|
|
8
|
+
var _useSettings = require("../../use-settings");
|
|
10
9
|
/**
|
|
11
10
|
* WordPress dependencies
|
|
12
11
|
*/
|
|
@@ -20,7 +19,11 @@ function useSpacingSizes() {
|
|
|
20
19
|
name: 0,
|
|
21
20
|
slug: '0',
|
|
22
21
|
size: 0
|
|
23
|
-
}
|
|
22
|
+
}];
|
|
23
|
+
const [settingsSizes] = (0, _useSettings.useSettings)('spacing.spacingSizes');
|
|
24
|
+
if (settingsSizes) {
|
|
25
|
+
spacingSizes.push(...settingsSizes);
|
|
26
|
+
}
|
|
24
27
|
if (spacingSizes.length > 8) {
|
|
25
28
|
spacingSizes.unshift({
|
|
26
29
|
name: (0, _i18n.__)('Default'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","
|
|
1
|
+
{"version":3,"names":["_i18n","require","_useSettings","useSpacingSizes","spacingSizes","name","slug","size","settingsSizes","useSettings","push","length","unshift","__","undefined"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../../use-settings';\n\nexport default function useSpacingSizes() {\n\tconst spacingSizes = [ { name: 0, slug: '0', size: 0 } ];\n\n\tconst [ settingsSizes ] = useSettings( 'spacing.spacingSizes' );\n\tif ( settingsSizes ) {\n\t\tspacingSizes.push( ...settingsSizes );\n\t}\n\n\tif ( spacingSizes.length > 8 ) {\n\t\tspacingSizes.unshift( {\n\t\t\tname: __( 'Default' ),\n\t\t\tslug: 'default',\n\t\t\tsize: undefined,\n\t\t} );\n\t}\n\n\treturn spacingSizes;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASE,eAAeA,CAAA,EAAG;EACzC,MAAMC,YAAY,GAAG,CAAE;IAAEC,IAAI,EAAE,CAAC;IAAEC,IAAI,EAAE,GAAG;IAAEC,IAAI,EAAE;EAAE,CAAC,CAAE;EAExD,MAAM,CAAEC,aAAa,CAAE,GAAG,IAAAC,wBAAW,EAAE,sBAAuB,CAAC;EAC/D,IAAKD,aAAa,EAAG;IACpBJ,YAAY,CAACM,IAAI,CAAE,GAAGF,aAAc,CAAC;EACtC;EAEA,IAAKJ,YAAY,CAACO,MAAM,GAAG,CAAC,EAAG;IAC9BP,YAAY,CAACQ,OAAO,CAAE;MACrBP,IAAI,EAAE,IAAAQ,QAAE,EAAE,SAAU,CAAC;MACrBP,IAAI,EAAE,SAAS;MACfC,IAAI,EAAEO;IACP,CAAE,CAAC;EACJ;EAEA,OAAOV,YAAY;AACpB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -12,7 +11,7 @@ var _element = require("@wordpress/element");
|
|
|
12
11
|
var _compose = require("@wordpress/compose");
|
|
13
12
|
var _i18n = require("@wordpress/i18n");
|
|
14
13
|
var _icons = require("@wordpress/icons");
|
|
15
|
-
var
|
|
14
|
+
var _useSettings = require("../../use-settings");
|
|
16
15
|
var _store = require("../../../store");
|
|
17
16
|
var _utils = require("../utils");
|
|
18
17
|
/**
|
|
@@ -47,6 +46,94 @@ const CUSTOM_VALUE_SETTINGS = {
|
|
|
47
46
|
rm: {
|
|
48
47
|
max: 10,
|
|
49
48
|
steps: 0.1
|
|
49
|
+
},
|
|
50
|
+
svw: {
|
|
51
|
+
max: 100,
|
|
52
|
+
steps: 1
|
|
53
|
+
},
|
|
54
|
+
lvw: {
|
|
55
|
+
max: 100,
|
|
56
|
+
steps: 1
|
|
57
|
+
},
|
|
58
|
+
dvw: {
|
|
59
|
+
max: 100,
|
|
60
|
+
steps: 1
|
|
61
|
+
},
|
|
62
|
+
svh: {
|
|
63
|
+
max: 100,
|
|
64
|
+
steps: 1
|
|
65
|
+
},
|
|
66
|
+
lvh: {
|
|
67
|
+
max: 100,
|
|
68
|
+
steps: 1
|
|
69
|
+
},
|
|
70
|
+
dvh: {
|
|
71
|
+
max: 100,
|
|
72
|
+
steps: 1
|
|
73
|
+
},
|
|
74
|
+
vi: {
|
|
75
|
+
max: 100,
|
|
76
|
+
steps: 1
|
|
77
|
+
},
|
|
78
|
+
svi: {
|
|
79
|
+
max: 100,
|
|
80
|
+
steps: 1
|
|
81
|
+
},
|
|
82
|
+
lvi: {
|
|
83
|
+
max: 100,
|
|
84
|
+
steps: 1
|
|
85
|
+
},
|
|
86
|
+
dvi: {
|
|
87
|
+
max: 100,
|
|
88
|
+
steps: 1
|
|
89
|
+
},
|
|
90
|
+
vb: {
|
|
91
|
+
max: 100,
|
|
92
|
+
steps: 1
|
|
93
|
+
},
|
|
94
|
+
svb: {
|
|
95
|
+
max: 100,
|
|
96
|
+
steps: 1
|
|
97
|
+
},
|
|
98
|
+
lvb: {
|
|
99
|
+
max: 100,
|
|
100
|
+
steps: 1
|
|
101
|
+
},
|
|
102
|
+
dvb: {
|
|
103
|
+
max: 100,
|
|
104
|
+
steps: 1
|
|
105
|
+
},
|
|
106
|
+
vmin: {
|
|
107
|
+
max: 100,
|
|
108
|
+
steps: 1
|
|
109
|
+
},
|
|
110
|
+
svmin: {
|
|
111
|
+
max: 100,
|
|
112
|
+
steps: 1
|
|
113
|
+
},
|
|
114
|
+
lvmin: {
|
|
115
|
+
max: 100,
|
|
116
|
+
steps: 1
|
|
117
|
+
},
|
|
118
|
+
dvmin: {
|
|
119
|
+
max: 100,
|
|
120
|
+
steps: 1
|
|
121
|
+
},
|
|
122
|
+
vmax: {
|
|
123
|
+
max: 100,
|
|
124
|
+
steps: 1
|
|
125
|
+
},
|
|
126
|
+
svmax: {
|
|
127
|
+
max: 100,
|
|
128
|
+
steps: 1
|
|
129
|
+
},
|
|
130
|
+
lvmax: {
|
|
131
|
+
max: 100,
|
|
132
|
+
steps: 1
|
|
133
|
+
},
|
|
134
|
+
dvmax: {
|
|
135
|
+
max: 100,
|
|
136
|
+
steps: 1
|
|
50
137
|
}
|
|
51
138
|
};
|
|
52
139
|
function SpacingInputControl({
|
|
@@ -76,8 +163,9 @@ function SpacingInputControl({
|
|
|
76
163
|
if (!!value && previousValue !== value && !(0, _utils.isValueSpacingPreset)(value) && showCustomValueControl !== true) {
|
|
77
164
|
setShowCustomValueControl(true);
|
|
78
165
|
}
|
|
166
|
+
const [availableUnits] = (0, _useSettings.useSettings)('spacing.units');
|
|
79
167
|
const units = (0, _components.__experimentalUseCustomUnits)({
|
|
80
|
-
availableUnits:
|
|
168
|
+
availableUnits: availableUnits || ['px', 'em', 'rem']
|
|
81
169
|
});
|
|
82
170
|
let currentValue = null;
|
|
83
171
|
const showCustomValueInSelectList = !showRangeControl && !showCustomValueControl && value !== undefined && (!(0, _utils.isValueSpacingPreset)(value) || (0, _utils.isValueSpacingPreset)(value) && isMixed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_data","_element","_compose","_i18n","_icons","_useSetting","_interopRequireDefault","_store","_utils","CUSTOM_VALUE_SETTINGS","px","max","steps","vw","vh","em","rm","SpacingInputControl","icon","isMixed","minimumCustomValue","onChange","onMouseOut","onMouseOver","showSideInLabel","side","spacingSizes","type","value","_CUSTOM_VALUE_SETTING","_CUSTOM_VALUE_SETTING2","getPresetValueFromCustomValue","selectListSizes","showRangeControl","length","disableCustomSpacingSizes","useSelect","select","editorSettings","blockEditorStore","getSettings","showCustomValueControl","setShowCustomValueControl","useState","undefined","isValueSpacingPreset","previousValue","usePrevious","units","useCustomUnits","availableUnits","useSetting","currentValue","showCustomValueInSelectList","name","sprintf","__","slug","size","getSliderValueFromPreset","getCustomValueFromPreset","selectedUnit","useMemo","parseQuantityAndUnitFromRawValue","setInitialValue","customTooltipContent","newValue","customRangeValue","parseFloat","getNewCustomValue","newSize","isNumeric","isNaN","nextValue","getNewPresetValue","controlType","parseInt","handleCustomValueSliderChange","next","join","allPlaceholder","options","map","index","key","marks","_newValue","label","sideLabel","ALL_SIDES","includes","LABELS","typeLabel","toLowerCase","ariaLabel","trim","_react","createElement","__experimentalHStack","className","Icon","Fragment","__experimentalUnitControl","onFocus","onBlur","min","placeholder","disableUnits","hideLabelFromVision","RangeControl","step","withInputField","__nextHasNoMarginBottom","onMouseDown","event","nativeEvent","offsetX","renderTooltipContent","CustomSelectControl","find","option","selection","selectedItem","__nextUnconstrainedWidth","Button","settings","onClick","isPressed","isSmall","iconSize"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/input-controls/spacing-input-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tCustomSelectControl,\n\tIcon,\n\tRangeControl,\n\t__experimentalHStack as HStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../../use-setting';\nimport { store as blockEditorStore } from '../../../store';\nimport {\n\tALL_SIDES,\n\tLABELS,\n\tgetSliderValueFromPreset,\n\tgetCustomValueFromPreset,\n\tgetPresetValueFromCustomValue,\n\tisValueSpacingPreset,\n} from '../utils';\n\nconst CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 300, steps: 1 },\n\t'%': { max: 100, steps: 1 },\n\tvw: { max: 100, steps: 1 },\n\tvh: { max: 100, steps: 1 },\n\tem: { max: 10, steps: 0.1 },\n\trm: { max: 10, steps: 0.1 },\n};\n\nexport default function SpacingInputControl( {\n\ticon,\n\tisMixed = false,\n\tminimumCustomValue,\n\tonChange,\n\tonMouseOut,\n\tonMouseOver,\n\tshowSideInLabel = true,\n\tside,\n\tspacingSizes,\n\ttype,\n\tvalue,\n} ) {\n\t// Treat value as a preset value if the passed in value matches the value of one of the spacingSizes.\n\tvalue = getPresetValueFromCustomValue( value, spacingSizes );\n\n\tlet selectListSizes = spacingSizes;\n\tconst showRangeControl = spacingSizes.length <= 8;\n\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomSpacingSizes &&\n\t\t\tvalue !== undefined &&\n\t\t\t! isValueSpacingPreset( value )\n\t);\n\n\tconst previousValue = usePrevious( value );\n\tif (\n\t\t!! value &&\n\t\tpreviousValue !== value &&\n\t\t! isValueSpacingPreset( value ) &&\n\t\tshowCustomValueControl !== true\n\t) {\n\t\tsetShowCustomValueControl( true );\n\t}\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [ 'px', 'em', 'rem' ],\n\t} );\n\n\tlet currentValue = null;\n\n\tconst showCustomValueInSelectList =\n\t\t! showRangeControl &&\n\t\t! showCustomValueControl &&\n\t\tvalue !== undefined &&\n\t\t( ! isValueSpacingPreset( value ) ||\n\t\t\t( isValueSpacingPreset( value ) && isMixed ) );\n\n\tif ( showCustomValueInSelectList ) {\n\t\tselectListSizes = [\n\t\t\t...spacingSizes,\n\t\t\t{\n\t\t\t\tname: ! isMixed\n\t\t\t\t\t? // translators: A custom measurement, eg. a number followed by a unit like 12px.\n\t\t\t\t\t sprintf( __( 'Custom (%s)' ), value )\n\t\t\t\t\t: __( 'Mixed' ),\n\t\t\t\tslug: 'custom',\n\t\t\t\tsize: value,\n\t\t\t},\n\t\t];\n\t\tcurrentValue = selectListSizes.length - 1;\n\t} else if ( ! isMixed ) {\n\t\tcurrentValue = ! showCustomValueControl\n\t\t\t? getSliderValueFromPreset( value, spacingSizes )\n\t\t\t: getCustomValueFromPreset( value, spacingSizes );\n\t}\n\n\tconst selectedUnit =\n\t\tuseMemo(\n\t\t\t() => parseQuantityAndUnitFromRawValue( currentValue ),\n\t\t\t[ currentValue ]\n\t\t)[ 1 ] || units[ 0 ].value;\n\n\tconst setInitialValue = () => {\n\t\tif ( value === undefined ) {\n\t\t\tonChange( '0' );\n\t\t}\n\t};\n\n\tconst customTooltipContent = ( newValue ) =>\n\t\tvalue === undefined ? undefined : spacingSizes[ newValue ]?.name;\n\n\tconst customRangeValue = parseFloat( currentValue, 10 );\n\n\tconst getNewCustomValue = ( newSize ) => {\n\t\tconst isNumeric = ! isNaN( parseFloat( newSize ) );\n\t\tconst nextValue = isNumeric ? newSize : undefined;\n\t\treturn nextValue;\n\t};\n\n\tconst getNewPresetValue = ( newSize, controlType ) => {\n\t\tconst size = parseInt( newSize, 10 );\n\n\t\tif ( controlType === 'selectList' ) {\n\t\t\tif ( size === 0 ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif ( size === 1 ) {\n\t\t\t\treturn '0';\n\t\t\t}\n\t\t} else if ( size === 0 ) {\n\t\t\treturn '0';\n\t\t}\n\t\treturn `var:preset|spacing|${ spacingSizes[ newSize ]?.slug }`;\n\t};\n\n\tconst handleCustomValueSliderChange = ( next ) => {\n\t\tonChange( [ next, selectedUnit ].join( '' ) );\n\t};\n\n\tconst allPlaceholder = isMixed ? __( 'Mixed' ) : null;\n\n\tconst options = selectListSizes.map( ( size, index ) => ( {\n\t\tkey: index,\n\t\tname: size.name,\n\t} ) );\n\n\tconst marks = spacingSizes.map( ( _newValue, index ) => ( {\n\t\tvalue: index,\n\t\tlabel: undefined,\n\t} ) );\n\n\tconst sideLabel =\n\t\tALL_SIDES.includes( side ) && showSideInLabel ? LABELS[ side ] : '';\n\tconst typeLabel = showSideInLabel ? type?.toLowerCase() : type;\n\n\tconst ariaLabel = sprintf(\n\t\t// translators: 1: The side of the block being modified (top, bottom, left, All sides etc.). 2. Type of spacing being modified (Padding, margin, etc)\n\t\t__( '%1$s %2$s' ),\n\t\tsideLabel,\n\t\ttypeLabel\n\t).trim();\n\n\treturn (\n\t\t<HStack className=\"spacing-sizes-control__wrapper\">\n\t\t\t{ icon && (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"spacing-sizes-control__icon\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tsize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showCustomValueControl && (\n\t\t\t\t<>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\t\tonChange( getNewCustomValue( newSize ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ minimumCustomValue }\n\t\t\t\t\t\tplaceholder={ allPlaceholder }\n\t\t\t\t\t\tdisableUnits={ isMixed }\n\t\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-input\"\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tvalue={ customRangeValue }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ CUSTOM_VALUE_SETTINGS[ selectedUnit ]?.max ?? 10 }\n\t\t\t\t\t\tstep={\n\t\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ selectedUnit ]?.steps ?? 0.1\n\t\t\t\t\t\t}\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tonChange={ handleCustomValueSliderChange }\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-range\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tclassName=\"spacing-sizes-control__range-control\"\n\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\tonChange( getNewPresetValue( newSize ) )\n\t\t\t\t\t}\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// If mouse down is near start of range set initial value to 0, which\n\t\t\t\t\t\t// prevents the user have to drag right then left to get 0 setting.\n\t\t\t\t\t\tif ( event?.nativeEvent?.offsetX < 35 ) {\n\t\t\t\t\t\t\tsetInitialValue();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\twithInputField={ false }\n\t\t\t\t\taria-valuenow={ currentValue }\n\t\t\t\t\taria-valuetext={ spacingSizes[ currentValue ]?.name }\n\t\t\t\t\trenderTooltipContent={ customTooltipContent }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ spacingSizes.length - 1 }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t__nextHasNoMarginBottom={ true }\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<CustomSelectControl\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-select-control\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\toptions.find(\n\t\t\t\t\t\t\t( option ) => option.key === currentValue\n\t\t\t\t\t\t) || '' // passing undefined here causes a downshift controlled/uncontrolled warning\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( selection ) => {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tgetNewPresetValue(\n\t\t\t\t\t\t\t\tselection.selectedItem.key,\n\t\t\t\t\t\t\t\t'selectList'\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\toptions={ options }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t__nextUnconstrainedWidth={ true }\n\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! disableCustomSpacingSizes && (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t}\n\t\t\t\t\ticon={ settings }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCustomValueControl( ! showCustomValueControl );\n\t\t\t\t\t} }\n\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\tisSmall\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-toggle\"\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_data","_element","_compose","_i18n","_icons","_useSettings","_store","_utils","CUSTOM_VALUE_SETTINGS","px","max","steps","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","SpacingInputControl","icon","isMixed","minimumCustomValue","onChange","onMouseOut","onMouseOver","showSideInLabel","side","spacingSizes","type","value","_CUSTOM_VALUE_SETTING","_CUSTOM_VALUE_SETTING2","getPresetValueFromCustomValue","selectListSizes","showRangeControl","length","disableCustomSpacingSizes","useSelect","select","editorSettings","blockEditorStore","getSettings","showCustomValueControl","setShowCustomValueControl","useState","undefined","isValueSpacingPreset","previousValue","usePrevious","availableUnits","useSettings","units","useCustomUnits","currentValue","showCustomValueInSelectList","name","sprintf","__","slug","size","getSliderValueFromPreset","getCustomValueFromPreset","selectedUnit","useMemo","parseQuantityAndUnitFromRawValue","setInitialValue","customTooltipContent","newValue","customRangeValue","parseFloat","getNewCustomValue","newSize","isNumeric","isNaN","nextValue","getNewPresetValue","controlType","parseInt","handleCustomValueSliderChange","next","join","allPlaceholder","options","map","index","key","marks","_newValue","label","sideLabel","ALL_SIDES","includes","LABELS","typeLabel","toLowerCase","ariaLabel","trim","_react","createElement","__experimentalHStack","className","Icon","Fragment","__experimentalUnitControl","onFocus","onBlur","min","placeholder","disableUnits","hideLabelFromVision","RangeControl","step","withInputField","__nextHasNoMarginBottom","onMouseDown","event","nativeEvent","offsetX","renderTooltipContent","CustomSelectControl","find","option","selection","selectedItem","__nextUnconstrainedWidth","Button","settings","onClick","isPressed","isSmall","iconSize"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/input-controls/spacing-input-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tCustomSelectControl,\n\tIcon,\n\tRangeControl,\n\t__experimentalHStack as HStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../../use-settings';\nimport { store as blockEditorStore } from '../../../store';\nimport {\n\tALL_SIDES,\n\tLABELS,\n\tgetSliderValueFromPreset,\n\tgetCustomValueFromPreset,\n\tgetPresetValueFromCustomValue,\n\tisValueSpacingPreset,\n} from '../utils';\n\nconst CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 300, steps: 1 },\n\t'%': { max: 100, steps: 1 },\n\tvw: { max: 100, steps: 1 },\n\tvh: { max: 100, steps: 1 },\n\tem: { max: 10, steps: 0.1 },\n\trm: { max: 10, steps: 0.1 },\n\tsvw: { max: 100, steps: 1 },\n\tlvw: { max: 100, steps: 1 },\n\tdvw: { max: 100, steps: 1 },\n\tsvh: { max: 100, steps: 1 },\n\tlvh: { max: 100, steps: 1 },\n\tdvh: { max: 100, steps: 1 },\n\tvi: { max: 100, steps: 1 },\n\tsvi: { max: 100, steps: 1 },\n\tlvi: { max: 100, steps: 1 },\n\tdvi: { max: 100, steps: 1 },\n\tvb: { max: 100, steps: 1 },\n\tsvb: { max: 100, steps: 1 },\n\tlvb: { max: 100, steps: 1 },\n\tdvb: { max: 100, steps: 1 },\n\tvmin: { max: 100, steps: 1 },\n\tsvmin: { max: 100, steps: 1 },\n\tlvmin: { max: 100, steps: 1 },\n\tdvmin: { max: 100, steps: 1 },\n\tvmax: { max: 100, steps: 1 },\n\tsvmax: { max: 100, steps: 1 },\n\tlvmax: { max: 100, steps: 1 },\n\tdvmax: { max: 100, steps: 1 },\n};\n\nexport default function SpacingInputControl( {\n\ticon,\n\tisMixed = false,\n\tminimumCustomValue,\n\tonChange,\n\tonMouseOut,\n\tonMouseOver,\n\tshowSideInLabel = true,\n\tside,\n\tspacingSizes,\n\ttype,\n\tvalue,\n} ) {\n\t// Treat value as a preset value if the passed in value matches the value of one of the spacingSizes.\n\tvalue = getPresetValueFromCustomValue( value, spacingSizes );\n\n\tlet selectListSizes = spacingSizes;\n\tconst showRangeControl = spacingSizes.length <= 8;\n\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomSpacingSizes &&\n\t\t\tvalue !== undefined &&\n\t\t\t! isValueSpacingPreset( value )\n\t);\n\n\tconst previousValue = usePrevious( value );\n\tif (\n\t\t!! value &&\n\t\tpreviousValue !== value &&\n\t\t! isValueSpacingPreset( value ) &&\n\t\tshowCustomValueControl !== true\n\t) {\n\t\tsetShowCustomValueControl( true );\n\t}\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem' ],\n\t} );\n\n\tlet currentValue = null;\n\n\tconst showCustomValueInSelectList =\n\t\t! showRangeControl &&\n\t\t! showCustomValueControl &&\n\t\tvalue !== undefined &&\n\t\t( ! isValueSpacingPreset( value ) ||\n\t\t\t( isValueSpacingPreset( value ) && isMixed ) );\n\n\tif ( showCustomValueInSelectList ) {\n\t\tselectListSizes = [\n\t\t\t...spacingSizes,\n\t\t\t{\n\t\t\t\tname: ! isMixed\n\t\t\t\t\t? // translators: A custom measurement, eg. a number followed by a unit like 12px.\n\t\t\t\t\t sprintf( __( 'Custom (%s)' ), value )\n\t\t\t\t\t: __( 'Mixed' ),\n\t\t\t\tslug: 'custom',\n\t\t\t\tsize: value,\n\t\t\t},\n\t\t];\n\t\tcurrentValue = selectListSizes.length - 1;\n\t} else if ( ! isMixed ) {\n\t\tcurrentValue = ! showCustomValueControl\n\t\t\t? getSliderValueFromPreset( value, spacingSizes )\n\t\t\t: getCustomValueFromPreset( value, spacingSizes );\n\t}\n\n\tconst selectedUnit =\n\t\tuseMemo(\n\t\t\t() => parseQuantityAndUnitFromRawValue( currentValue ),\n\t\t\t[ currentValue ]\n\t\t)[ 1 ] || units[ 0 ].value;\n\n\tconst setInitialValue = () => {\n\t\tif ( value === undefined ) {\n\t\t\tonChange( '0' );\n\t\t}\n\t};\n\n\tconst customTooltipContent = ( newValue ) =>\n\t\tvalue === undefined ? undefined : spacingSizes[ newValue ]?.name;\n\n\tconst customRangeValue = parseFloat( currentValue, 10 );\n\n\tconst getNewCustomValue = ( newSize ) => {\n\t\tconst isNumeric = ! isNaN( parseFloat( newSize ) );\n\t\tconst nextValue = isNumeric ? newSize : undefined;\n\t\treturn nextValue;\n\t};\n\n\tconst getNewPresetValue = ( newSize, controlType ) => {\n\t\tconst size = parseInt( newSize, 10 );\n\n\t\tif ( controlType === 'selectList' ) {\n\t\t\tif ( size === 0 ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif ( size === 1 ) {\n\t\t\t\treturn '0';\n\t\t\t}\n\t\t} else if ( size === 0 ) {\n\t\t\treturn '0';\n\t\t}\n\t\treturn `var:preset|spacing|${ spacingSizes[ newSize ]?.slug }`;\n\t};\n\n\tconst handleCustomValueSliderChange = ( next ) => {\n\t\tonChange( [ next, selectedUnit ].join( '' ) );\n\t};\n\n\tconst allPlaceholder = isMixed ? __( 'Mixed' ) : null;\n\n\tconst options = selectListSizes.map( ( size, index ) => ( {\n\t\tkey: index,\n\t\tname: size.name,\n\t} ) );\n\n\tconst marks = spacingSizes.map( ( _newValue, index ) => ( {\n\t\tvalue: index,\n\t\tlabel: undefined,\n\t} ) );\n\n\tconst sideLabel =\n\t\tALL_SIDES.includes( side ) && showSideInLabel ? LABELS[ side ] : '';\n\tconst typeLabel = showSideInLabel ? type?.toLowerCase() : type;\n\n\tconst ariaLabel = sprintf(\n\t\t// translators: 1: The side of the block being modified (top, bottom, left, All sides etc.). 2. Type of spacing being modified (Padding, margin, etc)\n\t\t__( '%1$s %2$s' ),\n\t\tsideLabel,\n\t\ttypeLabel\n\t).trim();\n\n\treturn (\n\t\t<HStack className=\"spacing-sizes-control__wrapper\">\n\t\t\t{ icon && (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"spacing-sizes-control__icon\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tsize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showCustomValueControl && (\n\t\t\t\t<>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\t\tonChange( getNewCustomValue( newSize ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ minimumCustomValue }\n\t\t\t\t\t\tplaceholder={ allPlaceholder }\n\t\t\t\t\t\tdisableUnits={ isMixed }\n\t\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-input\"\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tvalue={ customRangeValue }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ CUSTOM_VALUE_SETTINGS[ selectedUnit ]?.max ?? 10 }\n\t\t\t\t\t\tstep={\n\t\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ selectedUnit ]?.steps ?? 0.1\n\t\t\t\t\t\t}\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tonChange={ handleCustomValueSliderChange }\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-range\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tclassName=\"spacing-sizes-control__range-control\"\n\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\tonChange( getNewPresetValue( newSize ) )\n\t\t\t\t\t}\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// If mouse down is near start of range set initial value to 0, which\n\t\t\t\t\t\t// prevents the user have to drag right then left to get 0 setting.\n\t\t\t\t\t\tif ( event?.nativeEvent?.offsetX < 35 ) {\n\t\t\t\t\t\t\tsetInitialValue();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\twithInputField={ false }\n\t\t\t\t\taria-valuenow={ currentValue }\n\t\t\t\t\taria-valuetext={ spacingSizes[ currentValue ]?.name }\n\t\t\t\t\trenderTooltipContent={ customTooltipContent }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ spacingSizes.length - 1 }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t__nextHasNoMarginBottom={ true }\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<CustomSelectControl\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-select-control\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\toptions.find(\n\t\t\t\t\t\t\t( option ) => option.key === currentValue\n\t\t\t\t\t\t) || '' // passing undefined here causes a downshift controlled/uncontrolled warning\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( selection ) => {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tgetNewPresetValue(\n\t\t\t\t\t\t\t\tselection.selectedItem.key,\n\t\t\t\t\t\t\t\t'selectList'\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\toptions={ options }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t__nextUnconstrainedWidth={ true }\n\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! disableCustomSpacingSizes && (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t}\n\t\t\t\t\ticon={ settings }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCustomValueControl( ! showCustomValueControl );\n\t\t\t\t\t} }\n\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\tisSmall\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-toggle\"\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -47,8 +47,7 @@ function ToolSelector(props, ref) {
|
|
|
47
47
|
label: (0, _i18n.__)('Tools')
|
|
48
48
|
}),
|
|
49
49
|
popoverProps: {
|
|
50
|
-
placement: 'bottom-start'
|
|
51
|
-
variant: undefined
|
|
50
|
+
placement: 'bottom-start'
|
|
52
51
|
},
|
|
53
52
|
renderContent: () => (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.NavigableMenu, {
|
|
54
53
|
role: "menu",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_data","_element","_icons","_store","selectIcon","_react","createElement","SVG","xmlns","width","height","viewBox","Path","d","ToolSelector","props","ref","mode","useSelect","select","blockEditorStore","__unstableGetEditorMode","__unstableSetEditorMode","useDispatch","Dropdown","renderToggle","isOpen","onToggle","Button","icon","editIcon","onClick","label","__","popoverProps","placement","
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_data","_element","_icons","_store","selectIcon","_react","createElement","SVG","xmlns","width","height","viewBox","Path","d","ToolSelector","props","ref","mode","useSelect","select","blockEditorStore","__unstableGetEditorMode","__unstableSetEditorMode","useDispatch","Dropdown","renderToggle","isOpen","onToggle","Button","icon","editIcon","onClick","label","__","popoverProps","placement","renderContent","Fragment","NavigableMenu","role","MenuItemsChoice","value","onSelect","choices","Icon","className","_default","forwardRef","exports","default"],"sources":["@wordpress/block-editor/src/components/tool-selector/index.js"],"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 mode = useSelect(\n\t\t( select ) => select( blockEditorStore ).__unstableGetEditorMode(),\n\t\t[]\n\t);\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\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={ mode === 'navigation' ? 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\tpopoverProps={ { placement: 'bottom-start' } }\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={\n\t\t\t\t\t\t\t\tmode === 'navigation' ? 'navigation' : 'edit'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonSelect={ __unstableSetEditorMode }\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: 'navigation',\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"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAnBA;AACA;AACA;;AAcA;AACA;AACA;;AAGA,MAAMM,UAAU,GACf,IAAAC,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAU,GAAG;EACHC,KAAK,EAAC,4BAA4B;EAClCC,KAAK,EAAC,IAAI;EACVC,MAAM,EAAC,IAAI;EACXC,OAAO,EAAC;AAAW,GAEnB,IAAAN,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAe,IAAI;EAACC,CAAC,EAAC;AAA2N,CAAE,CACjO,CACL;AAED,SAASC,YAAYA,CAAEC,KAAK,EAAEC,GAAG,EAAG;EACnC,MAAMC,IAAI,GAAG,IAAAC,eAAS,EACnBC,MAAM,IAAMA,MAAM,CAAEC,YAAiB,CAAC,CAACC,uBAAuB,CAAC,CAAC,EAClE,EACD,CAAC;EACD,MAAM;IAAEC;EAAwB,CAAC,GAAG,IAAAC,iBAAW,EAAEH,YAAiB,CAAC;EAEnE,OACC,IAAAf,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAA2B,QAAQ;IACRC,YAAY,EAAGA,CAAE;MAAEC,MAAM;MAAEC;IAAS,CAAC,KACpC,IAAAtB,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAA+B,MAAM;MAAA,GACDb,KAAK;MACVC,GAAG,EAAGA,GAAK;MACXa,IAAI,EAAGZ,IAAI,KAAK,YAAY,GAAGb,UAAU,GAAG0B,WAAU;MACtD,iBAAgBJ,MAAQ;MACxB,iBAAc,MAAM;MACpBK,OAAO,EAAGJ;MACV;MACAK,KAAK,EAAG,IAAAC,QAAE,EAAE,OAAQ;IAAG,CACvB,CACC;IACHC,YAAY,EAAG;MAAEC,SAAS,EAAE;IAAe,CAAG;IAC9CC,aAAa,EAAGA,CAAA,KACf,IAAA/B,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAgC,QAAA,QACC,IAAAhC,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAyC,aAAa;MAACC,IAAI,EAAC,MAAM;MAAC,cAAa,IAAAN,QAAE,EAAE,OAAQ;IAAG,GACtD,IAAA5B,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAA2C,eAAe;MACfC,KAAK,EACJxB,IAAI,KAAK,YAAY,GAAG,YAAY,GAAG,MACvC;MACDyB,QAAQ,EAAGpB,uBAAyB;MACpCqB,OAAO,EAAG,CACT;QACCF,KAAK,EAAE,MAAM;QACbT,KAAK,EACJ,IAAA3B,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAgC,QAAA,QACC,IAAAhC,MAAA,CAAAC,aAAA,EAACJ,MAAA,CAAA0C,IAAI;UAACf,IAAI,EAAGC;QAAU,CAAE,CAAC,EACxB,IAAAG,QAAE,EAAE,MAAO,CACZ;MAEJ,CAAC,EACD;QACCQ,KAAK,EAAE,YAAY;QACnBT,KAAK,EACJ,IAAA3B,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAgC,QAAA,QACGjC,UAAU,EACV,IAAA6B,QAAE,EAAE,QAAS,CACd;MAEJ,CAAC;IACC,CACH,CACa,CAAC,EAChB,IAAA5B,MAAA,CAAAC,aAAA;MAAKuC,SAAS,EAAC;IAAkC,GAC9C,IAAAZ,QAAE,EACH,kJACD,CACI,CACJ;EACA,CACH,CAAC;AAEJ;AAAC,IAAAa,QAAA,GAEc,IAAAC,mBAAU,EAAEjC,YAAa,CAAC;AAAAkC,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.default = UnitControl;
|
|
8
7
|
var _react = require("react");
|
|
9
8
|
var _components = require("@wordpress/components");
|
|
10
|
-
var
|
|
9
|
+
var _useSettings = require("../use-settings");
|
|
11
10
|
/**
|
|
12
11
|
* WordPress dependencies
|
|
13
12
|
*/
|
|
@@ -20,8 +19,9 @@ function UnitControl({
|
|
|
20
19
|
units: unitsProp,
|
|
21
20
|
...props
|
|
22
21
|
}) {
|
|
22
|
+
const [availableUnits] = (0, _useSettings.useSettings)('spacing.units');
|
|
23
23
|
const units = (0, _components.__experimentalUseCustomUnits)({
|
|
24
|
-
availableUnits:
|
|
24
|
+
availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vw'],
|
|
25
25
|
units: unitsProp
|
|
26
26
|
});
|
|
27
27
|
return (0, _react.createElement)(_components.__experimentalUnitControl, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","
|
|
1
|
+
{"version":3,"names":["_components","require","_useSettings","UnitControl","units","unitsProp","props","availableUnits","useSettings","useCustomUnits","_react","createElement","__experimentalUnitControl"],"sources":["@wordpress/block-editor/src/components/unit-control/index.js"],"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 { useSettings } from '../use-settings';\n\nexport default function UnitControl( { units: unitsProp, ...props } ) {\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t\tunits: unitsProp,\n\t} );\n\n\treturn <BaseUnitControl units={ units } { ...props } />;\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,YAAA,GAAAD,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGe,SAASE,WAAWA,CAAE;EAAEC,KAAK,EAAEC,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAG;EACrE,MAAM,CAAEC,cAAc,CAAE,GAAG,IAAAC,wBAAW,EAAE,eAAgB,CAAC;EACzD,MAAMJ,KAAK,GAAG,IAAAK,wCAAc,EAAE;IAC7BF,cAAc,EAAEA,cAAc,IAAI,CAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAE;IAClEH,KAAK,EAAEC;EACR,CAAE,CAAC;EAEH,OAAO,IAAAK,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAY,yBAAe;IAACR,KAAK,EAAGA,KAAO;IAAA,GAAME;EAAK,CAAI,CAAC;AACxD"}
|