@wordpress/block-editor 15.19.1-next.v.202605131006.0 → 15.20.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 +15 -1
- package/build/components/block-card/index.cjs +51 -41
- package/build/components/block-card/index.cjs.map +3 -3
- package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +3 -3
- package/build/components/block-icon/index.cjs +7 -1
- package/build/components/block-icon/index.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +156 -11
- package/build/components/block-inspector/index.cjs.map +3 -3
- package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs +38 -0
- package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs.map +7 -0
- package/build/components/block-list/use-block-props/index.cjs +1 -1
- package/build/components/block-list/use-block-props/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-handler.cjs +3 -4
- package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +3 -3
- package/build/components/block-list/use-block-props/use-is-hovered.cjs +24 -14
- package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +3 -3
- package/build/components/block-lock/modal.cjs.map +3 -3
- package/build/components/block-patterns-list/index.cjs +13 -2
- package/build/components/block-patterns-list/index.cjs.map +2 -2
- package/build/components/block-popover/index.cjs +13 -3
- package/build/components/block-popover/index.cjs.map +2 -2
- package/build/components/block-toolbar/switch-section-style.cjs.map +3 -3
- package/build/components/block-visibility/modal.cjs.map +3 -3
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +3 -3
- package/build/components/colors-gradients/control.cjs +7 -4
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/global-styles/advanced-panel.cjs +24 -22
- package/build/components/global-styles/advanced-panel.cjs.map +3 -3
- package/build/components/global-styles/color-panel.cjs +95 -58
- package/build/components/global-styles/color-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +11 -5
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/index.cjs +3 -0
- package/build/components/global-styles/index.cjs.map +2 -2
- package/build/components/global-styles/shadow-panel-components.cjs +38 -26
- package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
- package/build/components/global-styles/state-control-badges.cjs +69 -0
- package/build/components/global-styles/state-control-badges.cjs.map +7 -0
- package/build/components/global-styles/state-control.cjs +54 -63
- package/build/components/global-styles/state-control.cjs.map +3 -3
- package/build/components/iframe/index.cjs +0 -3
- package/build/components/iframe/index.cjs.map +2 -2
- package/build/components/iframe/use-scale-canvas.cjs +4 -1
- package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
- package/build/components/inserter/hooks/use-patterns-state.cjs +4 -6
- package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
- package/build/components/inserter/index.cjs +1 -0
- package/build/components/inserter/index.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-preview.cjs +27 -18
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/media-tab/utils.cjs +1 -1
- package/build/components/inserter/media-tab/utils.cjs.map +2 -2
- package/build/components/inserter/panel.cjs.map +3 -3
- package/build/components/inspector-controls/block-support-tools-panel.cjs +10 -2
- package/build/components/inspector-controls/block-support-tools-panel.cjs.map +2 -2
- package/build/components/inspector-controls/fill.cjs +14 -4
- package/build/components/inspector-controls/fill.cjs.map +2 -2
- package/build/components/inspector-controls/groups.cjs +2 -0
- package/build/components/inspector-controls/groups.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/index.cjs +13 -8
- package/build/components/inspector-controls-tabs/index.cjs.map +3 -3
- package/build/components/inspector-controls-tabs/settings-tab.cjs +1 -4
- package/build/components/inspector-controls-tabs/settings-tab.cjs.map +3 -3
- package/build/components/inspector-controls-tabs/styles-tab.cjs +9 -0
- package/build/components/inspector-controls-tabs/styles-tab.cjs.map +3 -3
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs +11 -5
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
- package/build/components/list-view/block-select-button.cjs +20 -8
- package/build/components/list-view/block-select-button.cjs.map +2 -2
- package/build/components/list-view/block.cjs +2 -1
- package/build/components/list-view/block.cjs.map +2 -2
- package/build/components/preset-input-control/custom-value-controls.cjs +10 -1
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/preset-input-control/index.cjs.map +3 -3
- package/build/components/provider/use-media-upload-settings.cjs +1 -0
- package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/enter.cjs +9 -2
- package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/paste-handler.cjs +4 -4
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
- package/build/hooks/background.cjs +13 -3
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-fields/link/index.cjs.map +3 -3
- package/build/hooks/block-fields/media/index.cjs.map +3 -3
- package/build/hooks/block-style-state.cjs +112 -0
- package/build/hooks/block-style-state.cjs.map +7 -0
- package/build/hooks/border.cjs +13 -3
- package/build/hooks/border.cjs.map +2 -2
- package/build/hooks/color.cjs +28 -9
- package/build/hooks/color.cjs.map +2 -2
- package/build/hooks/dimensions.cjs +15 -6
- package/build/hooks/dimensions.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +147 -61
- package/build/hooks/layout-child.cjs.map +2 -2
- package/build/hooks/layout.cjs +263 -56
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/state-utils.cjs +94 -0
- package/build/hooks/state-utils.cjs.map +7 -0
- package/build/hooks/states.cjs +124 -0
- package/build/hooks/states.cjs.map +7 -0
- package/build/hooks/style.cjs +304 -17
- package/build/hooks/style.cjs.map +3 -3
- package/build/hooks/typography.cjs +14 -5
- package/build/hooks/typography.cjs.map +2 -2
- package/build/layouts/constrained.cjs +128 -55
- package/build/layouts/constrained.cjs.map +3 -3
- package/build/layouts/flex.cjs +119 -31
- package/build/layouts/flex.cjs.map +3 -3
- package/build/layouts/grid.cjs +103 -40
- package/build/layouts/grid.cjs.map +3 -3
- package/build/private-apis.cjs +2 -0
- package/build/private-apis.cjs.map +2 -2
- package/build/store/private-actions.cjs +18 -0
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +10 -2
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +26 -2
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +70 -1
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/utils.cjs +1 -1
- package/build/store/utils.cjs.map +2 -2
- package/build/utils/color-values.cjs +44 -0
- package/build/utils/color-values.cjs.map +7 -0
- package/build-module/components/block-card/index.mjs +52 -45
- package/build-module/components/block-card/index.mjs.map +2 -2
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs +2 -2
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +2 -2
- package/build-module/components/block-icon/index.mjs +8 -2
- package/build-module/components/block-icon/index.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +166 -13
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs +12 -0
- package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs.map +7 -0
- package/build-module/components/block-list/use-block-props/index.mjs +1 -1
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +7 -5
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-is-hovered.mjs +28 -15
- package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
- package/build-module/components/block-lock/modal.mjs +4 -4
- package/build-module/components/block-lock/modal.mjs.map +2 -2
- package/build-module/components/block-patterns-list/index.mjs +14 -4
- package/build-module/components/block-patterns-list/index.mjs.map +2 -2
- package/build-module/components/block-popover/index.mjs +13 -3
- package/build-module/components/block-popover/index.mjs.map +2 -2
- package/build-module/components/block-toolbar/switch-section-style.mjs +2 -2
- package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
- package/build-module/components/block-visibility/modal.mjs +2 -2
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs +7 -4
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/global-styles/advanced-panel.mjs +25 -27
- package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
- package/build-module/components/global-styles/color-panel.mjs +96 -59
- package/build-module/components/global-styles/color-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +14 -5
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/index.mjs +2 -0
- package/build-module/components/global-styles/index.mjs.map +2 -2
- package/build-module/components/global-styles/shadow-panel-components.mjs +39 -28
- package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
- package/build-module/components/global-styles/state-control-badges.mjs +48 -0
- package/build-module/components/global-styles/state-control-badges.mjs.map +7 -0
- package/build-module/components/global-styles/state-control.mjs +57 -71
- package/build-module/components/global-styles/state-control.mjs.map +2 -2
- package/build-module/components/iframe/index.mjs +0 -3
- package/build-module/components/iframe/index.mjs.map +2 -2
- package/build-module/components/iframe/use-scale-canvas.mjs +4 -1
- package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-patterns-state.mjs +8 -7
- package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
- package/build-module/components/inserter/index.mjs +1 -0
- package/build-module/components/inserter/index.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs +27 -19
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/utils.mjs +1 -1
- package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
- package/build-module/components/inserter/panel.mjs +2 -2
- package/build-module/components/inserter/panel.mjs.map +2 -2
- package/build-module/components/inspector-controls/block-support-tools-panel.mjs +10 -2
- package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls/fill.mjs +18 -5
- package/build-module/components/inspector-controls/fill.mjs.map +2 -2
- package/build-module/components/inspector-controls/groups.mjs +2 -0
- package/build-module/components/inspector-controls/groups.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/index.mjs +14 -10
- package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/settings-tab.mjs +1 -4
- package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs +9 -0
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs +11 -5
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +20 -9
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +2 -1
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs +10 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs +2 -2
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/provider/use-media-upload-settings.mjs +1 -0
- package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +9 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs +4 -4
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
- package/build-module/hooks/background.mjs +18 -3
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-fields/link/index.mjs +3 -3
- package/build-module/hooks/block-fields/link/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/media/index.mjs +3 -3
- package/build-module/hooks/block-fields/media/index.mjs.map +2 -2
- package/build-module/hooks/block-style-state.mjs +79 -0
- package/build-module/hooks/block-style-state.mjs.map +7 -0
- package/build-module/hooks/border.mjs +18 -3
- package/build-module/hooks/border.mjs.map +2 -2
- package/build-module/hooks/color.mjs +33 -9
- package/build-module/hooks/color.mjs.map +2 -2
- package/build-module/hooks/dimensions.mjs +20 -6
- package/build-module/hooks/dimensions.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +141 -61
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +270 -58
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/state-utils.mjs +64 -0
- package/build-module/hooks/state-utils.mjs.map +7 -0
- package/build-module/hooks/states.mjs +85 -0
- package/build-module/hooks/states.mjs.map +7 -0
- package/build-module/hooks/style.mjs +309 -18
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/typography.mjs +19 -5
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +130 -57
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +123 -35
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +105 -42
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/private-apis.mjs +4 -0
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +16 -0
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +7 -1
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +25 -2
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +69 -1
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/utils.mjs +5 -2
- package/build-module/store/utils.mjs.map +2 -2
- package/build-module/utils/color-values.mjs +19 -0
- package/build-module/utils/color-values.mjs.map +7 -0
- package/build-style/content-rtl.css +18 -3
- package/build-style/content.css +18 -3
- package/build-style/style-rtl.css +14 -17
- package/build-style/style.css +14 -17
- package/package.json +41 -41
- package/src/components/audio-player/index.native.js +7 -3
- package/src/components/block-card/index.js +67 -60
- package/src/components/block-heading-level-dropdown/heading-level-icon.js +2 -2
- package/src/components/block-icon/index.js +5 -2
- package/src/components/block-icon/index.native.js +2 -2
- package/src/components/block-inspector/index.js +153 -7
- package/src/components/block-inspector/inspector-pre-tabs-slot-fill.js +11 -0
- package/src/components/block-list/block-selection-button.native.js +3 -3
- package/src/components/block-list/content.scss +0 -6
- package/src/components/block-list/use-block-props/index.js +1 -1
- package/src/components/block-list/use-block-props/use-focus-handler.js +8 -6
- package/src/components/block-list/use-block-props/use-is-hovered.js +32 -15
- package/src/components/block-lock/modal.js +4 -4
- package/src/components/block-patterns-list/index.js +14 -5
- package/src/components/block-patterns-list/stories/index.story.jsx +2 -0
- package/src/components/block-patterns-list/style.scss +0 -1
- package/src/components/block-popover/index.js +20 -10
- package/src/components/block-toolbar/switch-section-style.js +2 -2
- package/src/components/block-visibility/modal.js +2 -2
- package/src/components/block-visibility/viewport-visibility-info.js +2 -2
- package/src/components/colors/test/with-colors.js +1 -1
- package/src/components/colors-gradients/control.js +10 -8
- package/src/components/colors-gradients/test/control.js +98 -1
- package/src/components/global-styles/advanced-panel.js +44 -39
- package/src/components/global-styles/color-panel.js +133 -60
- package/src/components/global-styles/dimensions-panel.js +17 -4
- package/src/components/global-styles/index.js +1 -0
- package/src/components/global-styles/shadow-panel-components.js +29 -19
- package/src/components/global-styles/state-control-badges.js +58 -0
- package/src/components/global-styles/state-control.js +28 -36
- package/src/components/global-styles/test/color-panel.js +135 -0
- package/src/components/iframe/index.js +0 -3
- package/src/components/iframe/use-scale-canvas.js +8 -2
- package/src/components/inserter/hooks/use-patterns-state.js +12 -7
- package/src/components/inserter/index.js +1 -0
- package/src/components/inserter/media-tab/media-preview.js +29 -20
- package/src/components/inserter/media-tab/utils.js +1 -1
- package/src/components/inserter/panel.js +2 -2
- package/src/components/inserter/style.scss +1 -0
- package/src/components/inserter-button/index.native.js +5 -2
- package/src/components/inspector-controls/block-support-tools-panel.js +10 -2
- package/src/components/inspector-controls/fill.js +18 -5
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls-tabs/index.js +9 -5
- package/src/components/inspector-controls-tabs/settings-tab.js +1 -7
- package/src/components/inspector-controls-tabs/styles-tab.js +6 -0
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +13 -7
- package/src/components/list-view/block-select-button.js +19 -9
- package/src/components/list-view/block.js +6 -1
- package/src/components/media-replace-flow/style.scss +0 -18
- package/src/components/preset-input-control/custom-value-controls.js +13 -6
- package/src/components/preset-input-control/index.js +2 -2
- package/src/components/provider/use-media-upload-settings.js +1 -0
- package/src/components/rich-text/event-listeners/enter.js +14 -2
- package/src/components/rich-text/event-listeners/paste-handler.js +5 -4
- package/src/components/unsupported-block-details/index.native.js +6 -2
- package/src/components/video-player/index.native.js +2 -2
- package/src/components/warning/index.native.js +2 -2
- package/src/hooks/background.js +59 -37
- package/src/hooks/block-fields/link/index.js +3 -3
- package/src/hooks/block-fields/media/index.js +3 -3
- package/src/hooks/block-style-state.js +127 -0
- package/src/hooks/border.js +25 -6
- package/src/hooks/color.js +40 -18
- package/src/hooks/dimensions.js +32 -11
- package/src/hooks/layout-child.js +179 -62
- package/src/hooks/layout.js +349 -75
- package/src/hooks/layout.scss +6 -0
- package/src/hooks/state-utils.js +158 -0
- package/src/hooks/states.js +109 -0
- package/src/hooks/style.js +456 -19
- package/src/hooks/test/block-style-state.js +270 -0
- package/src/hooks/test/layout.js +185 -0
- package/src/hooks/test/state-utils.js +193 -0
- package/src/hooks/test/style.js +301 -1
- package/src/hooks/typography.js +33 -14
- package/src/layouts/constrained.js +182 -95
- package/src/layouts/flex.js +141 -36
- package/src/layouts/grid.js +122 -32
- package/src/layouts/test/flex.js +57 -20
- package/src/private-apis.js +4 -0
- package/src/store/private-actions.js +32 -0
- package/src/store/private-keys.js +4 -0
- package/src/store/private-selectors.js +44 -2
- package/src/store/reducer.js +105 -1
- package/src/store/test/private-actions.js +26 -0
- package/src/store/test/private-selectors.js +90 -0
- package/src/store/test/reducer.js +363 -0
- package/src/store/utils.js +6 -2
- package/src/utils/color-values.js +28 -0
- package/src/utils/test/color-values.js +78 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/inserter/media-tab/media-preview.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tTooltip,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tComposite,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\nimport { getFilename } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tplacement: 'bottom-end',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nfunction MediaPreviewOptions( { category, media } ) {\n\tif ( ! category.getReportUrl ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ onSubmit }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { getSettings, getBlock } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst settings = getSettings();\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\n\t\t\t// User has no permission to upload media.\n\t\t\tif ( ! id && ! settings.mediaUpload ) {\n\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tconst fileName = getFilename( url ) || 'image.jpg';\n\t\t\t\t\tconst file = new File( [ blob ], fileName, {\n\t\t\t\t\t\ttype: blob.type,\n\t\t\t\t\t} );\n\n\t\t\t\t\tsettings.mediaUpload( {\n\t\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( ! getBlock( clonedBlock.clientId ) ) {\n\t\t\t\t\t\t\t\t// Ensure the block is only inserted once.\n\t\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t\t{ type: 'snackbar', id: 'inserter-notice' }\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// For subsequent calls, update the existing block.\n\t\t\t\t\t\t\t\tupdateBlockAttributes( clonedBlock.clientId, {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, {\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tgetSettings,\n\t\t\tonClick,\n\t\t\tcreateSuccessNotice,\n\t\t\tupdateBlockAttributes,\n\t\t\tcreateErrorNotice,\n\t\t\tgetBlock,\n\t\t]\n\t);\n\n\tconst title =\n\t\ttypeof media.title === 'string'\n\t\t\t? media.title\n\t\t\t: media.title?.rendered || __( 'no title' );\n\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip text={ title }>\n\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => onMediaInsert( block ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</Composite.Item>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tComposite,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\nimport { getFilename } from '@wordpress/url';\n\n// eslint-disable-next-line @wordpress/use-recommended-components -- `Tooltip` is not yet on the recommended `@wordpress/ui` allow-list; landing as a migration step ahead of the wider rollout.\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tplacement: 'bottom-end',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nfunction MediaPreviewOptions( { category, media } ) {\n\tif ( ! category.getReportUrl ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ onSubmit }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { getSettings, getBlock } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst settings = getSettings();\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\n\t\t\t// User has no permission to upload media.\n\t\t\tif ( ! id && ! settings.mediaUpload ) {\n\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tconst fileName = getFilename( url ) || 'image.jpg';\n\t\t\t\t\tconst file = new File( [ blob ], fileName, {\n\t\t\t\t\t\ttype: blob.type,\n\t\t\t\t\t} );\n\n\t\t\t\t\tsettings.mediaUpload( {\n\t\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( ! getBlock( clonedBlock.clientId ) ) {\n\t\t\t\t\t\t\t\t// Ensure the block is only inserted once.\n\t\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t\t{ type: 'snackbar', id: 'inserter-notice' }\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// For subsequent calls, update the existing block.\n\t\t\t\t\t\t\t\tupdateBlockAttributes( clonedBlock.clientId, {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, {\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tgetSettings,\n\t\t\tonClick,\n\t\t\tcreateSuccessNotice,\n\t\t\tupdateBlockAttributes,\n\t\t\tcreateErrorNotice,\n\t\t\tgetBlock,\n\t\t]\n\t);\n\n\tconst title =\n\t\ttypeof media.title === 'string'\n\t\t\t? media.title\n\t\t\t: media.title?.rendered || __( 'no title' );\n\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip.Root>\n\t\t\t\t\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tonMediaInsert( block )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</Composite.Item>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Tooltip.Popup>{ title }</Tooltip.Popup>\n\t\t\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["VStack", "noticesStore", "blockEditorStore", "InserterDraggableBlocks", "clsx"]
|
|
7
7
|
}
|
|
@@ -46,7 +46,7 @@ function getBlockAndPreviewFromMedia(media, mediaType) {
|
|
|
46
46
|
src: media.previewUrl || mediaSrc,
|
|
47
47
|
alt,
|
|
48
48
|
controls: mediaType === "audio" ? true : void 0,
|
|
49
|
-
inert:
|
|
49
|
+
inert: true,
|
|
50
50
|
onError: ({ currentTarget }) => {
|
|
51
51
|
if (currentTarget.src === media.previewUrl) {
|
|
52
52
|
currentTarget.src = mediaSrc;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/inserter/media-tab/utils.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst mediaTypeTag = { image: 'img', video: 'video', audio: 'audio' };\n\n/** @typedef {import('./hooks').InserterMediaItem} InserterMediaItem */\n\n/**\n * Creates a block and a preview element from a media object.\n *\n * @param {InserterMediaItem} media The media object to create the block from.\n * @param {('image'|'audio'|'video')} mediaType The media type to create the block for.\n * @return {[WPBlock, React.JSX.Element]} An array containing the block and the preview element.\n */\nexport function getBlockAndPreviewFromMedia( media, mediaType ) {\n\t// Add the common attributes between the different media types.\n\tconst attributes = {\n\t\tid: media.id || undefined,\n\t\tcaption: media.caption || undefined,\n\t};\n\tconst mediaSrc = media.url;\n\tconst alt = media.alt || undefined;\n\tif ( mediaType === 'image' ) {\n\t\tattributes.url = mediaSrc;\n\t\tattributes.alt = alt;\n\t} else if ( [ 'video', 'audio' ].includes( mediaType ) ) {\n\t\tattributes.src = mediaSrc;\n\t}\n\tconst PreviewTag = mediaTypeTag[ mediaType ];\n\tconst preview = (\n\t\t<PreviewTag\n\t\t\tsrc={ media.previewUrl || mediaSrc }\n\t\t\talt={ alt }\n\t\t\tcontrols={ mediaType === 'audio' ? true : undefined }\n\t\t\tinert
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4B;AA6B1B;AA3BF,IAAM,eAAe,EAAE,OAAO,OAAO,OAAO,SAAS,OAAO,QAAQ;AAW7D,SAAS,4BAA6B,OAAO,WAAY;AAE/D,QAAM,aAAa;AAAA,IAClB,IAAI,MAAM,MAAM;AAAA,IAChB,SAAS,MAAM,WAAW;AAAA,EAC3B;AACA,QAAM,WAAW,MAAM;AACvB,QAAM,MAAM,MAAM,OAAO;AACzB,MAAK,cAAc,SAAU;AAC5B,eAAW,MAAM;AACjB,eAAW,MAAM;AAAA,EAClB,WAAY,CAAE,SAAS,OAAQ,EAAE,SAAU,SAAU,GAAI;AACxD,eAAW,MAAM;AAAA,EAClB;AACA,QAAM,aAAa,aAAc,SAAU;AAC3C,QAAM,UACL;AAAA,IAAC;AAAA;AAAA,MACA,KAAM,MAAM,cAAc;AAAA,MAC1B;AAAA,MACA,UAAW,cAAc,UAAU,OAAO;AAAA,MAC1C,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst mediaTypeTag = { image: 'img', video: 'video', audio: 'audio' };\n\n/** @typedef {import('./hooks').InserterMediaItem} InserterMediaItem */\n\n/**\n * Creates a block and a preview element from a media object.\n *\n * @param {InserterMediaItem} media The media object to create the block from.\n * @param {('image'|'audio'|'video')} mediaType The media type to create the block for.\n * @return {[WPBlock, React.JSX.Element]} An array containing the block and the preview element.\n */\nexport function getBlockAndPreviewFromMedia( media, mediaType ) {\n\t// Add the common attributes between the different media types.\n\tconst attributes = {\n\t\tid: media.id || undefined,\n\t\tcaption: media.caption || undefined,\n\t};\n\tconst mediaSrc = media.url;\n\tconst alt = media.alt || undefined;\n\tif ( mediaType === 'image' ) {\n\t\tattributes.url = mediaSrc;\n\t\tattributes.alt = alt;\n\t} else if ( [ 'video', 'audio' ].includes( mediaType ) ) {\n\t\tattributes.src = mediaSrc;\n\t}\n\tconst PreviewTag = mediaTypeTag[ mediaType ];\n\tconst preview = (\n\t\t<PreviewTag\n\t\t\tsrc={ media.previewUrl || mediaSrc }\n\t\t\talt={ alt }\n\t\t\tcontrols={ mediaType === 'audio' ? true : undefined }\n\t\t\tinert\n\t\t\tonError={ ( { currentTarget } ) => {\n\t\t\t\t// Fall back to the media source if the preview cannot be loaded.\n\t\t\t\tif ( currentTarget.src === media.previewUrl ) {\n\t\t\t\t\tcurrentTarget.src = mediaSrc;\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n\treturn [ createBlock( `core/${ mediaType }`, attributes ), preview ];\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4B;AA6B1B;AA3BF,IAAM,eAAe,EAAE,OAAO,OAAO,OAAO,SAAS,OAAO,QAAQ;AAW7D,SAAS,4BAA6B,OAAO,WAAY;AAE/D,QAAM,aAAa;AAAA,IAClB,IAAI,MAAM,MAAM;AAAA,IAChB,SAAS,MAAM,WAAW;AAAA,EAC3B;AACA,QAAM,WAAW,MAAM;AACvB,QAAM,MAAM,MAAM,OAAO;AACzB,MAAK,cAAc,SAAU;AAC5B,eAAW,MAAM;AACjB,eAAW,MAAM;AAAA,EAClB,WAAY,CAAE,SAAS,OAAQ,EAAE,SAAU,SAAU,GAAI;AACxD,eAAW,MAAM;AAAA,EAClB;AACA,QAAM,aAAa,aAAc,SAAU;AAC3C,QAAM,UACL;AAAA,IAAC;AAAA;AAAA,MACA,KAAM,MAAM,cAAc;AAAA,MAC1B;AAAA,MACA,UAAW,cAAc,UAAU,OAAO;AAAA,MAC1C,OAAK;AAAA,MACL,SAAU,CAAE,EAAE,cAAc,MAAO;AAElC,YAAK,cAAc,QAAQ,MAAM,YAAa;AAC7C,wBAAc,MAAM;AAAA,QACrB;AAAA,MACD;AAAA;AAAA,EACD;AAED,SAAO,KAAE,2BAAa,QAAS,SAAU,IAAI,UAAW,GAAG,OAAQ;AACpE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inserter/panel.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\n\nfunction InserterPanel( { title, icon, children } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"block-editor-inserter__panel-header\">\n\t\t\t\t<h2 className=\"block-editor-inserter__panel-title\">\n\t\t\t\t\t{ title }\n\t\t\t\t</h2>\n\t\t\t\t<
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,
|
|
6
|
-
"names": []
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Icon as WCIcon } from '@wordpress/components';\n\nfunction InserterPanel( { title, icon, children } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"block-editor-inserter__panel-header\">\n\t\t\t\t<h2 className=\"block-editor-inserter__panel-title\">\n\t\t\t\t\t{ title }\n\t\t\t\t</h2>\n\t\t\t\t<WCIcon icon={ icon } />\n\t\t\t</div>\n\t\t\t<div className=\"block-editor-inserter__panel-content\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default InserterPanel;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA+B;AAI7B;AAFF,SAAS,cAAe,EAAE,OAAO,MAAM,SAAS,GAAI;AACnD,SACC,4EACC;AAAA,iDAAC,SAAI,WAAU,uCACd;AAAA,kDAAC,QAAG,WAAU,sCACX,iBACH;AAAA,MACA,4CAAC,kBAAAA,MAAA,EAAO,MAAc;AAAA,OACvB;AAAA,IACA,4CAAC,SAAI,WAAU,wCACZ,UACH;AAAA,KACD;AAEF;AAEA,IAAO,gBAAQ;",
|
|
6
|
+
"names": ["WCIcon"]
|
|
7
7
|
}
|
|
@@ -34,6 +34,7 @@ function BlockSupportToolsPanel({ children, group, label }) {
|
|
|
34
34
|
const { updateBlockAttributes } = (0, import_data.useDispatch)(import_store.store);
|
|
35
35
|
const {
|
|
36
36
|
getBlockAttributes,
|
|
37
|
+
getBlockName,
|
|
37
38
|
getMultiSelectedBlockClientIds,
|
|
38
39
|
getSelectedBlockClientId,
|
|
39
40
|
hasMultiSelection
|
|
@@ -45,12 +46,18 @@ function BlockSupportToolsPanel({ children, group, label }) {
|
|
|
45
46
|
const newAttributes = {};
|
|
46
47
|
const clientIds = hasMultiSelection() ? getMultiSelectedBlockClientIds() : [panelId];
|
|
47
48
|
clientIds.forEach((clientId) => {
|
|
48
|
-
const
|
|
49
|
+
const blockAttributes = getBlockAttributes(clientId) || {};
|
|
50
|
+
const { style } = blockAttributes;
|
|
49
51
|
let newBlockAttributes = { style };
|
|
52
|
+
const resetContext = {
|
|
53
|
+
attributes: blockAttributes,
|
|
54
|
+
clientId,
|
|
55
|
+
name: getBlockName(clientId)
|
|
56
|
+
};
|
|
50
57
|
resetFilters.forEach((resetFilter) => {
|
|
51
58
|
newBlockAttributes = {
|
|
52
59
|
...newBlockAttributes,
|
|
53
|
-
...resetFilter(newBlockAttributes)
|
|
60
|
+
...resetFilter(newBlockAttributes, resetContext)
|
|
54
61
|
};
|
|
55
62
|
});
|
|
56
63
|
newBlockAttributes = {
|
|
@@ -63,6 +70,7 @@ function BlockSupportToolsPanel({ children, group, label }) {
|
|
|
63
70
|
},
|
|
64
71
|
[
|
|
65
72
|
getBlockAttributes,
|
|
73
|
+
getBlockName,
|
|
66
74
|
getMultiSelectedBlockClientIds,
|
|
67
75
|
hasMultiSelection,
|
|
68
76
|
panelId,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inspector-controls/block-support-tools-panel.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalToolsPanel as ToolsPanel } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { useToolsPanelDropdownMenuProps } from '../global-styles/utils';\n\nexport default function BlockSupportToolsPanel( { children, group, label } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetMultiSelectedBlockClientIds,\n\t\tgetSelectedBlockClientId,\n\t\thasMultiSelection,\n\t} = useSelect( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst panelId = getSelectedBlockClientId();\n\tconst resetAll = useCallback(\n\t\t( resetFilters = [] ) => {\n\t\t\tconst newAttributes = {};\n\n\t\t\tconst clientIds = hasMultiSelection()\n\t\t\t\t? getMultiSelectedBlockClientIds()\n\t\t\t\t: [ panelId ];\n\n\t\t\tclientIds.forEach( ( clientId ) => {\n\t\t\t\tconst
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAuD;AACvD,kBAAuC;AACvC,qBAA4B;AAK5B,mBAA0C;AAC1C,mBAAiC;AACjC,IAAAA,gBAA+C;
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalToolsPanel as ToolsPanel } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { useToolsPanelDropdownMenuProps } from '../global-styles/utils';\n\nexport default function BlockSupportToolsPanel( { children, group, label } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetBlockName,\n\t\tgetMultiSelectedBlockClientIds,\n\t\tgetSelectedBlockClientId,\n\t\thasMultiSelection,\n\t} = useSelect( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst panelId = getSelectedBlockClientId();\n\tconst resetAll = useCallback(\n\t\t( resetFilters = [] ) => {\n\t\t\tconst newAttributes = {};\n\n\t\t\tconst clientIds = hasMultiSelection()\n\t\t\t\t? getMultiSelectedBlockClientIds()\n\t\t\t\t: [ panelId ];\n\n\t\t\tclientIds.forEach( ( clientId ) => {\n\t\t\t\tconst blockAttributes = getBlockAttributes( clientId ) || {};\n\t\t\t\tconst { style } = blockAttributes;\n\t\t\t\tlet newBlockAttributes = { style };\n\t\t\t\tconst resetContext = {\n\t\t\t\t\tattributes: blockAttributes,\n\t\t\t\t\tclientId,\n\t\t\t\t\tname: getBlockName( clientId ),\n\t\t\t\t};\n\n\t\t\t\tresetFilters.forEach( ( resetFilter ) => {\n\t\t\t\t\tnewBlockAttributes = {\n\t\t\t\t\t\t...newBlockAttributes,\n\t\t\t\t\t\t...resetFilter( newBlockAttributes, resetContext ),\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\t// Enforce a cleaned style object.\n\t\t\t\tnewBlockAttributes = {\n\t\t\t\t\t...newBlockAttributes,\n\t\t\t\t\tstyle: cleanEmptyObject( newBlockAttributes.style ),\n\t\t\t\t};\n\n\t\t\t\tnewAttributes[ clientId ] = newBlockAttributes;\n\t\t\t} );\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes, true );\n\t\t},\n\t\t[\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockName,\n\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\tpanelId,\n\t\t\tupdateBlockAttributes,\n\t\t]\n\t);\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tclassName={ `${ group }-block-support-panel` }\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tkey={ panelId }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\tshouldRenderPlaceholderItems // Required to maintain fills ordering.\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAuD;AACvD,kBAAuC;AACvC,qBAA4B;AAK5B,mBAA0C;AAC1C,mBAAiC;AACjC,IAAAA,gBAA+C;AA4D7C;AA1Da,SAAR,uBAAyC,EAAE,UAAU,OAAO,MAAM,GAAI;AAC5E,QAAM,EAAE,sBAAsB,QAAI,yBAAa,aAAAC,KAAiB;AAChE,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,uBAAW,aAAAA,KAAiB;AAChC,QAAM,wBAAoB,8CAA+B;AACzD,QAAM,UAAU,yBAAyB;AACzC,QAAM,eAAW;AAAA,IAChB,CAAE,eAAe,CAAC,MAAO;AACxB,YAAM,gBAAgB,CAAC;AAEvB,YAAM,YAAY,kBAAkB,IACjC,+BAA+B,IAC/B,CAAE,OAAQ;AAEb,gBAAU,QAAS,CAAE,aAAc;AAClC,cAAM,kBAAkB,mBAAoB,QAAS,KAAK,CAAC;AAC3D,cAAM,EAAE,MAAM,IAAI;AAClB,YAAI,qBAAqB,EAAE,MAAM;AACjC,cAAM,eAAe;AAAA,UACpB,YAAY;AAAA,UACZ;AAAA,UACA,MAAM,aAAc,QAAS;AAAA,QAC9B;AAEA,qBAAa,QAAS,CAAE,gBAAiB;AACxC,+BAAqB;AAAA,YACpB,GAAG;AAAA,YACH,GAAG,YAAa,oBAAoB,YAAa;AAAA,UAClD;AAAA,QACD,CAAE;AAGF,6BAAqB;AAAA,UACpB,GAAG;AAAA,UACH,WAAO,+BAAkB,mBAAmB,KAAM;AAAA,QACnD;AAEA,sBAAe,QAAS,IAAI;AAAA,MAC7B,CAAE;AAEF,4BAAuB,WAAW,eAAe,IAAK;AAAA,IACvD;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,WAAY,GAAI,KAAM;AAAA,MACtB;AAAA,MACA;AAAA,MAEA;AAAA,MACA,iBAAe;AAAA,MACf,8BAA4B;AAAA,MAC5B,qCAAoC;AAAA,MACpC,oCAAmC;AAAA,MACnC;AAAA,MAEE;AAAA;AAAA,IARI;AAAA,EASP;AAEF;",
|
|
6
6
|
"names": ["import_utils", "blockEditorStore", "ToolsPanel"]
|
|
7
7
|
}
|
|
@@ -39,6 +39,7 @@ var import_deprecated = __toESM(require("@wordpress/deprecated"));
|
|
|
39
39
|
var import_element = require("@wordpress/element");
|
|
40
40
|
var import_context = require("../block-edit/context.cjs");
|
|
41
41
|
var import_groups = __toESM(require("./groups.cjs"));
|
|
42
|
+
var import_block_style_state = require("../../hooks/block-style-state.cjs");
|
|
42
43
|
var import_list_view_content_popover = require("./list-view-content-popover.cjs");
|
|
43
44
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
44
45
|
var PATTERN_EDITING_GROUPS = ["content", "list"];
|
|
@@ -97,14 +98,23 @@ function InspectorControlsFill({
|
|
|
97
98
|
}
|
|
98
99
|
function RegisterResetAll({ resetAllFilter, children }) {
|
|
99
100
|
const { registerResetAllFilter, deregisterResetAllFilter } = (0, import_element.useContext)(import_components.__experimentalToolsPanelContext);
|
|
101
|
+
const selectedState = (0, import_block_style_state.useBlockStyleState)();
|
|
102
|
+
const scopedResetAllFilter = (0, import_element.useMemo)(
|
|
103
|
+
() => (0, import_block_style_state.scopeResetAllFilterToState)(selectedState, resetAllFilter),
|
|
104
|
+
[resetAllFilter, selectedState]
|
|
105
|
+
);
|
|
100
106
|
(0, import_element.useEffect)(() => {
|
|
101
|
-
if (
|
|
102
|
-
registerResetAllFilter(
|
|
107
|
+
if (scopedResetAllFilter && registerResetAllFilter && deregisterResetAllFilter) {
|
|
108
|
+
registerResetAllFilter(scopedResetAllFilter);
|
|
103
109
|
return () => {
|
|
104
|
-
deregisterResetAllFilter(
|
|
110
|
+
deregisterResetAllFilter(scopedResetAllFilter);
|
|
105
111
|
};
|
|
106
112
|
}
|
|
107
|
-
}, [
|
|
113
|
+
}, [
|
|
114
|
+
scopedResetAllFilter,
|
|
115
|
+
registerResetAllFilter,
|
|
116
|
+
deregisterResetAllFilter
|
|
117
|
+
]);
|
|
108
118
|
return children;
|
|
109
119
|
}
|
|
110
120
|
function ToolsPanelInspectorControl({ children, resetAllFilter, fillProps }) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inspector-controls/fill.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalStyleProvider as StyleProvider,\n\t__experimentalToolsPanelContext as ToolsPanelContext,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\nimport deprecated from '@wordpress/deprecated';\nimport { useEffect, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n\tmayDisplayPatternEditingControlsKey,\n\tisInListViewBlockSupportTreeKey,\n} from '../block-edit/context';\nimport groups from './groups';\nimport { ListViewContentFill } from './list-view-content-popover';\n\nconst PATTERN_EDITING_GROUPS = [ 'content', 'list' ];\nconst TEMPLATE_PART_GROUPS = [ 'default', 'settings', 'advanced' ];\n\nexport default function InspectorControlsFill( {\n\tchildren,\n\tgroup = 'default',\n\t__experimentalGroup,\n\tresetAllFilter,\n} ) {\n\tif ( __experimentalGroup ) {\n\t\tdeprecated(\n\t\t\t'`__experimentalGroup` property in `InspectorControlsFill`',\n\t\t\t{\n\t\t\t\tsince: '6.2',\n\t\t\t\tversion: '6.4',\n\t\t\t\talternative: '`group`',\n\t\t\t}\n\t\t);\n\t\tgroup = __experimentalGroup;\n\t}\n\n\tconst context = useBlockEditContext();\n\n\tconst Fill = groups[ group ]?.Fill;\n\tif ( ! Fill ) {\n\t\twarning( `Unknown InspectorControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\t// During pattern editing:\n\t// - All blocks can show pattern editing groups (content, list).\n\t// - Template parts can show a settings tab (default, settings, advanced groups).\n\t// - Other blocks cannot show a settings tab.\n\tif ( context[ mayDisplayPatternEditingControlsKey ] ) {\n\t\t// Template parts are allowed to show a settings tab to allow access to the\n\t\t// 'Design' and 'Advanced' panels.\n\t\tconst isTemplatePart = context.name === 'core/template-part';\n\t\tconst isTemplatePartGroup = TEMPLATE_PART_GROUPS.includes( group );\n\t\tconst isPatternEditingGroup = PATTERN_EDITING_GROUPS.includes( group );\n\n\t\tconst canShowGroup =\n\t\t\t( isTemplatePart && isTemplatePartGroup ) || isPatternEditingGroup;\n\n\t\tif ( ! canShowGroup ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t// Outside pattern editing, use the standard rules for displaying controls.\n\tif (\n\t\t! context[ mayDisplayPatternEditingControlsKey ] &&\n\t\t! context[ mayDisplayControlsKey ]\n\t) {\n\t\treturn null;\n\t}\n\n\t// When inside a section with a parent that has ListView block support,\n\t// content controls are rendered as part of the ListView via a popover.\n\tif (\n\t\tgroup === 'content' &&\n\t\t!! context[ isInListViewBlockSupportTreeKey ] &&\n\t\t!! context[ mayDisplayPatternEditingControlsKey ]\n\t) {\n\t\tif ( context[ mayDisplayControlsKey ] ) {\n\t\t\treturn (\n\t\t\t\t<StyleProvider document={ document }>\n\t\t\t\t\t<ListViewContentFill>{ children }</ListViewContentFill>\n\t\t\t\t</StyleProvider>\n\t\t\t);\n\t\t}\n\n\t\t// When using the ListView fill, only render controls for the selected\n\t\t// block. Other blocks return `null`.\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill>\n\t\t\t\t{ ( fillProps ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolsPanelInspectorControl\n\t\t\t\t\t\t\tfillProps={ fillProps }\n\t\t\t\t\t\t\tchildren={ children }\n\t\t\t\t\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t</Fill>\n\t\t</StyleProvider>\n\t);\n}\n\nfunction RegisterResetAll( { resetAllFilter, children } ) {\n\tconst { registerResetAllFilter, deregisterResetAllFilter } =\n\t\tuseContext( ToolsPanelContext );\n\tuseEffect( () => {\n\t\tif (\n\t\t\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAGO;AACP,qBAAoB;AACpB,wBAAuB;AACvB,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalStyleProvider as StyleProvider,\n\t__experimentalToolsPanelContext as ToolsPanelContext,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\nimport deprecated from '@wordpress/deprecated';\nimport { useEffect, useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n\tmayDisplayPatternEditingControlsKey,\n\tisInListViewBlockSupportTreeKey,\n} from '../block-edit/context';\nimport groups from './groups';\nimport {\n\tscopeResetAllFilterToState,\n\tuseBlockStyleState,\n} from '../../hooks/block-style-state';\nimport { ListViewContentFill } from './list-view-content-popover';\n\nconst PATTERN_EDITING_GROUPS = [ 'content', 'list' ];\nconst TEMPLATE_PART_GROUPS = [ 'default', 'settings', 'advanced' ];\n\nexport default function InspectorControlsFill( {\n\tchildren,\n\tgroup = 'default',\n\t__experimentalGroup,\n\tresetAllFilter,\n} ) {\n\tif ( __experimentalGroup ) {\n\t\tdeprecated(\n\t\t\t'`__experimentalGroup` property in `InspectorControlsFill`',\n\t\t\t{\n\t\t\t\tsince: '6.2',\n\t\t\t\tversion: '6.4',\n\t\t\t\talternative: '`group`',\n\t\t\t}\n\t\t);\n\t\tgroup = __experimentalGroup;\n\t}\n\n\tconst context = useBlockEditContext();\n\n\tconst Fill = groups[ group ]?.Fill;\n\tif ( ! Fill ) {\n\t\twarning( `Unknown InspectorControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\t// During pattern editing:\n\t// - All blocks can show pattern editing groups (content, list).\n\t// - Template parts can show a settings tab (default, settings, advanced groups).\n\t// - Other blocks cannot show a settings tab.\n\tif ( context[ mayDisplayPatternEditingControlsKey ] ) {\n\t\t// Template parts are allowed to show a settings tab to allow access to the\n\t\t// 'Design' and 'Advanced' panels.\n\t\tconst isTemplatePart = context.name === 'core/template-part';\n\t\tconst isTemplatePartGroup = TEMPLATE_PART_GROUPS.includes( group );\n\t\tconst isPatternEditingGroup = PATTERN_EDITING_GROUPS.includes( group );\n\n\t\tconst canShowGroup =\n\t\t\t( isTemplatePart && isTemplatePartGroup ) || isPatternEditingGroup;\n\n\t\tif ( ! canShowGroup ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t// Outside pattern editing, use the standard rules for displaying controls.\n\tif (\n\t\t! context[ mayDisplayPatternEditingControlsKey ] &&\n\t\t! context[ mayDisplayControlsKey ]\n\t) {\n\t\treturn null;\n\t}\n\n\t// When inside a section with a parent that has ListView block support,\n\t// content controls are rendered as part of the ListView via a popover.\n\tif (\n\t\tgroup === 'content' &&\n\t\t!! context[ isInListViewBlockSupportTreeKey ] &&\n\t\t!! context[ mayDisplayPatternEditingControlsKey ]\n\t) {\n\t\tif ( context[ mayDisplayControlsKey ] ) {\n\t\t\treturn (\n\t\t\t\t<StyleProvider document={ document }>\n\t\t\t\t\t<ListViewContentFill>{ children }</ListViewContentFill>\n\t\t\t\t</StyleProvider>\n\t\t\t);\n\t\t}\n\n\t\t// When using the ListView fill, only render controls for the selected\n\t\t// block. Other blocks return `null`.\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill>\n\t\t\t\t{ ( fillProps ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolsPanelInspectorControl\n\t\t\t\t\t\t\tfillProps={ fillProps }\n\t\t\t\t\t\t\tchildren={ children }\n\t\t\t\t\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t</Fill>\n\t\t</StyleProvider>\n\t);\n}\n\nfunction RegisterResetAll( { resetAllFilter, children } ) {\n\tconst { registerResetAllFilter, deregisterResetAllFilter } =\n\t\tuseContext( ToolsPanelContext );\n\tconst selectedState = useBlockStyleState();\n\tconst scopedResetAllFilter = useMemo(\n\t\t() => scopeResetAllFilterToState( selectedState, resetAllFilter ),\n\t\t[ resetAllFilter, selectedState ]\n\t);\n\tuseEffect( () => {\n\t\tif (\n\t\t\tscopedResetAllFilter &&\n\t\t\tregisterResetAllFilter &&\n\t\t\tderegisterResetAllFilter\n\t\t) {\n\t\t\tregisterResetAllFilter( scopedResetAllFilter );\n\t\t\treturn () => {\n\t\t\t\tderegisterResetAllFilter( scopedResetAllFilter );\n\t\t\t};\n\t\t}\n\t}, [\n\t\tscopedResetAllFilter,\n\t\tregisterResetAllFilter,\n\t\tderegisterResetAllFilter,\n\t] );\n\treturn children;\n}\n\nfunction ToolsPanelInspectorControl( { children, resetAllFilter, fillProps } ) {\n\t// `fillProps.forwardedContext` is an array of context provider entries, provided by slot,\n\t// that should wrap the fill markup.\n\tconst { forwardedContext = [] } = fillProps;\n\n\t// Children passed to InspectorControlsFill will not have\n\t// access to any React Context whose Provider is part of\n\t// the InspectorControlsSlot tree. So we re-create the\n\t// Provider in this subtree.\n\tconst innerMarkup = (\n\t\t<RegisterResetAll resetAllFilter={ resetAllFilter }>\n\t\t\t{ children }\n\t\t</RegisterResetAll>\n\t);\n\treturn forwardedContext.reduce(\n\t\t( inner, [ Provider, props ] ) => (\n\t\t\t<Provider { ...props }>{ inner }</Provider>\n\t\t),\n\t\tinnerMarkup\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAGO;AACP,qBAAoB;AACpB,wBAAuB;AACvB,qBAA+C;AAK/C,qBAKO;AACP,oBAAmB;AACnB,+BAGO;AACP,uCAAoC;AAoE/B;AAlEL,IAAM,yBAAyB,CAAE,WAAW,MAAO;AACnD,IAAM,uBAAuB,CAAE,WAAW,YAAY,UAAW;AAElD,SAAR,sBAAwC;AAAA,EAC9C;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AACD,GAAI;AACH,MAAK,qBAAsB;AAC1B,0BAAAA;AAAA,MACC;AAAA,MACA;AAAA,QACC,OAAO;AAAA,QACP,SAAS;AAAA,QACT,aAAa;AAAA,MACd;AAAA,IACD;AACA,YAAQ;AAAA,EACT;AAEA,QAAM,cAAU,oCAAoB;AAEpC,QAAM,OAAO,cAAAC,QAAQ,KAAM,GAAG;AAC9B,MAAK,CAAE,MAAO;AACb,uBAAAC,SAAS,oCAAqC,KAAM,aAAc;AAClE,WAAO;AAAA,EACR;AAMA,MAAK,QAAS,kDAAoC,GAAI;AAGrD,UAAM,iBAAiB,QAAQ,SAAS;AACxC,UAAM,sBAAsB,qBAAqB,SAAU,KAAM;AACjE,UAAM,wBAAwB,uBAAuB,SAAU,KAAM;AAErE,UAAM,eACH,kBAAkB,uBAAyB;AAE9C,QAAK,CAAE,cAAe;AACrB,aAAO;AAAA,IACR;AAAA,EACD;AAGA,MACC,CAAE,QAAS,kDAAoC,KAC/C,CAAE,QAAS,oCAAsB,GAChC;AACD,WAAO;AAAA,EACR;AAIA,MACC,UAAU,aACV,CAAC,CAAE,QAAS,8CAAgC,KAC5C,CAAC,CAAE,QAAS,kDAAoC,GAC/C;AACD,QAAK,QAAS,oCAAsB,GAAI;AACvC,aACC,4CAAC,kBAAAC,6BAAA,EAAc,UACd,sDAAC,wDAAsB,UAAU,GAClC;AAAA,IAEF;AAIA,WAAO;AAAA,EACR;AAEA,SACC,4CAAC,kBAAAA,6BAAA,EAAc,UACd,sDAAC,QACE,WAAE,cAAe;AAClB,WACC;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,EAEF,GACD,GACD;AAEF;AAEA,SAAS,iBAAkB,EAAE,gBAAgB,SAAS,GAAI;AACzD,QAAM,EAAE,wBAAwB,yBAAyB,QACxD,2BAAY,kBAAAC,+BAAkB;AAC/B,QAAM,oBAAgB,6CAAmB;AACzC,QAAM,2BAAuB;AAAA,IAC5B,UAAM,qDAA4B,eAAe,cAAe;AAAA,IAChE,CAAE,gBAAgB,aAAc;AAAA,EACjC;AACA,gCAAW,MAAM;AAChB,QACC,wBACA,0BACA,0BACC;AACD,6BAAwB,oBAAqB;AAC7C,aAAO,MAAM;AACZ,iCAA0B,oBAAqB;AAAA,MAChD;AAAA,IACD;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AACF,SAAO;AACR;AAEA,SAAS,2BAA4B,EAAE,UAAU,gBAAgB,UAAU,GAAI;AAG9E,QAAM,EAAE,mBAAmB,CAAC,EAAE,IAAI;AAMlC,QAAM,cACL,4CAAC,oBAAiB,gBACf,UACH;AAED,SAAO,iBAAiB;AAAA,IACvB,CAAE,OAAO,CAAE,UAAU,KAAM,MAC1B,4CAAC,YAAW,GAAG,OAAU,iBAAO;AAAA,IAEjC;AAAA,EACD;AACD;",
|
|
6
6
|
"names": ["deprecated", "groups", "warning", "StyleProvider", "ToolsPanelContext"]
|
|
7
7
|
}
|
|
@@ -37,6 +37,7 @@ var InspectorControlsFilter = (0, import_components.createSlotFill)("InspectorCo
|
|
|
37
37
|
var InspectorControlsDimensions = (0, import_components.createSlotFill)(
|
|
38
38
|
"InspectorControlsDimensions"
|
|
39
39
|
);
|
|
40
|
+
var InspectorControlsLayout = (0, import_components.createSlotFill)("InspectorControlsLayout");
|
|
40
41
|
var InspectorControlsPosition = (0, import_components.createSlotFill)("InspectorControlsPosition");
|
|
41
42
|
var InspectorControlsTypography = (0, import_components.createSlotFill)(
|
|
42
43
|
"InspectorControlsTypography"
|
|
@@ -56,6 +57,7 @@ var groups = {
|
|
|
56
57
|
dimensions: InspectorControlsDimensions,
|
|
57
58
|
effects: InspectorControlsEffects,
|
|
58
59
|
filter: InspectorControlsFilter,
|
|
60
|
+
layout: InspectorControlsLayout,
|
|
59
61
|
list: InspectorControlsListView,
|
|
60
62
|
position: InspectorControlsPosition,
|
|
61
63
|
settings: InspectorControlsDefault,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inspector-controls/groups.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\nconst InspectorControlsDefault = createSlotFill( 'InspectorControls' );\nconst InspectorControlsAdvanced = createSlotFill( 'InspectorAdvancedControls' );\nconst InspectorControlsBindings = createSlotFill( 'InspectorControlsBindings' );\nconst InspectorControlsBackground = createSlotFill(\n\t'InspectorControlsBackground'\n);\nconst InspectorControlsBorder = createSlotFill( 'InspectorControlsBorder' );\nconst InspectorControlsColor = createSlotFill( 'InspectorControlsColor' );\nconst InspectorControlsFilter = createSlotFill( 'InspectorControlsFilter' );\nconst InspectorControlsDimensions = createSlotFill(\n\t'InspectorControlsDimensions'\n);\nconst InspectorControlsPosition = createSlotFill( 'InspectorControlsPosition' );\nconst InspectorControlsTypography = createSlotFill(\n\t'InspectorControlsTypography'\n);\nconst InspectorControlsListView = createSlotFill( 'InspectorControlsListView' );\nconst InspectorControlsStyles = createSlotFill( 'InspectorControlsStyles' );\nconst InspectorControlsEffects = createSlotFill( 'InspectorControlsEffects' );\nconst InspectorControlsContent = createSlotFill( 'InspectorControlsContent' );\n\nconst groups = {\n\tdefault: InspectorControlsDefault,\n\tadvanced: InspectorControlsAdvanced,\n\tbackground: InspectorControlsBackground,\n\tbindings: InspectorControlsBindings,\n\tborder: InspectorControlsBorder,\n\tcolor: InspectorControlsColor,\n\tcontent: InspectorControlsContent,\n\tdimensions: InspectorControlsDimensions,\n\teffects: InspectorControlsEffects,\n\tfilter: InspectorControlsFilter,\n\tlist: InspectorControlsListView,\n\tposition: InspectorControlsPosition,\n\tsettings: InspectorControlsDefault, // Alias for default.\n\tstyles: InspectorControlsStyles,\n\ttypography: InspectorControlsTypography,\n};\n\nexport default groups;\n\n// Private slot for allowed blocks control UI.\nexport const PrivateInspectorControlsAllowedBlocks = createSlotFill(\n\tSymbol( 'PrivateInspectorControlsAllowedBlocks' )\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA+B;AAE/B,IAAM,+BAA2B,kCAAgB,mBAAoB;AACrE,IAAM,gCAA4B,kCAAgB,2BAA4B;AAC9E,IAAM,gCAA4B,kCAAgB,2BAA4B;AAC9E,IAAM,kCAA8B;AAAA,EACnC;AACD;AACA,IAAM,8BAA0B,kCAAgB,yBAA0B;AAC1E,IAAM,6BAAyB,kCAAgB,wBAAyB;AACxE,IAAM,8BAA0B,kCAAgB,yBAA0B;AAC1E,IAAM,kCAA8B;AAAA,EACnC;AACD;AACA,IAAM,gCAA4B,kCAAgB,2BAA4B;AAC9E,IAAM,kCAA8B;AAAA,EACnC;AACD;AACA,IAAM,gCAA4B,kCAAgB,2BAA4B;AAC9E,IAAM,8BAA0B,kCAAgB,yBAA0B;AAC1E,IAAM,+BAA2B,kCAAgB,0BAA2B;AAC5E,IAAM,+BAA2B,kCAAgB,0BAA2B;AAE5E,IAAM,SAAS;AAAA,EACd,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA;AAAA,EACV,QAAQ;AAAA,EACR,YAAY;AACb;AAEA,IAAO,iBAAQ;AAGR,IAAM,4CAAwC;AAAA,EACpD,uBAAQ,uCAAwC;AACjD;",
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\nconst InspectorControlsDefault = createSlotFill( 'InspectorControls' );\nconst InspectorControlsAdvanced = createSlotFill( 'InspectorAdvancedControls' );\nconst InspectorControlsBindings = createSlotFill( 'InspectorControlsBindings' );\nconst InspectorControlsBackground = createSlotFill(\n\t'InspectorControlsBackground'\n);\nconst InspectorControlsBorder = createSlotFill( 'InspectorControlsBorder' );\nconst InspectorControlsColor = createSlotFill( 'InspectorControlsColor' );\nconst InspectorControlsFilter = createSlotFill( 'InspectorControlsFilter' );\nconst InspectorControlsDimensions = createSlotFill(\n\t'InspectorControlsDimensions'\n);\nconst InspectorControlsLayout = createSlotFill( 'InspectorControlsLayout' );\nconst InspectorControlsPosition = createSlotFill( 'InspectorControlsPosition' );\nconst InspectorControlsTypography = createSlotFill(\n\t'InspectorControlsTypography'\n);\nconst InspectorControlsListView = createSlotFill( 'InspectorControlsListView' );\nconst InspectorControlsStyles = createSlotFill( 'InspectorControlsStyles' );\nconst InspectorControlsEffects = createSlotFill( 'InspectorControlsEffects' );\nconst InspectorControlsContent = createSlotFill( 'InspectorControlsContent' );\n\nconst groups = {\n\tdefault: InspectorControlsDefault,\n\tadvanced: InspectorControlsAdvanced,\n\tbackground: InspectorControlsBackground,\n\tbindings: InspectorControlsBindings,\n\tborder: InspectorControlsBorder,\n\tcolor: InspectorControlsColor,\n\tcontent: InspectorControlsContent,\n\tdimensions: InspectorControlsDimensions,\n\teffects: InspectorControlsEffects,\n\tfilter: InspectorControlsFilter,\n\tlayout: InspectorControlsLayout,\n\tlist: InspectorControlsListView,\n\tposition: InspectorControlsPosition,\n\tsettings: InspectorControlsDefault, // Alias for default.\n\tstyles: InspectorControlsStyles,\n\ttypography: InspectorControlsTypography,\n};\n\nexport default groups;\n\n// Private slot for allowed blocks control UI.\nexport const PrivateInspectorControlsAllowedBlocks = createSlotFill(\n\tSymbol( 'PrivateInspectorControlsAllowedBlocks' )\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA+B;AAE/B,IAAM,+BAA2B,kCAAgB,mBAAoB;AACrE,IAAM,gCAA4B,kCAAgB,2BAA4B;AAC9E,IAAM,gCAA4B,kCAAgB,2BAA4B;AAC9E,IAAM,kCAA8B;AAAA,EACnC;AACD;AACA,IAAM,8BAA0B,kCAAgB,yBAA0B;AAC1E,IAAM,6BAAyB,kCAAgB,wBAAyB;AACxE,IAAM,8BAA0B,kCAAgB,yBAA0B;AAC1E,IAAM,kCAA8B;AAAA,EACnC;AACD;AACA,IAAM,8BAA0B,kCAAgB,yBAA0B;AAC1E,IAAM,gCAA4B,kCAAgB,2BAA4B;AAC9E,IAAM,kCAA8B;AAAA,EACnC;AACD;AACA,IAAM,gCAA4B,kCAAgB,2BAA4B;AAC9E,IAAM,8BAA0B,kCAAgB,yBAA0B;AAC1E,IAAM,+BAA2B,kCAAgB,0BAA2B;AAC5E,IAAM,+BAA2B,kCAAgB,0BAA2B;AAE5E,IAAM,SAAS;AAAA,EACd,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA;AAAA,EACV,QAAQ;AAAA,EACR,YAAY;AACb;AAEA,IAAO,iBAAQ;AAGR,IAAM,4CAAwC;AAAA,EACpD,uBAAQ,uCAAwC;AACjD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -37,6 +37,7 @@ var import_components = require("@wordpress/components");
|
|
|
37
37
|
var import_element = require("@wordpress/element");
|
|
38
38
|
var import_preferences = require("@wordpress/preferences");
|
|
39
39
|
var import_data = require("@wordpress/data");
|
|
40
|
+
var import_ui = require("@wordpress/ui");
|
|
40
41
|
var import_utils = require("./utils.cjs");
|
|
41
42
|
var import_settings_tab = __toESM(require("./settings-tab.cjs"));
|
|
42
43
|
var import_styles_tab = __toESM(require("./styles-tab.cjs"));
|
|
@@ -145,14 +146,18 @@ function InspectorControlsTabs({
|
|
|
145
146
|
onSelect: handleTabSelect,
|
|
146
147
|
children: [
|
|
147
148
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.TabList, { children: tabs.map(
|
|
148
|
-
(tab) => showIconLabels ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.Tab, { tabId: tab.name, children: tab.title }, tab.name) : /* @__PURE__ */ (0, import_jsx_runtime.
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
149
|
+
(tab) => showIconLabels ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.Tab, { tabId: tab.name, children: tab.title }, tab.name) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Tooltip.Root, { children: [
|
|
150
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
151
|
+
Tabs.Tab,
|
|
152
|
+
{
|
|
153
|
+
tabId: tab.name,
|
|
154
|
+
"aria-label": tab.title,
|
|
155
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Tooltip.Trigger, {}),
|
|
156
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Icon, { icon: tab.icon })
|
|
157
|
+
}
|
|
158
|
+
),
|
|
159
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Tooltip.Popup, { children: tab.title })
|
|
160
|
+
] }, tab.name)
|
|
156
161
|
) }),
|
|
157
162
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Tabs.TabPanel, { tabId: import_utils.TAB_CONTENT.name, focusable: false, children: [
|
|
158
163
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inspector-controls-tabs/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,
|
|
6
|
-
"names": ["componentsPrivateApis", "preferencesStore", "blockEditorStore", "ContentTab", "InspectorControls", "SettingsTab", "StylesTab"]
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tIcon as WCIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n// eslint-disable-next-line @wordpress/use-recommended-components -- `Tooltip` is not yet on the recommended `@wordpress/ui` allow-list; landing as a migration step ahead of the wider rollout.\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { TAB_SETTINGS, TAB_STYLES, TAB_LIST_VIEW, TAB_CONTENT } from './utils';\nimport SettingsTab from './settings-tab';\nimport StylesTab from './styles-tab';\nimport ContentTab from './content-tab';\nimport { ListViewContentPopover } from '../inspector-controls/list-view-content-popover';\nimport InspectorControls from '../inspector-controls';\nimport { unlock } from '../../lock-unlock';\nimport { store as blockEditorStore } from '../../store';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nexport default function InspectorControlsTabs( {\n\tblockName,\n\tclientId,\n\thasBlockStyles,\n\ttabs,\n\tisSectionBlock,\n\tcontentClientIds,\n} ) {\n\tconst listViewRef = useRef( null );\n\tconst showIconLabels = useSelect( ( select ) => {\n\t\treturn select( preferencesStore ).get( 'core', 'showIconLabels' );\n\t}, [] );\n\n\t// Get any requested inspector tab (used for initial state when programmatically switching)\n\tconst { requestedTab } = useSelect( ( select ) => ( {\n\t\trequestedTab: unlock(\n\t\t\tselect( blockEditorStore )\n\t\t).getRequestedInspectorTab(),\n\t} ) );\n\n\tconst [ selectedTabId, setSelectedTabId ] = useState(\n\t\t() => requestedTab?.tabName ?? tabs[ 0 ]?.name\n\t);\n\tconst hasUserSelectionRef = useRef( false );\n\tconst isProgrammaticSwitchRef = useRef( false );\n\tconst {\n\t\t__unstableSetOpenListViewPanel: setOpenListViewPanel,\n\t\t__unstableIncrementListViewExpandRevision:\n\t\t\tincrementListViewExpandRevision,\n\t\t__unstableSetAllListViewPanelsOpen: setAllListViewPanelsOpen,\n\t} = useDispatch( blockEditorStore );\n\tconst { clearRequestedInspectorTab } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\t// Reset when switching blocks\n\tuseEffect( () => {\n\t\thasUserSelectionRef.current = false;\n\t}, [ clientId ] );\n\n\t// Handle explicit inspector tab requests (panel opening, refs, clear).\n\t// Tab state is initialized from requestedTab above.\n\tuseEffect( () => {\n\t\tif ( ! requestedTab ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Switch to the requested tab\n\t\tsetSelectedTabId( requestedTab.tabName );\n\n\t\t// Handle tab-specific options\n\t\tif (\n\t\t\trequestedTab.tabName === TAB_LIST_VIEW.name &&\n\t\t\trequestedTab.options?.openPanel\n\t\t) {\n\t\t\t// Open the specific panel for List View\n\t\t\tsetOpenListViewPanel( requestedTab.options.openPanel );\n\t\t\tincrementListViewExpandRevision();\n\t\t}\n\n\t\t// Mark as handled (programmatic switch)\n\t\tisProgrammaticSwitchRef.current = true;\n\t\thasUserSelectionRef.current = true;\n\n\t\t// Clear the request\n\t\tclearRequestedInspectorTab();\n\t}, [\n\t\trequestedTab,\n\t\tsetOpenListViewPanel,\n\t\tincrementListViewExpandRevision,\n\t\tclearRequestedInspectorTab,\n\t] );\n\n\t// Initialize List View panels when the tab is selected and clientId changes\n\tuseEffect( () => {\n\t\tif (\n\t\t\tselectedTabId === TAB_LIST_VIEW.name &&\n\t\t\t! hasUserSelectionRef.current\n\t\t) {\n\t\t\tsetAllListViewPanelsOpen();\n\t\t\tincrementListViewExpandRevision();\n\t\t}\n\t}, [\n\t\tclientId,\n\t\tselectedTabId,\n\t\tsetAllListViewPanelsOpen,\n\t\tincrementListViewExpandRevision,\n\t] );\n\n\t// Auto-select first available tab unless user has made a selection\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! tabs?.length ||\n\t\t\t( hasUserSelectionRef.current &&\n\t\t\t\ttabs.some( ( tab ) => tab.name === selectedTabId ) )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst firstTabName = tabs[ 0 ]?.name;\n\t\tif ( selectedTabId !== firstTabName ) {\n\t\t\tsetSelectedTabId( firstTabName );\n\t\t}\n\t}, [ tabs, selectedTabId ] );\n\n\tconst handleTabSelect = ( tabId ) => {\n\t\tsetSelectedTabId( tabId );\n\t\thasUserSelectionRef.current = true;\n\n\t\t// If manually switching to List View tab (not via click-through), open all panels\n\t\tif (\n\t\t\ttabId === TAB_LIST_VIEW.name &&\n\t\t\t! isProgrammaticSwitchRef.current\n\t\t) {\n\t\t\tsetAllListViewPanelsOpen();\n\t\t\tincrementListViewExpandRevision();\n\t\t}\n\n\t\t// Reset the flag\n\t\tisProgrammaticSwitchRef.current = false;\n\t};\n\n\tconst hasListViewTab = tabs.some(\n\t\t( tab ) => tab.name === TAB_LIST_VIEW.name\n\t);\n\n\tconst switchToListView = ( targetClientId ) => {\n\t\tif ( hasListViewTab ) {\n\t\t\t// Open only the target panel\n\t\t\tsetOpenListViewPanel( targetClientId );\n\t\t\tincrementListViewExpandRevision();\n\t\t\t// Mark this as a programmatic switch\n\t\t\tisProgrammaticSwitchRef.current = true;\n\t\t\thandleTabSelect( TAB_LIST_VIEW.name );\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector__tabs\">\n\t\t\t<Tabs\n\t\t\t\tselectedTabId={ selectedTabId }\n\t\t\t\tonSelect={ handleTabSelect }\n\t\t\t\tkey={ clientId }\n\t\t\t>\n\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t{ tabs.map( ( tab ) =>\n\t\t\t\t\t\tshowIconLabels ? (\n\t\t\t\t\t\t\t<Tabs.Tab key={ tab.name } tabId={ tab.name }>\n\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Tooltip.Root key={ tab.name }>\n\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\ttabId={ tab.name }\n\t\t\t\t\t\t\t\t\taria-label={ tab.title }\n\t\t\t\t\t\t\t\t\trender={ <Tooltip.Trigger /> }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<WCIcon icon={ tab.icon } />\n\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t<Tooltip.Popup>{ tab.title }</Tooltip.Popup>\n\t\t\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</Tabs.TabList>\n\t\t\t\t<Tabs.TabPanel tabId={ TAB_CONTENT.name } focusable={ false }>\n\t\t\t\t\t<ContentTab\n\t\t\t\t\t\tcontentClientIds={ contentClientIds }\n\t\t\t\t\t\tonSwitchToListView={ switchToListView }\n\t\t\t\t\t\thasListViewTab={ hasListViewTab }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"content\" />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ TAB_LIST_VIEW.name } focusable={ false }>\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" ref={ listViewRef } />\n\t\t\t\t\t<ListViewContentPopover listViewRef={ listViewRef } />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ TAB_SETTINGS.name } focusable={ false }>\n\t\t\t\t\t<SettingsTab showAdvancedControls={ !! blockName } />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ TAB_STYLES.name } focusable={ false }>\n\t\t\t\t\t<StylesTab\n\t\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\tisSectionBlock={ isSectionBlock }\n\t\t\t\t\t\tcontentClientIds={ contentClientIds }\n\t\t\t\t\t/>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs>\n\t\t</div>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["componentsPrivateApis", "preferencesStore", "blockEditorStore", "WCIcon", "ContentTab", "InspectorControls", "SettingsTab", "StylesTab"]
|
|
7
7
|
}
|
|
@@ -35,18 +35,15 @@ __export(settings_tab_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(settings_tab_exports);
|
|
36
36
|
var import_components = require("@wordpress/components");
|
|
37
37
|
var import_advanced_controls_panel = __toESM(require("./advanced-controls-panel.cjs"));
|
|
38
|
-
var import_position_controls_panel = __toESM(require("./position-controls-panel.cjs"));
|
|
39
38
|
var import_inspector_controls = __toESM(require("../inspector-controls/index.cjs"));
|
|
40
39
|
var import_groups = __toESM(require("../inspector-controls/groups.cjs"));
|
|
41
40
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
42
41
|
var SettingsTab = ({ showAdvancedControls = false }) => {
|
|
43
42
|
const defaultFills = (0, import_components.__experimentalUseSlotFills)(import_groups.default.default.name);
|
|
44
|
-
const positionFills = (0, import_components.__experimentalUseSlotFills)(import_groups.default.position.name);
|
|
45
43
|
const bindingsFills = (0, import_components.__experimentalUseSlotFills)(import_groups.default.bindings.name);
|
|
46
|
-
const hasOtherFills = !!defaultFills?.length || !!
|
|
44
|
+
const hasOtherFills = !!defaultFills?.length || !!bindingsFills?.length;
|
|
47
45
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
48
46
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_inspector_controls.default.Slot, {}),
|
|
49
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_position_controls_panel.default, {}),
|
|
50
47
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_inspector_controls.default.Slot, { group: "bindings" }),
|
|
51
48
|
showAdvancedControls && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_advanced_controls_panel.default, { initialOpen: !hasOtherFills }) })
|
|
52
49
|
] });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inspector-controls-tabs/settings-tab.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalUseSlotFills as useSlotFills } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport AdvancedControls from './advanced-controls-panel';\nimport
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA2D;AAK3D,qCAA6B;AAC7B,
|
|
6
|
-
"names": ["useSlotFills", "groups", "InspectorControls", "
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalUseSlotFills as useSlotFills } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport AdvancedControls from './advanced-controls-panel';\nimport { default as InspectorControls } from '../inspector-controls';\nimport groups from '../inspector-controls/groups';\n\nconst SettingsTab = ( { showAdvancedControls = false } ) => {\n\tconst defaultFills = useSlotFills( groups.default.name );\n\tconst bindingsFills = useSlotFills( groups.bindings.name );\n\n\t// Expand the advanced panel when there are no other fills\n\t// in the settings tab.\n\tconst hasOtherFills = !! defaultFills?.length || !! bindingsFills?.length;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls.Slot />\n\t\t\t<InspectorControls.Slot group=\"bindings\" />\n\t\t\t{ showAdvancedControls && (\n\t\t\t\t<div>\n\t\t\t\t\t<AdvancedControls initialOpen={ ! hasOtherFills } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default SettingsTab;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA2D;AAK3D,qCAA6B;AAC7B,gCAA6C;AAC7C,oBAAmB;AAWjB;AATF,IAAM,cAAc,CAAE,EAAE,uBAAuB,MAAM,MAAO;AAC3D,QAAM,mBAAe,kBAAAA,4BAAc,cAAAC,QAAO,QAAQ,IAAK;AACvD,QAAM,oBAAgB,kBAAAD,4BAAc,cAAAC,QAAO,SAAS,IAAK;AAIzD,QAAM,gBAAgB,CAAC,CAAE,cAAc,UAAU,CAAC,CAAE,eAAe;AAEnE,SACC,4EACC;AAAA,gDAAC,0BAAAC,QAAkB,MAAlB,EAAuB;AAAA,IACxB,4CAAC,0BAAAA,QAAkB,MAAlB,EAAuB,OAAM,YAAW;AAAA,IACvC,wBACD,4CAAC,SACA,sDAAC,+BAAAC,SAAA,EAAiB,aAAc,CAAE,eAAgB,GACnD;AAAA,KAEF;AAEF;AAEA,IAAO,uBAAQ;",
|
|
6
|
+
"names": ["useSlotFills", "groups", "InspectorControls", "AdvancedControls"]
|
|
7
7
|
}
|
|
@@ -37,6 +37,7 @@ var import_i18n = require("@wordpress/i18n");
|
|
|
37
37
|
var import_data = require("@wordpress/data");
|
|
38
38
|
var import_block_styles = __toESM(require("../block-styles/index.cjs"));
|
|
39
39
|
var import_inspector_controls = __toESM(require("../inspector-controls/index.cjs"));
|
|
40
|
+
var import_position_controls_panel = __toESM(require("./position-controls-panel.cjs"));
|
|
40
41
|
var import_border = require("../../hooks/border.cjs");
|
|
41
42
|
var import_utils = require("../../hooks/utils.cjs");
|
|
42
43
|
var import_store = require("../../store/index.cjs");
|
|
@@ -126,6 +127,13 @@ var StylesTab = ({
|
|
|
126
127
|
label: (0, import_i18n.__)("Typography")
|
|
127
128
|
}
|
|
128
129
|
),
|
|
130
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
131
|
+
import_inspector_controls.default.Slot,
|
|
132
|
+
{
|
|
133
|
+
group: "layout",
|
|
134
|
+
label: (0, import_i18n.__)("Layout")
|
|
135
|
+
}
|
|
136
|
+
),
|
|
129
137
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
130
138
|
import_inspector_controls.default.Slot,
|
|
131
139
|
{
|
|
@@ -140,6 +148,7 @@ var StylesTab = ({
|
|
|
140
148
|
label: borderPanelLabel
|
|
141
149
|
}
|
|
142
150
|
),
|
|
151
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_position_controls_panel.default, {}),
|
|
143
152
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_inspector_controls.default.Slot, { group: "styles" })
|
|
144
153
|
] })
|
|
145
154
|
] });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inspector-controls-tabs/styles-tab.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockStyles from '../block-styles';\nimport InspectorControls from '../inspector-controls';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { useBlockSettings } from '../../hooks/utils';\nimport { store as blockEditorStore } from '../../store';\nimport { ColorEdit } from '../../hooks/color';\nimport { ColorToolsPanel } from '../global-styles/color-panel';\n\nfunction SectionBlockColorControls( {\n\tblockName,\n\tclientId,\n\tcontentClientIds,\n} ) {\n\tconst settings = useBlockSettings( blockName );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst { hasButtons, hasHeading } = useSelect(\n\t\t( select ) => {\n\t\t\tconst blockNames =\n\t\t\t\tselect( blockEditorStore ).getBlockNamesByClientId(\n\t\t\t\t\tcontentClientIds\n\t\t\t\t);\n\t\t\treturn {\n\t\t\t\thasButtons: blockNames.includes( 'core/buttons' ),\n\t\t\t\thasHeading: blockNames.includes( 'core/heading' ),\n\t\t\t};\n\t\t},\n\t\t[ contentClientIds ]\n\t);\n\n\tconst setAttributes = ( newAttributes ) => {\n\t\tupdateBlockAttributes( clientId, newAttributes );\n\t};\n\n\treturn (\n\t\t<ColorEdit\n\t\t\tclientId={ clientId }\n\t\t\tname={ blockName }\n\t\t\tsettings={ settings }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tasWrapper={ ColorToolsPanel }\n\t\t\tlabel={ __( 'Color' ) }\n\t\t\tdefaultControls={ {\n\t\t\t\ttext: true,\n\t\t\t\tbackground: true,\n\t\t\t\tbutton: hasButtons,\n\t\t\t\theading: hasHeading,\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nconst StylesTab = ( {\n\tblockName,\n\tclientId,\n\thasBlockStyles,\n\tisSectionBlock,\n\tcontentClientIds,\n} ) => {\n\tconst borderPanelLabel = useBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasBlockStyles && <BlockStyles clientId={ clientId } /> }\n\t\t\t{ isSectionBlock && (\n\t\t\t\t<SectionBlockColorControls\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcontentClientIds={ contentClientIds }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isSectionBlock && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\tclassName=\"background-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"filter\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default StylesTab;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,kBAAuC;AAKvC,0BAAwB;AACxB,gCAA8B;AAC9B,oBAAoC;AACpC,mBAAiC;AACjC,mBAA0C;AAC1C,mBAA0B;AAC1B,yBAAgC;AA6B9B;AA3BF,SAAS,0BAA2B;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,eAAW,+BAAkB,SAAU;AAC7C,QAAM,EAAE,sBAAsB,QAAI,yBAAa,aAAAA,KAAiB;AAEhE,QAAM,EAAE,YAAY,WAAW,QAAI;AAAA,IAClC,CAAE,WAAY;AACb,YAAM,aACL,OAAQ,aAAAA,KAAiB,EAAE;AAAA,QAC1B;AAAA,MACD;AACD,aAAO;AAAA,QACN,YAAY,WAAW,SAAU,cAAe;AAAA,QAChD,YAAY,WAAW,SAAU,cAAe;AAAA,MACjD;AAAA,IACD;AAAA,IACA,CAAE,gBAAiB;AAAA,EACpB;AAEA,QAAM,gBAAgB,CAAE,kBAAmB;AAC1C,0BAAuB,UAAU,aAAc;AAAA,EAChD;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,MAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,WAAY;AAAA,MACZ,WAAQ,gBAAI,OAAQ;AAAA,MACpB,iBAAkB;AAAA,QACjB,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,SAAS;AAAA,MACV;AAAA;AAAA,EACD;AAEF;AAEA,IAAM,YAAY,CAAE;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAO;AACN,QAAM,uBAAmB,mCAAqB,EAAE,UAAU,CAAE;AAE5D,SACC,4EACG;AAAA,sBAAkB,4CAAC,oBAAAC,SAAA,EAAY,UAAsB;AAAA,IACrD,kBACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,IAEC,CAAE,kBACH,4EACC;AAAA;AAAA,QAAC,0BAAAC,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,WAAQ,gBAAI,OAAQ;AAAA,UACpB,WAAU;AAAA;AAAA,MACX;AAAA,MACA;AAAA,QAAC,0BAAAA,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,WAAQ,gBAAI,kBAAmB;AAAA,UAC/B,WAAU;AAAA;AAAA,MACX;AAAA,MACA,4CAAC,0BAAAA,QAAkB,MAAlB,EAAuB,OAAM,UAAS;AAAA,MACvC;AAAA,QAAC,0BAAAA,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,WAAQ,gBAAI,YAAa;AAAA;AAAA,MAC1B;AAAA,MACA;AAAA,QAAC,0BAAAA,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,WAAQ,gBAAI,YAAa;AAAA;AAAA,MAC1B;AAAA,MACA;AAAA,QAAC,0BAAAA,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,OAAQ;AAAA;AAAA,MACT;AAAA,MACA,4CAAC,
|
|
6
|
-
"names": ["blockEditorStore", "BlockStyles", "InspectorControls"]
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockStyles from '../block-styles';\nimport InspectorControls from '../inspector-controls';\nimport PositionControls from './position-controls-panel';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { useBlockSettings } from '../../hooks/utils';\nimport { store as blockEditorStore } from '../../store';\nimport { ColorEdit } from '../../hooks/color';\nimport { ColorToolsPanel } from '../global-styles/color-panel';\n\nfunction SectionBlockColorControls( {\n\tblockName,\n\tclientId,\n\tcontentClientIds,\n} ) {\n\tconst settings = useBlockSettings( blockName );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst { hasButtons, hasHeading } = useSelect(\n\t\t( select ) => {\n\t\t\tconst blockNames =\n\t\t\t\tselect( blockEditorStore ).getBlockNamesByClientId(\n\t\t\t\t\tcontentClientIds\n\t\t\t\t);\n\t\t\treturn {\n\t\t\t\thasButtons: blockNames.includes( 'core/buttons' ),\n\t\t\t\thasHeading: blockNames.includes( 'core/heading' ),\n\t\t\t};\n\t\t},\n\t\t[ contentClientIds ]\n\t);\n\n\tconst setAttributes = ( newAttributes ) => {\n\t\tupdateBlockAttributes( clientId, newAttributes );\n\t};\n\n\treturn (\n\t\t<ColorEdit\n\t\t\tclientId={ clientId }\n\t\t\tname={ blockName }\n\t\t\tsettings={ settings }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tasWrapper={ ColorToolsPanel }\n\t\t\tlabel={ __( 'Color' ) }\n\t\t\tdefaultControls={ {\n\t\t\t\ttext: true,\n\t\t\t\tbackground: true,\n\t\t\t\tbutton: hasButtons,\n\t\t\t\theading: hasHeading,\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nconst StylesTab = ( {\n\tblockName,\n\tclientId,\n\thasBlockStyles,\n\tisSectionBlock,\n\tcontentClientIds,\n} ) => {\n\tconst borderPanelLabel = useBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasBlockStyles && <BlockStyles clientId={ clientId } /> }\n\t\t\t{ isSectionBlock && (\n\t\t\t\t<SectionBlockColorControls\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcontentClientIds={ contentClientIds }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isSectionBlock && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\tclassName=\"background-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"filter\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"layout\"\n\t\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t/>\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default StylesTab;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,kBAAuC;AAKvC,0BAAwB;AACxB,gCAA8B;AAC9B,qCAA6B;AAC7B,oBAAoC;AACpC,mBAAiC;AACjC,mBAA0C;AAC1C,mBAA0B;AAC1B,yBAAgC;AA6B9B;AA3BF,SAAS,0BAA2B;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,eAAW,+BAAkB,SAAU;AAC7C,QAAM,EAAE,sBAAsB,QAAI,yBAAa,aAAAA,KAAiB;AAEhE,QAAM,EAAE,YAAY,WAAW,QAAI;AAAA,IAClC,CAAE,WAAY;AACb,YAAM,aACL,OAAQ,aAAAA,KAAiB,EAAE;AAAA,QAC1B;AAAA,MACD;AACD,aAAO;AAAA,QACN,YAAY,WAAW,SAAU,cAAe;AAAA,QAChD,YAAY,WAAW,SAAU,cAAe;AAAA,MACjD;AAAA,IACD;AAAA,IACA,CAAE,gBAAiB;AAAA,EACpB;AAEA,QAAM,gBAAgB,CAAE,kBAAmB;AAC1C,0BAAuB,UAAU,aAAc;AAAA,EAChD;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,MAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,WAAY;AAAA,MACZ,WAAQ,gBAAI,OAAQ;AAAA,MACpB,iBAAkB;AAAA,QACjB,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,SAAS;AAAA,MACV;AAAA;AAAA,EACD;AAEF;AAEA,IAAM,YAAY,CAAE;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAO;AACN,QAAM,uBAAmB,mCAAqB,EAAE,UAAU,CAAE;AAE5D,SACC,4EACG;AAAA,sBAAkB,4CAAC,oBAAAC,SAAA,EAAY,UAAsB;AAAA,IACrD,kBACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,IAEC,CAAE,kBACH,4EACC;AAAA;AAAA,QAAC,0BAAAC,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,WAAQ,gBAAI,OAAQ;AAAA,UACpB,WAAU;AAAA;AAAA,MACX;AAAA,MACA;AAAA,QAAC,0BAAAA,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,WAAQ,gBAAI,kBAAmB;AAAA,UAC/B,WAAU;AAAA;AAAA,MACX;AAAA,MACA,4CAAC,0BAAAA,QAAkB,MAAlB,EAAuB,OAAM,UAAS;AAAA,MACvC;AAAA,QAAC,0BAAAA,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,WAAQ,gBAAI,YAAa;AAAA;AAAA,MAC1B;AAAA,MACA;AAAA,QAAC,0BAAAA,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,WAAQ,gBAAI,QAAS;AAAA;AAAA,MACtB;AAAA,MACA;AAAA,QAAC,0BAAAA,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,WAAQ,gBAAI,YAAa;AAAA;AAAA,MAC1B;AAAA,MACA;AAAA,QAAC,0BAAAA,QAAkB;AAAA,QAAlB;AAAA,UACA,OAAM;AAAA,UACN,OAAQ;AAAA;AAAA,MACT;AAAA,MACA,4CAAC,+BAAAC,SAAA,EAAiB;AAAA,MAClB,4CAAC,0BAAAD,QAAkB,MAAlB,EAAuB,OAAM,UAAS;AAAA,OACxC;AAAA,KAEF;AAEF;AAEA,IAAO,qBAAQ;",
|
|
6
|
+
"names": ["blockEditorStore", "BlockStyles", "InspectorControls", "PositionControls"]
|
|
7
7
|
}
|
|
@@ -57,6 +57,7 @@ function useInspectorControlsTabs(blockName, contentClientIds, isSectionBlock, h
|
|
|
57
57
|
color: colorGroup,
|
|
58
58
|
content: contentGroup,
|
|
59
59
|
default: defaultGroup,
|
|
60
|
+
layout: layoutGroup,
|
|
60
61
|
dimensions: dimensionsGroup,
|
|
61
62
|
list: listGroup,
|
|
62
63
|
position: positionGroup,
|
|
@@ -71,6 +72,8 @@ function useInspectorControlsTabs(blockName, contentClientIds, isSectionBlock, h
|
|
|
71
72
|
const styleFills = [
|
|
72
73
|
...(0, import_components.__experimentalUseSlotFills)(borderGroup.name) || [],
|
|
73
74
|
...(0, import_components.__experimentalUseSlotFills)(colorGroup.name) || [],
|
|
75
|
+
...(0, import_components.__experimentalUseSlotFills)(layoutGroup.name) || [],
|
|
76
|
+
...(0, import_components.__experimentalUseSlotFills)(positionGroup.name) || [],
|
|
74
77
|
...(0, import_components.__experimentalUseSlotFills)(dimensionsGroup.name) || [],
|
|
75
78
|
...(0, import_components.__experimentalUseSlotFills)(stylesGroup.name) || [],
|
|
76
79
|
...(0, import_components.__experimentalUseSlotFills)(typographyGroup.name) || [],
|
|
@@ -83,7 +86,6 @@ function useInspectorControlsTabs(blockName, contentClientIds, isSectionBlock, h
|
|
|
83
86
|
];
|
|
84
87
|
const settingsFills = [
|
|
85
88
|
...(0, import_components.__experimentalUseSlotFills)(defaultGroup.name) || [],
|
|
86
|
-
...(0, import_components.__experimentalUseSlotFills)(positionGroup.name) || [],
|
|
87
89
|
...hasListFills && hasStyleFills > 1 ? advancedFills : []
|
|
88
90
|
];
|
|
89
91
|
const shouldShowBlockFields = window?.__experimentalContentOnlyInspectorFields;
|
|
@@ -98,12 +100,16 @@ function useInspectorControlsTabs(blockName, contentClientIds, isSectionBlock, h
|
|
|
98
100
|
advancedFills.length && (hasContentTab || hasListFills)) {
|
|
99
101
|
tabs.push(import_utils.TAB_SETTINGS);
|
|
100
102
|
}
|
|
101
|
-
|
|
103
|
+
const { tabSettings, isPreviewMode } = (0, import_data.useSelect)((select) => {
|
|
104
|
+
const settings = select(import_store.store).getSettings();
|
|
105
|
+
return {
|
|
106
|
+
tabSettings: settings.blockInspectorTabs,
|
|
107
|
+
isPreviewMode: settings.isPreviewMode
|
|
108
|
+
};
|
|
109
|
+
}, []);
|
|
110
|
+
if (!isPreviewMode && (hasBlockStyles || hasStyleFills)) {
|
|
102
111
|
tabs.push(import_utils.TAB_STYLES);
|
|
103
112
|
}
|
|
104
|
-
const tabSettings = (0, import_data.useSelect)((select) => {
|
|
105
|
-
return select(import_store.store).getSettings().blockInspectorTabs;
|
|
106
|
-
}, []);
|
|
107
113
|
const showTabs = getShowTabs(blockName, tabSettings);
|
|
108
114
|
return showTabs ? tabs : EMPTY_ARRAY;
|
|
109
115
|
}
|