@wordpress/block-editor 17.1.0 → 17.2.1-next.v.202609171837.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 +32 -0
- package/README.md +214 -214
- package/build/autocompleters/block.cjs.map +2 -2
- package/build/components/alignment-control/ui.cjs.map +2 -2
- package/build/components/background-image-control/index.cjs +1 -1
- package/build/components/background-image-control/index.cjs.map +2 -2
- package/build/components/block-alignment-control/ui.cjs +21 -7
- package/build/components/block-alignment-control/ui.cjs.map +3 -3
- package/build/components/block-alignment-control/use-available-alignments.cjs +60 -13
- package/build/components/block-alignment-control/use-available-alignments.cjs.map +2 -2
- package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +2 -2
- package/build/components/block-bindings/attribute-control.cjs +30 -30
- package/build/components/block-bindings/attribute-control.cjs.map +3 -3
- package/build/components/block-bindings/source-fields-list.cjs +27 -32
- package/build/components/block-bindings/source-fields-list.cjs.map +3 -3
- package/build/components/block-canvas/index.cjs.map +2 -2
- package/build/components/block-card/index.cjs +1 -2
- package/build/components/block-card/index.cjs.map +3 -3
- package/build/components/block-edit/edit.cjs.map +2 -2
- package/build/components/block-heading-level-dropdown/index.cjs.map +2 -2
- package/build/components/block-icon/index.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs.map +2 -2
- package/build/components/block-inspector/index.cjs +27 -8
- package/build/components/block-inspector/index.cjs.map +3 -3
- package/build/components/block-keyboard-shortcuts/index.cjs.map +2 -2
- package/build/components/block-list/block-html.cjs +1 -12
- package/build/components/block-list/block-html.cjs.map +3 -3
- package/build/components/block-list/block.cjs +2 -4
- package/build/components/block-list/block.cjs.map +2 -2
- package/build/components/block-list/layout.cjs +1 -1
- package/build/components/block-list/layout.cjs.map +2 -2
- package/build/components/block-list/use-block-props/index.cjs.map +2 -2
- package/build/components/block-lock/modal.cjs +1 -3
- package/build/components/block-lock/modal.cjs.map +2 -2
- package/build/components/block-parent-selector/index.cjs +8 -5
- package/build/components/block-parent-selector/index.cjs.map +2 -2
- package/build/components/block-popover/index.cjs.map +2 -2
- package/build/components/block-rename/modal.cjs.map +2 -2
- package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +2 -2
- package/build/components/block-styles/utils.cjs.map +2 -2
- package/build/components/block-switcher/index.cjs.map +2 -2
- package/build/components/block-toolbar/edit-section-button.cjs.map +2 -2
- package/build/components/block-toolbar/index.cjs +6 -4
- package/build/components/block-toolbar/index.cjs.map +2 -2
- package/build/components/block-toolbar/switch-section-style.cjs.map +2 -2
- package/build/components/block-variation-transforms/index.cjs +28 -18
- package/build/components/block-variation-transforms/index.cjs.map +3 -3
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
- package/build/components/border-radius-control/index.cjs.map +2 -2
- package/build/components/color-palette/with-color-context.cjs.map +2 -2
- package/build/components/colors/with-colors.cjs.map +2 -2
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/contrast-checker/index.cjs.map +2 -2
- package/build/components/date-format-picker/index.cjs.map +2 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +3 -3
- package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
- package/build/components/font-sizes/with-font-sizes.cjs.map +2 -2
- package/build/components/global-styles/background-panel.cjs +1 -1
- package/build/components/global-styles/background-panel.cjs.map +2 -2
- package/build/components/global-styles/border-panel.cjs +1 -1
- package/build/components/global-styles/border-panel.cjs.map +2 -2
- package/build/components/global-styles/color-gradient-dropdown-item.cjs +1 -1
- package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +2 -2
- package/build/components/global-styles/color-panel.cjs +1 -1
- package/build/components/global-styles/color-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +1 -1
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/filters-panel.cjs +1 -1
- package/build/components/global-styles/filters-panel.cjs.map +2 -2
- package/build/components/global-styles/hooks.cjs +1 -0
- package/build/components/global-styles/hooks.cjs.map +2 -2
- package/build/components/global-styles/inheritance/index.cjs +3 -3
- package/build/components/global-styles/inheritance/index.cjs.map +2 -2
- package/build/components/global-styles/inherited-value-context.cjs +0 -5
- package/build/components/global-styles/inherited-value-context.cjs.map +2 -2
- package/build/components/global-styles/state-control-badges.cjs +0 -1
- package/build/components/global-styles/state-control-badges.cjs.map +2 -2
- package/build/components/global-styles/state-control.cjs +6 -4
- package/build/components/global-styles/state-control.cjs.map +2 -2
- package/build/components/global-styles/text-shadow-panel.cjs +254 -0
- package/build/components/global-styles/text-shadow-panel.cjs.map +7 -0
- package/build/components/global-styles/typography-panel.cjs +46 -5
- package/build/components/global-styles/typography-panel.cjs.map +2 -2
- package/build/components/global-styles/typography-utils.cjs.map +2 -2
- package/build/components/global-styles/utils.cjs.map +2 -2
- package/build/components/html-element-control/index.cjs.map +3 -3
- package/build/components/iframe/index.cjs.map +2 -2
- package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
- package/build/components/image-size-control/index.cjs.map +3 -3
- package/build/components/inner-blocks/index.cjs +6 -1
- package/build/components/inner-blocks/index.cjs.map +2 -2
- package/build/components/inner-content/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.cjs +4 -23
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/utils.cjs +26 -0
- package/build/components/inserter/block-patterns-tab/utils.cjs.map +2 -2
- package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
- package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
- package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-panel.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter-list-item/index.cjs.map +2 -2
- package/build/components/inspector-controls/list-view-content-popover.cjs.map +2 -2
- package/build/components/link-control/search-results.cjs.map +2 -2
- package/build/components/link-control/use-search-handler.cjs +3 -0
- package/build/components/link-control/use-search-handler.cjs.map +2 -2
- package/build/components/list-view/branch.cjs.map +2 -2
- package/build/components/list-view/drop-indicator.cjs.map +2 -2
- package/build/components/list-view/index.cjs.map +2 -2
- package/build/components/list-view/use-list-view-drop-zone.cjs.map +2 -2
- package/build/components/list-view/utils.cjs.map +2 -2
- package/build/components/media-replace-flow/index.cjs +4 -1
- package/build/components/media-replace-flow/index.cjs.map +2 -2
- package/build/components/plain-text/index.cjs +1 -2
- package/build/components/plain-text/index.cjs.map +3 -3
- package/build/components/preset-input-control/index.cjs.map +2 -2
- package/build/components/provider/index.cjs +3 -1
- package/build/components/provider/index.cjs.map +2 -2
- package/build/components/provider/use-block-sync.cjs.map +2 -2
- package/build/components/publish-date-time-picker/index.cjs.map +2 -2
- package/build/components/resizable-box-popover/index.cjs +1 -1
- package/build/components/resizable-box-popover/index.cjs.map +1 -1
- package/build/components/resolution-tool/index.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/enter.cjs +8 -22
- package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
- package/build/components/rich-text/format-edit.cjs.map +2 -2
- package/build/components/rich-text/index.cjs +20 -0
- package/build/components/rich-text/index.cjs.map +2 -2
- package/build/components/rich-text/multiline.cjs +10 -2
- package/build/components/rich-text/multiline.cjs.map +2 -2
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.cjs.map +2 -2
- package/build/components/typewriter/index.cjs.map +2 -2
- package/build/components/use-block-commands/index.cjs.map +2 -2
- package/build/components/writing-flow/index.cjs +3 -0
- package/build/components/writing-flow/index.cjs.map +2 -2
- package/build/components/writing-flow/use-clipboard-handler.cjs.map +2 -2
- package/build/components/writing-flow/use-selection-observer.cjs +5 -3
- package/build/components/writing-flow/use-selection-observer.cjs.map +2 -2
- package/build/hooks/align.cjs +3 -5
- package/build/hooks/align.cjs.map +2 -2
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-bindings.cjs.map +2 -2
- package/build/hooks/border.cjs.map +2 -2
- package/build/hooks/contrast-checker.cjs.map +2 -2
- package/build/hooks/dimensions.cjs.map +2 -2
- package/build/hooks/duotone.cjs.map +2 -2
- package/build/hooks/elements.cjs.map +2 -2
- package/build/hooks/fit-text.cjs.map +2 -2
- package/build/hooks/gap.cjs +2 -1
- package/build/hooks/gap.cjs.map +3 -3
- package/build/hooks/index.cjs +4 -2
- package/build/hooks/index.cjs.map +3 -3
- package/build/hooks/layout-child.cjs.map +2 -2
- package/build/hooks/layout.cjs +15 -14
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/position.cjs +3 -31
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/states.cjs +3 -2
- package/build/hooks/states.cjs.map +2 -2
- package/build/hooks/text-shadow.cjs +100 -0
- package/build/hooks/text-shadow.cjs.map +7 -0
- package/build/hooks/typography.cjs +30 -6
- package/build/hooks/typography.cjs.map +2 -2
- package/build/hooks/utils.cjs +24 -2
- package/build/hooks/utils.cjs.map +2 -2
- package/build/layouts/grid.cjs.map +2 -2
- package/build/layouts/utils.cjs +7 -2
- package/build/layouts/utils.cjs.map +2 -2
- package/build/private-apis.cjs +9 -6
- package/build/private-apis.cjs.map +2 -2
- package/build/store/actions.cjs +26 -4
- package/build/store/actions.cjs.map +3 -3
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs.map +2 -2
- package/build/utils/get-font-styles-and-weights.cjs.map +2 -2
- package/build/utils/transform-styles/index.cjs.map +1 -1
- package/build-module/autocompleters/block.mjs.map +2 -2
- package/build-module/components/alignment-control/ui.mjs.map +2 -2
- package/build-module/components/background-image-control/index.mjs +2 -2
- package/build-module/components/background-image-control/index.mjs.map +2 -2
- package/build-module/components/block-alignment-control/ui.mjs +21 -7
- package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
- package/build-module/components/block-alignment-control/use-available-alignments.mjs +56 -13
- package/build-module/components/block-alignment-control/use-available-alignments.mjs.map +2 -2
- package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +2 -2
- package/build-module/components/block-bindings/attribute-control.mjs +31 -32
- package/build-module/components/block-bindings/attribute-control.mjs.map +2 -2
- package/build-module/components/block-bindings/source-fields-list.mjs +25 -30
- package/build-module/components/block-bindings/source-fields-list.mjs.map +2 -2
- package/build-module/components/block-canvas/index.mjs.map +2 -2
- package/build-module/components/block-card/index.mjs +3 -8
- package/build-module/components/block-card/index.mjs.map +2 -2
- package/build-module/components/block-edit/edit.mjs.map +2 -2
- package/build-module/components/block-heading-level-dropdown/index.mjs.map +2 -2
- package/build-module/components/block-icon/index.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +29 -10
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-keyboard-shortcuts/index.mjs.map +2 -2
- package/build-module/components/block-list/block-html.mjs +1 -2
- package/build-module/components/block-list/block-html.mjs.map +2 -2
- package/build-module/components/block-list/block.mjs +2 -4
- package/build-module/components/block-list/block.mjs.map +2 -2
- package/build-module/components/block-list/layout.mjs +1 -1
- package/build-module/components/block-list/layout.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-lock/modal.mjs +1 -3
- package/build-module/components/block-lock/modal.mjs.map +2 -2
- package/build-module/components/block-parent-selector/index.mjs +8 -5
- package/build-module/components/block-parent-selector/index.mjs.map +2 -2
- package/build-module/components/block-popover/index.mjs.map +2 -2
- package/build-module/components/block-rename/modal.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +2 -2
- package/build-module/components/block-styles/utils.mjs.map +2 -2
- package/build-module/components/block-switcher/index.mjs.map +2 -2
- package/build-module/components/block-toolbar/edit-section-button.mjs.map +2 -2
- package/build-module/components/block-toolbar/index.mjs +6 -4
- package/build-module/components/block-toolbar/index.mjs.map +2 -2
- package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
- package/build-module/components/block-variation-transforms/index.mjs +30 -21
- package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/border-radius-control/index.mjs.map +2 -2
- package/build-module/components/color-palette/with-color-context.mjs.map +2 -2
- package/build-module/components/colors/with-colors.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/contrast-checker/index.mjs.map +2 -2
- package/build-module/components/date-format-picker/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
- package/build-module/components/font-sizes/with-font-sizes.mjs.map +2 -2
- package/build-module/components/global-styles/background-panel.mjs +2 -2
- package/build-module/components/global-styles/background-panel.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +2 -2
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +2 -2
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
- package/build-module/components/global-styles/color-panel.mjs +2 -2
- package/build-module/components/global-styles/color-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/filters-panel.mjs +2 -2
- package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
- package/build-module/components/global-styles/hooks.mjs +1 -0
- package/build-module/components/global-styles/hooks.mjs.map +2 -2
- package/build-module/components/global-styles/inheritance/index.mjs +2 -2
- package/build-module/components/global-styles/inheritance/index.mjs.map +2 -2
- package/build-module/components/global-styles/inherited-value-context.mjs +0 -5
- package/build-module/components/global-styles/inherited-value-context.mjs.map +2 -2
- package/build-module/components/global-styles/state-control-badges.mjs +0 -1
- package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
- package/build-module/components/global-styles/state-control.mjs +6 -4
- package/build-module/components/global-styles/state-control.mjs.map +2 -2
- package/build-module/components/global-styles/text-shadow-panel.mjs +224 -0
- package/build-module/components/global-styles/text-shadow-panel.mjs.map +7 -0
- package/build-module/components/global-styles/typography-panel.mjs +47 -6
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/global-styles/typography-utils.mjs.map +2 -2
- package/build-module/components/global-styles/utils.mjs.map +2 -2
- package/build-module/components/html-element-control/index.mjs +2 -2
- package/build-module/components/html-element-control/index.mjs.map +2 -2
- package/build-module/components/iframe/index.mjs.map +2 -2
- package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
- package/build-module/components/image-size-control/index.mjs +2 -2
- package/build-module/components/image-size-control/index.mjs.map +2 -2
- package/build-module/components/inner-blocks/index.mjs +6 -1
- package/build-module/components/inner-blocks/index.mjs.map +2 -2
- package/build-module/components/inner-content/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.mjs +6 -24
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/utils.mjs +25 -0
- package/build-module/components/inserter/block-patterns-tab/utils.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter-list-item/index.mjs.map +2 -2
- package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +2 -2
- package/build-module/components/link-control/search-results.mjs.map +2 -2
- package/build-module/components/link-control/use-search-handler.mjs +3 -0
- package/build-module/components/link-control/use-search-handler.mjs.map +2 -2
- package/build-module/components/list-view/branch.mjs.map +2 -2
- package/build-module/components/list-view/drop-indicator.mjs.map +2 -2
- package/build-module/components/list-view/index.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +2 -2
- package/build-module/components/list-view/utils.mjs.map +2 -2
- package/build-module/components/media-replace-flow/index.mjs +4 -1
- package/build-module/components/media-replace-flow/index.mjs.map +2 -2
- package/build-module/components/plain-text/index.mjs +1 -2
- package/build-module/components/plain-text/index.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/provider/index.mjs +3 -1
- package/build-module/components/provider/index.mjs.map +2 -2
- package/build-module/components/provider/use-block-sync.mjs.map +2 -2
- package/build-module/components/publish-date-time-picker/index.mjs.map +2 -2
- package/build-module/components/resizable-box-popover/index.mjs +1 -1
- package/build-module/components/resizable-box-popover/index.mjs.map +1 -1
- package/build-module/components/resolution-tool/index.mjs +2 -2
- package/build-module/components/resolution-tool/index.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +8 -22
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/format-edit.mjs.map +2 -2
- package/build-module/components/rich-text/index.mjs +21 -0
- package/build-module/components/rich-text/index.mjs.map +2 -2
- package/build-module/components/rich-text/multiline.mjs +11 -3
- package/build-module/components/rich-text/multiline.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.mjs.map +2 -2
- package/build-module/components/typewriter/index.mjs.map +2 -2
- package/build-module/components/use-block-commands/index.mjs.map +2 -2
- package/build-module/components/writing-flow/index.mjs +3 -0
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/writing-flow/use-selection-observer.mjs +5 -3
- package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
- package/build-module/hooks/align.mjs +6 -6
- package/build-module/hooks/align.mjs.map +2 -2
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-bindings.mjs.map +2 -2
- package/build-module/hooks/border.mjs.map +2 -2
- package/build-module/hooks/contrast-checker.mjs.map +2 -2
- package/build-module/hooks/dimensions.mjs.map +2 -2
- package/build-module/hooks/duotone.mjs.map +2 -2
- package/build-module/hooks/elements.mjs.map +2 -2
- package/build-module/hooks/fit-text.mjs.map +2 -2
- package/build-module/hooks/gap.mjs +2 -1
- package/build-module/hooks/gap.mjs.map +2 -2
- package/build-module/hooks/index.mjs +4 -2
- package/build-module/hooks/index.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +6 -5
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/position.mjs +5 -33
- package/build-module/hooks/position.mjs.map +2 -2
- package/build-module/hooks/states.mjs +3 -2
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/text-shadow.mjs +65 -0
- package/build-module/hooks/text-shadow.mjs.map +7 -0
- package/build-module/hooks/typography.mjs +30 -6
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/hooks/utils.mjs +24 -2
- package/build-module/hooks/utils.mjs.map +2 -2
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/layouts/utils.mjs +5 -1
- package/build-module/layouts/utils.mjs.map +2 -2
- package/build-module/private-apis.mjs +6 -2
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +28 -5
- package/build-module/store/actions.mjs.map +3 -3
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-module/utils/get-font-styles-and-weights.mjs.map +2 -2
- package/build-module/utils/transform-styles/index.mjs.map +1 -1
- package/build-style/content-rtl.css +7 -2
- package/build-style/content.css +7 -2
- package/build-style/style-rtl.css +90 -25
- package/build-style/style.css +92 -25
- package/package.json +42 -43
- package/src/autocompleters/block.jsx +4 -4
- package/src/components/alignment-control/ui.jsx +1 -1
- package/src/components/background-image-control/index.jsx +3 -3
- package/src/components/block-alignment-control/test/index.jsdom.test.jsx +267 -0
- package/src/components/block-alignment-control/ui.jsx +47 -9
- package/src/components/block-alignment-control/use-available-alignments.js +106 -20
- package/src/components/block-allowed-blocks/allowed-blocks-control.jsx +1 -1
- package/src/components/block-bindings/attribute-control.jsx +27 -29
- package/src/components/block-bindings/source-fields-list.jsx +22 -32
- package/src/components/block-bindings/test/attribute-control.jsdom.test.jsx +115 -0
- package/src/components/block-canvas/index.jsx +1 -1
- package/src/components/block-card/index.jsx +5 -11
- package/src/components/block-card/style.scss +1 -0
- package/src/components/block-edit/edit.jsx +1 -1
- package/src/components/block-heading-level-dropdown/index.jsx +1 -1
- package/src/components/block-icon/index.jsx +1 -1
- package/src/components/block-icon/test/index.browser.test.jsx +74 -0
- package/src/components/block-inspector/edit-contents.jsx +2 -2
- package/src/components/block-inspector/index.jsx +46 -15
- package/src/components/block-inspector/style.scss +16 -0
- package/src/components/block-keyboard-shortcuts/index.jsx +2 -2
- package/src/components/block-list/block-html.jsx +2 -3
- package/src/components/block-list/block.jsx +7 -5
- package/src/components/block-list/content.scss +3 -2
- package/src/components/block-list/layout.jsx +4 -1
- package/src/components/block-list/test/layout.jsdom.test.js +40 -0
- package/src/components/block-list/use-block-props/index.js +1 -1
- package/src/components/block-lock/modal.jsx +2 -3
- package/src/components/block-lock/style.scss +1 -1
- package/src/components/block-mover/style.scss +0 -13
- package/src/components/block-parent-selector/index.jsx +12 -6
- package/src/components/block-patterns-list/style.scss +1 -1
- package/src/components/block-popover/index.jsx +1 -1
- package/src/components/block-rename/modal.jsx +3 -3
- package/src/components/block-settings-menu/block-settings-dropdown.jsx +1 -1
- package/src/components/block-styles/utils.js +1 -1
- package/src/components/block-switcher/index.jsx +3 -3
- package/src/components/block-toolbar/edit-section-button.jsx +2 -2
- package/src/components/block-toolbar/index.jsx +8 -4
- package/src/components/block-toolbar/switch-section-style.jsx +1 -1
- package/src/components/block-variation-transforms/index.jsx +24 -23
- package/src/components/block-variation-transforms/test/index.jsdom.test.jsx +93 -0
- package/src/components/block-visibility/modal.jsx +7 -7
- package/src/components/block-visibility/style.scss +1 -1
- package/src/components/block-visibility/viewport-visibility-info.jsx +5 -7
- package/src/components/border-radius-control/index.jsx +2 -2
- package/src/components/border-radius-control/test/index.jsdom.test.jsx +0 -22
- package/src/components/border-radius-control/test/select.browser.test.js +30 -0
- package/src/components/color-palette/with-color-context.jsx +1 -1
- package/src/components/colors/with-colors.jsx +1 -1
- package/src/components/colors-gradients/control.jsx +2 -2
- package/src/components/colors-gradients/test/{control.jsdom.test.jsx → control.browser.test.jsx} +6 -9
- package/src/components/contrast-checker/index.jsx +2 -2
- package/src/components/date-format-picker/index.jsx +2 -2
- package/src/components/dimensions-tool/aspect-ratio-tool.jsx +4 -4
- package/src/components/dimensions-tool/test/index.jsdom.test.jsx +17 -11
- package/src/components/dimensions-tool/width-height-tool.jsx +2 -2
- package/src/components/font-sizes/with-font-sizes.jsx +2 -3
- package/src/components/global-styles/background-panel.jsx +2 -2
- package/src/components/global-styles/border-panel.jsx +2 -2
- package/src/components/global-styles/color-gradient-dropdown-item.jsx +3 -3
- package/src/components/global-styles/color-panel.jsx +3 -3
- package/src/components/global-styles/dimensions-panel.jsx +6 -6
- package/src/components/global-styles/filters-panel.jsx +2 -2
- package/src/components/global-styles/hooks.js +1 -0
- package/src/components/global-styles/inheritance/index.jsx +9 -6
- package/src/components/global-styles/inheritance/test/{index.jsdom.test.jsx → index.browser.test.jsx} +34 -28
- package/src/components/global-styles/inherited-value-context.js +1 -9
- package/src/components/global-styles/state-control-badges.jsx +0 -1
- package/src/components/global-styles/state-control.jsx +12 -3
- package/src/components/global-styles/style.scss +68 -0
- package/src/components/global-styles/test/{color-panel.jsdom.test.jsx → color-panel.browser.test.jsx} +53 -54
- package/src/components/global-styles/test/inherited-value-context-core.jsdom.test.js +17 -26
- package/src/components/global-styles/test/{typography-panel-core.jsdom.test.jsx → typography-panel-core.browser.test.jsx} +84 -39
- package/src/components/global-styles/test/{typography-panel.jsdom.test.jsx → typography-panel.browser.test.jsx} +80 -122
- package/src/components/global-styles/text-shadow-panel.tsx +257 -0
- package/src/components/global-styles/typography-panel.jsx +52 -13
- package/src/components/global-styles/typography-utils.js +2 -2
- package/src/components/global-styles/utils.js +1 -1
- package/src/components/html-element-control/index.jsx +2 -2
- package/src/components/iframe/index.jsx +1 -1
- package/src/components/iframe/use-scale-canvas.js +1 -1
- package/src/components/image-size-control/index.jsx +2 -2
- package/src/components/inner-blocks/index.jsx +9 -1
- package/src/components/inner-content/index.jsx +1 -1
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +7 -33
- package/src/components/inserter/block-patterns-tab/utils.js +44 -0
- package/src/components/inserter/hooks/use-block-types-state.js +2 -2
- package/src/components/inserter/hooks/use-insertion-point.js +1 -1
- package/src/components/inserter/hooks/use-patterns-state.js +1 -1
- package/src/components/inserter/media-tab/media-panel.jsx +9 -9
- package/src/components/inserter/media-tab/media-preview.jsx +1 -1
- package/src/components/inserter-list-item/index.jsx +1 -1
- package/src/components/inserter-list-item/style.scss +2 -2
- package/src/components/inspector-controls/list-view-content-popover.jsx +1 -1
- package/src/components/link-control/search-results.jsx +1 -1
- package/src/components/link-control/style.scss +1 -1
- package/src/components/link-control/test/index.jsdom.test.jsx +38 -110
- package/src/components/link-control/test/keyboard-selection.browser.test.js +110 -0
- package/src/components/link-control/use-search-handler.js +8 -3
- package/src/components/list-view/branch.jsx +1 -1
- package/src/components/list-view/drop-indicator.jsx +3 -3
- package/src/components/list-view/index.jsx +1 -1
- package/src/components/list-view/style.scss +1 -9
- package/src/components/list-view/use-list-view-drop-zone.js +1 -1
- package/src/components/list-view/utils.js +1 -1
- package/src/components/media-replace-flow/index.jsx +4 -1
- package/src/components/navigable-toolbar/test/index.browser.test.js +6 -7
- package/src/components/plain-text/README.md +3 -2
- package/src/components/plain-text/content.scss +0 -1
- package/src/components/plain-text/index.jsx +2 -3
- package/src/components/plain-text/style.scss +4 -0
- package/src/components/preset-input-control/index.jsx +2 -2
- package/src/components/preset-input-control/test/index.jsdom.test.jsx +0 -56
- package/src/components/preset-input-control/test/interaction.browser.test.js +63 -0
- package/src/components/provider/index.jsx +5 -3
- package/src/components/provider/use-block-sync.js +5 -5
- package/src/components/publish-date-time-picker/index.jsx +1 -1
- package/src/components/resizable-box-popover/index.jsx +1 -1
- package/src/components/resolution-tool/index.jsx +2 -2
- package/src/components/responsive-block-control/style.scss +1 -2
- package/src/components/responsive-block-control/test/index.jsdom.test.jsx +2 -2
- package/src/components/rich-text/event-listeners/enter.js +16 -23
- package/src/components/rich-text/format-edit.jsx +1 -1
- package/src/components/rich-text/index.jsx +39 -2
- package/src/components/rich-text/multiline.jsx +11 -3
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
- package/src/components/spacing-sizes-control/test/index.jsdom.test.jsx +0 -21
- package/src/components/spacing-sizes-control/test/select.browser.test.js +58 -0
- package/src/components/typewriter/index.jsx +1 -1
- package/src/components/url-input/test/fixtures/validated-input-control-deprecation.js +1 -1
- package/src/components/use-block-commands/index.js +1 -1
- package/src/components/use-block-drop-zone/test/index.js +2 -2
- package/src/components/writing-flow/index.jsx +8 -0
- package/src/components/writing-flow/use-clipboard-handler.js +1 -1
- package/src/components/writing-flow/use-selection-observer.js +15 -6
- package/src/content.scss +1 -0
- package/src/hooks/align.jsx +22 -6
- package/src/hooks/background.jsx +1 -1
- package/src/hooks/block-bindings.jsx +1 -1
- package/src/hooks/block-hooks.scss +0 -6
- package/src/hooks/border.jsx +2 -2
- package/src/hooks/contrast-checker.js +1 -1
- package/src/hooks/dimensions.jsx +2 -2
- package/src/hooks/duotone.jsx +3 -3
- package/src/hooks/elements.jsx +3 -3
- package/src/hooks/fit-text.jsx +1 -1
- package/src/hooks/gap.js +2 -4
- package/src/hooks/index.js +3 -1
- package/src/hooks/layout-child.jsx +3 -4
- package/src/hooks/layout.jsx +17 -18
- package/src/hooks/position.jsx +5 -36
- package/src/hooks/states.jsx +6 -2
- package/src/hooks/test/layout.jsdom.test.js +44 -1
- package/src/hooks/text-shadow.ts +105 -0
- package/src/hooks/typography.jsx +58 -30
- package/src/hooks/utils.jsx +23 -1
- package/src/layouts/grid.jsx +2 -2
- package/src/layouts/test/flex.jsdom.test.jsx +4 -3
- package/src/layouts/test/utils.js +48 -1
- package/src/layouts/utils.js +19 -0
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +50 -10
- package/src/store/private-selectors.js +5 -5
- package/src/store/reducer.js +6 -6
- package/src/store/selectors.js +3 -3
- package/src/store/test/actions.jsdom.test.js +60 -0
- package/src/style.scss +1 -0
- package/src/utils/get-font-styles-and-weights.ts +1 -1
- package/src/utils/transform-styles/index.ts +1 -1
- package/build/hooks/cross-origin-isolation.cjs +0 -56
- package/build/hooks/cross-origin-isolation.cjs.map +0 -7
- package/build-module/hooks/cross-origin-isolation.mjs +0 -54
- package/build-module/hooks/cross-origin-isolation.mjs.map +0 -7
- package/src/components/block-icon/test/__snapshots__/index.jsdom.test.jsx.snap +0 -27
- package/src/components/block-icon/test/index.jsdom.test.jsx +0 -67
- package/src/hooks/cross-origin-isolation.js +0 -73
- package/src/hooks/test/cross-origin-isolation.jsdom.test.js +0 -173
|
@@ -40,13 +40,13 @@ var import_components = require("@wordpress/components");
|
|
|
40
40
|
var import_data = require("@wordpress/data");
|
|
41
41
|
var import_element = require("@wordpress/element");
|
|
42
42
|
var import_compose = require("@wordpress/compose");
|
|
43
|
+
var import_ui = require("@wordpress/ui");
|
|
43
44
|
var import_block_context = __toESM(require("../block-context/index.cjs"));
|
|
44
45
|
var import_source_fields_list = __toESM(require("./source-fields-list.cjs"));
|
|
45
46
|
var import_use_block_bindings_utils = __toESM(require("./use-block-bindings-utils.cjs"));
|
|
46
47
|
var import_lock_unlock = require("../../lock-unlock.cjs");
|
|
47
48
|
var import_store = require("../../store/index.cjs");
|
|
48
49
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
49
|
-
var { Menu } = (0, import_lock_unlock.unlock)(import_components.privateApis);
|
|
50
50
|
function BlockBindingsAttributeControl({
|
|
51
51
|
attribute,
|
|
52
52
|
binding,
|
|
@@ -123,37 +123,37 @@ function BlockBindingsAttributeControl({
|
|
|
123
123
|
[attribute]: void 0
|
|
124
124
|
});
|
|
125
125
|
}),
|
|
126
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Menu, {
|
|
127
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
128
|
-
|
|
126
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Menu.Root, { disabled: !hasCompatibleFields, children: [
|
|
127
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Menu.Trigger, { render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalItem, {}), children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
128
|
+
import_components.__experimentalVStack,
|
|
129
129
|
{
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
children:
|
|
133
|
-
import_components.
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
isDestructive: !isValid,
|
|
145
|
-
children: displayText
|
|
146
|
-
}
|
|
147
|
-
)
|
|
148
|
-
]
|
|
149
|
-
}
|
|
150
|
-
)
|
|
130
|
+
className: "block-editor-bindings__item",
|
|
131
|
+
spacing: 0,
|
|
132
|
+
children: [
|
|
133
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalText, { truncate: true, children: attribute }),
|
|
134
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
135
|
+
import_components.__experimentalText,
|
|
136
|
+
{
|
|
137
|
+
truncate: true,
|
|
138
|
+
variant: isValid ? "muted" : void 0,
|
|
139
|
+
isDestructive: !isValid,
|
|
140
|
+
children: displayText
|
|
141
|
+
}
|
|
142
|
+
)
|
|
143
|
+
]
|
|
151
144
|
}
|
|
152
|
-
),
|
|
153
|
-
!isAttributeReadOnly && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
154
|
-
Menu,
|
|
145
|
+
) }),
|
|
146
|
+
!isAttributeReadOnly && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
147
|
+
import_ui.Menu.Popup,
|
|
155
148
|
{
|
|
156
|
-
|
|
149
|
+
positioner: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
150
|
+
import_ui.Menu.Positioner,
|
|
151
|
+
{
|
|
152
|
+
side: isMobile ? "bottom" : "inline-start",
|
|
153
|
+
align: "start",
|
|
154
|
+
sideOffset: isMobile ? 8 : 36
|
|
155
|
+
}
|
|
156
|
+
),
|
|
157
157
|
children: Object.entries(compatibleFields).map(
|
|
158
158
|
([sourceKey, fields]) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
159
159
|
import_source_fields_list.default,
|
|
@@ -167,7 +167,7 @@ function BlockBindingsAttributeControl({
|
|
|
167
167
|
)
|
|
168
168
|
)
|
|
169
169
|
}
|
|
170
|
-
)
|
|
170
|
+
)
|
|
171
171
|
] })
|
|
172
172
|
}
|
|
173
173
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/block-bindings/attribute-control.jsx"],
|
|
4
|
-
"sourcesContent": ["import fastDeepEqual from 'fast-deep-equal/es6/index.js';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockBindingsSource,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\t__experimentalItem as Item,\n\t__experimentalText as WCText,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA0B;AAC1B,kBAAmB;AACnB,oBAGO;AACP,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import fastDeepEqual from 'fast-deep-equal/es6/index.js';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockBindingsSource,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\t__experimentalItem as Item,\n\t__experimentalText as WCText,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\n// eslint-disable-next-line @wordpress/use-recommended-components -- Intentional early adoption of the new Menu, pending WordPress/gutenberg#76135.\nimport { Menu } from '@wordpress/ui';\nimport BlockContext from '../block-context';\nimport BlockBindingsSourceFieldsList from './source-fields-list';\nimport useBlockBindingsUtils from './use-block-bindings-utils';\nimport { unlock } from '../../lock-unlock';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Renders a control for viewing and editing a block attribute binding.\n *\n * @param {Object} root0 Component props.\n * @param {string} root0.attribute The block attribute name.\n * @param {Object} [root0.binding] The current block binding.\n * @param {string} root0.blockName The block type name.\n *\n * @return {Element} The block attribute binding control.\n */\nexport default function BlockBindingsAttributeControl( {\n\tattribute,\n\tbinding,\n\tblockName,\n} ) {\n\tconst { updateBlockBindings } = useBlockBindingsUtils();\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\tconst blockContext = useContext( BlockContext );\n\tconst compatibleFields = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetAllBlockBindingsSources,\n\t\t\t\tgetBlockBindingsSourceFieldsList,\n\t\t\t\tgetBlockType,\n\t\t\t} = unlock( select( blocksStore ) );\n\n\t\t\tconst _attribute =\n\t\t\t\tgetBlockType( blockName ).attributes?.[ attribute ];\n\n\t\t\tif ( _attribute?.enum ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst attributeType =\n\t\t\t\t_attribute?.type === 'rich-text' ? 'string' : _attribute?.type;\n\n\t\t\tconst sourceFields = {};\n\t\t\tObject.entries( getAllBlockBindingsSources() ).forEach(\n\t\t\t\t( [ sourceName, source ] ) => {\n\t\t\t\t\tconst fieldsList = getBlockBindingsSourceFieldsList(\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\tblockContext\n\t\t\t\t\t);\n\t\t\t\t\tif ( ! fieldsList?.length ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst compatibleFieldsList = fieldsList.filter(\n\t\t\t\t\t\t( field ) => field.type === attributeType\n\t\t\t\t\t);\n\t\t\t\t\tif ( compatibleFieldsList.length ) {\n\t\t\t\t\t\tsourceFields[ sourceName ] = compatibleFieldsList;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn sourceFields;\n\t\t},\n\t\t[ attribute, blockName, blockContext ]\n\t);\n\n\tconst { canUpdateBlockBindings } = useSelect( ( select ) => ( {\n\t\tcanUpdateBlockBindings:\n\t\t\tselect( blockEditorStore ).getSettings().canUpdateBlockBindings,\n\t} ) );\n\n\tconst hasCompatibleFields = Object.keys( compatibleFields ).length > 0;\n\n\t// Lock the UI when the user can't update bindings or there are no fields to connect to.\n\tconst isAttributeReadOnly =\n\t\t! canUpdateBlockBindings || ! hasCompatibleFields;\n\n\tconst { source: boundSourceName, args } = binding || {};\n\tconst source = getBlockBindingsSource( boundSourceName );\n\n\tlet displayText;\n\tlet isValid = true;\n\n\tif ( binding === undefined ) {\n\t\tif ( ! hasCompatibleFields ) {\n\t\t\tdisplayText = __( 'No sources available' );\n\t\t} else {\n\t\t\tdisplayText = __( 'Not connected' );\n\t\t}\n\t\tisValid = true;\n\t} else if ( ! source ) {\n\t\t// If there's a binding but the source is not found, it's invalid.\n\t\tisValid = false;\n\t\tdisplayText = __( 'Source not registered' );\n\t} else {\n\t\tdisplayText =\n\t\t\tcompatibleFields?.[ boundSourceName ]?.find( ( field ) =>\n\t\t\t\tfastDeepEqual( field.args, args )\n\t\t\t)?.label ||\n\t\t\tsource?.label ||\n\t\t\tboundSourceName;\n\t}\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => !! binding }\n\t\t\tlabel={ attribute }\n\t\t\tonDeselect={\n\t\t\t\t!! hasCompatibleFields &&\n\t\t\t\t( () => {\n\t\t\t\t\tupdateBlockBindings( {\n\t\t\t\t\t\t[ attribute ]: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t}\n\t\t>\n\t\t\t<Menu.Root disabled={ ! hasCompatibleFields }>\n\t\t\t\t<Menu.Trigger render={ <Item /> }>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"block-editor-bindings__item\"\n\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCText truncate>{ attribute }</WCText>\n\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\ttruncate\n\t\t\t\t\t\t\tvariant={ isValid ? 'muted' : undefined }\n\t\t\t\t\t\t\tisDestructive={ ! isValid }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ displayText }\n\t\t\t\t\t\t</WCText>\n\t\t\t\t\t</VStack>\n\t\t\t\t</Menu.Trigger>\n\t\t\t\t{ ! isAttributeReadOnly && (\n\t\t\t\t\t<Menu.Popup\n\t\t\t\t\t\tpositioner={\n\t\t\t\t\t\t\t<Menu.Positioner\n\t\t\t\t\t\t\t\tside={ isMobile ? 'bottom' : 'inline-start' }\n\t\t\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\t\t\tsideOffset={ isMobile ? 8 : 36 }\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\t\t{ Object.entries( compatibleFields ).map(\n\t\t\t\t\t\t\t( [ sourceKey, fields ] ) => (\n\t\t\t\t\t\t\t\t<BlockBindingsSourceFieldsList\n\t\t\t\t\t\t\t\t\tkey={ sourceKey }\n\t\t\t\t\t\t\t\t\targs={ binding?.args }\n\t\t\t\t\t\t\t\t\tattribute={ attribute }\n\t\t\t\t\t\t\t\t\tsourceKey={ sourceKey }\n\t\t\t\t\t\t\t\t\tfields={ fields }\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</Menu.Popup>\n\t\t\t\t) }\n\t\t\t</Menu.Root>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["useBlockBindingsUtils", "BlockContext", "blocksStore", "source", "blockEditorStore", "fastDeepEqual", "ToolsPanelItem", "Item", "VStack", "WCText", "BlockBindingsSourceFieldsList"]
|
|
7
7
|
}
|
|
@@ -35,15 +35,13 @@ __export(source_fields_list_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(source_fields_list_exports);
|
|
36
36
|
var import_es6 = __toESM(require("fast-deep-equal/es6/index.js"));
|
|
37
37
|
var import_blocks = require("@wordpress/blocks");
|
|
38
|
-
var import_components = require("@wordpress/components");
|
|
39
38
|
var import_data = require("@wordpress/data");
|
|
40
39
|
var import_element = require("@wordpress/element");
|
|
41
40
|
var import_compose = require("@wordpress/compose");
|
|
41
|
+
var import_ui = require("@wordpress/ui");
|
|
42
42
|
var import_use_block_bindings_utils = __toESM(require("./use-block-bindings-utils.cjs"));
|
|
43
|
-
var import_lock_unlock = require("../../lock-unlock.cjs");
|
|
44
43
|
var import_block_context = __toESM(require("../block-context/index.cjs"));
|
|
45
44
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
46
|
-
var { Menu } = (0, import_lock_unlock.unlock)(import_components.privateApis);
|
|
47
45
|
function BlockBindingsSourceFieldsListItem({
|
|
48
46
|
args,
|
|
49
47
|
attribute,
|
|
@@ -73,28 +71,18 @@ function BlockBindingsSourceFieldsListItem({
|
|
|
73
71
|
);
|
|
74
72
|
const { updateBlockBindings } = (0, import_use_block_bindings_utils.default)();
|
|
75
73
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
76
|
-
Menu.CheckboxItem,
|
|
74
|
+
import_ui.Menu.CheckboxItem,
|
|
77
75
|
{
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
updateBlockBindings({
|
|
83
|
-
[attribute]: void 0
|
|
84
|
-
});
|
|
85
|
-
} else {
|
|
86
|
-
updateBlockBindings({
|
|
87
|
-
[attribute]: itemBindings
|
|
88
|
-
});
|
|
89
|
-
}
|
|
76
|
+
onCheckedChange: (checked) => {
|
|
77
|
+
updateBlockBindings({
|
|
78
|
+
[attribute]: checked ? itemBindings : void 0
|
|
79
|
+
});
|
|
90
80
|
},
|
|
91
|
-
name: attribute + "-binding",
|
|
92
|
-
value: values[attribute],
|
|
93
81
|
checked: (0, import_es6.default)(args, field.args) ?? // Deprecate key dependency in 7.0.
|
|
94
82
|
field.key === args?.key,
|
|
95
83
|
children: [
|
|
96
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.ItemLabel, { children: field.label }),
|
|
97
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.
|
|
84
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Menu.ItemLabel, { children: field.label }),
|
|
85
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Menu.ItemDescription, { children: values[attribute] })
|
|
98
86
|
]
|
|
99
87
|
}
|
|
100
88
|
);
|
|
@@ -110,13 +98,21 @@ function BlockBindingsSourceFieldsList({
|
|
|
110
98
|
return null;
|
|
111
99
|
}
|
|
112
100
|
const source = (0, import_blocks.getBlockBindingsSource)(sourceKey);
|
|
113
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
114
|
-
Menu,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Menu.SubmenuRoot, { children: [
|
|
102
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Menu.SubmenuTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Menu.ItemLabel, { children: source.label }) }),
|
|
103
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
104
|
+
import_ui.Menu.Popup,
|
|
105
|
+
{
|
|
106
|
+
positioner: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
107
|
+
import_ui.Menu.Positioner,
|
|
108
|
+
{
|
|
109
|
+
side: isMobile ? "bottom" : "inline-start",
|
|
110
|
+
align: "start",
|
|
111
|
+
sideOffset: 8,
|
|
112
|
+
alignOffset: -4
|
|
113
|
+
}
|
|
114
|
+
),
|
|
115
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Menu.Group, { children: fields.map((field) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
120
116
|
BlockBindingsSourceFieldsListItem,
|
|
121
117
|
{
|
|
122
118
|
args,
|
|
@@ -126,10 +122,9 @@ function BlockBindingsSourceFieldsList({
|
|
|
126
122
|
sourceKey
|
|
127
123
|
},
|
|
128
124
|
sourceKey + JSON.stringify(field.args) || field.key
|
|
129
|
-
)) })
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
);
|
|
125
|
+
)) })
|
|
126
|
+
}
|
|
127
|
+
)
|
|
128
|
+
] }, sourceKey);
|
|
134
129
|
}
|
|
135
130
|
//# sourceMappingURL=source-fields-list.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/block-bindings/source-fields-list.jsx"],
|
|
4
|
-
"sourcesContent": ["import fastDeepEqual from 'fast-deep-equal/es6/index.js';\nimport { getBlockBindingsSource } from '@wordpress/blocks';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA0B;AAC1B,oBAAuC;AACvC,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import fastDeepEqual from 'fast-deep-equal/es6/index.js';\nimport { getBlockBindingsSource } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\n// eslint-disable-next-line @wordpress/use-recommended-components -- Intentional early adoption of the new Menu, pending WordPress/gutenberg#76135.\nimport { Menu } from '@wordpress/ui';\nimport useBlockBindingsUtils from './use-block-bindings-utils';\nimport BlockContext from '../block-context';\n\nfunction BlockBindingsSourceFieldsListItem( {\n\targs,\n\tattribute,\n\tfield,\n\tsource,\n\tsourceKey,\n} ) {\n\tconst itemBindings = useMemo(\n\t\t() => ( {\n\t\t\tsource: sourceKey,\n\t\t\targs: field.args || {\n\t\t\t\tkey: field.key,\n\t\t\t},\n\t\t} ),\n\t\t[ field.args, field.key, sourceKey ]\n\t);\n\n\tconst blockContext = useContext( BlockContext );\n\tconst values = useSelect(\n\t\t( select ) =>\n\t\t\tsource.getValues( {\n\t\t\t\tselect,\n\t\t\t\tcontext: blockContext,\n\t\t\t\tbindings: {\n\t\t\t\t\t[ attribute ]: itemBindings,\n\t\t\t\t},\n\t\t\t} ),\n\t\t[ attribute, blockContext, itemBindings, source ]\n\t);\n\tconst { updateBlockBindings } = useBlockBindingsUtils();\n\n\treturn (\n\t\t<Menu.CheckboxItem\n\t\t\tonCheckedChange={ ( checked ) => {\n\t\t\t\tupdateBlockBindings( {\n\t\t\t\t\t[ attribute ]: checked ? itemBindings : undefined,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tchecked={\n\t\t\t\tfastDeepEqual( args, field.args ) ??\n\t\t\t\t// Deprecate key dependency in 7.0.\n\t\t\t\tfield.key === args?.key\n\t\t\t}\n\t\t>\n\t\t\t<Menu.ItemLabel>{ field.label }</Menu.ItemLabel>\n\t\t\t<Menu.ItemDescription>{ values[ attribute ] }</Menu.ItemDescription>\n\t\t</Menu.CheckboxItem>\n\t);\n}\n\nexport default function BlockBindingsSourceFieldsList( {\n\targs,\n\tattribute,\n\tsourceKey,\n\tfields,\n} ) {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\t// Only render source if it has compatible fields.\n\tif ( ! fields || fields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst source = getBlockBindingsSource( sourceKey );\n\n\treturn (\n\t\t<Menu.SubmenuRoot key={ sourceKey }>\n\t\t\t<Menu.SubmenuTrigger>\n\t\t\t\t<Menu.ItemLabel>{ source.label }</Menu.ItemLabel>\n\t\t\t</Menu.SubmenuTrigger>\n\t\t\t<Menu.Popup\n\t\t\t\tpositioner={\n\t\t\t\t\t<Menu.Positioner\n\t\t\t\t\t\tside={ isMobile ? 'bottom' : 'inline-start' }\n\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\tsideOffset={ 8 }\n\t\t\t\t\t\talignOffset={ -4 }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Menu.Group>\n\t\t\t\t\t{ fields.map( ( field ) => (\n\t\t\t\t\t\t<BlockBindingsSourceFieldsListItem\n\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\tsourceKey + JSON.stringify( field.args ) ||\n\t\t\t\t\t\t\t\tfield.key\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\targs={ args }\n\t\t\t\t\t\t\tattribute={ attribute }\n\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\tsource={ source }\n\t\t\t\t\t\t\tsourceKey={ sourceKey }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Menu.Group>\n\t\t\t</Menu.Popup>\n\t\t</Menu.SubmenuRoot>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA0B;AAC1B,oBAAuC;AACvC,kBAA0B;AAC1B,qBAAoC;AACpC,qBAAiC;AAEjC,gBAAqB;AACrB,sCAAkC;AAClC,2BAAyB;AAkCvB;AAhCF,SAAS,kCAAmC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,mBAAe;AAAA,IACpB,OAAQ;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,MAAM,QAAQ;AAAA,QACnB,KAAK,MAAM;AAAA,MACZ;AAAA,IACD;AAAA,IACA,CAAE,MAAM,MAAM,MAAM,KAAK,SAAU;AAAA,EACpC;AAEA,QAAM,mBAAe,2BAAY,qBAAAA,OAAa;AAC9C,QAAM,aAAS;AAAA,IACd,CAAE,WACD,OAAO,UAAW;AAAA,MACjB;AAAA,MACA,SAAS;AAAA,MACT,UAAU;AAAA,QACT,CAAE,SAAU,GAAG;AAAA,MAChB;AAAA,IACD,CAAE;AAAA,IACH,CAAE,WAAW,cAAc,cAAc,MAAO;AAAA,EACjD;AACA,QAAM,EAAE,oBAAoB,QAAI,gCAAAC,SAAsB;AAEtD,SACC;AAAA,IAAC,eAAK;AAAA,IAAL;AAAA,MACA,iBAAkB,CAAE,YAAa;AAChC,4BAAqB;AAAA,UACpB,CAAE,SAAU,GAAG,UAAU,eAAe;AAAA,QACzC,CAAE;AAAA,MACH;AAAA,MACA,aACC,WAAAC,SAAe,MAAM,MAAM,IAAK;AAAA,MAEhC,MAAM,QAAQ,MAAM;AAAA,MAGrB;AAAA,oDAAC,eAAK,WAAL,EAAiB,gBAAM,OAAO;AAAA,QAC/B,4CAAC,eAAK,iBAAL,EAAuB,iBAAQ,SAAU,GAAG;AAAA;AAAA;AAAA,EAC9C;AAEF;AAEe,SAAR,8BAAgD;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,eAAW,iCAAkB,UAAU,GAAI;AAGjD,MAAK,CAAE,UAAU,OAAO,WAAW,GAAI;AACtC,WAAO;AAAA,EACR;AAEA,QAAM,aAAS,sCAAwB,SAAU;AAEjD,SACC,6CAAC,eAAK,aAAL,EACA;AAAA,gDAAC,eAAK,gBAAL,EACA,sDAAC,eAAK,WAAL,EAAiB,iBAAO,OAAO,GACjC;AAAA,IACA;AAAA,MAAC,eAAK;AAAA,MAAL;AAAA,QACA,YACC;AAAA,UAAC,eAAK;AAAA,UAAL;AAAA,YACA,MAAO,WAAW,WAAW;AAAA,YAC7B,OAAM;AAAA,YACN,YAAa;AAAA,YACb,aAAc;AAAA;AAAA,QACf;AAAA,QAGD,sDAAC,eAAK,OAAL,EACE,iBAAO,IAAK,CAAE,UACf;AAAA,UAAC;AAAA;AAAA,YAKA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,UAPC,YAAY,KAAK,UAAW,MAAM,IAAK,KACvC,MAAM;AAAA,QAOR,CACC,GACH;AAAA;AAAA,IACD;AAAA,OA7BuB,SA8BxB;AAEF;",
|
|
6
|
+
"names": ["BlockContext", "useBlockBindingsUtils", "fastDeepEqual"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/block-canvas/index.jsx"],
|
|
4
|
-
"sourcesContent": ["import { useMergeRefs, useViewportMatch } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { createSlotFill } from '@wordpress/components';\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset, useTypingObserver } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useBlockCommands } from '../use-block-commands';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport const BlockCanvasCover = createSlotFill( Symbol( 'BlockCanvasCover' ) );\n\nfunction BlockCanvasCoverWrapper( { children } ) {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-canvas-cover\"\n\t\t\tstyle={ {\n\t\t\t\tposition: 'absolute',\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\twidth: '100%',\n\t\t\t\theight: '100%',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\n// EditorStyles is a memoized component, so avoid passing a new\n// object reference on each render.\nconst EDITOR_STYLE_TRANSFORM_OPTIONS = {\n\t// Don't transform selectors that already specify `.editor-styles-wrapper`.\n\tignoredSelectors: [ /\\.editor-styles-wrapper/gi ],\n};\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tuseBlockCommands();\n\tconst isTabletViewport = useViewportMatch( 'medium', '<' );\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\t// Attached to the same node as the writing flow ref: the iframe body,\n\t// or the WritingFlow element when the canvas is not iframed.\n\tconst contentRef = useMergeRefs( [\n\t\tcontentRefProp,\n\t\tclearerRef,\n\t\tlocalRef,\n\t\tuseTypingObserver(),\n\t] );\n\tconst zoomLevel = useSelect(\n\t\t( select ) => unlock( select( blockEditorStore ) ).getZoomLevel(),\n\t\t[]\n\t);\n\tconst zoomOutIframeProps =\n\t\tzoomLevel !== 100 && ! isTabletViewport\n\t\t\t? {\n\t\t\t\t\tscale: zoomLevel,\n\t\t\t\t\tframeSize: '40px',\n\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA+C;AAC/C,qBAAuB;AACvB,kBAA0B;AAC1B,wBAA+B;AAC/B,wBAAsB;AACtB,yBAAuB;AACvB,2BAAyB;AACzB,oBAAmB;AACnB,0BAAwB;AACxB,4BAA2D;AAC3D,qCAAyC;AACzC,gCAAiC;AACjC,mBAA0C;AAC1C,yBAAuB;AAMrB;AAJK,IAAM,uBAAmB,kCAAgB,uBAAQ,kBAAmB,CAAE;AAE7E,SAAS,wBAAyB,EAAE,SAAS,GAAI;AAChD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ;AAAA,QACP,UAAU;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,eAAe;AAAA,MAChB;AAAA,MAEE;AAAA;AAAA,EACH;AAEF;AAIA,IAAM,iCAAiC;AAAA;AAAA,EAEtC,kBAAkB,CAAE,2BAA4B;AACjD;AAEO,SAAS,wBAAyB;AAAA,EACxC,eAAe;AAAA,EACf,SAAS;AAAA,EACT,WAAW,4CAAC,kBAAAA,SAAA,EAAU;AAAA,EACtB;AAAA,EACA,YAAY;AAAA,EACZ;AACD,GAAI;AACH,kDAAiB;AACjB,QAAM,uBAAmB,iCAAkB,UAAU,GAAI;AACzD,QAAM,qBAAiB,+CAAwB;AAC/C,QAAM,iBAAa,yDAAyB;AAC5C,QAAM,eAAW,uBAAO;AAGxB,QAAM,iBAAa,6BAAc;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,QACA,yCAAkB;AAAA,EACnB,CAAE;AACF,QAAM,gBAAY;AAAA,IACjB,CAAE,eAAY,2BAAQ,OAAQ,aAAAC,KAAiB,CAAE,EAAE,aAAa;AAAA,IAChE,CAAC;AAAA,EACF;AACA,QAAM,qBACL,cAAc,OAAO,CAAE,mBACpB;AAAA,IACA,OAAO;AAAA,IACP,WAAW;AAAA,
|
|
4
|
+
"sourcesContent": ["import { useMergeRefs, useViewportMatch } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { createSlotFill } from '@wordpress/components';\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset, useTypingObserver } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useBlockCommands } from '../use-block-commands';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport const BlockCanvasCover = createSlotFill( Symbol( 'BlockCanvasCover' ) );\n\nfunction BlockCanvasCoverWrapper( { children } ) {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-canvas-cover\"\n\t\t\tstyle={ {\n\t\t\t\tposition: 'absolute',\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\twidth: '100%',\n\t\t\t\theight: '100%',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\n// EditorStyles is a memoized component, so avoid passing a new\n// object reference on each render.\nconst EDITOR_STYLE_TRANSFORM_OPTIONS = {\n\t// Don't transform selectors that already specify `.editor-styles-wrapper`.\n\tignoredSelectors: [ /\\.editor-styles-wrapper/gi ],\n};\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tuseBlockCommands();\n\tconst isTabletViewport = useViewportMatch( 'medium', '<' );\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\t// Attached to the same node as the writing flow ref: the iframe body,\n\t// or the WritingFlow element when the canvas is not iframed.\n\tconst contentRef = useMergeRefs( [\n\t\tcontentRefProp,\n\t\tclearerRef,\n\t\tlocalRef,\n\t\tuseTypingObserver(),\n\t] );\n\tconst zoomLevel = useSelect(\n\t\t( select ) => unlock( select( blockEditorStore ) ).getZoomLevel(),\n\t\t[]\n\t);\n\tconst zoomOutIframeProps =\n\t\tzoomLevel !== 100 && ! isTabletViewport\n\t\t\t? {\n\t\t\t\t\tscale: zoomLevel,\n\t\t\t\t\tframeSize: '40px',\n\t\t\t\t}\n\t\t\t: {};\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<BlockTools\n\t\t\t\t__unstableContentRef={ localRef }\n\t\t\t\tstyle={ { height, display: 'flex' } }\n\t\t\t>\n\t\t\t\t<BlockCanvasCover.Slot fillProps={ { containerRef: localRef } }>\n\t\t\t\t\t{ ( covers ) =>\n\t\t\t\t\t\tcovers.map( ( cover, index ) => (\n\t\t\t\t\t\t\t<BlockCanvasCoverWrapper key={ index }>\n\t\t\t\t\t\t\t\t{ cover }\n\t\t\t\t\t\t\t</BlockCanvasCoverWrapper>\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t</BlockCanvasCover.Slot>\n\t\t\t\t<EditorStyles\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tscope=\":where(.editor-styles-wrapper)\"\n\t\t\t\t\ttransformOptions={ EDITOR_STYLE_TRANSFORM_OPTIONS }\n\t\t\t\t/>\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</BlockTools>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ localRef }\n\t\t\tstyle={ { height, display: 'flex' } }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\t{ ...iframeProps }\n\t\t\t\t{ ...zoomOutIframeProps }\n\t\t\t\tref={ resetTypingRef }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t} }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t>\n\t\t\t\t<BlockCanvasCover.Slot fillProps={ { containerRef: localRef } }>\n\t\t\t\t\t{ ( covers ) =>\n\t\t\t\t\t\tcovers.map( ( cover, index ) => (\n\t\t\t\t\t\t\t<BlockCanvasCoverWrapper key={ index }>\n\t\t\t\t\t\t\t\t{ cover }\n\t\t\t\t\t\t\t</BlockCanvasCoverWrapper>\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t</BlockCanvasCover.Slot>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</BlockTools>\n\t);\n}\n\n/**\n * BlockCanvas component is a component used to display the canvas of the block editor.\n * What we call the canvas is an iframe containing the block list that you can manipulate.\n * The component is also responsible of wiring up all the necessary hooks to enable\n * the keyboard navigation across blocks in the editor and inject content styles into the iframe.\n *\n * @example\n *\n * ```jsx\n * function MyBlockEditor() {\n * const [ blocks, updateBlocks ] = useState([]);\n * return (\n * <BlockEditorProvider\n * value={ blocks }\n * onInput={ updateBlocks }\n * onChange={ persistBlocks }\n * >\n * <BlockCanvas height=\"400px\" />\n * </BlockEditorProvider>\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.height Canvas height, defaults to 300px.\n * @param {Array} props.styles Content styles to inject into the iframe.\n * @param {Element} props.children Content of the canvas, defaults to the BlockList component.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockCanvas( { children, height, styles } ) {\n\treturn (\n\t\t<ExperimentalBlockCanvas height={ height } styles={ styles }>\n\t\t\t{ children }\n\t\t</ExperimentalBlockCanvas>\n\t);\n}\n\nexport default BlockCanvas;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["BlockList", "blockEditorStore", "BlockTools", "EditorStyles", "WritingFlow", "Iframe"]
|
|
7
7
|
}
|
|
@@ -45,7 +45,6 @@ var import_lock_unlock = require("../../lock-unlock.cjs");
|
|
|
45
45
|
var import_store = require("../../store/index.cjs");
|
|
46
46
|
var import_block_icon = __toESM(require("../block-icon/index.cjs"));
|
|
47
47
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
48
|
-
var { Badge: WCBadge } = (0, import_lock_unlock.unlock)(import_components.privateApis);
|
|
49
48
|
function OptionalParentSelectButton({ children, onClick }) {
|
|
50
49
|
if (!onClick) {
|
|
51
50
|
return children;
|
|
@@ -149,7 +148,7 @@ function BlockCard({
|
|
|
149
148
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Stack, { direction: "column", gap: "xs", children: [
|
|
150
149
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(TitleElement, { className: "block-editor-block-card__title", children: [
|
|
151
150
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "block-editor-block-card__name", children: !!name?.length ? name : title }),
|
|
152
|
-
!parentClientId && !isChild && !!name?.length && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
151
|
+
!parentClientId && !isChild && !!name?.length && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Badge, { children: title })
|
|
153
152
|
] }),
|
|
154
153
|
children
|
|
155
154
|
] })
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/block-card/index.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { Button, Icon as WCIcon } from '@wordpress/components';\nimport { Badge, Text, Stack } from '@wordpress/ui';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport {\n\tchevronLeft,\n\tchevronRight,\n\tarrowRight,\n\tarrowLeft,\n} from '@wordpress/icons';\nimport { getBlockType } from '@wordpress/blocks';\nimport { unlock } from '../../lock-unlock';\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\n\nfunction OptionalParentSelectButton( { children, onClick } ) {\n\tif ( ! onClick ) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"block-editor-block-card__parent-select-button\"\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\n/**\n * A card component that displays block information including title, icon, and description.\n * Can be used to show block metadata and navigation controls for parent blocks.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-card/README.md\n *\n * @example\n * ```jsx\n * function Example() {\n * return (\n * <BlockCard\n * title=\"My Block\"\n * icon=\"smiley\"\n * description=\"A simple block example\"\n * name=\"Custom Block\"\n * />\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.title The title of the block.\n * @param {string|Object} props.icon The icon of the block. This can be any of [WordPress' Dashicons](https://developer.wordpress.org/resource/dashicons/), or a custom `svg` element.\n * @param {string} props.description The description of the block.\n * @param {Object} [props.blockType] Deprecated: Object containing block type data.\n * @param {string} [props.className] Additional classes to apply to the card.\n * @param {string} [props.name] Custom block name to display before the title.\n * @param {string} [props.allowParentNavigation] Show a back arrow to the parent block in some situations.\n * @param {string} [props.parentClientId] The parent clientId, if this card is for a parent block.\n * @param {string} [props.isChild] Whether the block card is for a child block, in which case, indent the block using an arrow.\n * @param {string} [props.clientId] Whether the block card is for a child block, in which case, indent the block using an arrow.\n * @param {Element} [props.controls] Controls rendered beside the block title.\n * @param {Element} [props.children] Children.\n * @return {Element} Block card component.\n */\nfunction BlockCard( {\n\ttitle,\n\ticon,\n\tdescription,\n\tblockType,\n\tclassName,\n\tname,\n\tallowParentNavigation,\n\tparentClientId,\n\tisChild,\n\tchildren,\n\tclientId,\n\tcontrols,\n} ) {\n\tif ( blockType ) {\n\t\tdeprecated( '`blockType` property in `BlockCard component`', {\n\t\t\tsince: '5.7',\n\t\t\talternative: '`title, icon and description` properties',\n\t\t} );\n\t\t( { title, icon, description } = blockType );\n\t}\n\n\tconst { parentBlockClientId, parentBlockName } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( parentClientId || isChild || ! allowParentNavigation ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst { getBlockParents, getBlockName, shouldRenderBlockListView } =\n\t\t\t\tunlock( select( blockEditorStore ) );\n\n\t\t\t// Find the top-most parent block that participates in List View.\n\t\t\tconst parents = getBlockParents( clientId, false );\n\t\t\tconst foundParentId = parents.find( ( parentId ) =>\n\t\t\t\tshouldRenderBlockListView( parentId )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tparentBlockClientId: foundParentId,\n\t\t\t\tparentBlockName: foundParentId\n\t\t\t\t\t? getBlockName( foundParentId )\n\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ clientId, allowParentNavigation, isChild, parentClientId ]\n\t);\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tconst TitleElement = parentClientId ? 'div' : 'h2';\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-block-card',\n\t\t\t\t{\n\t\t\t\t\t'is-parent': parentClientId,\n\t\t\t\t\t'is-child': isChild,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<Stack direction=\"column\" gap=\"sm\">\n\t\t\t\t<Stack direction=\"row\" align=\"center\" justify=\"space-between\">\n\t\t\t\t\t<Stack direction=\"row\" align=\"center\" justify=\"flex-start\">\n\t\t\t\t\t\t{ parentBlockClientId && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tselectBlock( parentBlockClientId )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tparentBlockName\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: The name of the parent block. */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Go to \"%s\" block' ),\n\t\t\t\t\t\t\t\t\t\t\t\tgetBlockType( parentBlockName )\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.title\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t: __( 'Go to parent block' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t// TODO: This style override is also used in ToolsPanelHeader.\n\t\t\t\t\t\t\t\t\t// It should be supported out-of-the-box by Button.\n\t\t\t\t\t\t\t\t\t{ minWidth: 24, padding: 0 }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isChild && (\n\t\t\t\t\t\t\t<span className=\"block-editor-block-card__child-indicator-icon\">\n\t\t\t\t\t\t\t\t<WCIcon\n\t\t\t\t\t\t\t\t\ticon={ isRTL() ? arrowLeft : arrowRight }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<OptionalParentSelectButton\n\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\tparentClientId\n\t\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\t\tselectBlock( parentClientId );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t\t\t\t<Stack direction=\"column\" gap=\"xs\">\n\t\t\t\t\t\t\t\t<TitleElement className=\"block-editor-block-card__title\">\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-block-card__name\">\n\t\t\t\t\t\t\t\t\t\t{ !! name?.length ? name : title }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{ ! parentClientId &&\n\t\t\t\t\t\t\t\t\t\t! isChild &&\n\t\t\t\t\t\t\t\t\t\t!! name?.length && (\n\t\t\t\t\t\t\t\t\t\t\t<Badge>{ title }</Badge>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</TitleElement>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t</OptionalParentSelectButton>\n\t\t\t\t\t</Stack>\n\t\t\t\t\t{ controls }\n\t\t\t\t</Stack>\n\t\t\t\t{ ! parentClientId && ! isChild && description && (\n\t\t\t\t\t<Text className=\"block-editor-block-card__description\">\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</Stack>\n\t\t</div>\n\t);\n}\n\nexport default BlockCard;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["deprecated", "blockEditorStore", "clsx", "WCIcon", "BlockIcon"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/block-edit/edit.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tgetBlockDefaultClassName,\n\tgetBlockType,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { useCallback, useContext, useMemo } from '@wordpress/element';\nimport BlockContext from '../block-context';\nimport isURLLike from '../link-control/is-url-like';\nimport {\n\tgetBlockBindingsContext,\n\thasPatternOverridesDefaultBinding,\n\treplacePatternOverridesDefaultBinding,\n} from '../../utils/block-bindings';\nimport { unlock } from '../../lock-unlock';\nimport { PrivateBlockContext } from '../block-list/private-block-context';\n\nconst Edit = ( props ) => {\n\tconst { name } = props;\n\tconst blockType = getBlockType( name );\n\n\tif ( ! blockType ) {\n\t\treturn null;\n\t}\n\n\t// `edit` and `save` are functions or components describing the markup\n\t// with which a block is displayed. If `blockType` is valid, assign\n\t// them preferentially as the render value for the block.\n\tconst Component = blockType.edit || blockType.save;\n\n\treturn <Component { ...props } />;\n};\n\nconst EditWithFilters = withFilters( 'editor.BlockEdit' )( Edit );\n\nconst EditWithGeneratedProps = ( props ) => {\n\tconst { name, clientId, attributes, setAttributes } = props;\n\tconst registry = useRegistry();\n\tconst blockType = getBlockType( name );\n\tconst blockContext = useContext( BlockContext );\n\tconst registeredSources = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blocksStore ) ).getAllBlockBindingsSources(),\n\t\t[]\n\t);\n\tconst { bindableAttributes } = useContext( PrivateBlockContext );\n\n\tconst { blockBindings, context, hasPatternOverrides } = useMemo( () => {\n\t\treturn {\n\t\t\tblockBindings: replacePatternOverridesDefaultBinding(\n\t\t\t\tattributes?.metadata?.bindings,\n\t\t\t\tbindableAttributes\n\t\t\t),\n\t\t\t// Assign context values using the block type's declared context\n\t\t\t// needs, plus the context requested by the block's bindings\n\t\t\t// sources.\n\t\t\tcontext: getBlockBindingsContext(\n\t\t\t\tblockContext,\n\t\t\t\tblockType?.usesContext,\n\t\t\t\tattributes?.metadata?.bindings\n\t\t\t\t\t? Object.values( attributes.metadata.bindings ).map(\n\t\t\t\t\t\t\t( binding ) => registeredSources[ binding?.source ]\n\t\t\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,oBAKO;AACP,wBAA4B;AAC5B,kBAAuC;AACvC,qBAAiD;AACjD,2BAAyB;AACzB,yBAAsB;AACtB,4BAIO;AACP,yBAAuB;AACvB,mCAAoC;AAe5B;AAbR,IAAM,OAAO,CAAE,UAAW;AACzB,QAAM,EAAE,KAAK,IAAI;AACjB,QAAM,gBAAY,4BAAc,IAAK;AAErC,MAAK,CAAE,WAAY;AAClB,WAAO;AAAA,EACR;AAKA,QAAM,YAAY,UAAU,QAAQ,UAAU;AAE9C,SAAO,4CAAC,aAAY,GAAG,OAAQ;AAChC;AAEA,IAAM,sBAAkB,+BAAa,kBAAmB,EAAG,IAAK;AAEhE,IAAM,yBAAyB,CAAE,UAAW;AAC3C,QAAM,EAAE,MAAM,UAAU,YAAY,cAAc,IAAI;AACtD,QAAM,eAAW,yBAAY;AAC7B,QAAM,gBAAY,4BAAc,IAAK;AACrC,QAAM,mBAAe,2BAAY,qBAAAA,OAAa;AAC9C,QAAM,wBAAoB;AAAA,IACzB,CAAE,eACD,2BAAQ,OAAQ,cAAAC,KAAY,CAAE,EAAE,2BAA2B;AAAA,IAC5D,CAAC;AAAA,EACF;AACA,QAAM,EAAE,mBAAmB,QAAI,2BAAY,gDAAoB;AAE/D,QAAM,EAAE,eAAe,SAAS,oBAAoB,QAAI,wBAAS,MAAM;AACtE,WAAO;AAAA,MACN,mBAAe;AAAA,QACd,YAAY,UAAU;AAAA,QACtB;AAAA,MACD;AAAA;AAAA;AAAA;AAAA,MAIA,aAAS;AAAA,QACR;AAAA,QACA,WAAW;AAAA,QACX,YAAY,UAAU,WACnB,OAAO,OAAQ,WAAW,SAAS,QAAS,EAAE;AAAA,UAC9C,CAAE,YAAa,kBAAmB,SAAS,MAAO;AAAA,
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tgetBlockDefaultClassName,\n\tgetBlockType,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { useCallback, useContext, useMemo } from '@wordpress/element';\nimport BlockContext from '../block-context';\nimport isURLLike from '../link-control/is-url-like';\nimport {\n\tgetBlockBindingsContext,\n\thasPatternOverridesDefaultBinding,\n\treplacePatternOverridesDefaultBinding,\n} from '../../utils/block-bindings';\nimport { unlock } from '../../lock-unlock';\nimport { PrivateBlockContext } from '../block-list/private-block-context';\n\nconst Edit = ( props ) => {\n\tconst { name } = props;\n\tconst blockType = getBlockType( name );\n\n\tif ( ! blockType ) {\n\t\treturn null;\n\t}\n\n\t// `edit` and `save` are functions or components describing the markup\n\t// with which a block is displayed. If `blockType` is valid, assign\n\t// them preferentially as the render value for the block.\n\tconst Component = blockType.edit || blockType.save;\n\n\treturn <Component { ...props } />;\n};\n\nconst EditWithFilters = withFilters( 'editor.BlockEdit' )( Edit );\n\nconst EditWithGeneratedProps = ( props ) => {\n\tconst { name, clientId, attributes, setAttributes } = props;\n\tconst registry = useRegistry();\n\tconst blockType = getBlockType( name );\n\tconst blockContext = useContext( BlockContext );\n\tconst registeredSources = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blocksStore ) ).getAllBlockBindingsSources(),\n\t\t[]\n\t);\n\tconst { bindableAttributes } = useContext( PrivateBlockContext );\n\n\tconst { blockBindings, context, hasPatternOverrides } = useMemo( () => {\n\t\treturn {\n\t\t\tblockBindings: replacePatternOverridesDefaultBinding(\n\t\t\t\tattributes?.metadata?.bindings,\n\t\t\t\tbindableAttributes\n\t\t\t),\n\t\t\t// Assign context values using the block type's declared context\n\t\t\t// needs, plus the context requested by the block's bindings\n\t\t\t// sources.\n\t\t\tcontext: getBlockBindingsContext(\n\t\t\t\tblockContext,\n\t\t\t\tblockType?.usesContext,\n\t\t\t\tattributes?.metadata?.bindings\n\t\t\t\t\t? Object.values( attributes.metadata.bindings ).map(\n\t\t\t\t\t\t\t( binding ) => registeredSources[ binding?.source ]\n\t\t\t\t\t\t)\n\t\t\t\t\t: undefined\n\t\t\t),\n\t\t\thasPatternOverrides: hasPatternOverridesDefaultBinding(\n\t\t\t\tattributes?.metadata?.bindings\n\t\t\t),\n\t\t};\n\t}, [\n\t\tblockType?.usesContext,\n\t\tblockContext,\n\t\tattributes?.metadata?.bindings,\n\t\tbindableAttributes,\n\t\tregisteredSources,\n\t] );\n\n\tconst computedAttributes = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! blockBindings ) {\n\t\t\t\treturn attributes;\n\t\t\t}\n\n\t\t\tconst attributesFromSources = {};\n\t\t\tconst blockBindingsBySource = new Map();\n\n\t\t\tfor ( const [ attributeName, binding ] of Object.entries(\n\t\t\t\tblockBindings\n\t\t\t) ) {\n\t\t\t\tconst { source: sourceName, args: sourceArgs } = binding;\n\t\t\t\tconst source = registeredSources[ sourceName ];\n\t\t\t\tif (\n\t\t\t\t\t! source ||\n\t\t\t\t\t! bindableAttributes?.includes( attributeName )\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tblockBindingsBySource.set( source, {\n\t\t\t\t\t...blockBindingsBySource.get( source ),\n\t\t\t\t\t[ attributeName ]: {\n\t\t\t\t\t\targs: sourceArgs,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( blockBindingsBySource.size ) {\n\t\t\t\tfor ( const [ source, bindings ] of blockBindingsBySource ) {\n\t\t\t\t\t// Get values in batch if the source supports it.\n\t\t\t\t\tlet values = {};\n\t\t\t\t\tif ( ! source.getValues ) {\n\t\t\t\t\t\tObject.keys( bindings ).forEach( ( attr ) => {\n\t\t\t\t\t\t\t// Default to the source label when `getValues` doesn't exist.\n\t\t\t\t\t\t\tvalues[ attr ] = source.label;\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalues = source.getValues( {\n\t\t\t\t\t\t\tselect,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tbindings,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tfor ( const [ attributeName, value ] of Object.entries(\n\t\t\t\t\t\tvalues\n\t\t\t\t\t) ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tattributeName === 'url' &&\n\t\t\t\t\t\t\t( ! value || ! isURLLike( value ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// Return null if value is not a valid URL.\n\t\t\t\t\t\t\tattributesFromSources[ attributeName ] = null;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tattributesFromSources[ attributeName ] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...attributesFromSources,\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tattributes,\n\t\t\tbindableAttributes,\n\t\t\tblockBindings,\n\t\t\tclientId,\n\t\t\tcontext,\n\t\t\tregisteredSources,\n\t\t]\n\t);\n\n\tconst setBoundAttributes = useCallback(\n\t\t( nextAttributes ) => {\n\t\t\tif ( ! blockBindings ) {\n\t\t\t\tsetAttributes( nextAttributes );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tregistry.batch( () => {\n\t\t\t\tconst keptAttributes = { ...nextAttributes };\n\t\t\t\tconst blockBindingsBySource = new Map();\n\n\t\t\t\t// Loop only over the updated attributes to avoid modifying the bound ones that haven't changed.\n\t\t\t\tfor ( const [ attributeName, newValue ] of Object.entries(\n\t\t\t\t\tkeptAttributes\n\t\t\t\t) ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t! blockBindings[ attributeName ] ||\n\t\t\t\t\t\t! bindableAttributes?.includes( attributeName )\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst binding = blockBindings[ attributeName ];\n\t\t\t\t\tconst source = registeredSources[ binding?.source ];\n\t\t\t\t\tif ( ! source?.setValues ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tblockBindingsBySource.set( source, {\n\t\t\t\t\t\t...blockBindingsBySource.get( source ),\n\t\t\t\t\t\t[ attributeName ]: {\n\t\t\t\t\t\t\targs: binding.args,\n\t\t\t\t\t\t\tnewValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t\tdelete keptAttributes[ attributeName ];\n\t\t\t\t}\n\n\t\t\t\tif ( blockBindingsBySource.size ) {\n\t\t\t\t\tfor ( const [\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\tbindings,\n\t\t\t\t\t] of blockBindingsBySource ) {\n\t\t\t\t\t\tsource.setValues( {\n\t\t\t\t\t\t\tselect: registry.select,\n\t\t\t\t\t\t\tdispatch: registry.dispatch,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tbindings,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst hasParentPattern = !! context[ 'pattern/overrides' ];\n\n\t\t\t\tif (\n\t\t\t\t\t// Don't update non-connected attributes if the block is using pattern overrides\n\t\t\t\t\t// and the editing is happening while overriding the pattern (not editing the original).\n\t\t\t\t\t! ( hasPatternOverrides && hasParentPattern ) &&\n\t\t\t\t\tObject.keys( keptAttributes ).length\n\t\t\t\t) {\n\t\t\t\t\t// Don't update href until it is supported.\n\t\t\t\t\tif ( hasPatternOverrides ) {\n\t\t\t\t\t\tdelete keptAttributes.href;\n\t\t\t\t\t}\n\t\t\t\t\tsetAttributes( keptAttributes );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tbindableAttributes,\n\t\t\tblockBindings,\n\t\t\tclientId,\n\t\t\tcontext,\n\t\t\thasPatternOverrides,\n\t\t\tsetAttributes,\n\t\t\tregisteredSources,\n\t\t\tregistry,\n\t\t]\n\t);\n\n\tif ( ! blockType ) {\n\t\treturn null;\n\t}\n\n\tif ( blockType.apiVersion > 1 ) {\n\t\treturn (\n\t\t\t<EditWithFilters\n\t\t\t\t{ ...props }\n\t\t\t\tattributes={ computedAttributes }\n\t\t\t\tcontext={ context }\n\t\t\t\tsetAttributes={ setBoundAttributes }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Generate a class name for the block's editable form.\n\tconst generatedClassName = hasBlockSupport( blockType, 'className', true )\n\t\t? getBlockDefaultClassName( name )\n\t\t: null;\n\tconst className = clsx(\n\t\tgeneratedClassName,\n\t\tattributes?.className,\n\t\tprops.className\n\t);\n\n\treturn (\n\t\t<EditWithFilters\n\t\t\t{ ...props }\n\t\t\tattributes={ computedAttributes }\n\t\t\tclassName={ className }\n\t\t\tcontext={ context }\n\t\t\tsetAttributes={ setBoundAttributes }\n\t\t/>\n\t);\n};\n\nexport default EditWithGeneratedProps;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["BlockContext", "blocksStore", "isURLLike", "clsx"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/block-heading-level-dropdown/index.jsx"],
|
|
4
|
-
"sourcesContent": ["import { ToolbarDropdownMenu } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-library-heading-level-dropdown',\n};\n\n/** @typedef {React.ComponentType} ComponentType */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} value The chosen heading level.\n * @property {number[]} options An array of supported heading levels.\n * @property {()=>number} onChange Function called with\n * the selected value changes.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6) or paragraph (0).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {ComponentType} The toolbar.\n */\nexport default function HeadingLevelDropdown( {\n\toptions = HEADING_LEVELS,\n\tvalue,\n\tonChange,\n} ) {\n\tconst validOptions = options\n\t\t.filter(\n\t\t\t( option ) => option === 0 || HEADING_LEVELS.includes( option )\n\t\t)\n\t\t.sort( ( a, b ) => a - b ); // Sorts numerically in ascending order;\n\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={ <HeadingLevelIcon level={ value } /> }\n\t\t\tlabel={ __( 'Change level' ) }\n\t\t\tcontrols={ validOptions.map( ( targetLevel ) => {\n\t\t\t\tconst isActive = targetLevel === value;\n\t\t\t\treturn {\n\t\t\t\t\ticon: <HeadingLevelIcon level={ targetLevel } />,\n\t\t\t\t\ttitle:\n\t\t\t\t\t\ttargetLevel === 0\n\t\t\t\t\t\t\t? __( 'Paragraph' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %d: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\t\t\t\t\ttargetLevel\n\t\t\t\t\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAoC;AACpC,kBAA4B;AAC5B,gCAA6B;AA0CnB;AAxCV,IAAM,iBAAiB,CAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAE;AAE1C,IAAM,gBAAgB;AAAA,EACrB,WAAW;AACZ;AAsBe,SAAR,qBAAuC;AAAA,EAC7C,UAAU;AAAA,EACV;AAAA,EACA;AACD,GAAI;AACH,QAAM,eAAe,QACnB;AAAA,IACA,CAAE,WAAY,WAAW,KAAK,eAAe,SAAU,MAAO;AAAA,EAC/D,EACC,KAAM,CAAE,GAAG,MAAO,IAAI,CAAE;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,cAAe;AAAA,MACf,MAAO,4CAAC,0BAAAA,SAAA,EAAiB,OAAQ,OAAQ;AAAA,MACzC,WAAQ,gBAAI,cAAe;AAAA,MAC3B,UAAW,aAAa,IAAK,CAAE,gBAAiB;AAC/C,cAAM,WAAW,gBAAgB;AACjC,eAAO;AAAA,UACN,MAAM,4CAAC,0BAAAA,SAAA,EAAiB,OAAQ,aAAc;AAAA,UAC9C,OACC,gBAAgB,QACb,gBAAI,WAAY,QAChB;AAAA;AAAA,gBAEA,gBAAI,YAAa;AAAA,YACjB;AAAA,
|
|
4
|
+
"sourcesContent": ["import { ToolbarDropdownMenu } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-library-heading-level-dropdown',\n};\n\n/** @typedef {React.ComponentType} ComponentType */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} value The chosen heading level.\n * @property {number[]} options An array of supported heading levels.\n * @property {()=>number} onChange Function called with\n * the selected value changes.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6) or paragraph (0).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {ComponentType} The toolbar.\n */\nexport default function HeadingLevelDropdown( {\n\toptions = HEADING_LEVELS,\n\tvalue,\n\tonChange,\n} ) {\n\tconst validOptions = options\n\t\t.filter(\n\t\t\t( option ) => option === 0 || HEADING_LEVELS.includes( option )\n\t\t)\n\t\t.sort( ( a, b ) => a - b ); // Sorts numerically in ascending order;\n\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={ <HeadingLevelIcon level={ value } /> }\n\t\t\tlabel={ __( 'Change level' ) }\n\t\t\tcontrols={ validOptions.map( ( targetLevel ) => {\n\t\t\t\tconst isActive = targetLevel === value;\n\t\t\t\treturn {\n\t\t\t\t\ticon: <HeadingLevelIcon level={ targetLevel } />,\n\t\t\t\t\ttitle:\n\t\t\t\t\t\ttargetLevel === 0\n\t\t\t\t\t\t\t? __( 'Paragraph' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %d: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\t\t\t\t\ttargetLevel\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\tisActive,\n\t\t\t\t\tonClick() {\n\t\t\t\t\t\tonChange( targetLevel );\n\t\t\t\t\t},\n\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t};\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAoC;AACpC,kBAA4B;AAC5B,gCAA6B;AA0CnB;AAxCV,IAAM,iBAAiB,CAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAE;AAE1C,IAAM,gBAAgB;AAAA,EACrB,WAAW;AACZ;AAsBe,SAAR,qBAAuC;AAAA,EAC7C,UAAU;AAAA,EACV;AAAA,EACA;AACD,GAAI;AACH,QAAM,eAAe,QACnB;AAAA,IACA,CAAE,WAAY,WAAW,KAAK,eAAe,SAAU,MAAO;AAAA,EAC/D,EACC,KAAM,CAAE,GAAG,MAAO,IAAI,CAAE;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,cAAe;AAAA,MACf,MAAO,4CAAC,0BAAAA,SAAA,EAAiB,OAAQ,OAAQ;AAAA,MACzC,WAAQ,gBAAI,cAAe;AAAA,MAC3B,UAAW,aAAa,IAAK,CAAE,gBAAiB;AAC/C,cAAM,WAAW,gBAAgB;AACjC,eAAO;AAAA,UACN,MAAM,4CAAC,0BAAAA,SAAA,EAAiB,OAAQ,aAAc;AAAA,UAC9C,OACC,gBAAgB,QACb,gBAAI,WAAY,QAChB;AAAA;AAAA,gBAEA,gBAAI,YAAa;AAAA,YACjB;AAAA,UACD;AAAA,UACH;AAAA,UACA,UAAU;AACT,qBAAU,WAAY;AAAA,UACvB;AAAA,UACA,MAAM;AAAA,QACP;AAAA,MACD,CAAE;AAAA;AAAA,EACH;AAEF;",
|
|
6
6
|
"names": ["HeadingLevelIcon"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/block-icon/index.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport { Icon as WCIcon } from '@wordpress/components';\nimport { blockDefault } from '@wordpress/icons';\nimport { memo } from '@wordpress/element';\n\nfunction BlockIcon( { icon, showColors = false, className, context } ) {\n\tif ( icon?.src === 'block-default' ) {\n\t\ticon = {\n\t\t\tsrc: blockDefault,\n\t\t};\n\t}\n\n\tconst renderedIcon = (\n\t\t<WCIcon\n\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\tcontext={ context }\n\t\t/>\n\t);\n\tconst style = showColors\n\t\t? {\n\t\t\t\tbackgroundColor: icon && icon.background,\n\t\t\t\tcolor: icon && icon.foreground,\n\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,wBAA+B;AAC/B,mBAA6B;AAC7B,qBAAqB;AAUnB;AARF,SAAS,UAAW,EAAE,MAAM,aAAa,OAAO,WAAW,QAAQ,GAAI;AACtE,MAAK,MAAM,QAAQ,iBAAkB;AACpC,WAAO;AAAA,MACN,KAAK;AAAA,IACN;AAAA,EACD;AAEA,QAAM,eACL;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,MAAO,QAAQ,KAAK,MAAM,KAAK,MAAM;AAAA,MACrC;AAAA;AAAA,EACD;AAED,QAAM,QAAQ,aACX;AAAA,IACA,iBAAiB,QAAQ,KAAK;AAAA,IAC9B,OAAO,QAAQ,KAAK;AAAA,
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { Icon as WCIcon } from '@wordpress/components';\nimport { blockDefault } from '@wordpress/icons';\nimport { memo } from '@wordpress/element';\n\nfunction BlockIcon( { icon, showColors = false, className, context } ) {\n\tif ( icon?.src === 'block-default' ) {\n\t\ticon = {\n\t\t\tsrc: blockDefault,\n\t\t};\n\t}\n\n\tconst renderedIcon = (\n\t\t<WCIcon\n\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\tcontext={ context }\n\t\t/>\n\t);\n\tconst style = showColors\n\t\t? {\n\t\t\t\tbackgroundColor: icon && icon.background,\n\t\t\t\tcolor: icon && icon.foreground,\n\t\t\t}\n\t\t: {};\n\n\treturn (\n\t\t<span\n\t\t\tstyle={ style }\n\t\t\tclassName={ clsx( 'block-editor-block-icon', className, {\n\t\t\t\t'has-colors': showColors,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ renderedIcon }\n\t\t</span>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-icon/README.md\n */\nexport default memo( BlockIcon );\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,wBAA+B;AAC/B,mBAA6B;AAC7B,qBAAqB;AAUnB;AARF,SAAS,UAAW,EAAE,MAAM,aAAa,OAAO,WAAW,QAAQ,GAAI;AACtE,MAAK,MAAM,QAAQ,iBAAkB;AACpC,WAAO;AAAA,MACN,KAAK;AAAA,IACN;AAAA,EACD;AAEA,QAAM,eACL;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,MAAO,QAAQ,KAAK,MAAM,KAAK,MAAM;AAAA,MACrC;AAAA;AAAA,EACD;AAED,QAAM,QAAQ,aACX;AAAA,IACA,iBAAiB,QAAQ,KAAK;AAAA,IAC9B,OAAO,QAAQ,KAAK;AAAA,EACrB,IACC,CAAC;AAEJ,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,eAAY,YAAAC,SAAM,2BAA2B,WAAW;AAAA,QACvD,cAAc;AAAA,MACf,CAAE;AAAA,MAEA;AAAA;AAAA,EACH;AAEF;AAKA,IAAO,yBAAQ,qBAAM,SAAU;",
|
|
6
6
|
"names": ["WCIcon", "clsx"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/block-inspector/edit-contents.jsx"],
|
|
4
|
-
"sourcesContent": ["import { Button } from '@wordpress/components';\nimport { Stack } from '@wordpress/ui';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isReusableBlock, isTemplatePart } from '@wordpress/blocks';\nimport useContentOnlySectionEdit from '../../hooks/use-content-only-section-edit';\nimport { store as blockEditorStore } from '../../store';\n\nfunction IsolatedEditButton( {\n\tattributes = {},\n\tonNavigateToEntityRecord,\n\tisTemplatePartBlock,\n} ) {\n\tconst { ref, theme, slug } = attributes;\n\tconst entityId = isTemplatePartBlock\n\t\t? theme && slug && `${ theme }//${ slug }`\n\t\t: ref;\n\n\tconst handleClick = () => {\n\t\tif ( ! entityId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: entityId,\n\t\t\tpostType: isTemplatePartBlock ? 'wp_template_part' : 'wp_block',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<Stack\n\t\t\tdirection=\"column\"\n\t\t\tclassName=\"block-editor-block-inspector-edit-contents\"\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-block-inspector-edit-contents__button\"\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tonClick={ handleClick }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tdisabled={ ! entityId }\n\t\t\t>\n\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t</Button>\n\t\t</Stack>\n\t);\n}\n\nfunction InlineEditButton( {\n\tclientId,\n\teditedContentOnlySection,\n\teditContentOnlySection,\n\tstopEditingContentOnlySection,\n} ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst handleClick = () => {\n\t\tif ( ! editedContentOnlySection ) {\n\t\t\teditContentOnlySection( clientId );\n\t\t\tselectBlock( clientId );\n\t\t} else {\n\t\t\tstopEditingContentOnlySection();\n\t\t\t// Keep the selected section pattern or content block selected after exiting.\n\t\t\tselectBlock( clientId );\n\t\t}\n\t};\n\n\treturn (\n\t\t<Stack\n\t\t\tdirection=\"column\"\n\t\t\tclassName=\"block-editor-block-inspector-edit-contents\"\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-block-inspector-edit-contents__button\"\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tonClick={ handleClick }\n\t\t\t>\n\t\t\t\t{ editedContentOnlySection\n\t\t\t\t\t? /* translators: Button label to leave pattern editing mode. */\n\t\t\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuB;AACvB,gBAAsB;AACtB,kBAAmB;AACnB,kBAAuC;AACvC,oBAAgD;AAChD,2CAAsC;AACtC,mBAA0C;AA4BvC;AA1BH,SAAS,mBAAoB;AAAA,EAC5B,aAAa,CAAC;AAAA,EACd;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,KAAK,OAAO,KAAK,IAAI;AAC7B,QAAM,WAAW,sBACd,SAAS,QAAQ,GAAI,KAAM,KAAM,IAAK,KACtC;AAEH,QAAM,cAAc,MAAM;AACzB,QAAK,CAAE,UAAW;AACjB;AAAA,IACD;AAEA,6BAA0B;AAAA,MACzB,QAAQ;AAAA,MACR,UAAU,sBAAsB,qBAAqB;AAAA,IACtD,CAAE;AAAA,EACH;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,WAAU;AAAA,MAEV;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,uBAAqB;AAAA,UACrB,SAAQ;AAAA,UACR,SAAU;AAAA,UACV,wBAAsB;AAAA,UACtB,UAAW,CAAE;AAAA,UAEX,8BAAI,eAAgB;AAAA;AAAA,MACvB;AAAA;AAAA,EACD;AAEF;AAEA,SAAS,iBAAkB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,YAAY,QAAI,yBAAa,aAAAA,KAAiB;AACtD,QAAM,cAAc,MAAM;AACzB,QAAK,CAAE,0BAA2B;AACjC,6BAAwB,QAAS;AACjC,kBAAa,QAAS;AAAA,IACvB,OAAO;AACN,oCAA8B;AAE9B,kBAAa,QAAS;AAAA,IACvB;AAAA,EACD;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,WAAU;AAAA,MAEV;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,uBAAqB;AAAA,UACrB,SAAQ;AAAA,UACR,SAAU;AAAA,UAER;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import { Button } from '@wordpress/components';\nimport { Stack } from '@wordpress/ui';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isReusableBlock, isTemplatePart } from '@wordpress/blocks';\nimport useContentOnlySectionEdit from '../../hooks/use-content-only-section-edit';\nimport { store as blockEditorStore } from '../../store';\n\nfunction IsolatedEditButton( {\n\tattributes = {},\n\tonNavigateToEntityRecord,\n\tisTemplatePartBlock,\n} ) {\n\tconst { ref, theme, slug } = attributes;\n\tconst entityId = isTemplatePartBlock\n\t\t? theme && slug && `${ theme }//${ slug }`\n\t\t: ref;\n\n\tconst handleClick = () => {\n\t\tif ( ! entityId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: entityId,\n\t\t\tpostType: isTemplatePartBlock ? 'wp_template_part' : 'wp_block',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<Stack\n\t\t\tdirection=\"column\"\n\t\t\tclassName=\"block-editor-block-inspector-edit-contents\"\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-block-inspector-edit-contents__button\"\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tonClick={ handleClick }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tdisabled={ ! entityId }\n\t\t\t>\n\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t</Button>\n\t\t</Stack>\n\t);\n}\n\nfunction InlineEditButton( {\n\tclientId,\n\teditedContentOnlySection,\n\teditContentOnlySection,\n\tstopEditingContentOnlySection,\n} ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst handleClick = () => {\n\t\tif ( ! editedContentOnlySection ) {\n\t\t\teditContentOnlySection( clientId );\n\t\t\tselectBlock( clientId );\n\t\t} else {\n\t\t\tstopEditingContentOnlySection();\n\t\t\t// Keep the selected section pattern or content block selected after exiting.\n\t\t\tselectBlock( clientId );\n\t\t}\n\t};\n\n\treturn (\n\t\t<Stack\n\t\t\tdirection=\"column\"\n\t\t\tclassName=\"block-editor-block-inspector-edit-contents\"\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-block-inspector-edit-contents__button\"\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tonClick={ handleClick }\n\t\t\t>\n\t\t\t\t{ editedContentOnlySection\n\t\t\t\t\t? /* translators: Button label to leave pattern editing mode. */\n\t\t\t\t\t\t__( 'Exit pattern' )\n\t\t\t\t\t: /* translators: Button label to enter pattern editing mode. */\n\t\t\t\t\t\t__( 'Edit pattern' ) }\n\t\t\t</Button>\n\t\t</Stack>\n\t);\n}\n\nexport default function EditContents( { clientId } ) {\n\tconst {\n\t\tisWithinSection,\n\t\tisWithinEditedSection,\n\t\teditedContentOnlySection,\n\t\teditContentOnlySection,\n\t\tstopEditingContentOnlySection,\n\t} = useContentOnlySectionEdit( clientId );\n\n\tconst { block, onNavigateToEntityRecord, canEdit } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getSettings, canEditBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\tcanEdit: canEditBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! canEdit || ( ! isWithinSection && ! isWithinEditedSection ) ) {\n\t\treturn null;\n\t}\n\n\tconst isSyncedPattern = isReusableBlock( block );\n\tconst isTemplatePartBlock = isTemplatePart( block );\n\tconst shouldUseIsolatedEditor =\n\t\t( isSyncedPattern || isTemplatePartBlock ) && onNavigateToEntityRecord;\n\n\tif ( shouldUseIsolatedEditor ) {\n\t\treturn (\n\t\t\t<IsolatedEditButton\n\t\t\t\tattributes={ block?.attributes }\n\t\t\t\tonNavigateToEntityRecord={ onNavigateToEntityRecord }\n\t\t\t\tisTemplatePartBlock={ isTemplatePartBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<InlineEditButton\n\t\t\tclientId={ clientId }\n\t\t\teditedContentOnlySection={ editedContentOnlySection }\n\t\t\teditContentOnlySection={ editContentOnlySection }\n\t\t\tstopEditingContentOnlySection={ stopEditingContentOnlySection }\n\t\t/>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuB;AACvB,gBAAsB;AACtB,kBAAmB;AACnB,kBAAuC;AACvC,oBAAgD;AAChD,2CAAsC;AACtC,mBAA0C;AA4BvC;AA1BH,SAAS,mBAAoB;AAAA,EAC5B,aAAa,CAAC;AAAA,EACd;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,KAAK,OAAO,KAAK,IAAI;AAC7B,QAAM,WAAW,sBACd,SAAS,QAAQ,GAAI,KAAM,KAAM,IAAK,KACtC;AAEH,QAAM,cAAc,MAAM;AACzB,QAAK,CAAE,UAAW;AACjB;AAAA,IACD;AAEA,6BAA0B;AAAA,MACzB,QAAQ;AAAA,MACR,UAAU,sBAAsB,qBAAqB;AAAA,IACtD,CAAE;AAAA,EACH;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,WAAU;AAAA,MAEV;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,uBAAqB;AAAA,UACrB,SAAQ;AAAA,UACR,SAAU;AAAA,UACV,wBAAsB;AAAA,UACtB,UAAW,CAAE;AAAA,UAEX,8BAAI,eAAgB;AAAA;AAAA,MACvB;AAAA;AAAA,EACD;AAEF;AAEA,SAAS,iBAAkB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,YAAY,QAAI,yBAAa,aAAAA,KAAiB;AACtD,QAAM,cAAc,MAAM;AACzB,QAAK,CAAE,0BAA2B;AACjC,6BAAwB,QAAS;AACjC,kBAAa,QAAS;AAAA,IACvB,OAAO;AACN,oCAA8B;AAE9B,kBAAa,QAAS;AAAA,IACvB;AAAA,EACD;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,WAAU;AAAA,MAEV;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,uBAAqB;AAAA,UACrB,SAAQ;AAAA,UACR,SAAU;AAAA,UAER;AAAA;AAAA,gBAEA,gBAAI,cAAe;AAAA;AAAA;AAAA,gBAEnB,gBAAI,cAAe;AAAA;AAAA;AAAA,MACtB;AAAA;AAAA,EACD;AAEF;AAEe,SAAR,aAA+B,EAAE,SAAS,GAAI;AACpD,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,qCAAAC,SAA2B,QAAS;AAExC,QAAM,EAAE,OAAO,0BAA0B,QAAQ,QAAI;AAAA,IACpD,CAAE,WAAY;AACb,YAAM,EAAE,UAAU,aAAa,aAAa,IAC3C,OAAQ,aAAAD,KAAiB;AAC1B,aAAO;AAAA,QACN,OAAO,SAAU,QAAS;AAAA,QAC1B,0BACC,YAAY,EAAE;AAAA,QACf,SAAS,aAAc,QAAS;AAAA,MACjC;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,MAAK,CAAE,WAAa,CAAE,mBAAmB,CAAE,uBAA0B;AACpE,WAAO;AAAA,EACR;AAEA,QAAM,sBAAkB,+BAAiB,KAAM;AAC/C,QAAM,0BAAsB,8BAAgB,KAAM;AAClD,QAAM,2BACH,mBAAmB,wBAAyB;AAE/C,MAAK,yBAA0B;AAC9B,WACC;AAAA,MAAC;AAAA;AAAA,QACA,YAAa,OAAO;AAAA,QACpB;AAAA,QACA;AAAA;AAAA,IACD;AAAA,EAEF;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACD;AAEF;",
|
|
6
6
|
"names": ["blockEditorStore", "useContentOnlySectionEdit"]
|
|
7
7
|
}
|