@wordpress/block-editor 11.2.0 → 11.3.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 +5 -0
- package/README.md +28 -4
- package/build/components/alignment-control/ui.js +1 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +2 -7
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +2 -2
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-card/index.js +2 -4
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-edit/index.js +8 -0
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-inspector/index.js +15 -14
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +5 -0
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-lock/modal.js +0 -1
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-mover/mover-description.js +2 -2
- package/build/components/block-mover/mover-description.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +3 -1
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +1 -1
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/use-patterns-setup.js +2 -2
- package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build/components/block-patterns-list/index.js +31 -3
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-preview/auto.js +9 -11
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +32 -8
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-selection-clearer/index.js +1 -1
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings/container.native.js +7 -33
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +12 -6
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +2 -8
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/utils.js +1 -1
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +55 -47
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-vertical-alignment-control/icons.js +15 -1
- package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +9 -4
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/color-style-selector/index.js +3 -1
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +3 -4
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/font-family/index.js +1 -7
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +1 -1
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/utils.js +1 -1
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/global-styles/context.js +22 -0
- package/build/components/global-styles/context.js.map +1 -0
- package/build/components/global-styles/hooks.js +142 -0
- package/build/components/global-styles/hooks.js.map +1 -0
- package/build/components/global-styles/index.js +42 -0
- package/build/components/global-styles/index.js.map +1 -0
- package/build/components/global-styles/typography-utils.js +92 -0
- package/build/components/global-styles/typography-utils.js.map +1 -0
- package/build/components/global-styles/use-global-styles-output.js +974 -0
- package/build/components/global-styles/use-global-styles-output.js.map +1 -0
- package/build/components/global-styles/utils.js +340 -0
- package/build/components/global-styles/utils.js.map +1 -0
- package/build/components/height-control/index.js +13 -1
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/image-editor/constants.js +1 -1
- package/build/components/image-editor/constants.js.map +1 -1
- package/build/components/image-editor/context.js +1 -2
- package/build/components/image-editor/context.js.map +1 -1
- package/build/components/image-editor/cropper.js +3 -1
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/index.js +13 -9
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js +11 -35
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/image-size-control/index.js +1 -7
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.js +8 -24
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +22 -32
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +8 -23
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-block-context.js +53 -0
- package/build/components/inner-blocks/use-block-context.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/explorer.js +0 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +7 -1
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +2 -2
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +1 -7
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +5 -4
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +142 -56
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +74 -21
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +11 -13
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +6 -3
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/media-tab/utils.js +26 -15
- package/build/components/inserter/media-tab/utils.js.map +1 -1
- package/build/components/inserter/menu.js +1 -0
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +5 -3
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/search-results.js +2 -7
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter-list-item/index.js +1 -9
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inspector-controls/fill.js +15 -2
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +14 -1
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/groups.js +4 -0
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/index.js +2 -2
- package/build/components/inspector-controls/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +14 -1
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +14 -1
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +2 -2
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +6 -4
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +17 -12
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build/components/justify-content-control/ui.js +8 -1
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/link-control/index.js +45 -17
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/list-view/block.js +1 -1
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/media-upload/index.native.js +4 -1
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/off-canvas-editor/appender.js +50 -3
- package/build/components/off-canvas-editor/appender.js.map +1 -1
- package/build/components/off-canvas-editor/block-select-button.js +10 -4
- package/build/components/off-canvas-editor/block-select-button.js.map +1 -1
- package/build/components/off-canvas-editor/block.js +6 -27
- package/build/components/off-canvas-editor/block.js.map +1 -1
- package/build/components/off-canvas-editor/branch.js +25 -10
- package/build/components/off-canvas-editor/branch.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +11 -16
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/off-canvas-editor/link-ui.js +2 -2
- package/build/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js +1 -1
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -1
- package/build/components/provider/index.js +21 -9
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +5 -6
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/rich-text/use-before-input-rules.js +11 -3
- package/build/components/rich-text/use-before-input-rules.js.map +1 -1
- package/build/components/rich-text/utils.js +1 -1
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +2 -8
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/tool-selector/index.js +3 -1
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +7 -8
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/use-block-display-information/index.js +1 -1
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/experiments.js +45 -0
- package/build/experiments.js.map +1 -0
- package/build/experiments.native.js +40 -0
- package/build/experiments.native.js.map +1 -0
- package/build/hooks/anchor.js +2 -1
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border.js +1 -1
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/child-layout.js +5 -1
- package/build/hooks/child-layout.js.map +1 -1
- package/build/hooks/color-panel.js +1 -1
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +3 -3
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/custom-class-name.js +2 -1
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/dimensions.js +7 -5
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/margin.js +1 -0
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +1 -0
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +34 -15
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/typography.js +1 -1
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/use-color-props.js +3 -3
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/utils.js +69 -3
- package/build/hooks/utils.js.map +1 -1
- package/build/index.js +10 -1
- package/build/index.js.map +1 -1
- package/build/layouts/constrained.js +3 -0
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +59 -9
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +0 -18
- package/build/layouts/flow.js.map +1 -1
- package/build/store/actions.js +3 -30
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +5 -2
- package/build/store/defaults.js.map +1 -1
- package/build/store/index.js +11 -2
- package/build/store/index.js.map +1 -1
- package/build/store/private-actions.js +78 -0
- package/build/store/private-actions.js.map +1 -0
- package/build/store/private-selectors.js +18 -0
- package/build/store/private-selectors.js.map +1 -0
- package/build/store/reducer.js +1 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +60 -34
- package/build/store/selectors.js.map +1 -1
- package/build/utils/block-variation-transforms.js +1 -1
- package/build/utils/block-variation-transforms.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +1 -1
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build/utils/transform-styles/index.js +1 -7
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +1 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js +2 -6
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +2 -2
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-card/index.js +2 -4
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-edit/index.js +7 -0
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +15 -14
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +5 -0
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-lock/modal.js +0 -1
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-mover/mover-description.js +2 -2
- package/build-module/components/block-mover/mover-description.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +3 -1
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +1 -1
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/use-patterns-setup.js +2 -2
- package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +32 -3
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +9 -11
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +31 -8
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-selection-clearer/index.js +1 -1
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +6 -30
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -6
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +2 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +1 -1
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +55 -48
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/icons.js +12 -0
- package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +10 -5
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/color-style-selector/index.js +3 -1
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +4 -5
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/font-family/index.js +1 -6
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +1 -1
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +1 -1
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/global-styles/context.js +12 -0
- package/build-module/components/global-styles/context.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +121 -0
- package/build-module/components/global-styles/hooks.js.map +1 -0
- package/build-module/components/global-styles/index.js +4 -0
- package/build-module/components/global-styles/index.js.map +1 -0
- package/build-module/components/global-styles/typography-utils.js +84 -0
- package/build-module/components/global-styles/typography-utils.js.map +1 -0
- package/build-module/components/global-styles/use-global-styles-output.js +930 -0
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -0
- package/build-module/components/global-styles/utils.js +321 -0
- package/build-module/components/global-styles/utils.js.map +1 -0
- package/build-module/components/height-control/index.js +14 -1
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/image-editor/constants.js +1 -1
- package/build-module/components/image-editor/constants.js.map +1 -1
- package/build-module/components/image-editor/context.js +1 -2
- package/build-module/components/image-editor/context.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +3 -1
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/index.js +13 -3
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js +12 -37
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/image-size-control/index.js +1 -6
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.js +2 -3
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +21 -32
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +9 -22
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-block-context.js +43 -0
- package/build-module/components/inner-blocks/use-block-context.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +0 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +7 -1
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +3 -3
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +1 -6
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +5 -4
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +145 -56
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +74 -24
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +14 -14
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +7 -4
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/media-tab/utils.js +27 -15
- package/build-module/components/inserter/media-tab/utils.js.map +1 -1
- package/build-module/components/inserter/menu.js +1 -0
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +5 -3
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/search-results.js +2 -6
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +1 -9
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +14 -2
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +13 -1
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +4 -0
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/index.js +2 -2
- package/build-module/components/inspector-controls/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +13 -1
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +13 -1
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +2 -2
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +6 -4
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +17 -12
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js +9 -2
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/link-control/index.js +45 -16
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/list-view/block.js +1 -1
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +4 -1
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/off-canvas-editor/appender.js +47 -4
- package/build-module/components/off-canvas-editor/appender.js.map +1 -1
- package/build-module/components/off-canvas-editor/block-select-button.js +9 -4
- package/build-module/components/off-canvas-editor/block-select-button.js.map +1 -1
- package/build-module/components/off-canvas-editor/block.js +6 -25
- package/build-module/components/off-canvas-editor/block.js.map +1 -1
- package/build-module/components/off-canvas-editor/branch.js +23 -11
- package/build-module/components/off-canvas-editor/branch.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +11 -15
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/link-ui.js +2 -2
- package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js +1 -1
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/provider/index.js +16 -9
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +4 -4
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-before-input-rules.js +10 -2
- package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
- package/build-module/components/rich-text/utils.js +1 -1
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +2 -7
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/tool-selector/index.js +3 -1
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +8 -8
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +1 -1
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/experiments.js +25 -0
- package/build-module/experiments.js.map +1 -0
- package/build-module/experiments.native.js +23 -0
- package/build-module/experiments.native.js.map +1 -0
- package/build-module/hooks/anchor.js +2 -1
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border.js +1 -1
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/child-layout.js +5 -1
- package/build-module/hooks/child-layout.js.map +1 -1
- package/build-module/hooks/color-panel.js +1 -1
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color.js +3 -3
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +2 -1
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/dimensions.js +6 -5
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/margin.js +1 -0
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +1 -0
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/position.js +31 -14
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/typography.js +1 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/use-color-props.js +3 -3
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/utils.js +70 -4
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/constrained.js +3 -0
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +60 -10
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +0 -18
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/store/actions.js +2 -26
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +5 -2
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/index.js +8 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-actions.js +66 -0
- package/build-module/store/private-actions.js.map +1 -0
- package/build-module/store/private-selectors.js +11 -0
- package/build-module/store/private-selectors.js.map +1 -0
- package/build-module/store/reducer.js +1 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +48 -25
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/block-variation-transforms.js +1 -1
- package/build-module/utils/block-variation-transforms.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +1 -1
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +1 -6
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +283 -3
- package/build-style/content.css +283 -3
- package/build-style/style-rtl.css +105 -221
- package/build-style/style.css +105 -221
- package/package.json +30 -29
- package/src/components/alignment-control/test/__snapshots__/index.js.snap +3 -3
- package/src/components/alignment-control/test/index.js +5 -15
- package/src/components/alignment-control/ui.js +1 -1
- package/src/components/autocomplete/index.js +3 -6
- package/src/components/block-alignment-control/test/index.js +3 -11
- package/src/components/block-alignment-matrix-control/index.js +1 -2
- package/src/components/block-card/index.js +1 -4
- package/src/components/block-content-overlay/content.scss +4 -4
- package/src/components/block-edit/index.js +15 -1
- package/src/components/block-icon/content.scss +31 -0
- package/src/components/block-inspector/index.js +13 -17
- package/src/components/block-list/use-in-between-inserter.js +5 -0
- package/src/components/block-lock/modal.js +0 -1
- package/src/components/block-mover/mover-description.js +2 -2
- package/src/components/block-mover/stories/index.js +3 -3
- package/src/components/block-navigation/dropdown.js +1 -1
- package/src/components/block-pattern-setup/index.js +1 -4
- package/src/components/block-pattern-setup/use-patterns-setup.js +2 -5
- package/src/components/block-patterns-list/index.js +29 -3
- package/src/components/block-preview/README.md +9 -9
- package/src/components/block-preview/auto.js +9 -11
- package/src/components/block-preview/content.scss +23 -0
- package/src/components/block-preview/index.js +40 -10
- package/src/components/block-preview/style.scss +0 -23
- package/src/components/block-selection-clearer/index.js +1 -1
- package/src/components/block-selection-clearer/test/index.js +6 -6
- package/src/components/block-settings/container.native.js +7 -26
- package/src/components/block-settings-menu/block-settings-dropdown.js +13 -5
- package/src/components/block-settings-menu-controls/index.js +2 -10
- package/src/components/block-switcher/test/index.js +43 -44
- package/src/components/block-switcher/utils.js +1 -1
- package/src/components/block-tools/selected-block-popover.js +77 -80
- package/src/components/block-tools/style.scss +0 -1
- package/src/components/block-variation-picker/{style.scss → content.scss} +0 -0
- package/src/components/block-vertical-alignment-control/icons.js +12 -0
- package/src/components/block-vertical-alignment-control/test/index.js +3 -11
- package/src/components/block-vertical-alignment-control/ui.js +16 -6
- package/src/components/color-style-selector/index.js +1 -1
- package/src/components/colors/test/with-colors.js +2 -8
- package/src/components/date-format-picker/index.js +23 -24
- package/src/components/date-format-picker/style.scss +0 -6
- package/src/components/default-block-appender/content.scss +18 -0
- package/src/components/default-block-appender/test/index.js +2 -8
- package/src/components/font-family/index.js +1 -6
- package/src/components/font-sizes/fluid-utils.js +1 -1
- package/src/components/font-sizes/utils.js +1 -1
- package/src/components/global-styles/README.md +77 -0
- package/src/components/global-styles/context.js +15 -0
- package/src/components/global-styles/hooks.js +145 -0
- package/src/components/global-styles/index.js +7 -0
- package/src/components/global-styles/test/typography-utils.js +393 -0
- package/src/components/global-styles/test/use-global-styles-output.js +814 -0
- package/src/components/global-styles/test/utils.js +206 -0
- package/src/components/global-styles/typography-utils.js +87 -0
- package/src/components/global-styles/use-global-styles-output.js +1088 -0
- package/src/components/global-styles/utils.js +373 -0
- package/src/components/height-control/README.md +55 -0
- package/src/components/height-control/index.js +13 -1
- package/src/components/image-editor/constants.js +1 -1
- package/src/components/image-editor/context.js +5 -9
- package/src/components/image-editor/cropper.js +3 -1
- package/src/components/image-editor/index.js +13 -4
- package/src/components/image-editor/use-transform-image.js +14 -55
- package/src/components/image-size-control/index.js +1 -6
- package/src/components/index.js +2 -6
- package/src/components/inner-blocks/index.js +29 -33
- package/src/components/inner-blocks/index.native.js +27 -47
- package/src/components/inner-blocks/use-block-context.js +47 -0
- package/src/components/inserter/block-patterns-explorer/explorer.js +0 -1
- package/src/components/inserter/block-patterns-tab.js +7 -0
- package/src/components/inserter/block-types-tab.js +3 -4
- package/src/components/inserter/hooks/use-patterns-state.js +1 -6
- package/src/components/inserter/index.js +3 -4
- package/src/components/inserter/media-tab/hooks.js +167 -65
- package/src/components/inserter/media-tab/media-list.js +94 -26
- package/src/components/inserter/media-tab/media-panel.js +9 -20
- package/src/components/inserter/media-tab/media-tab.js +12 -4
- package/src/components/inserter/media-tab/utils.js +20 -10
- package/src/components/inserter/menu.js +1 -0
- package/src/components/inserter/preview-panel.js +4 -2
- package/src/components/inserter/search-results.js +2 -6
- package/src/components/inserter/stories/index.js +9 -9
- package/src/components/inserter/style.scss +58 -11
- package/src/components/inserter-list-item/index.js +0 -7
- package/src/components/inspector-controls/README.md +3 -7
- package/src/components/inspector-controls/fill.js +15 -1
- package/src/components/inspector-controls/fill.native.js +14 -1
- package/src/components/inspector-controls/groups.js +3 -0
- package/src/components/inspector-controls/index.js +2 -6
- package/src/components/inspector-controls/slot.js +14 -1
- package/src/components/inspector-controls/slot.native.js +14 -1
- package/src/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
- package/src/components/inspector-controls-tabs/index.js +2 -4
- package/src/components/inspector-controls-tabs/position-controls-panel.js +1 -1
- package/src/components/inspector-controls-tabs/styles-tab.js +5 -7
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +21 -10
- package/src/components/justify-content-control/ui.js +9 -0
- package/src/components/link-control/index.js +59 -23
- package/src/components/link-control/style.scss +7 -24
- package/src/components/link-control/test/index.js +134 -5
- package/src/components/list-view/block.js +1 -1
- package/src/components/list-view/use-list-view-drop-zone.js +1 -1
- package/src/components/media-replace-flow/test/index.js +4 -12
- package/src/components/media-upload/index.native.js +2 -2
- package/src/components/off-canvas-editor/README.md +2 -2
- package/src/components/off-canvas-editor/appender.js +93 -37
- package/src/components/off-canvas-editor/block-select-button.js +12 -1
- package/src/components/off-canvas-editor/block.js +3 -42
- package/src/components/off-canvas-editor/branch.js +32 -5
- package/src/components/off-canvas-editor/index.js +10 -25
- package/src/components/off-canvas-editor/link-ui.js +2 -2
- package/src/components/off-canvas-editor/style.scss +5 -1
- package/src/components/off-canvas-editor/use-list-view-drop-zone.js +1 -1
- package/src/components/provider/index.js +33 -14
- package/src/components/provider/index.native.js +4 -3
- package/src/components/provider/test/experimental-provider.js +94 -0
- package/src/components/provider/test/use-block-sync.js +10 -0
- package/src/components/responsive-block-control/test/index.js +1 -5
- package/src/components/rich-text/use-before-input-rules.js +10 -2
- package/src/components/rich-text/utils.js +1 -1
- package/src/components/spacing-sizes-control/utils.js +2 -7
- package/src/components/tool-selector/index.js +1 -1
- package/src/components/url-input/test/button.js +24 -24
- package/src/components/url-popover/image-url-input-ui.js +7 -8
- package/src/components/url-popover/style.scss +0 -10
- package/src/components/use-block-display-information/index.js +1 -1
- package/src/components/warning/{style.scss → content.scss} +0 -0
- package/src/components/warning/test/index.js +1 -5
- package/src/content.scss +7 -0
- package/src/experiments.js +27 -0
- package/src/experiments.native.js +25 -0
- package/src/hooks/anchor.js +2 -1
- package/src/hooks/border.js +1 -1
- package/src/hooks/child-layout.js +6 -1
- package/src/hooks/color-panel.js +1 -1
- package/src/hooks/color.js +3 -3
- package/src/hooks/custom-class-name.js +2 -1
- package/src/hooks/dimensions.js +6 -6
- package/src/hooks/layout.scss +4 -0
- package/src/hooks/margin.js +1 -0
- package/src/hooks/padding.js +1 -0
- package/src/hooks/position.js +52 -36
- package/src/hooks/test/align.native.js +1 -1
- package/src/hooks/test/utils.js +104 -0
- package/src/hooks/typography.js +1 -1
- package/src/hooks/use-color-props.js +3 -3
- package/src/hooks/utils.js +68 -2
- package/src/index.js +1 -0
- package/src/layouts/constrained.js +3 -0
- package/src/layouts/flex.js +66 -14
- package/src/layouts/flow.js +0 -9
- package/src/store/actions.js +2 -26
- package/src/store/defaults.js +7 -2
- package/src/store/index.js +8 -2
- package/src/store/private-actions.js +65 -0
- package/src/store/private-selectors.js +10 -0
- package/src/store/reducer.js +1 -1
- package/src/store/selectors.js +103 -52
- package/src/store/test/actions.js +0 -18
- package/src/store/test/private-actions.js +22 -0
- package/src/store/test/private-selectors.js +24 -0
- package/src/store/test/selectors.js +52 -30
- package/src/style.scss +3 -5
- package/src/utils/block-variation-transforms.js +1 -1
- package/src/utils/parse-css-unit-to-px.js +3 -1
- package/src/utils/test/parse-css-unit-to-px.js +16 -24
- package/src/utils/transform-styles/index.js +1 -6
- package/build/components/inner-blocks/get-block-context.js +0 -45
- package/build/components/inner-blocks/get-block-context.js.map +0 -1
- package/build/components/off-canvas-editor/block-edit-button.js +0 -50
- package/build/components/off-canvas-editor/block-edit-button.js.map +0 -1
- package/build-module/components/inner-blocks/get-block-context.js +0 -37
- package/build-module/components/inner-blocks/get-block-context.js.map +0 -1
- package/build-module/components/off-canvas-editor/block-edit-button.js +0 -35
- package/build-module/components/off-canvas-editor/block-edit-button.js.map +0 -1
- package/src/components/inner-blocks/get-block-context.js +0 -39
- package/src/components/off-canvas-editor/block-edit-button.js +0 -27
|
@@ -6,6 +6,7 @@ import { createElement } from "@wordpress/element";
|
|
|
6
6
|
*/
|
|
7
7
|
import { __experimentalUseSlot as useSlot, __experimentalUseSlotFills as useSlotFills } from '@wordpress/components';
|
|
8
8
|
import warning from '@wordpress/warning';
|
|
9
|
+
import deprecated from '@wordpress/deprecated';
|
|
9
10
|
/**
|
|
10
11
|
* Internal dependencies
|
|
11
12
|
*/
|
|
@@ -17,10 +18,21 @@ export default function InspectorControlsSlot(_ref) {
|
|
|
17
18
|
var _groups$group;
|
|
18
19
|
|
|
19
20
|
let {
|
|
20
|
-
__experimentalGroup
|
|
21
|
+
__experimentalGroup,
|
|
22
|
+
group = 'default',
|
|
21
23
|
label,
|
|
22
24
|
...props
|
|
23
25
|
} = _ref;
|
|
26
|
+
|
|
27
|
+
if (__experimentalGroup) {
|
|
28
|
+
deprecated('`__experimentalGroup` property in `InspectorControlsSlot`', {
|
|
29
|
+
since: '6.2',
|
|
30
|
+
version: '6.4',
|
|
31
|
+
alternative: '`group`'
|
|
32
|
+
});
|
|
33
|
+
group = __experimentalGroup;
|
|
34
|
+
}
|
|
35
|
+
|
|
24
36
|
const Slot = (_groups$group = groups[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Slot;
|
|
25
37
|
const slot = useSlot(Slot === null || Slot === void 0 ? void 0 : Slot.__unstableName);
|
|
26
38
|
const fills = useSlotFills(Slot === null || Slot === void 0 ? void 0 : Slot.__unstableName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls/slot.js"],"names":["__experimentalUseSlot","useSlot","__experimentalUseSlotFills","useSlotFills","warning","BlockSupportToolsPanel","BlockSupportSlotContainer","groups","InspectorControlsSlot","__experimentalGroup","group","label","props","Slot","slot","__unstableName","fills","hasFills","Boolean","length"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,qBAAqB,IAAIC,OAD1B,EAECC,0BAA0B,IAAIC,YAF/B,QAGO,uBAHP;AAIA,OAAOC,OAAP,MAAoB,oBAApB;AAEA;AACA;AACA;;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AACA,OAAOC,yBAAP,MAAsC,gCAAtC;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,eAAe,SAASC,qBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls/slot.js"],"names":["__experimentalUseSlot","useSlot","__experimentalUseSlotFills","useSlotFills","warning","deprecated","BlockSupportToolsPanel","BlockSupportSlotContainer","groups","InspectorControlsSlot","__experimentalGroup","group","label","props","since","version","alternative","Slot","slot","__unstableName","fills","hasFills","Boolean","length"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,qBAAqB,IAAIC,OAD1B,EAECC,0BAA0B,IAAIC,YAF/B,QAGO,uBAHP;AAIA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AACA,OAAOC,yBAAP,MAAsC,gCAAtC;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,eAAe,SAASC,qBAAT,OAKX;AAAA;;AAAA,MAL2C;AAC9CC,IAAAA,mBAD8C;AAE9CC,IAAAA,KAAK,GAAG,SAFsC;AAG9CC,IAAAA,KAH8C;AAI9C,OAAGC;AAJ2C,GAK3C;;AACH,MAAKH,mBAAL,EAA2B;AAC1BL,IAAAA,UAAU,CACT,2DADS,EAET;AACCS,MAAAA,KAAK,EAAE,KADR;AAECC,MAAAA,OAAO,EAAE,KAFV;AAGCC,MAAAA,WAAW,EAAE;AAHd,KAFS,CAAV;AAQAL,IAAAA,KAAK,GAAGD,mBAAR;AACA;;AACD,QAAMO,IAAI,oBAAGT,MAAM,CAAEG,KAAF,CAAT,kDAAG,cAAiBM,IAA9B;AACA,QAAMC,IAAI,GAAGjB,OAAO,CAAEgB,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEE,cAAR,CAApB;AACA,QAAMC,KAAK,GAAGjB,YAAY,CAAEc,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEE,cAAR,CAA1B;;AACA,MAAK,CAAEF,IAAF,IAAU,CAAEC,IAAjB,EAAwB;AACvB,6FAAAd,OAAO,CAAG,mCAAmCO,KAAO,aAA7C,CAAP;AACA,WAAO,IAAP;AACA;;AAED,QAAMU,QAAQ,GAAGC,OAAO,CAAEF,KAAK,IAAIA,KAAK,CAACG,MAAjB,CAAxB;;AACA,MAAK,CAAEF,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,MAAKT,KAAL,EAAa;AACZ,WACC,cAAC,sBAAD;AAAwB,MAAA,KAAK,EAAGD,KAAhC;AAAwC,MAAA,KAAK,EAAGC;AAAhD,OACC,cAAC,yBAAD,eAAgCC,KAAhC;AAAwC,MAAA,IAAI,EAAGI;AAA/C,OADD,CADD;AAKA;;AAED,SAAO,cAAC,IAAD,eAAWJ,KAAX;AAAmB,IAAA,gBAAgB;AAAnC,KAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseSlot as useSlot,\n\t__experimentalUseSlotFills as useSlotFills,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport BlockSupportToolsPanel from './block-support-tools-panel';\nimport BlockSupportSlotContainer from './block-support-slot-container';\nimport groups from './groups';\n\nexport default function InspectorControlsSlot( {\n\t__experimentalGroup,\n\tgroup = 'default',\n\tlabel,\n\t...props\n} ) {\n\tif ( __experimentalGroup ) {\n\t\tdeprecated(\n\t\t\t'`__experimentalGroup` property in `InspectorControlsSlot`',\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\tconst Slot = groups[ group ]?.Slot;\n\tconst slot = useSlot( Slot?.__unstableName );\n\tconst fills = useSlotFills( Slot?.__unstableName );\n\tif ( ! Slot || ! slot ) {\n\t\twarning( `Unknown InspectorControl group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\tconst hasFills = Boolean( fills && fills.length );\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\tif ( label ) {\n\t\treturn (\n\t\t\t<BlockSupportToolsPanel group={ group } label={ label }>\n\t\t\t\t<BlockSupportSlotContainer { ...props } Slot={ Slot } />\n\t\t\t</BlockSupportToolsPanel>\n\t\t);\n\t}\n\n\treturn <Slot { ...props } bubblesVirtually />;\n}\n"]}
|
|
@@ -4,6 +4,7 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
6
|
import warning from '@wordpress/warning';
|
|
7
|
+
import deprecated from '@wordpress/deprecated';
|
|
7
8
|
/**
|
|
8
9
|
* Internal dependencies
|
|
9
10
|
*/
|
|
@@ -13,9 +14,20 @@ export default function InspectorControlsSlot(_ref) {
|
|
|
13
14
|
var _groups$group;
|
|
14
15
|
|
|
15
16
|
let {
|
|
16
|
-
__experimentalGroup
|
|
17
|
+
__experimentalGroup,
|
|
18
|
+
group = 'default',
|
|
17
19
|
...props
|
|
18
20
|
} = _ref;
|
|
21
|
+
|
|
22
|
+
if (__experimentalGroup) {
|
|
23
|
+
deprecated('`__experimentalGroup` property in `InspectorControlsSlot`', {
|
|
24
|
+
since: '6.2',
|
|
25
|
+
version: '6.4',
|
|
26
|
+
alternative: '`group`'
|
|
27
|
+
});
|
|
28
|
+
group = __experimentalGroup;
|
|
29
|
+
}
|
|
30
|
+
|
|
19
31
|
const Slot = (_groups$group = groups[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Slot;
|
|
20
32
|
|
|
21
33
|
if (!Slot) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls/slot.native.js"],"names":["warning","groups","InspectorControlsSlot","__experimentalGroup","group","props","Slot"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,OAAP,MAAoB,oBAApB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,eAAe,SAASC,qBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls/slot.native.js"],"names":["warning","deprecated","groups","InspectorControlsSlot","__experimentalGroup","group","props","since","version","alternative","Slot"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,OAAP,MAAoB,oBAApB;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,eAAe,SAASC,qBAAT,OAIX;AAAA;;AAAA,MAJ2C;AAC9CC,IAAAA,mBAD8C;AAE9CC,IAAAA,KAAK,GAAG,SAFsC;AAG9C,OAAGC;AAH2C,GAI3C;;AACH,MAAKF,mBAAL,EAA2B;AAC1BH,IAAAA,UAAU,CACT,2DADS,EAET;AACCM,MAAAA,KAAK,EAAE,KADR;AAECC,MAAAA,OAAO,EAAE,KAFV;AAGCC,MAAAA,WAAW,EAAE;AAHd,KAFS,CAAV;AAQAJ,IAAAA,KAAK,GAAGD,mBAAR;AACA;;AACD,QAAMM,IAAI,oBAAGR,MAAM,CAAEG,KAAF,CAAT,kDAAG,cAAiBK,IAA9B;;AACA,MAAK,CAAEA,IAAP,EAAc;AACb,6FAAAV,OAAO,CAAG,mCAAmCK,KAAO,aAA7C,CAAP;AACA,WAAO,IAAP;AACA;;AAED,SAAO,cAAC,IAAD,EAAWC,KAAX,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport warning from '@wordpress/warning';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport groups from './groups';\n\nexport default function InspectorControlsSlot( {\n\t__experimentalGroup,\n\tgroup = 'default',\n\t...props\n} ) {\n\tif ( __experimentalGroup ) {\n\t\tdeprecated(\n\t\t\t'`__experimentalGroup` property in `InspectorControlsSlot`',\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\tconst Slot = groups[ group ]?.Slot;\n\tif ( ! Slot ) {\n\t\twarning( `Unknown InspectorControl group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\treturn <Slot { ...props } />;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/advanced-controls-panel.js"],"names":["PanelBody","__experimentalUseSlotFills","useSlotFills","__","default","InspectorControls","InspectorAdvancedControls","AdvancedControls","fills","slotName","hasFills","Boolean","length"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,0BAA0B,IAAIC,YAF/B,QAGO,uBAHP;AAIA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SACCC,OAAO,IAAIC,iBADZ,EAECC,yBAFD,QAGO,uBAHP;;AAKA,MAAMC,gBAAgB,GAAG,MAAM;AAC9B,QAAMC,KAAK,GAAGN,YAAY,CAAEI,yBAAyB,CAACG,QAA5B,CAA1B;AACA,QAAMC,QAAQ,GAAGC,OAAO,CAAEH,KAAK,IAAIA,KAAK,CAACI,MAAjB,CAAxB;;AAEA,MAAK,CAAEF,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,KAAK,EAAGP,EAAE,CAAE,UAAF,CAFX;AAGC,IAAA,WAAW,EAAG;AAHf,KAKC,cAAC,iBAAD,CAAmB,IAAnB;AAAwB,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/advanced-controls-panel.js"],"names":["PanelBody","__experimentalUseSlotFills","useSlotFills","__","default","InspectorControls","InspectorAdvancedControls","AdvancedControls","fills","slotName","hasFills","Boolean","length"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,0BAA0B,IAAIC,YAF/B,QAGO,uBAHP;AAIA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SACCC,OAAO,IAAIC,iBADZ,EAECC,yBAFD,QAGO,uBAHP;;AAKA,MAAMC,gBAAgB,GAAG,MAAM;AAC9B,QAAMC,KAAK,GAAGN,YAAY,CAAEI,yBAAyB,CAACG,QAA5B,CAA1B;AACA,QAAMC,QAAQ,GAAGC,OAAO,CAAEH,KAAK,IAAIA,KAAK,CAACI,MAAjB,CAAxB;;AAEA,MAAK,CAAEF,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,KAAK,EAAGP,EAAE,CAAE,UAAF,CAFX;AAGC,IAAA,WAAW,EAAG;AAHf,KAKC,cAAC,iBAAD,CAAmB,IAAnB;AAAwB,IAAA,KAAK,EAAC;AAA9B,IALD,CADD;AASA,CAjBD;;AAmBA,eAAeI,gBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\t__experimentalUseSlotFills as useSlotFills,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from '../inspector-controls';\n\nconst AdvancedControls = () => {\n\tconst fills = useSlotFills( InspectorAdvancedControls.slotName );\n\tconst hasFills = Boolean( fills && fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__advanced\"\n\t\t\ttitle={ __( 'Advanced' ) }\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<InspectorControls.Slot group=\"advanced\" />\n\t\t</PanelBody>\n\t);\n};\n\nexport default AdvancedControls;\n"]}
|
|
@@ -22,7 +22,7 @@ export default function InspectorControlsTabs(_ref) {
|
|
|
22
22
|
} = _ref;
|
|
23
23
|
// The tabs panel will mount before fills are rendered to the list view
|
|
24
24
|
// slot. This means the list view tab isn't initially included in the
|
|
25
|
-
// available tabs so the panel defaults selection to the
|
|
25
|
+
// available tabs so the panel defaults selection to the settings tab
|
|
26
26
|
// which at the time is the first tab. This check allows blocks known to
|
|
27
27
|
// include the list view tab to set it as the tab selected by default.
|
|
28
28
|
const initialTabName = !useIsListViewTabDisabled(blockName) ? TAB_LIST_VIEW.name : undefined;
|
|
@@ -48,7 +48,7 @@ export default function InspectorControlsTabs(_ref) {
|
|
|
48
48
|
|
|
49
49
|
if (tab.name === TAB_LIST_VIEW.name) {
|
|
50
50
|
return createElement(InspectorControls.Slot, {
|
|
51
|
-
|
|
51
|
+
group: "list"
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/index.js"],"names":["TabPanel","TAB_SETTINGS","TAB_STYLES","TAB_LIST_VIEW","SettingsTab","StylesTab","InspectorControls","useIsListViewTabDisabled","InspectorControlsTabs","blockName","clientId","hasBlockStyles","tabs","initialTabName","name","undefined","tab"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,uBAAzB;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,UAAvB,EAAmCC,aAAnC,QAAwD,SAAxD;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,wBAAP,MAAqC,iCAArC;AAEA,eAAe,SAASC,qBAAT,OAKX;AAAA,MAL2C;AAC9CC,IAAAA,SAD8C;AAE9CC,IAAAA,QAF8C;AAG9CC,IAAAA,cAH8C;AAI9CC,IAAAA;AAJ8C,GAK3C;AACH;AACA;AACA;AACA;AACA;AACA,QAAMC,cAAc,GAAG,CAAEN,wBAAwB,CAAEE,SAAF,CAA1B,GACpBN,aAAa,CAACW,IADM,GAEpBC,SAFH;AAIA,SACC,cAAC,QAAD;AACC,IAAA,SAAS,EAAC,oCADX;AAEC,IAAA,IAAI,EAAGH,IAFR;AAGC,IAAA,cAAc,EAAGC,cAHlB;AAIC,IAAA,GAAG,EAAGH;AAJP,KAMKM,GAAF,IAAW;AACZ,QAAKA,GAAG,CAACF,IAAJ,KAAab,YAAY,CAACa,IAA/B,EAAsC;AACrC,aACC,cAAC,WAAD;AAAa,QAAA,oBAAoB,EAAG,CAAC,CAAEL;AAAvC,QADD;AAGA;;AAED,QAAKO,GAAG,CAACF,IAAJ,KAAaZ,UAAU,CAACY,IAA7B,EAAoC;AACnC,aACC,cAAC,SAAD;AACC,QAAA,SAAS,EAAGL,SADb;AAEC,QAAA,QAAQ,EAAGC,QAFZ;AAGC,QAAA,cAAc,EAAGC;AAHlB,QADD;AAOA;;AAED,QAAKK,GAAG,CAACF,IAAJ,KAAaX,aAAa,CAACW,IAAhC,EAAuC;AACtC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/index.js"],"names":["TabPanel","TAB_SETTINGS","TAB_STYLES","TAB_LIST_VIEW","SettingsTab","StylesTab","InspectorControls","useIsListViewTabDisabled","InspectorControlsTabs","blockName","clientId","hasBlockStyles","tabs","initialTabName","name","undefined","tab"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,uBAAzB;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,UAAvB,EAAmCC,aAAnC,QAAwD,SAAxD;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,wBAAP,MAAqC,iCAArC;AAEA,eAAe,SAASC,qBAAT,OAKX;AAAA,MAL2C;AAC9CC,IAAAA,SAD8C;AAE9CC,IAAAA,QAF8C;AAG9CC,IAAAA,cAH8C;AAI9CC,IAAAA;AAJ8C,GAK3C;AACH;AACA;AACA;AACA;AACA;AACA,QAAMC,cAAc,GAAG,CAAEN,wBAAwB,CAAEE,SAAF,CAA1B,GACpBN,aAAa,CAACW,IADM,GAEpBC,SAFH;AAIA,SACC,cAAC,QAAD;AACC,IAAA,SAAS,EAAC,oCADX;AAEC,IAAA,IAAI,EAAGH,IAFR;AAGC,IAAA,cAAc,EAAGC,cAHlB;AAIC,IAAA,GAAG,EAAGH;AAJP,KAMKM,GAAF,IAAW;AACZ,QAAKA,GAAG,CAACF,IAAJ,KAAab,YAAY,CAACa,IAA/B,EAAsC;AACrC,aACC,cAAC,WAAD;AAAa,QAAA,oBAAoB,EAAG,CAAC,CAAEL;AAAvC,QADD;AAGA;;AAED,QAAKO,GAAG,CAACF,IAAJ,KAAaZ,UAAU,CAACY,IAA7B,EAAoC;AACnC,aACC,cAAC,SAAD;AACC,QAAA,SAAS,EAAGL,SADb;AAEC,QAAA,QAAQ,EAAGC,QAFZ;AAGC,QAAA,cAAc,EAAGC;AAHlB,QADD;AAOA;;AAED,QAAKK,GAAG,CAACF,IAAJ,KAAaX,aAAa,CAACW,IAAhC,EAAuC;AACtC,aAAO,cAAC,iBAAD,CAAmB,IAAnB;AAAwB,QAAA,KAAK,EAAC;AAA9B,QAAP;AACA;AACD,GA1BF,CADD;AA8BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { TabPanel } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { TAB_SETTINGS, TAB_STYLES, TAB_LIST_VIEW } from './utils';\nimport SettingsTab from './settings-tab';\nimport StylesTab from './styles-tab';\nimport InspectorControls from '../inspector-controls';\nimport useIsListViewTabDisabled from './use-is-list-view-tab-disabled';\n\nexport default function InspectorControlsTabs( {\n\tblockName,\n\tclientId,\n\thasBlockStyles,\n\ttabs,\n} ) {\n\t// The tabs panel will mount before fills are rendered to the list view\n\t// slot. This means the list view tab isn't initially included in the\n\t// available tabs so the panel defaults selection to the settings tab\n\t// which at the time is the first tab. This check allows blocks known to\n\t// include the list view tab to set it as the tab selected by default.\n\tconst initialTabName = ! useIsListViewTabDisabled( blockName )\n\t\t? TAB_LIST_VIEW.name\n\t\t: undefined;\n\n\treturn (\n\t\t<TabPanel\n\t\t\tclassName=\"block-editor-block-inspector__tabs\"\n\t\t\ttabs={ tabs }\n\t\t\tinitialTabName={ initialTabName }\n\t\t\tkey={ clientId }\n\t\t>\n\t\t\t{ ( tab ) => {\n\t\t\t\tif ( tab.name === TAB_SETTINGS.name ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SettingsTab showAdvancedControls={ !! blockName } />\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( tab.name === TAB_STYLES.name ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<StylesTab\n\t\t\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( tab.name === TAB_LIST_VIEW.name ) {\n\t\t\t\t\treturn <InspectorControls.Slot group=\"list\" />;\n\t\t\t\t}\n\t\t\t} }\n\t\t</TabPanel>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/position-controls-panel.js"],"names":["PanelBody","__experimentalUseSlotFills","useSlotFills","__","InspectorControlsGroups","default","InspectorControls","PositionControls","fills","position","Slot","__unstableName","hasFills","Boolean","length"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,0BAA0B,IAAIC,YAF/B,QAGO,uBAHP;AAIA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,8BAApC;AACA,SAASC,OAAO,IAAIC,iBAApB,QAA6C,uBAA7C;;AAEA,MAAMC,gBAAgB,GAAG,MAAM;AAC9B,QAAMC,KAAK,GAAGN,YAAY,CACzBE,uBAAuB,CAACK,QAAxB,CAAiCC,IAAjC,CAAsCC,cADb,CAA1B;AAGA,QAAMC,QAAQ,GAAGC,OAAO,CAAEL,KAAK,IAAIA,KAAK,CAACM,MAAjB,CAAxB;;AAEA,MAAK,CAAEF,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,KAAK,EAAGT,EAAE,CAAE,UAAF,CAFX;AAGC,IAAA,WAAW,EAAG;AAHf,KAKC,cAAC,iBAAD,CAAmB,IAAnB;AAAwB,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/position-controls-panel.js"],"names":["PanelBody","__experimentalUseSlotFills","useSlotFills","__","InspectorControlsGroups","default","InspectorControls","PositionControls","fills","position","Slot","__unstableName","hasFills","Boolean","length"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,0BAA0B,IAAIC,YAF/B,QAGO,uBAHP;AAIA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,8BAApC;AACA,SAASC,OAAO,IAAIC,iBAApB,QAA6C,uBAA7C;;AAEA,MAAMC,gBAAgB,GAAG,MAAM;AAC9B,QAAMC,KAAK,GAAGN,YAAY,CACzBE,uBAAuB,CAACK,QAAxB,CAAiCC,IAAjC,CAAsCC,cADb,CAA1B;AAGA,QAAMC,QAAQ,GAAGC,OAAO,CAAEL,KAAK,IAAIA,KAAK,CAACM,MAAjB,CAAxB;;AAEA,MAAK,CAAEF,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,KAAK,EAAGT,EAAE,CAAE,UAAF,CAFX;AAGC,IAAA,WAAW,EAAG;AAHf,KAKC,cAAC,iBAAD,CAAmB,IAAnB;AAAwB,IAAA,KAAK,EAAC;AAA9B,IALD,CADD;AASA,CAnBD;;AAqBA,eAAeI,gBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\t__experimentalUseSlotFills as useSlotFills,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport InspectorControlsGroups from '../inspector-controls/groups';\nimport { default as InspectorControls } from '../inspector-controls';\n\nconst PositionControls = () => {\n\tconst fills = useSlotFills(\n\t\tInspectorControlsGroups.position.Slot.__unstableName\n\t);\n\tconst hasFills = Boolean( fills && fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__position\"\n\t\t\ttitle={ __( 'Position' ) }\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<InspectorControls.Slot group=\"position\" />\n\t\t</PanelBody>\n\t);\n};\n\nexport default PositionControls;\n"]}
|
|
@@ -27,18 +27,20 @@ const StylesTab = _ref => {
|
|
|
27
27
|
}), hasBlockSupport(blockName, 'defaultStylePicker', true) && createElement(DefaultStylePicker, {
|
|
28
28
|
blockName: blockName
|
|
29
29
|
}))), createElement(InspectorControls.Slot, {
|
|
30
|
-
|
|
30
|
+
group: "color",
|
|
31
31
|
label: __('Color'),
|
|
32
32
|
className: "color-block-support-panel__inner-wrapper"
|
|
33
33
|
}), createElement(InspectorControls.Slot, {
|
|
34
|
-
|
|
34
|
+
group: "typography",
|
|
35
35
|
label: __('Typography')
|
|
36
36
|
}), createElement(InspectorControls.Slot, {
|
|
37
|
-
|
|
37
|
+
group: "dimensions",
|
|
38
38
|
label: __('Dimensions')
|
|
39
39
|
}), createElement(InspectorControls.Slot, {
|
|
40
|
-
|
|
40
|
+
group: "border",
|
|
41
41
|
label: __('Border')
|
|
42
|
+
}), createElement(InspectorControls.Slot, {
|
|
43
|
+
group: "styles"
|
|
42
44
|
}));
|
|
43
45
|
};
|
|
44
46
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/styles-tab.js"],"names":["hasBlockSupport","PanelBody","__","BlockStyles","DefaultStylePicker","InspectorControls","StylesTab","blockName","clientId","hasBlockStyles"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,eAAT,QAAgC,mBAAhC;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;;AAEA,MAAMC,SAAS,GAAG,QAA+C;AAAA,MAA7C;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,QAAb;AAAuBC,IAAAA;AAAvB,GAA6C;AAChE,SACC,8BACGA,cAAc,IACf,2BACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGP,EAAE,CAAE,QAAF;AAArB,KACC,cAAC,WAAD;AAAa,IAAA,QAAQ,EAAGM;AAAxB,IADD,EAEGR,eAAe,CAChBO,SADgB,EAEhB,oBAFgB,EAGhB,IAHgB,CAAf,IAIG,cAAC,kBAAD;AAAoB,IAAA,SAAS,EAAGA;AAAhC,IANN,CADD,CAFF,EAaC,cAAC,iBAAD,CAAmB,IAAnB;AACC,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/styles-tab.js"],"names":["hasBlockSupport","PanelBody","__","BlockStyles","DefaultStylePicker","InspectorControls","StylesTab","blockName","clientId","hasBlockStyles"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,eAAT,QAAgC,mBAAhC;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;;AAEA,MAAMC,SAAS,GAAG,QAA+C;AAAA,MAA7C;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,QAAb;AAAuBC,IAAAA;AAAvB,GAA6C;AAChE,SACC,8BACGA,cAAc,IACf,2BACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGP,EAAE,CAAE,QAAF;AAArB,KACC,cAAC,WAAD;AAAa,IAAA,QAAQ,EAAGM;AAAxB,IADD,EAEGR,eAAe,CAChBO,SADgB,EAEhB,oBAFgB,EAGhB,IAHgB,CAAf,IAIG,cAAC,kBAAD;AAAoB,IAAA,SAAS,EAAGA;AAAhC,IANN,CADD,CAFF,EAaC,cAAC,iBAAD,CAAmB,IAAnB;AACC,IAAA,KAAK,EAAC,OADP;AAEC,IAAA,KAAK,EAAGL,EAAE,CAAE,OAAF,CAFX;AAGC,IAAA,SAAS,EAAC;AAHX,IAbD,EAkBC,cAAC,iBAAD,CAAmB,IAAnB;AACC,IAAA,KAAK,EAAC,YADP;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,YAAF;AAFX,IAlBD,EAsBC,cAAC,iBAAD,CAAmB,IAAnB;AACC,IAAA,KAAK,EAAC,YADP;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,YAAF;AAFX,IAtBD,EA0BC,cAAC,iBAAD,CAAmB,IAAnB;AAAwB,IAAA,KAAK,EAAC,QAA9B;AAAuC,IAAA,KAAK,EAAGA,EAAE,CAAE,QAAF;AAAjD,IA1BD,EA2BC,cAAC,iBAAD,CAAmB,IAAnB;AAAwB,IAAA,KAAK,EAAC;AAA9B,IA3BD,CADD;AA+BA,CAhCD;;AAkCA,eAAeI,SAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport InspectorControls from '../inspector-controls';\n\nconst StylesTab = ( { blockName, clientId, hasBlockStyles } ) => {\n\treturn (\n\t\t<>\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"color\"\n\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"border\" label={ __( 'Border' ) } />\n\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t</>\n\t);\n};\n\nexport default StylesTab;\n"]}
|
|
@@ -39,32 +39,37 @@ export default function useInspectorControlsTabs(blockName) {
|
|
|
39
39
|
dimensions: dimensionsGroup,
|
|
40
40
|
list: listGroup,
|
|
41
41
|
position: positionGroup,
|
|
42
|
+
styles: stylesGroup,
|
|
42
43
|
typography: typographyGroup
|
|
43
44
|
} = InspectorControlsGroups; // List View Tab: If there are any fills for the list group add that tab.
|
|
44
45
|
|
|
45
46
|
const listViewDisabled = useIsListViewTabDisabled(blockName);
|
|
46
47
|
const listFills = useSlotFills(listGroup.Slot.__unstableName);
|
|
47
|
-
|
|
48
|
-
if (!listViewDisabled && !!listFills && listFills.length) {
|
|
49
|
-
tabs.push(TAB_LIST_VIEW);
|
|
50
|
-
} // Styles Tab: Add this tab if there are any fills for block supports
|
|
48
|
+
const hasListFills = !listViewDisabled && !!listFills && listFills.length; // Styles Tab: Add this tab if there are any fills for block supports
|
|
51
49
|
// e.g. border, color, spacing, typography, etc.
|
|
52
50
|
|
|
51
|
+
const styleFills = [...(useSlotFills(borderGroup.Slot.__unstableName) || []), ...(useSlotFills(colorGroup.Slot.__unstableName) || []), ...(useSlotFills(dimensionsGroup.Slot.__unstableName) || []), ...(useSlotFills(stylesGroup.Slot.__unstableName) || []), ...(useSlotFills(typographyGroup.Slot.__unstableName) || [])];
|
|
52
|
+
const hasStyleFills = styleFills.length; // Settings Tab: If we don't have multiple tabs to display
|
|
53
|
+
// (i.e. both list view and styles), check only the default and position
|
|
54
|
+
// InspectorControls slots. If we have multiple tabs, we'll need to check
|
|
55
|
+
// the advanced controls slot as well to ensure they are rendered.
|
|
53
56
|
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
tabs.push(TAB_STYLES);
|
|
58
|
-
} // Settings Tab: If there are any fills for the general InspectorControls
|
|
59
|
-
// or Advanced Controls slot, then add this tab.
|
|
60
|
-
|
|
57
|
+
const advancedFills = useSlotFills(InspectorAdvancedControls.slotName) || [];
|
|
58
|
+
const settingsFills = [...(useSlotFills(defaultGroup.Slot.__unstableName) || []), ...(useSlotFills(positionGroup.Slot.__unstableName) || []), ...(hasListFills && hasStyleFills > 1 ? advancedFills : [])]; // Add the tabs in the order that they will default to if available.
|
|
59
|
+
// List View > Settings > Styles.
|
|
61
60
|
|
|
62
|
-
|
|
61
|
+
if (hasListFills) {
|
|
62
|
+
tabs.push(TAB_LIST_VIEW);
|
|
63
|
+
}
|
|
63
64
|
|
|
64
65
|
if (settingsFills.length) {
|
|
65
66
|
tabs.push(TAB_SETTINGS);
|
|
66
67
|
}
|
|
67
68
|
|
|
69
|
+
if (hasStyleFills) {
|
|
70
|
+
tabs.push(TAB_STYLES);
|
|
71
|
+
}
|
|
72
|
+
|
|
68
73
|
const tabSettings = useSelect(select => {
|
|
69
74
|
return select(blockEditorStore).getSettings().blockInspectorTabs;
|
|
70
75
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js"],"names":["__experimentalUseSlotFills","useSlotFills","useSelect","InspectorControlsGroups","useIsListViewTabDisabled","InspectorAdvancedControls","TAB_LIST_VIEW","TAB_SETTINGS","TAB_STYLES","store","blockEditorStore","EMPTY_ARRAY","getShowTabs","blockName","tabSettings","undefined","default","useInspectorControlsTabs","tabs","border","borderGroup","color","colorGroup","defaultGroup","dimensions","dimensionsGroup","list","listGroup","position","positionGroup","typography","typographyGroup","listViewDisabled","listFills","Slot","__unstableName","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js"],"names":["__experimentalUseSlotFills","useSlotFills","useSelect","InspectorControlsGroups","useIsListViewTabDisabled","InspectorAdvancedControls","TAB_LIST_VIEW","TAB_SETTINGS","TAB_STYLES","store","blockEditorStore","EMPTY_ARRAY","getShowTabs","blockName","tabSettings","undefined","default","useInspectorControlsTabs","tabs","border","borderGroup","color","colorGroup","defaultGroup","dimensions","dimensionsGroup","list","listGroup","position","positionGroup","styles","stylesGroup","typography","typographyGroup","listViewDisabled","listFills","Slot","__unstableName","hasListFills","length","styleFills","hasStyleFills","advancedFills","slotName","settingsFills","push","select","getSettings","blockInspectorTabs","showTabs"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalUseSlotFills as useSlotFills } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InspectorControlsGroups from '../inspector-controls/groups';\nimport useIsListViewTabDisabled from './use-is-list-view-tab-disabled';\nimport { InspectorAdvancedControls } from '../inspector-controls';\nimport { TAB_LIST_VIEW, TAB_SETTINGS, TAB_STYLES } from './utils';\nimport { store as blockEditorStore } from '../../store';\n\nconst EMPTY_ARRAY = [];\n\nfunction getShowTabs( blockName, tabSettings = {} ) {\n\t// Block specific setting takes precedence over generic default.\n\tif ( tabSettings[ blockName ] !== undefined ) {\n\t\treturn tabSettings[ blockName ];\n\t}\n\n\t// Use generic default if set over the Gutenberg experiment option.\n\tif ( tabSettings.default !== undefined ) {\n\t\treturn tabSettings.default;\n\t}\n\n\treturn true;\n}\n\nexport default function useInspectorControlsTabs( blockName ) {\n\tconst tabs = [];\n\tconst {\n\t\tborder: borderGroup,\n\t\tcolor: colorGroup,\n\t\tdefault: defaultGroup,\n\t\tdimensions: dimensionsGroup,\n\t\tlist: listGroup,\n\t\tposition: positionGroup,\n\t\tstyles: stylesGroup,\n\t\ttypography: typographyGroup,\n\t} = InspectorControlsGroups;\n\n\t// List View Tab: If there are any fills for the list group add that tab.\n\tconst listViewDisabled = useIsListViewTabDisabled( blockName );\n\tconst listFills = useSlotFills( listGroup.Slot.__unstableName );\n\tconst hasListFills = ! listViewDisabled && !! listFills && listFills.length;\n\n\t// Styles Tab: Add this tab if there are any fills for block supports\n\t// e.g. border, color, spacing, typography, etc.\n\tconst styleFills = [\n\t\t...( useSlotFills( borderGroup.Slot.__unstableName ) || [] ),\n\t\t...( useSlotFills( colorGroup.Slot.__unstableName ) || [] ),\n\t\t...( useSlotFills( dimensionsGroup.Slot.__unstableName ) || [] ),\n\t\t...( useSlotFills( stylesGroup.Slot.__unstableName ) || [] ),\n\t\t...( useSlotFills( typographyGroup.Slot.__unstableName ) || [] ),\n\t];\n\tconst hasStyleFills = styleFills.length;\n\n\t// Settings Tab: If we don't have multiple tabs to display\n\t// (i.e. both list view and styles), check only the default and position\n\t// InspectorControls slots. If we have multiple tabs, we'll need to check\n\t// the advanced controls slot as well to ensure they are rendered.\n\tconst advancedFills =\n\t\tuseSlotFills( InspectorAdvancedControls.slotName ) || [];\n\n\tconst settingsFills = [\n\t\t...( useSlotFills( defaultGroup.Slot.__unstableName ) || [] ),\n\t\t...( useSlotFills( positionGroup.Slot.__unstableName ) || [] ),\n\t\t...( hasListFills && hasStyleFills > 1 ? advancedFills : [] ),\n\t];\n\n\t// Add the tabs in the order that they will default to if available.\n\t// List View > Settings > Styles.\n\tif ( hasListFills ) {\n\t\ttabs.push( TAB_LIST_VIEW );\n\t}\n\n\tif ( settingsFills.length ) {\n\t\ttabs.push( TAB_SETTINGS );\n\t}\n\n\tif ( hasStyleFills ) {\n\t\ttabs.push( TAB_STYLES );\n\t}\n\n\tconst tabSettings = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().blockInspectorTabs;\n\t}, [] );\n\n\tconst showTabs = getShowTabs( blockName, tabSettings );\n\n\treturn showTabs ? tabs : EMPTY_ARRAY;\n}\n"]}
|
|
@@ -5,13 +5,14 @@ import { createElement } from "@wordpress/element";
|
|
|
5
5
|
* WordPress dependencies
|
|
6
6
|
*/
|
|
7
7
|
import { ToolbarDropdownMenu, ToolbarGroup } from '@wordpress/components';
|
|
8
|
-
import { justifyLeft, justifyCenter, justifyRight, justifySpaceBetween } from '@wordpress/icons';
|
|
8
|
+
import { justifyLeft, justifyCenter, justifyRight, justifySpaceBetween, justifyStretch } from '@wordpress/icons';
|
|
9
9
|
import { __ } from '@wordpress/i18n';
|
|
10
10
|
const icons = {
|
|
11
11
|
left: justifyLeft,
|
|
12
12
|
center: justifyCenter,
|
|
13
13
|
right: justifyRight,
|
|
14
|
-
'space-between': justifySpaceBetween
|
|
14
|
+
'space-between': justifySpaceBetween,
|
|
15
|
+
stretch: justifyStretch
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
function JustifyContentUI(_ref) {
|
|
@@ -60,6 +61,12 @@ function JustifyContentUI(_ref) {
|
|
|
60
61
|
title: __('Space between items'),
|
|
61
62
|
isActive: 'space-between' === value,
|
|
62
63
|
onClick: () => handleClick('space-between')
|
|
64
|
+
}, {
|
|
65
|
+
name: 'stretch',
|
|
66
|
+
icon: justifyStretch,
|
|
67
|
+
title: __('Stretch items'),
|
|
68
|
+
isActive: 'stretch' === value,
|
|
69
|
+
onClick: () => handleClick('stretch')
|
|
63
70
|
}];
|
|
64
71
|
const UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;
|
|
65
72
|
const extraProps = isToolbar ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/justify-content-control/ui.js"],"names":["ToolbarDropdownMenu","ToolbarGroup","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","__","icons","left","center","right","JustifyContentUI","allowedControls","isCollapsed","onChange","value","popoverProps","isToolbar","handleClick","next","undefined","icon","allControls","name","title","isActive","onClick","UIComponent","extraProps","filter","elem","includes"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,mBAAT,EAA8BC,YAA9B,QAAkD,uBAAlD;AACA,SACCC,WADD,EAECC,aAFD,EAGCC,YAHD,EAICC,mBAJD,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/justify-content-control/ui.js"],"names":["ToolbarDropdownMenu","ToolbarGroup","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","justifyStretch","__","icons","left","center","right","stretch","JustifyContentUI","allowedControls","isCollapsed","onChange","value","popoverProps","isToolbar","handleClick","next","undefined","icon","allControls","name","title","isActive","onClick","UIComponent","extraProps","filter","elem","includes"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarDropdownMenu, ToolbarGroup } from '@wordpress/components';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tjustifyStretch,\n} from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst icons = {\n\tleft: justifyLeft,\n\tcenter: justifyCenter,\n\tright: justifyRight,\n\t'space-between': justifySpaceBetween,\n\tstretch: justifyStretch,\n};\n\nfunction JustifyContentUI( {\n\tallowedControls = [ 'left', 'center', 'right', 'space-between' ],\n\tisCollapsed = true,\n\tonChange,\n\tvalue,\n\tpopoverProps,\n\tisToolbar,\n} ) {\n\t// If the control is already selected we want a click\n\t// again on the control to deselect the item, so we\n\t// call onChange( undefined )\n\tconst handleClick = ( next ) => {\n\t\tif ( next === value ) {\n\t\t\tonChange( undefined );\n\t\t} else {\n\t\t\tonChange( next );\n\t\t}\n\t};\n\n\tconst icon = value ? icons[ value ] : icons.left;\n\tconst allControls = [\n\t\t{\n\t\t\tname: 'left',\n\t\t\ticon: justifyLeft,\n\t\t\ttitle: __( 'Justify items left' ),\n\t\t\tisActive: 'left' === value,\n\t\t\tonClick: () => handleClick( 'left' ),\n\t\t},\n\t\t{\n\t\t\tname: 'center',\n\t\t\ticon: justifyCenter,\n\t\t\ttitle: __( 'Justify items center' ),\n\t\t\tisActive: 'center' === value,\n\t\t\tonClick: () => handleClick( 'center' ),\n\t\t},\n\t\t{\n\t\t\tname: 'right',\n\t\t\ticon: justifyRight,\n\t\t\ttitle: __( 'Justify items right' ),\n\t\t\tisActive: 'right' === value,\n\t\t\tonClick: () => handleClick( 'right' ),\n\t\t},\n\t\t{\n\t\t\tname: 'space-between',\n\t\t\ticon: justifySpaceBetween,\n\t\t\ttitle: __( 'Space between items' ),\n\t\t\tisActive: 'space-between' === value,\n\t\t\tonClick: () => handleClick( 'space-between' ),\n\t\t},\n\t\t{\n\t\t\tname: 'stretch',\n\t\t\ticon: justifyStretch,\n\t\t\ttitle: __( 'Stretch items' ),\n\t\t\tisActive: 'stretch' === value,\n\t\t\tonClick: () => handleClick( 'stretch' ),\n\t\t},\n\t];\n\n\tconst UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;\n\tconst extraProps = isToolbar ? { isCollapsed } : {};\n\n\treturn (\n\t\t<UIComponent\n\t\t\ticon={ icon }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tlabel={ __( 'Change items justification' ) }\n\t\t\tcontrols={ allControls.filter( ( elem ) =>\n\t\t\t\tallowedControls.includes( elem.name )\n\t\t\t) }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n}\n\nexport default JustifyContentUI;\n"]}
|
|
@@ -9,7 +9,6 @@ import classnames from 'classnames';
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { Button, Spinner, Notice, TextControl } from '@wordpress/components';
|
|
12
|
-
import { keyboardReturn } from '@wordpress/icons';
|
|
13
12
|
import { __ } from '@wordpress/i18n';
|
|
14
13
|
import { useRef, useState, useEffect } from '@wordpress/element';
|
|
15
14
|
import { focus } from '@wordpress/dom';
|
|
@@ -112,7 +111,7 @@ const noop = () => {};
|
|
|
112
111
|
|
|
113
112
|
|
|
114
113
|
function LinkControl(_ref) {
|
|
115
|
-
var
|
|
114
|
+
var _value$url, _value$url$trim, _currentUrlInputValue;
|
|
116
115
|
|
|
117
116
|
let {
|
|
118
117
|
searchInputPlaceholder,
|
|
@@ -120,6 +119,7 @@ function LinkControl(_ref) {
|
|
|
120
119
|
settings = DEFAULT_LINK_SETTINGS,
|
|
121
120
|
onChange = noop,
|
|
122
121
|
onRemove,
|
|
122
|
+
onCancel,
|
|
123
123
|
noDirectEntry = false,
|
|
124
124
|
showSuggestions = true,
|
|
125
125
|
showInitialSuggestions,
|
|
@@ -180,6 +180,7 @@ function LinkControl(_ref) {
|
|
|
180
180
|
nextFocusTarget.focus();
|
|
181
181
|
isEndingEditWithFocus.current = false;
|
|
182
182
|
}, [isEditingLink, isCreatingPage]);
|
|
183
|
+
const hasLinkValue = (value === null || value === void 0 ? void 0 : (_value$url = value.url) === null || _value$url === void 0 ? void 0 : (_value$url$trim = _value$url.trim()) === null || _value$url$trim === void 0 ? void 0 : _value$url$trim.length) > 0;
|
|
183
184
|
/**
|
|
184
185
|
* Cancels editing state and marks that focus may need to be restored after
|
|
185
186
|
* the next render, if focus was within the wrapper when editing finished.
|
|
@@ -222,6 +223,28 @@ function LinkControl(_ref) {
|
|
|
222
223
|
}
|
|
223
224
|
};
|
|
224
225
|
|
|
226
|
+
const resetInternalValues = () => {
|
|
227
|
+
setInternalUrlInputValue(value === null || value === void 0 ? void 0 : value.url);
|
|
228
|
+
setInternalTextInputValue(value === null || value === void 0 ? void 0 : value.title);
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
const handleCancel = event => {
|
|
232
|
+
event.preventDefault();
|
|
233
|
+
event.stopPropagation(); // Ensure that any unsubmitted input changes are reset.
|
|
234
|
+
|
|
235
|
+
resetInternalValues();
|
|
236
|
+
|
|
237
|
+
if (hasLinkValue) {
|
|
238
|
+
// If there is a link then exist editing mode and show preview.
|
|
239
|
+
stopEditing();
|
|
240
|
+
} else {
|
|
241
|
+
// If there is no link value, then remove the link entirely.
|
|
242
|
+
onRemove === null || onRemove === void 0 ? void 0 : onRemove();
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
246
|
+
};
|
|
247
|
+
|
|
225
248
|
const currentUrlInputValue = propInputValue || internalUrlInputValue;
|
|
226
249
|
const currentInputIsEmpty = !(currentUrlInputValue !== null && currentUrlInputValue !== void 0 && (_currentUrlInputValue = currentUrlInputValue.trim()) !== null && _currentUrlInputValue !== void 0 && _currentUrlInputValue.length);
|
|
227
250
|
const shownUnlinkControl = onRemove && value && !isEditingLink && !isCreatingPage;
|
|
@@ -229,19 +252,21 @@ function LinkControl(_ref) {
|
|
|
229
252
|
// and it isn't just empty whitespace.
|
|
230
253
|
// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.
|
|
231
254
|
|
|
232
|
-
const showTextControl =
|
|
255
|
+
const showTextControl = hasLinkValue && hasTextControl;
|
|
256
|
+
const isEditing = (isEditingLink || !value) && !isCreatingPage;
|
|
233
257
|
return createElement("div", {
|
|
234
258
|
tabIndex: -1,
|
|
235
259
|
ref: wrapperNode,
|
|
236
260
|
className: "block-editor-link-control"
|
|
237
261
|
}, isCreatingPage && createElement("div", {
|
|
238
262
|
className: "block-editor-link-control__loading"
|
|
239
|
-
}, createElement(Spinner, null), " ", __('Creating'), "\u2026"),
|
|
263
|
+
}, createElement(Spinner, null), " ", __('Creating'), "\u2026"), isEditing && createElement(Fragment, null, createElement("div", {
|
|
240
264
|
className: classnames({
|
|
241
265
|
'block-editor-link-control__search-input-wrapper': true,
|
|
242
266
|
'has-text-control': showTextControl
|
|
243
267
|
})
|
|
244
268
|
}, showTextControl && createElement(TextControl, {
|
|
269
|
+
__nextHasNoMarginBottom: true,
|
|
245
270
|
ref: textInputRef,
|
|
246
271
|
className: "block-editor-link-control__field block-editor-link-control__text-content",
|
|
247
272
|
label: "Text",
|
|
@@ -264,16 +289,7 @@ function LinkControl(_ref) {
|
|
|
264
289
|
withURLSuggestion: !noURLSuggestion,
|
|
265
290
|
createSuggestionButtonText: createSuggestionButtonText,
|
|
266
291
|
useLabel: showTextControl
|
|
267
|
-
}, createElement(
|
|
268
|
-
className: "block-editor-link-control__search-actions"
|
|
269
|
-
}, createElement(Button, {
|
|
270
|
-
onClick: handleSubmit,
|
|
271
|
-
label: __('Submit'),
|
|
272
|
-
icon: keyboardReturn,
|
|
273
|
-
className: "block-editor-link-control__search-submit",
|
|
274
|
-
disabled: currentInputIsEmpty // Disallow submitting empty values.
|
|
275
|
-
|
|
276
|
-
})))), errorMessage && createElement(Notice, {
|
|
292
|
+
})), errorMessage && createElement(Notice, {
|
|
277
293
|
className: "block-editor-link-control__search-error",
|
|
278
294
|
status: "error",
|
|
279
295
|
isDismissible: false
|
|
@@ -285,13 +301,26 @@ function LinkControl(_ref) {
|
|
|
285
301
|
hasRichPreviews: hasRichPreviews,
|
|
286
302
|
hasUnlinkControl: shownUnlinkControl,
|
|
287
303
|
onRemove: onRemove
|
|
288
|
-
}),
|
|
304
|
+
}), createElement("div", {
|
|
305
|
+
className: "block-editor-link-control__drawer"
|
|
306
|
+
}, showSettingsDrawer && createElement("div", {
|
|
289
307
|
className: "block-editor-link-control__tools"
|
|
290
308
|
}, createElement(LinkControlSettingsDrawer, {
|
|
291
309
|
value: value,
|
|
292
310
|
settings: settings,
|
|
293
311
|
onChange: onChange
|
|
294
|
-
})),
|
|
312
|
+
})), isEditing && createElement("div", {
|
|
313
|
+
className: "block-editor-link-control__search-actions"
|
|
314
|
+
}, createElement(Button, {
|
|
315
|
+
variant: "primary",
|
|
316
|
+
onClick: handleSubmit,
|
|
317
|
+
className: "xblock-editor-link-control__search-submit",
|
|
318
|
+
disabled: currentInputIsEmpty // Disallow submitting empty values.
|
|
319
|
+
|
|
320
|
+
}, __('Apply')), createElement(Button, {
|
|
321
|
+
variant: "tertiary",
|
|
322
|
+
onClick: handleCancel
|
|
323
|
+
}, __('Cancel')))), renderControlBottom && renderControlBottom());
|
|
295
324
|
}
|
|
296
325
|
|
|
297
326
|
LinkControl.ViewerFill = ViewerFill;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"names":["classnames","Button","Spinner","Notice","TextControl","keyboardReturn","__","useRef","useState","useEffect","focus","ENTER","LinkControlSettingsDrawer","LinkControlSearchInput","LinkPreview","useCreatePage","useInternalInputValue","ViewerFill","DEFAULT_LINK_SETTINGS","noop","LinkControl","searchInputPlaceholder","value","settings","onChange","onRemove","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","isMounting","wrapperNode","textInputRef","isEndingEditWithFocus","internalUrlInputValue","setInternalUrlInputValue","url","internalTextInputValue","setInternalTextInputValue","title","isEditingLink","setIsEditingLink","createPage","isCreatingPage","errorMessage","current","whichFocusTargetIndex","nextFocusTarget","focusable","find","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","handleSubmit","currentUrlInputValue","handleSubmitWithEnter","event","keyCode","currentInputIsEmpty","preventDefault","trim","length","shownUnlinkControl","showSettingsDrawer","showTextControl"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Spinner, Notice, TextControl } from '@wordpress/components';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport useCreatePage from './use-create-page';\nimport useInternalInputValue from './use-internal-input-value';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\nconst noop = () => {};\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst isMounting = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\tconst isEndingEditWithFocus = useRef( false );\n\n\tconst [ internalUrlInputValue, setInternalUrlInputValue ] =\n\t\tuseInternalInputValue( value?.url || '' );\n\n\tconst [ internalTextInputValue, setInternalTextInputValue ] =\n\t\tuseInternalInputValue( value?.title || '' );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\n\tconst { createPage, isCreatingPage, errorMessage } =\n\t\tuseCreatePage( createSuggestion );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tforceIsEditingLink !== undefined &&\n\t\t\tforceIsEditingLink !== isEditingLink\n\t\t) {\n\t\t\tsetIsEditingLink( forceIsEditingLink );\n\t\t}\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMounting.current ) {\n\t\t\tisMounting.current = false;\n\t\t\treturn;\n\t\t}\n\t\t// Unless we are mounting, we always want to focus either:\n\t\t// - the URL input\n\t\t// - the first focusable element in the Link UI.\n\t\t// But in editing mode if there is a text input present then\n\t\t// the URL input is at index 1. If not then it is at index 0.\n\t\tconst whichFocusTargetIndex = textInputRef?.current ? 1 : 0;\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[\n\t\t\t\twhichFocusTargetIndex\n\t\t\t] || wrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocus.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tconst stopEditing = () => {\n\t\tisEndingEditWithFocus.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t};\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\tonChange( {\n\t\t\t...updatedValue,\n\t\t\ttitle: internalTextInputValue || updatedValue?.title,\n\t\t} );\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif (\n\t\t\tcurrentUrlInputValue !== value?.url ||\n\t\t\tinternalTextInputValue !== value?.title\n\t\t) {\n\t\t\tonChange( {\n\t\t\t\t...value,\n\t\t\t\turl: currentUrlInputValue,\n\t\t\t\ttitle: internalTextInputValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst currentUrlInputValue = propInputValue || internalUrlInputValue;\n\n\tconst currentInputIsEmpty = ! currentUrlInputValue?.trim()?.length;\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showSettingsDrawer = !! settings?.length;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = value?.url?.trim()?.length > 0 && hasTextControl;\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ( isEditingLink || ! value ) && ! isCreatingPage && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel=\"Text\"\n\t\t\t\t\t\t\t\tvalue={ internalTextInputValue }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextInputValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentUrlInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalUrlInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tuseLabel={ showTextControl }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"block-editor-link-control__search-actions\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ handleSubmit }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\t\t\t\tdisabled={ currentInputIsEmpty } // Disallow submitting empty values.\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</LinkControlSearchInput>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ showSettingsDrawer && (\n\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\n\nexport default LinkControl;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"names":["classnames","Button","Spinner","Notice","TextControl","__","useRef","useState","useEffect","focus","ENTER","LinkControlSettingsDrawer","LinkControlSearchInput","LinkPreview","useCreatePage","useInternalInputValue","ViewerFill","DEFAULT_LINK_SETTINGS","noop","LinkControl","searchInputPlaceholder","value","settings","onChange","onRemove","onCancel","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","isMounting","wrapperNode","textInputRef","isEndingEditWithFocus","internalUrlInputValue","setInternalUrlInputValue","url","internalTextInputValue","setInternalTextInputValue","title","isEditingLink","setIsEditingLink","createPage","isCreatingPage","errorMessage","current","whichFocusTargetIndex","nextFocusTarget","focusable","find","hasLinkValue","trim","length","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","handleSubmit","currentUrlInputValue","handleSubmitWithEnter","event","keyCode","currentInputIsEmpty","preventDefault","resetInternalValues","handleCancel","stopPropagation","shownUnlinkControl","showSettingsDrawer","showTextControl","isEditing"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Spinner, Notice, TextControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport useCreatePage from './use-create-page';\nimport useInternalInputValue from './use-internal-input-value';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\nconst noop = () => {};\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tonCancel,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst isMounting = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\tconst isEndingEditWithFocus = useRef( false );\n\n\tconst [ internalUrlInputValue, setInternalUrlInputValue ] =\n\t\tuseInternalInputValue( value?.url || '' );\n\n\tconst [ internalTextInputValue, setInternalTextInputValue ] =\n\t\tuseInternalInputValue( value?.title || '' );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\n\tconst { createPage, isCreatingPage, errorMessage } =\n\t\tuseCreatePage( createSuggestion );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tforceIsEditingLink !== undefined &&\n\t\t\tforceIsEditingLink !== isEditingLink\n\t\t) {\n\t\t\tsetIsEditingLink( forceIsEditingLink );\n\t\t}\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMounting.current ) {\n\t\t\tisMounting.current = false;\n\t\t\treturn;\n\t\t}\n\t\t// Unless we are mounting, we always want to focus either:\n\t\t// - the URL input\n\t\t// - the first focusable element in the Link UI.\n\t\t// But in editing mode if there is a text input present then\n\t\t// the URL input is at index 1. If not then it is at index 0.\n\t\tconst whichFocusTargetIndex = textInputRef?.current ? 1 : 0;\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[\n\t\t\t\twhichFocusTargetIndex\n\t\t\t] || wrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocus.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\tconst hasLinkValue = value?.url?.trim()?.length > 0;\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tconst stopEditing = () => {\n\t\tisEndingEditWithFocus.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t};\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\tonChange( {\n\t\t\t...updatedValue,\n\t\t\ttitle: internalTextInputValue || updatedValue?.title,\n\t\t} );\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif (\n\t\t\tcurrentUrlInputValue !== value?.url ||\n\t\t\tinternalTextInputValue !== value?.title\n\t\t) {\n\t\t\tonChange( {\n\t\t\t\t...value,\n\t\t\t\turl: currentUrlInputValue,\n\t\t\t\ttitle: internalTextInputValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst resetInternalValues = () => {\n\t\tsetInternalUrlInputValue( value?.url );\n\t\tsetInternalTextInputValue( value?.title );\n\t};\n\n\tconst handleCancel = ( event ) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\t// Ensure that any unsubmitted input changes are reset.\n\t\tresetInternalValues();\n\n\t\tif ( hasLinkValue ) {\n\t\t\t// If there is a link then exist editing mode and show preview.\n\t\t\tstopEditing();\n\t\t} else {\n\t\t\t// If there is no link value, then remove the link entirely.\n\t\t\tonRemove?.();\n\t\t}\n\n\t\tonCancel?.();\n\t};\n\n\tconst currentUrlInputValue = propInputValue || internalUrlInputValue;\n\n\tconst currentInputIsEmpty = ! currentUrlInputValue?.trim()?.length;\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showSettingsDrawer = !! settings?.length;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = hasLinkValue && hasTextControl;\n\n\tconst isEditing = ( isEditingLink || ! value ) && ! isCreatingPage;\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ isEditing && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel=\"Text\"\n\t\t\t\t\t\t\t\tvalue={ internalTextInputValue }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextInputValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentUrlInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalUrlInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tuseLabel={ showTextControl }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<div className=\"block-editor-link-control__drawer\">\n\t\t\t\t{ showSettingsDrawer && (\n\t\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\n\t\t\t\t{ isEditing && (\n\t\t\t\t\t<div className=\"block-editor-link-control__search-actions\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ handleSubmit }\n\t\t\t\t\t\t\tclassName=\"xblock-editor-link-control__search-submit\"\n\t\t\t\t\t\t\tdisabled={ currentInputIsEmpty } // Disallow submitting empty values.\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ handleCancel }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\n\nexport default LinkControl;\n"]}
|