@wordpress/block-editor 12.20.0 → 12.21.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 +2 -0
- package/build/components/block-actions/index.js +45 -32
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-bindings-toolbar-indicator/index.js +25 -0
- package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -0
- package/build/components/block-edit/context.js +2 -1
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/index.js +8 -3
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-inspector/index.js +5 -4
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +1 -1
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +23 -7
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.native.js +0 -3
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +8 -1
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-popover/cover.js +68 -0
- package/build/components/block-popover/cover.js.map +1 -0
- package/build/components/block-popover/drop-zone.js +2 -3
- package/build/components/block-popover/drop-zone.js.map +1 -1
- package/build/components/block-popover/index.js +1 -19
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -1
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +2 -4
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-rename/modal.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +12 -10
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-toolbar/index.js +21 -10
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/shuffle.js +89 -0
- package/build/components/block-toolbar/shuffle.js.map +1 -0
- package/build/components/block-toolbar/use-has-block-toolbar.js +43 -0
- package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
- package/build/components/block-tools/block-selection-button.js +5 -1
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/empty-block-inserter.js +2 -5
- package/build/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build/components/block-tools/index.js +9 -26
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +60 -0
- package/build/components/block-tools/use-show-block-tools.js.map +1 -0
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/color-palette/control.js.map +1 -1
- package/build/components/colors-gradients/control.js +1 -1
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/global-styles/border-panel.js +21 -8
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +1 -1
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/index.js +6 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +80 -23
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/typography-utils.js +7 -5
- package/build/components/global-styles/typography-utils.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +15 -15
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +1 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/grid-visualizer/grid-item-resizer.js +77 -0
- package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -0
- package/build/components/grid-visualizer/grid-visualizer.js +81 -0
- package/build/components/grid-visualizer/grid-visualizer.js.map +1 -0
- package/build/components/grid-visualizer/index.js +20 -0
- package/build/components/grid-visualizer/index.js.map +1 -0
- package/build/components/grid-visualizer/utils.js +10 -0
- package/build/components/grid-visualizer/utils.js.map +1 -0
- package/build/components/iframe/index.js +61 -16
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/index.native.js +7 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +8 -2
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/menu.js +9 -3
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +1 -1
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/search-results.js +3 -2
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.js +2 -1
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +1 -1
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/link-control/link-preview.js +4 -1
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/list-view/block-select-button.js +10 -2
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-clipboard-handler.js +2 -1
- package/build/components/list-view/use-clipboard-handler.js.map +1 -1
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/resizable-box-popover/index.js +3 -5
- package/build/components/resizable-box-popover/index.js.map +1 -1
- package/build/components/responsive-block-control/index.js +1 -1
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/rich-text/index.js +46 -26
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-enter.js +3 -0
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/url-popover/index.js +3 -3
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js +2 -1
- package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build/components/writing-flow/utils.js +23 -6
- package/build/components/writing-flow/utils.js.map +1 -1
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js +34 -8
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/border.js +6 -4
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/dimensions.js +3 -4
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-size.js +6 -7
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +1 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout-child.js +39 -0
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/layout.js +11 -4
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/spacing-visualizer.js +115 -0
- package/build/hooks/spacing-visualizer.js.map +1 -0
- package/build/hooks/use-bindings-attributes.js +171 -48
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/use-typography-props.js +1 -2
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/layouts/grid.js +6 -2
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +7 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +42 -12
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +29 -55
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +0 -8
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +3 -20
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +27 -15
- package/build/store/selectors.js.map +1 -1
- package/build/utils/calculate-scale.js +17 -0
- package/build/utils/calculate-scale.js.map +1 -0
- package/build-module/components/block-actions/index.js +45 -32
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-bindings-toolbar-indicator/index.js +18 -0
- package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -0
- package/build-module/components/block-edit/context.js +1 -0
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/index.js +9 -4
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +6 -5
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +1 -1
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +23 -7
- package/build-module/components/block-list/block-outline.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.native.js +0 -3
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +9 -2
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-popover/cover.js +60 -0
- package/build-module/components/block-popover/cover.js.map +1 -0
- package/build-module/components/block-popover/drop-zone.js +2 -3
- package/build-module/components/block-popover/drop-zone.js.map +1 -1
- package/build-module/components/block-popover/index.js +1 -19
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -1
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +3 -5
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-rename/modal.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -10
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +21 -11
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/shuffle.js +82 -0
- package/build-module/components/block-toolbar/shuffle.js.map +1 -0
- package/build-module/components/block-toolbar/use-has-block-toolbar.js +36 -0
- package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
- package/build-module/components/block-tools/block-selection-button.js +5 -1
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/empty-block-inserter.js +2 -5
- package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build-module/components/block-tools/index.js +9 -26
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +54 -0
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -0
- package/build-module/components/caption/index.native.js.map +1 -1
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/color-palette/control.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +1 -1
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +22 -10
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +1 -1
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/index.js +1 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +82 -24
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/typography-utils.js +7 -5
- package/build-module/components/global-styles/typography-utils.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +16 -16
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +2 -2
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-item-resizer.js +69 -0
- package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -0
- package/build-module/components/grid-visualizer/grid-visualizer.js +73 -0
- package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -0
- package/build-module/components/grid-visualizer/index.js +3 -0
- package/build-module/components/grid-visualizer/index.js.map +1 -0
- package/build-module/components/grid-visualizer/utils.js +4 -0
- package/build-module/components/grid-visualizer/utils.js.map +1 -0
- package/build-module/components/iframe/index.js +61 -16
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/index.native.js +1 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +8 -2
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/menu.js +9 -3
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build-module/components/inserter/search-results.js +3 -2
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.js +2 -1
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +1 -1
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +5 -2
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +11 -3
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-clipboard-handler.js +3 -2
- package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/resizable-box-popover/index.js +3 -5
- package/build-module/components/resizable-box-popover/index.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +1 -1
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +47 -28
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +3 -0
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/url-popover/index.js +3 -3
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js +3 -2
- package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build-module/components/writing-flow/utils.js +22 -7
- package/build-module/components/writing-flow/utils.js.map +1 -1
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-hooks.js +34 -8
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/border.js +7 -5
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/dimensions.js +1 -2
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-size.js +7 -8
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +1 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout-child.js +39 -0
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/layout.js +11 -4
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/spacing-visualizer.js +106 -0
- package/build-module/hooks/spacing-visualizer.js.map +1 -0
- package/build-module/hooks/use-bindings-attributes.js +172 -49
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +2 -3
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/layouts/grid.js +6 -2
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +7 -3
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +42 -12
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +29 -54
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +0 -6
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +3 -20
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +23 -13
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/calculate-scale.js +11 -0
- package/build-module/utils/calculate-scale.js.map +1 -0
- package/build-style/content-rtl.css +8 -2
- package/build-style/content.css +8 -2
- package/build-style/default-editor-styles-rtl.css +1 -0
- package/build-style/default-editor-styles.css +1 -0
- package/build-style/style-rtl.css +113 -22
- package/build-style/style.css +113 -22
- package/package.json +31 -31
- package/src/components/block-actions/index.js +57 -47
- package/src/components/block-bindings-toolbar-indicator/index.js +20 -0
- package/src/components/block-bindings-toolbar-indicator/style.scss +14 -0
- package/src/components/block-draggable/test/index.native.js +2 -2
- package/src/components/block-edit/context.js +1 -0
- package/src/components/block-edit/index.js +5 -1
- package/src/components/block-inspector/index.js +7 -5
- package/src/components/block-list/block-invalid-warning.native.js +1 -1
- package/src/components/block-list/block-list-item.native.js +1 -1
- package/src/components/block-list/block-outline.native.js +36 -21
- package/src/components/block-list/block-selection-button.native.js +1 -3
- package/src/components/block-list/block.native.js +0 -3
- package/src/components/block-list/content.scss +5 -1
- package/src/components/block-list/test/block-outline.native.js +255 -0
- package/src/components/block-list/use-block-props/index.js +12 -2
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -7
- package/src/components/block-mover/index.native.js +1 -1
- package/src/components/block-popover/cover.js +63 -0
- package/src/components/block-popover/drop-zone.js +3 -4
- package/src/components/block-popover/index.js +1 -28
- package/src/components/block-preview/index.js +3 -1
- package/src/components/block-removal-warning-modal/index.js +5 -19
- package/src/components/block-rename/modal.js +1 -1
- package/src/components/block-settings-menu/block-settings-dropdown.js +12 -9
- package/src/components/block-switcher/block-transformations-menu.native.js +1 -1
- package/src/components/block-toolbar/block-toolbar-menu.native.js +2 -2
- package/src/components/block-toolbar/index.js +19 -15
- package/src/components/block-toolbar/shuffle.js +93 -0
- package/src/components/block-toolbar/use-has-block-toolbar.js +49 -0
- package/src/components/block-tools/block-selection-button.js +4 -0
- package/src/components/block-tools/empty-block-inserter.js +3 -6
- package/src/components/block-tools/index.js +13 -36
- package/src/components/block-tools/use-show-block-tools.js +73 -0
- package/src/components/caption/index.native.js +1 -1
- package/src/components/child-layout-control/index.js +1 -1
- package/src/components/color-palette/control.js +1 -1
- package/src/components/colors-gradients/control.js +1 -1
- package/src/components/colors-gradients/test/control.js +2 -2
- package/src/components/contrast-checker/test/index.js +10 -10
- package/src/components/default-block-appender/content.scss +5 -2
- package/src/components/global-styles/border-panel.js +35 -24
- package/src/components/global-styles/color-panel.js +1 -1
- package/src/components/global-styles/image-settings-panel.js +1 -1
- package/src/components/global-styles/index.js +5 -1
- package/src/components/global-styles/shadow-panel-components.js +92 -23
- package/src/components/global-styles/style.scss +33 -10
- package/src/components/global-styles/test/typography-utils.js +231 -81
- package/src/components/global-styles/typography-utils.js +10 -7
- package/src/components/global-styles/use-global-styles-output.js +14 -16
- package/src/components/global-styles/utils.js +2 -8
- package/src/components/grid-visualizer/grid-item-resizer.js +100 -0
- package/src/components/grid-visualizer/grid-visualizer.js +81 -0
- package/src/components/grid-visualizer/index.js +2 -0
- package/src/components/grid-visualizer/style.scss +33 -0
- package/src/components/grid-visualizer/utils.js +5 -0
- package/src/components/iframe/index.js +78 -31
- package/src/components/index.native.js +1 -0
- package/src/components/inner-blocks/use-nested-settings-update.js +12 -2
- package/src/components/inserter/media-tab/media-preview.js +1 -1
- package/src/components/inserter/menu.js +10 -4
- package/src/components/inserter/menu.native.js +3 -3
- package/src/components/inserter/mobile-tab-navigation.js +1 -1
- package/src/components/inserter/search-results.js +2 -1
- package/src/components/inserter/style.scss +10 -0
- package/src/components/inserter/tabs.js +2 -1
- package/src/components/inspector-controls/block-support-tools-panel.js +2 -2
- package/src/components/inspector-controls-tabs/index.js +1 -1
- package/src/components/inspector-controls-tabs/styles-tab.js +2 -2
- package/src/components/line-height-control/test/index.js +1 -1
- package/src/components/link-control/link-preview.js +9 -2
- package/src/components/link-control/search-input.js +1 -1
- package/src/components/link-control/style.scss +9 -0
- package/src/components/list-view/block-select-button.js +16 -2
- package/src/components/list-view/branch.js +1 -1
- package/src/components/list-view/drop-indicator.js +1 -1
- package/src/components/list-view/index.js +1 -1
- package/src/components/list-view/style.scss +8 -0
- package/src/components/list-view/use-clipboard-handler.js +3 -2
- package/src/components/panel-color-settings/index.js +1 -1
- package/src/components/panel-color-settings/test/index.js +3 -3
- package/src/components/provider/index.js +1 -4
- package/src/components/resizable-box-popover/index.js +4 -6
- package/src/components/responsive-block-control/README.md +4 -4
- package/src/components/responsive-block-control/index.js +1 -1
- package/src/components/responsive-block-control/test/index.js +5 -5
- package/src/components/rich-text/index.js +76 -53
- package/src/components/rich-text/use-enter.js +4 -0
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
- package/src/components/url-popover/index.js +5 -5
- package/src/components/url-popover/style.scss +1 -0
- package/src/components/writing-flow/use-clipboard-handler.js +3 -2
- package/src/components/writing-flow/utils.js +31 -16
- package/src/hooks/background.js +1 -1
- package/src/hooks/block-hooks.js +47 -9
- package/src/hooks/block-hooks.scss +6 -0
- package/src/hooks/border.js +16 -4
- package/src/hooks/dimensions.js +1 -2
- package/src/hooks/font-size.js +7 -12
- package/src/hooks/index.js +1 -0
- package/src/hooks/layout-child.js +38 -0
- package/src/hooks/layout.js +12 -1
- package/src/hooks/line-height.js +1 -1
- package/src/hooks/spacing-visualizer.js +126 -0
- package/src/hooks/{padding.scss → spacing.scss} +1 -1
- package/src/hooks/use-bindings-attributes.js +215 -65
- package/src/hooks/use-typography-props.js +2 -8
- package/src/layouts/grid.js +8 -3
- package/src/private-apis.js +6 -2
- package/src/store/actions.js +56 -18
- package/src/store/private-actions.js +34 -79
- package/src/store/private-selectors.js +0 -8
- package/src/store/reducer.js +2 -23
- package/src/store/selectors.js +41 -46
- package/src/store/test/actions.js +0 -4
- package/src/style.scss +3 -1
- package/src/utils/calculate-scale.js +20 -0
- package/build/hooks/margin.js +0 -86
- package/build/hooks/margin.js.map +0 -1
- package/build/hooks/padding.js +0 -78
- package/build/hooks/padding.js.map +0 -1
- package/build/utils/use-can-block-toolbar-be-focused.js +0 -46
- package/build/utils/use-can-block-toolbar-be-focused.js.map +0 -1
- package/build-module/hooks/margin.js +0 -78
- package/build-module/hooks/margin.js.map +0 -1
- package/build-module/hooks/padding.js +0 -70
- package/build-module/hooks/padding.js.map +0 -1
- package/build-module/utils/use-can-block-toolbar-be-focused.js +0 -40
- package/build-module/utils/use-can-block-toolbar-be-focused.js.map +0 -1
- package/src/hooks/margin.js +0 -91
- package/src/hooks/padding.js +0 -82
- package/src/utils/use-can-block-toolbar-be-focused.js +0 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","
|
|
1
|
+
{"version":3,"names":["classnames","BlockPopoverCover","useBlockToolbarPopoverProps","Inserter","useSelectedBlockToolProps","EmptyBlockInserter","clientId","__unstableContentRef","capturingClientId","isInsertionPointVisible","lastClientId","rootClientId","popoverProps","contentElement","current","createElement","bottomClientId","className","position","__experimentalIsQuick"],"sources":["@wordpress/block-editor/src/components/block-tools/empty-block-inserter.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport BlockPopoverCover from '../block-popover/cover';\nimport useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';\nimport Inserter from '../inserter';\nimport useSelectedBlockToolProps from './use-selected-block-tool-props';\n\nexport default function EmptyBlockInserter( {\n\tclientId,\n\t__unstableContentRef,\n} ) {\n\tconst {\n\t\tcapturingClientId,\n\t\tisInsertionPointVisible,\n\t\tlastClientId,\n\t\trootClientId,\n\t} = useSelectedBlockToolProps( clientId );\n\n\tconst popoverProps = useBlockToolbarPopoverProps( {\n\t\tcontentElement: __unstableContentRef?.current,\n\t\tclientId,\n\t} );\n\n\treturn (\n\t\t<BlockPopoverCover\n\t\t\tclientId={ capturingClientId || clientId }\n\t\t\tbottomClientId={ lastClientId }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-block-list__block-side-inserter-popover',\n\t\t\t\t{\n\t\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t\t}\n\t\t\t) }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t{ ...popoverProps }\n\t\t>\n\t\t\t<div className=\"block-editor-block-list__empty-block-inserter\">\n\t\t\t\t<Inserter\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</BlockPopoverCover>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,2BAA2B,MAAM,mCAAmC;AAC3E,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,yBAAyB,MAAM,iCAAiC;AAEvE,eAAe,SAASC,kBAAkBA,CAAE;EAC3CC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,iBAAiB;IACjBC,uBAAuB;IACvBC,YAAY;IACZC;EACD,CAAC,GAAGP,yBAAyB,CAAEE,QAAS,CAAC;EAEzC,MAAMM,YAAY,GAAGV,2BAA2B,CAAE;IACjDW,cAAc,EAAEN,oBAAoB,EAAEO,OAAO;IAC7CR;EACD,CAAE,CAAC;EAEH,OACCS,aAAA,CAACd,iBAAiB;IACjBK,QAAQ,EAAGE,iBAAiB,IAAIF,QAAU;IAC1CU,cAAc,EAAGN,YAAc;IAC/BO,SAAS,EAAGjB,UAAU,CACrB,sDAAsD,EACtD;MACC,4BAA4B,EAAES;IAC/B,CACD,CAAG;IACHF,oBAAoB,EAAGA,oBAAsB;IAAA,GACxCK;EAAY,GAEjBG,aAAA;IAAKE,SAAS,EAAC;EAA+C,GAC7DF,aAAA,CAACZ,QAAQ;IACRe,QAAQ,EAAC,cAAc;IACvBP,YAAY,EAAGA,YAAc;IAC7BL,QAAQ,EAAGA,QAAU;IACrBa,qBAAqB;EAAA,CACrB,CACG,CACa,CAAC;AAEtB"}
|
|
@@ -6,7 +6,6 @@ import { useSelect, useDispatch } from '@wordpress/data';
|
|
|
6
6
|
import { Popover } from '@wordpress/components';
|
|
7
7
|
import { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';
|
|
8
8
|
import { useRef } from '@wordpress/element';
|
|
9
|
-
import { isUnmodifiedDefaultBlock } from '@wordpress/blocks';
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
11
|
* Internal dependencies
|
|
@@ -18,40 +17,22 @@ import BlockToolbarBreadcrumb from './block-toolbar-breadcrumb';
|
|
|
18
17
|
import { store as blockEditorStore } from '../../store';
|
|
19
18
|
import usePopoverScroll from '../block-popover/use-popover-scroll';
|
|
20
19
|
import ZoomOutModeInserters from './zoom-out-mode-inserters';
|
|
20
|
+
import { useShowBlockTools } from './use-show-block-tools';
|
|
21
21
|
function selector(select) {
|
|
22
22
|
const {
|
|
23
23
|
getSelectedBlockClientId,
|
|
24
24
|
getFirstMultiSelectedBlockClientId,
|
|
25
|
-
getBlock,
|
|
26
25
|
getSettings,
|
|
27
|
-
hasMultiSelection,
|
|
28
26
|
__unstableGetEditorMode,
|
|
29
27
|
isTyping
|
|
30
28
|
} = select(blockEditorStore);
|
|
31
29
|
const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();
|
|
32
|
-
const {
|
|
33
|
-
name = '',
|
|
34
|
-
attributes = {}
|
|
35
|
-
} = getBlock(clientId) || {};
|
|
36
30
|
const editorMode = __unstableGetEditorMode();
|
|
37
|
-
const hasSelectedBlock = clientId && name;
|
|
38
|
-
const isEmptyDefaultBlock = isUnmodifiedDefaultBlock({
|
|
39
|
-
name,
|
|
40
|
-
attributes
|
|
41
|
-
});
|
|
42
|
-
const _showEmptyBlockSideInserter = clientId && !isTyping() && editorMode === 'edit' && isUnmodifiedDefaultBlock({
|
|
43
|
-
name,
|
|
44
|
-
attributes
|
|
45
|
-
});
|
|
46
|
-
const maybeShowBreadcrumb = hasSelectedBlock && !hasMultiSelection() && (editorMode === 'navigation' || editorMode === 'zoom-out');
|
|
47
31
|
return {
|
|
48
32
|
clientId,
|
|
49
33
|
hasFixedToolbar: getSettings().hasFixedToolbar,
|
|
50
34
|
isTyping: isTyping(),
|
|
51
|
-
isZoomOutMode: editorMode === 'zoom-out'
|
|
52
|
-
showEmptyBlockSideInserter: _showEmptyBlockSideInserter,
|
|
53
|
-
showBreadcrumb: !_showEmptyBlockSideInserter && maybeShowBreadcrumb,
|
|
54
|
-
showBlockToolbar: !getSettings().hasFixedToolbar && !_showEmptyBlockSideInserter && hasSelectedBlock && !isEmptyDefaultBlock && !maybeShowBreadcrumb
|
|
35
|
+
isZoomOutMode: editorMode === 'zoom-out'
|
|
55
36
|
};
|
|
56
37
|
}
|
|
57
38
|
|
|
@@ -73,16 +54,18 @@ export default function BlockTools({
|
|
|
73
54
|
clientId,
|
|
74
55
|
hasFixedToolbar,
|
|
75
56
|
isTyping,
|
|
76
|
-
isZoomOutMode
|
|
77
|
-
showEmptyBlockSideInserter,
|
|
78
|
-
showBreadcrumb,
|
|
79
|
-
showBlockToolbar
|
|
57
|
+
isZoomOutMode
|
|
80
58
|
} = useSelect(selector, []);
|
|
81
59
|
const isMatch = useShortcutEventMatch();
|
|
82
60
|
const {
|
|
83
61
|
getSelectedBlockClientIds,
|
|
84
62
|
getBlockRootClientId
|
|
85
63
|
} = useSelect(blockEditorStore);
|
|
64
|
+
const {
|
|
65
|
+
showEmptyBlockSideInserter,
|
|
66
|
+
showBreadcrumb,
|
|
67
|
+
showBlockToolbarPopover
|
|
68
|
+
} = useShowBlockTools();
|
|
86
69
|
const {
|
|
87
70
|
duplicateBlocks,
|
|
88
71
|
removeBlocks,
|
|
@@ -165,7 +148,7 @@ export default function BlockTools({
|
|
|
165
148
|
}), showEmptyBlockSideInserter && createElement(EmptyBlockInserter, {
|
|
166
149
|
__unstableContentRef: __unstableContentRef,
|
|
167
150
|
clientId: clientId
|
|
168
|
-
}),
|
|
151
|
+
}), showBlockToolbarPopover && createElement(BlockToolbarPopover, {
|
|
169
152
|
__unstableContentRef: __unstableContentRef,
|
|
170
153
|
clientId: clientId,
|
|
171
154
|
isTyping: isTyping
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","Popover","__unstableUseShortcutEventMatch","useShortcutEventMatch","useRef","isUnmodifiedDefaultBlock","EmptyBlockInserter","InsertionPointOpenRef","default","InsertionPoint","BlockToolbarPopover","BlockToolbarBreadcrumb","store","blockEditorStore","usePopoverScroll","ZoomOutModeInserters","selector","select","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getBlock","getSettings","hasMultiSelection","__unstableGetEditorMode","isTyping","clientId","name","attributes","editorMode","hasSelectedBlock","isEmptyDefaultBlock","_showEmptyBlockSideInserter","maybeShowBreadcrumb","hasFixedToolbar","isZoomOutMode","showEmptyBlockSideInserter","showBreadcrumb","showBlockToolbar","BlockTools","children","__unstableContentRef","props","isMatch","getSelectedBlockClientIds","getBlockRootClientId","duplicateBlocks","removeBlocks","insertAfterBlock","insertBeforeBlock","selectBlock","moveBlocksUp","moveBlocksDown","onKeyDown","event","defaultPrevented","clientIds","length","preventDefault","rootClientId","target","closest","blockToolbarRef","blockToolbarAfterRef","createElement","Provider","value","Slot","ref"],"sources":["@wordpress/block-editor/src/components/block-tools/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Popover } from '@wordpress/components';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { useRef } from '@wordpress/element';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport EmptyBlockInserter from './empty-block-inserter';\nimport {\n\tInsertionPointOpenRef,\n\tdefault as InsertionPoint,\n} from './insertion-point';\nimport BlockToolbarPopover from './block-toolbar-popover';\nimport BlockToolbarBreadcrumb from './block-toolbar-breadcrumb';\nimport { store as blockEditorStore } from '../../store';\nimport usePopoverScroll from '../block-popover/use-popover-scroll';\nimport ZoomOutModeInserters from './zoom-out-mode-inserters';\n\nfunction selector( select ) {\n\tconst {\n\t\tgetSelectedBlockClientId,\n\t\tgetFirstMultiSelectedBlockClientId,\n\t\tgetBlock,\n\t\tgetSettings,\n\t\thasMultiSelection,\n\t\t__unstableGetEditorMode,\n\t\tisTyping,\n\t} = select( blockEditorStore );\n\n\tconst clientId =\n\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\tconst { name = '', attributes = {} } = getBlock( clientId ) || {};\n\tconst editorMode = __unstableGetEditorMode();\n\tconst hasSelectedBlock = clientId && name;\n\tconst isEmptyDefaultBlock = isUnmodifiedDefaultBlock( {\n\t\tname,\n\t\tattributes,\n\t} );\n\tconst _showEmptyBlockSideInserter =\n\t\tclientId &&\n\t\t! isTyping() &&\n\t\teditorMode === 'edit' &&\n\t\tisUnmodifiedDefaultBlock( { name, attributes } );\n\tconst maybeShowBreadcrumb =\n\t\thasSelectedBlock &&\n\t\t! hasMultiSelection() &&\n\t\t( editorMode === 'navigation' || editorMode === 'zoom-out' );\n\n\treturn {\n\t\tclientId,\n\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\tisTyping: isTyping(),\n\t\tisZoomOutMode: editorMode === 'zoom-out',\n\t\tshowEmptyBlockSideInserter: _showEmptyBlockSideInserter,\n\t\tshowBreadcrumb: ! _showEmptyBlockSideInserter && maybeShowBreadcrumb,\n\t\tshowBlockToolbar:\n\t\t\t! getSettings().hasFixedToolbar &&\n\t\t\t! _showEmptyBlockSideInserter &&\n\t\t\thasSelectedBlock &&\n\t\t\t! isEmptyDefaultBlock &&\n\t\t\t! maybeShowBreadcrumb,\n\t};\n}\n\n/**\n * Renders block tools (the block toolbar, select/navigation mode toolbar, the\n * insertion point and a slot for the inline rich text toolbar). Must be wrapped\n * around the block content and editor styles wrapper or iframe.\n *\n * @param {Object} $0 Props.\n * @param {Object} $0.children The block content and style container.\n * @param {Object} $0.__unstableContentRef Ref holding the content scroll container.\n */\nexport default function BlockTools( {\n\tchildren,\n\t__unstableContentRef,\n\t...props\n} ) {\n\tconst {\n\t\tclientId,\n\t\thasFixedToolbar,\n\t\tisTyping,\n\t\tisZoomOutMode,\n\t\tshowEmptyBlockSideInserter,\n\t\tshowBreadcrumb,\n\t\tshowBlockToolbar,\n\t} = useSelect( selector, [] );\n\tconst isMatch = useShortcutEventMatch();\n\tconst { getSelectedBlockClientIds, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst {\n\t\tduplicateBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tselectBlock,\n\t\tmoveBlocksUp,\n\t\tmoveBlocksDown,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) return;\n\n\t\tif ( isMatch( 'core/block-editor/move-up', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksUp( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/move-down', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksDown( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tduplicateBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/remove', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertAfterBlock( clientIds[ clientIds.length - 1 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertBeforeBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tif ( event.target.closest( '[role=toolbar]' ) ) {\n\t\t\t\t// This shouldn't be necessary, but we have a combination of a few things all combining to create a situation where:\n\t\t\t\t// - Because the block toolbar uses createPortal to populate the block toolbar fills, we can't rely on the React event bubbling to hit the onKeyDown listener for the block toolbar\n\t\t\t\t// - Since we can't use the React tree, we use the DOM tree which _should_ handle the event bubbling correctly from a `createPortal` element.\n\t\t\t\t// - This bubbles via the React tree, which hits this `unselect` escape keypress before the block toolbar DOM event listener has access to it.\n\t\t\t\t// An alternative would be to remove the addEventListener on the navigableToolbar and use this event to handle it directly right here. That feels hacky too though.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// If there is more than one block selected, select the first\n\t\t\t\t// block so that focus is directed back to the beginning of the selection.\n\t\t\t\t// In effect, to the user this feels like deselecting the multi-selection.\n\t\t\t\tselectBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t}\n\t}\n\n\tconst blockToolbarRef = usePopoverScroll( __unstableContentRef );\n\tconst blockToolbarAfterRef = usePopoverScroll( __unstableContentRef );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div { ...props } onKeyDown={ onKeyDown }>\n\t\t\t<InsertionPointOpenRef.Provider value={ useRef( false ) }>\n\t\t\t\t{ ! isTyping && (\n\t\t\t\t\t<InsertionPoint\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showEmptyBlockSideInserter && (\n\t\t\t\t\t<EmptyBlockInserter\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showBlockToolbar && (\n\t\t\t\t\t<BlockToolbarPopover\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisTyping={ isTyping }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showBreadcrumb && (\n\t\t\t\t\t<BlockToolbarBreadcrumb\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ /* Used for the inline rich text toolbar. Until this toolbar is combined into BlockToolbar, someone implementing their own BlockToolbar will also need to use this to see the image caption toolbar. */ }\n\t\t\t\t{ ! isZoomOutMode && ! hasFixedToolbar && (\n\t\t\t\t\t<Popover.Slot\n\t\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\t\tref={ blockToolbarRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t\t{ /* Used for inline rich text popovers. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"__unstable-block-tools-after\"\n\t\t\t\t\tref={ blockToolbarAfterRef }\n\t\t\t\t/>\n\t\t\t\t{ isZoomOutMode && (\n\t\t\t\t\t<ZoomOutModeInserters\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InsertionPointOpenRef.Provider>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","Popover","__unstableUseShortcutEventMatch","useShortcutEventMatch","useRef","EmptyBlockInserter","InsertionPointOpenRef","default","InsertionPoint","BlockToolbarPopover","BlockToolbarBreadcrumb","store","blockEditorStore","usePopoverScroll","ZoomOutModeInserters","useShowBlockTools","selector","select","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getSettings","__unstableGetEditorMode","isTyping","clientId","editorMode","hasFixedToolbar","isZoomOutMode","BlockTools","children","__unstableContentRef","props","isMatch","getSelectedBlockClientIds","getBlockRootClientId","showEmptyBlockSideInserter","showBreadcrumb","showBlockToolbarPopover","duplicateBlocks","removeBlocks","insertAfterBlock","insertBeforeBlock","selectBlock","moveBlocksUp","moveBlocksDown","onKeyDown","event","defaultPrevented","clientIds","length","preventDefault","rootClientId","target","closest","blockToolbarRef","blockToolbarAfterRef","createElement","Provider","value","Slot","name","ref"],"sources":["@wordpress/block-editor/src/components/block-tools/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Popover } from '@wordpress/components';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport EmptyBlockInserter from './empty-block-inserter';\nimport {\n\tInsertionPointOpenRef,\n\tdefault as InsertionPoint,\n} from './insertion-point';\nimport BlockToolbarPopover from './block-toolbar-popover';\nimport BlockToolbarBreadcrumb from './block-toolbar-breadcrumb';\nimport { store as blockEditorStore } from '../../store';\nimport usePopoverScroll from '../block-popover/use-popover-scroll';\nimport ZoomOutModeInserters from './zoom-out-mode-inserters';\nimport { useShowBlockTools } from './use-show-block-tools';\n\nfunction selector( select ) {\n\tconst {\n\t\tgetSelectedBlockClientId,\n\t\tgetFirstMultiSelectedBlockClientId,\n\t\tgetSettings,\n\t\t__unstableGetEditorMode,\n\t\tisTyping,\n\t} = select( blockEditorStore );\n\n\tconst clientId =\n\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\tconst editorMode = __unstableGetEditorMode();\n\n\treturn {\n\t\tclientId,\n\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\tisTyping: isTyping(),\n\t\tisZoomOutMode: editorMode === 'zoom-out',\n\t};\n}\n\n/**\n * Renders block tools (the block toolbar, select/navigation mode toolbar, the\n * insertion point and a slot for the inline rich text toolbar). Must be wrapped\n * around the block content and editor styles wrapper or iframe.\n *\n * @param {Object} $0 Props.\n * @param {Object} $0.children The block content and style container.\n * @param {Object} $0.__unstableContentRef Ref holding the content scroll container.\n */\nexport default function BlockTools( {\n\tchildren,\n\t__unstableContentRef,\n\t...props\n} ) {\n\tconst { clientId, hasFixedToolbar, isTyping, isZoomOutMode } = useSelect(\n\t\tselector,\n\t\t[]\n\t);\n\tconst isMatch = useShortcutEventMatch();\n\tconst { getSelectedBlockClientIds, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst {\n\t\tshowEmptyBlockSideInserter,\n\t\tshowBreadcrumb,\n\t\tshowBlockToolbarPopover,\n\t} = useShowBlockTools();\n\n\tconst {\n\t\tduplicateBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tselectBlock,\n\t\tmoveBlocksUp,\n\t\tmoveBlocksDown,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) return;\n\n\t\tif ( isMatch( 'core/block-editor/move-up', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksUp( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/move-down', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksDown( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tduplicateBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/remove', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertAfterBlock( clientIds[ clientIds.length - 1 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertBeforeBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tif ( event.target.closest( '[role=toolbar]' ) ) {\n\t\t\t\t// This shouldn't be necessary, but we have a combination of a few things all combining to create a situation where:\n\t\t\t\t// - Because the block toolbar uses createPortal to populate the block toolbar fills, we can't rely on the React event bubbling to hit the onKeyDown listener for the block toolbar\n\t\t\t\t// - Since we can't use the React tree, we use the DOM tree which _should_ handle the event bubbling correctly from a `createPortal` element.\n\t\t\t\t// - This bubbles via the React tree, which hits this `unselect` escape keypress before the block toolbar DOM event listener has access to it.\n\t\t\t\t// An alternative would be to remove the addEventListener on the navigableToolbar and use this event to handle it directly right here. That feels hacky too though.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// If there is more than one block selected, select the first\n\t\t\t\t// block so that focus is directed back to the beginning of the selection.\n\t\t\t\t// In effect, to the user this feels like deselecting the multi-selection.\n\t\t\t\tselectBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t}\n\t}\n\n\tconst blockToolbarRef = usePopoverScroll( __unstableContentRef );\n\tconst blockToolbarAfterRef = usePopoverScroll( __unstableContentRef );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div { ...props } onKeyDown={ onKeyDown }>\n\t\t\t<InsertionPointOpenRef.Provider value={ useRef( false ) }>\n\t\t\t\t{ ! isTyping && (\n\t\t\t\t\t<InsertionPoint\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showEmptyBlockSideInserter && (\n\t\t\t\t\t<EmptyBlockInserter\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showBlockToolbarPopover && (\n\t\t\t\t\t<BlockToolbarPopover\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisTyping={ isTyping }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showBreadcrumb && (\n\t\t\t\t\t<BlockToolbarBreadcrumb\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ /* Used for the inline rich text toolbar. Until this toolbar is combined into BlockToolbar, someone implementing their own BlockToolbar will also need to use this to see the image caption toolbar. */ }\n\t\t\t\t{ ! isZoomOutMode && ! hasFixedToolbar && (\n\t\t\t\t\t<Popover.Slot\n\t\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\t\tref={ blockToolbarRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t\t{ /* Used for inline rich text popovers. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"__unstable-block-tools-after\"\n\t\t\t\t\tref={ blockToolbarAfterRef }\n\t\t\t\t/>\n\t\t\t\t{ isZoomOutMode && (\n\t\t\t\t\t<ZoomOutModeInserters\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InsertionPointOpenRef.Provider>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useSelect } from '@wordpress/data';
|
|
5
|
+
import { isUnmodifiedDefaultBlock } from '@wordpress/blocks';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { store as blockEditorStore } from '../../store';
|
|
11
|
+
import { useHasBlockToolbar } from '../block-toolbar/use-has-block-toolbar';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Source of truth for which block tools are showing in the block editor.
|
|
15
|
+
*
|
|
16
|
+
* @return {Object} Object of which block tools will be shown.
|
|
17
|
+
*/
|
|
18
|
+
export function useShowBlockTools() {
|
|
19
|
+
const hasBlockToolbar = useHasBlockToolbar();
|
|
20
|
+
return useSelect(select => {
|
|
21
|
+
const {
|
|
22
|
+
getSelectedBlockClientId,
|
|
23
|
+
getFirstMultiSelectedBlockClientId,
|
|
24
|
+
getBlock,
|
|
25
|
+
getSettings,
|
|
26
|
+
hasMultiSelection,
|
|
27
|
+
__unstableGetEditorMode,
|
|
28
|
+
isTyping
|
|
29
|
+
} = select(blockEditorStore);
|
|
30
|
+
const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();
|
|
31
|
+
const {
|
|
32
|
+
name = '',
|
|
33
|
+
attributes = {}
|
|
34
|
+
} = getBlock(clientId) || {};
|
|
35
|
+
const editorMode = __unstableGetEditorMode();
|
|
36
|
+
const hasSelectedBlock = clientId && name;
|
|
37
|
+
const isEmptyDefaultBlock = isUnmodifiedDefaultBlock({
|
|
38
|
+
name,
|
|
39
|
+
attributes
|
|
40
|
+
});
|
|
41
|
+
const _showEmptyBlockSideInserter = clientId && !isTyping() && editorMode === 'edit' && isUnmodifiedDefaultBlock({
|
|
42
|
+
name,
|
|
43
|
+
attributes
|
|
44
|
+
});
|
|
45
|
+
const maybeShowBreadcrumb = hasSelectedBlock && !hasMultiSelection() && (editorMode === 'navigation' || editorMode === 'zoom-out');
|
|
46
|
+
return {
|
|
47
|
+
showEmptyBlockSideInserter: _showEmptyBlockSideInserter,
|
|
48
|
+
showBreadcrumb: !_showEmptyBlockSideInserter && maybeShowBreadcrumb,
|
|
49
|
+
showBlockToolbarPopover: hasBlockToolbar && !getSettings().hasFixedToolbar && !_showEmptyBlockSideInserter && hasSelectedBlock && !isEmptyDefaultBlock && !maybeShowBreadcrumb,
|
|
50
|
+
showFixedToolbar: editorMode !== 'zoom-out' && hasBlockToolbar && getSettings().hasFixedToolbar
|
|
51
|
+
};
|
|
52
|
+
}, [hasBlockToolbar]);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=use-show-block-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSelect","isUnmodifiedDefaultBlock","store","blockEditorStore","useHasBlockToolbar","useShowBlockTools","hasBlockToolbar","select","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getBlock","getSettings","hasMultiSelection","__unstableGetEditorMode","isTyping","clientId","name","attributes","editorMode","hasSelectedBlock","isEmptyDefaultBlock","_showEmptyBlockSideInserter","maybeShowBreadcrumb","showEmptyBlockSideInserter","showBreadcrumb","showBlockToolbarPopover","hasFixedToolbar","showFixedToolbar"],"sources":["@wordpress/block-editor/src/components/block-tools/use-show-block-tools.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useHasBlockToolbar } from '../block-toolbar/use-has-block-toolbar';\n\n/**\n * Source of truth for which block tools are showing in the block editor.\n *\n * @return {Object} Object of which block tools will be shown.\n */\nexport function useShowBlockTools() {\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetFirstMultiSelectedBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetSettings,\n\t\t\t\thasMultiSelection,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tisTyping,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst clientId =\n\t\t\t\tgetSelectedBlockClientId() ||\n\t\t\t\tgetFirstMultiSelectedBlockClientId();\n\n\t\t\tconst { name = '', attributes = {} } = getBlock( clientId ) || {};\n\t\t\tconst editorMode = __unstableGetEditorMode();\n\t\t\tconst hasSelectedBlock = clientId && name;\n\t\t\tconst isEmptyDefaultBlock = isUnmodifiedDefaultBlock( {\n\t\t\t\tname,\n\t\t\t\tattributes,\n\t\t\t} );\n\t\t\tconst _showEmptyBlockSideInserter =\n\t\t\t\tclientId &&\n\t\t\t\t! isTyping() &&\n\t\t\t\teditorMode === 'edit' &&\n\t\t\t\tisUnmodifiedDefaultBlock( { name, attributes } );\n\t\t\tconst maybeShowBreadcrumb =\n\t\t\t\thasSelectedBlock &&\n\t\t\t\t! hasMultiSelection() &&\n\t\t\t\t( editorMode === 'navigation' || editorMode === 'zoom-out' );\n\n\t\t\treturn {\n\t\t\t\tshowEmptyBlockSideInserter: _showEmptyBlockSideInserter,\n\t\t\t\tshowBreadcrumb:\n\t\t\t\t\t! _showEmptyBlockSideInserter && maybeShowBreadcrumb,\n\t\t\t\tshowBlockToolbarPopover:\n\t\t\t\t\thasBlockToolbar &&\n\t\t\t\t\t! getSettings().hasFixedToolbar &&\n\t\t\t\t\t! _showEmptyBlockSideInserter &&\n\t\t\t\t\thasSelectedBlock &&\n\t\t\t\t\t! isEmptyDefaultBlock &&\n\t\t\t\t\t! maybeShowBreadcrumb,\n\t\t\t\tshowFixedToolbar:\n\t\t\t\t\teditorMode !== 'zoom-out' &&\n\t\t\t\t\thasBlockToolbar &&\n\t\t\t\t\tgetSettings().hasFixedToolbar,\n\t\t\t};\n\t\t},\n\t\t[ hasBlockToolbar ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,wBAAwB,QAAQ,mBAAmB;;AAE5D;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,kBAAkB,QAAQ,wCAAwC;;AAE3E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EACnC,MAAMC,eAAe,GAAGF,kBAAkB,CAAC,CAAC;EAE5C,OAAOJ,SAAS,CACbO,MAAM,IAAM;IACb,MAAM;MACLC,wBAAwB;MACxBC,kCAAkC;MAClCC,QAAQ;MACRC,WAAW;MACXC,iBAAiB;MACjBC,uBAAuB;MACvBC;IACD,CAAC,GAAGP,MAAM,CAAEJ,gBAAiB,CAAC;IAE9B,MAAMY,QAAQ,GACbP,wBAAwB,CAAC,CAAC,IAC1BC,kCAAkC,CAAC,CAAC;IAErC,MAAM;MAAEO,IAAI,GAAG,EAAE;MAAEC,UAAU,GAAG,CAAC;IAAE,CAAC,GAAGP,QAAQ,CAAEK,QAAS,CAAC,IAAI,CAAC,CAAC;IACjE,MAAMG,UAAU,GAAGL,uBAAuB,CAAC,CAAC;IAC5C,MAAMM,gBAAgB,GAAGJ,QAAQ,IAAIC,IAAI;IACzC,MAAMI,mBAAmB,GAAGnB,wBAAwB,CAAE;MACrDe,IAAI;MACJC;IACD,CAAE,CAAC;IACH,MAAMI,2BAA2B,GAChCN,QAAQ,IACR,CAAED,QAAQ,CAAC,CAAC,IACZI,UAAU,KAAK,MAAM,IACrBjB,wBAAwB,CAAE;MAAEe,IAAI;MAAEC;IAAW,CAAE,CAAC;IACjD,MAAMK,mBAAmB,GACxBH,gBAAgB,IAChB,CAAEP,iBAAiB,CAAC,CAAC,KACnBM,UAAU,KAAK,YAAY,IAAIA,UAAU,KAAK,UAAU,CAAE;IAE7D,OAAO;MACNK,0BAA0B,EAAEF,2BAA2B;MACvDG,cAAc,EACb,CAAEH,2BAA2B,IAAIC,mBAAmB;MACrDG,uBAAuB,EACtBnB,eAAe,IACf,CAAEK,WAAW,CAAC,CAAC,CAACe,eAAe,IAC/B,CAAEL,2BAA2B,IAC7BF,gBAAgB,IAChB,CAAEC,mBAAmB,IACrB,CAAEE,mBAAmB;MACtBK,gBAAgB,EACfT,UAAU,KAAK,UAAU,IACzBZ,eAAe,IACfK,WAAW,CAAC,CAAC,CAACe;IAChB,CAAC;EACF,CAAC,EACD,CAAEpB,eAAe,CAClB,CAAC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","createBlock","RichText","__","Caption","accessibilityLabelCreator","accessible","inlineToolbar","isSelected","onBlur","onChange","onFocus","placeholder","placeholderTextColor","shouldDisplay","style","value","insertBlocksAfter","createElement","accessibilityLabel","undefined","accessibilityRole","flex","display","__unstableMobileNoFocusOnMount","fontSize","tagName","textAlign","underlineColorAndroid","unstableOnFocus","__unstableOnSplitAtEnd","deleteEnter"],"sources":["@wordpress/block-editor/src/components/caption/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { RichText } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\nconst Caption = ( {\n\taccessibilityLabelCreator,\n\taccessible,\n\tinlineToolbar,\n\tisSelected,\n\tonBlur,\n\tonChange,\n\tonFocus,\n\tplaceholder = __( 'Add caption' ),\n\tplaceholderTextColor,\n\tshouldDisplay = true,\n\tstyle,\n\tvalue,\n\tinsertBlocksAfter = () => {},\n} ) => (\n\t<View\n\t\taccessibilityLabel={\n\t\t\taccessibilityLabelCreator\n\t\t\t\t? accessibilityLabelCreator( value )\n\t\t\t\t: undefined\n\t\t}\n\t\taccessibilityRole=\"button\"\n\t\taccessible={ accessible }\n\t\tstyle={ { flex: 1, display: shouldDisplay ? 'flex' : 'none' } }\n\t>\n\t\t<RichText\n\t\t\t__unstableMobileNoFocusOnMount\n\t\t\tfontSize={ style && style.fontSize ? style.fontSize : 14 }\n\t\t\tinlineToolbar={ inlineToolbar }\n\t\t\tisSelected={ isSelected }\n\t\t\tonBlur={ onBlur }\n\t\t\tonChange={ onChange }\n\t\t\tplaceholder={ placeholder }\n\t\t\tplaceholderTextColor={ placeholderTextColor }\n\t\t\tstyle={ style }\n\t\t\ttagName=\"p\"\n\t\t\ttextAlign=\"center\"\n\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\tunstableOnFocus={ onFocus }\n\t\t\tvalue={ value }\n\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t}\n\t\t\tdeleteEnter
|
|
1
|
+
{"version":3,"names":["View","createBlock","RichText","__","Caption","accessibilityLabelCreator","accessible","inlineToolbar","isSelected","onBlur","onChange","onFocus","placeholder","placeholderTextColor","shouldDisplay","style","value","insertBlocksAfter","createElement","accessibilityLabel","undefined","accessibilityRole","flex","display","__unstableMobileNoFocusOnMount","fontSize","tagName","textAlign","underlineColorAndroid","unstableOnFocus","__unstableOnSplitAtEnd","deleteEnter"],"sources":["@wordpress/block-editor/src/components/caption/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { RichText } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\nconst Caption = ( {\n\taccessibilityLabelCreator,\n\taccessible,\n\tinlineToolbar,\n\tisSelected,\n\tonBlur,\n\tonChange,\n\tonFocus,\n\tplaceholder = __( 'Add caption' ),\n\tplaceholderTextColor,\n\tshouldDisplay = true,\n\tstyle,\n\tvalue,\n\tinsertBlocksAfter = () => {},\n} ) => (\n\t<View\n\t\taccessibilityLabel={\n\t\t\taccessibilityLabelCreator\n\t\t\t\t? accessibilityLabelCreator( value )\n\t\t\t\t: undefined\n\t\t}\n\t\taccessibilityRole=\"button\"\n\t\taccessible={ accessible }\n\t\tstyle={ { flex: 1, display: shouldDisplay ? 'flex' : 'none' } }\n\t>\n\t\t<RichText\n\t\t\t__unstableMobileNoFocusOnMount\n\t\t\tfontSize={ style && style.fontSize ? style.fontSize : 14 }\n\t\t\tinlineToolbar={ inlineToolbar }\n\t\t\tisSelected={ isSelected }\n\t\t\tonBlur={ onBlur }\n\t\t\tonChange={ onChange }\n\t\t\tplaceholder={ placeholder }\n\t\t\tplaceholderTextColor={ placeholderTextColor }\n\t\t\tstyle={ style }\n\t\t\ttagName=\"p\"\n\t\t\ttextAlign=\"center\"\n\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\tunstableOnFocus={ onFocus }\n\t\t\tvalue={ value }\n\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t}\n\t\t\tdeleteEnter\n\t\t/>\n\t</View>\n);\n\nexport default Caption;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;;AAEnC;AACA;AACA;AACA,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,MAAMC,OAAO,GAAGA,CAAE;EACjBC,yBAAyB;EACzBC,UAAU;EACVC,aAAa;EACbC,UAAU;EACVC,MAAM;EACNC,QAAQ;EACRC,OAAO;EACPC,WAAW,GAAGT,EAAE,CAAE,aAAc,CAAC;EACjCU,oBAAoB;EACpBC,aAAa,GAAG,IAAI;EACpBC,KAAK;EACLC,KAAK;EACLC,iBAAiB,GAAGA,CAAA,KAAM,CAAC;AAC5B,CAAC,KACAC,aAAA,CAAClB,IAAI;EACJmB,kBAAkB,EACjBd,yBAAyB,GACtBA,yBAAyB,CAAEW,KAAM,CAAC,GAClCI,SACH;EACDC,iBAAiB,EAAC,QAAQ;EAC1Bf,UAAU,EAAGA,UAAY;EACzBS,KAAK,EAAG;IAAEO,IAAI,EAAE,CAAC;IAAEC,OAAO,EAAET,aAAa,GAAG,MAAM,GAAG;EAAO;AAAG,GAE/DI,aAAA,CAAChB,QAAQ;EACRsB,8BAA8B;EAC9BC,QAAQ,EAAGV,KAAK,IAAIA,KAAK,CAACU,QAAQ,GAAGV,KAAK,CAACU,QAAQ,GAAG,EAAI;EAC1DlB,aAAa,EAAGA,aAAe;EAC/BC,UAAU,EAAGA,UAAY;EACzBC,MAAM,EAAGA,MAAQ;EACjBC,QAAQ,EAAGA,QAAU;EACrBE,WAAW,EAAGA,WAAa;EAC3BC,oBAAoB,EAAGA,oBAAsB;EAC7CE,KAAK,EAAGA,KAAO;EACfW,OAAO,EAAC,GAAG;EACXC,SAAS,EAAC,QAAQ;EAClBC,qBAAqB,EAAC,aAAa;EACnCC,eAAe,EAAGlB,OAAS;EAC3BK,KAAK,EAAGA,KAAO;EACfc,sBAAsB,EAAGA,CAAA,KACxBb,iBAAiB,CAAEhB,WAAW,CAAE,gBAAiB,CAAE,CACnD;EACD8B,WAAW;AAAA,CACX,CACI,CACN;AAED,eAAe3B,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__experimentalInputControl","InputControl","__experimentalHStack","HStack","__","useEffect","helpText","selfStretch","parentLayout","orientation","ChildLayoutControl","value","childLayout","onChange","flexSize","columnSpan","rowSpan","type","parentType","default","defaultParentType","parentLayoutType","createElement","Fragment","__nextHasNoMarginBottom","size","label","childLayoutOrientation","help","newFlexSize","isBlock","key","min"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalInputControl as InputControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n} ) {\n\tconst { selfStretch, flexSize, columnSpan, rowSpan } = childLayout;\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t} = parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ parentLayoutType === 'flex' && (\n\t\t\t\t<>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tconst newFlexSize =\n\t\t\t\t\t\t\t\tvalue !== 'fixed' ? null : flexSize;\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\tselfStretch: value,\n\t\t\t\t\t\t\t\tflexSize: newFlexSize,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock
|
|
1
|
+
{"version":3,"names":["__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__experimentalInputControl","InputControl","__experimentalHStack","HStack","__","useEffect","helpText","selfStretch","parentLayout","orientation","ChildLayoutControl","value","childLayout","onChange","flexSize","columnSpan","rowSpan","type","parentType","default","defaultParentType","parentLayoutType","createElement","Fragment","__nextHasNoMarginBottom","size","label","childLayoutOrientation","help","newFlexSize","isBlock","key","min"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalInputControl as InputControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n} ) {\n\tconst { selfStretch, flexSize, columnSpan, rowSpan } = childLayout;\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t} = parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ parentLayoutType === 'flex' && (\n\t\t\t\t<>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tconst newFlexSize =\n\t\t\t\t\t\t\t\tvalue !== 'fixed' ? null : flexSize;\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\tselfStretch: value,\n\t\t\t\t\t\t\t\tflexSize: newFlexSize,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey={ 'fit' }\n\t\t\t\t\t\t\tvalue={ 'fit' }\n\t\t\t\t\t\t\tlabel={ __( 'Fit' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey={ 'fill' }\n\t\t\t\t\t\t\tvalue={ 'fill' }\n\t\t\t\t\t\t\tlabel={ __( 'Fill' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey={ 'fixed' }\n\t\t\t\t\t\t\tvalue={ 'fixed' }\n\t\t\t\t\t\t\tlabel={ __( 'Fixed' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ selfStretch === 'fixed' && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tselfStretch,\n\t\t\t\t\t\t\t\t\tflexSize: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ flexSize }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ parentLayoutType === 'grid' && (\n\t\t\t\t<HStack>\n\t\t\t\t\t<InputControl\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ __( 'Column Span' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\tcolumnSpan: value,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ columnSpan }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t\t<InputControl\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ __( 'Row Span' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\trowSpan: value,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ rowSpan }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function childLayoutOrientation( parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\treturn orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ColorGradientControl","ColorPaletteControl","onChange","value","otherProps","createElement","onColorChange","colorValue","gradients","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/color-palette/control.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport ColorGradientControl from '../colors-gradients/control';\n\nexport default function ColorPaletteControl( {\n\tonChange,\n\tvalue,\n\t...otherProps\n} ) {\n\treturn (\n\t\t<ColorGradientControl\n\t\t\t{ ...otherProps }\n\t\t\tonColorChange={ onChange }\n\t\t\tcolorValue={ value }\n\t\t\tgradients={ [] }\n\t\t\tdisableCustomGradients
|
|
1
|
+
{"version":3,"names":["ColorGradientControl","ColorPaletteControl","onChange","value","otherProps","createElement","onColorChange","colorValue","gradients","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/color-palette/control.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport ColorGradientControl from '../colors-gradients/control';\n\nexport default function ColorPaletteControl( {\n\tonChange,\n\tvalue,\n\t...otherProps\n} ) {\n\treturn (\n\t\t<ColorGradientControl\n\t\t\t{ ...otherProps }\n\t\t\tonColorChange={ onChange }\n\t\t\tcolorValue={ value }\n\t\t\tgradients={ [] }\n\t\t\tdisableCustomGradients\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,oBAAoB,MAAM,6BAA6B;AAE9D,eAAe,SAASC,mBAAmBA,CAAE;EAC5CC,QAAQ;EACRC,KAAK;EACL,GAAGC;AACJ,CAAC,EAAG;EACH,OACCC,aAAA,CAACL,oBAAoB;IAAA,GACfI,UAAU;IACfE,aAAa,EAAGJ,QAAU;IAC1BK,UAAU,EAAGJ,KAAO;IACpBK,SAAS,EAAG,EAAI;IAChBC,sBAAsB;EAAA,CACtB,CAAC;AAEJ"}
|
|
@@ -89,7 +89,7 @@ function ColorGradientControlInner({
|
|
|
89
89
|
}, showTitle && createElement("legend", null, createElement("div", {
|
|
90
90
|
className: "block-editor-color-gradient-control__color-indicator"
|
|
91
91
|
}, createElement(BaseControl.VisualLabel, null, label))), canChooseAColor && canChooseAGradient && createElement("div", null, createElement(Tabs, {
|
|
92
|
-
|
|
92
|
+
defaultTabId: gradientValue ? TAB_IDS.gradient : !!canChooseAColor && TAB_IDS.color
|
|
93
93
|
}, createElement(Tabs.TabList, null, createElement(Tabs.Tab, {
|
|
94
94
|
tabId: TAB_IDS.color
|
|
95
95
|
}, __('Solid')), createElement(Tabs.Tab, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","BaseControl","__experimentalVStack","VStack","ColorPalette","GradientPicker","privateApis","componentsPrivateApis","useSettings","unlock","colorsAndGradientKeys","TAB_IDS","color","gradient","ColorGradientControlInner","colors","gradients","disableCustomColors","disableCustomGradients","__experimentalIsRenderedInSidebar","className","label","onColorChange","onGradientChange","colorValue","gradientValue","clearable","showTitle","enableAlpha","headingLevel","canChooseAColor","length","canChooseAGradient","tabPanels","createElement","value","onChange","newColor","newGradient","renderPanelType","type","Tabs","__nextHasNoMarginBottom","spacing","VisualLabel","initialTabId","TabList","Tab","tabId","TabPanel","focusable","ColorGradientControlSelect","props","customColors","customGradients","ColorGradientControl","every","key","hasOwnProperty"],"sources":["@wordpress/block-editor/src/components/colors-gradients/control.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBaseControl,\n\t__experimentalVStack as VStack,\n\tColorPalette,\n\tGradientPicker,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst colorsAndGradientKeys = [\n\t'colors',\n\t'disableCustomColors',\n\t'gradients',\n\t'disableCustomGradients',\n];\n\nconst TAB_IDS = { color: 'color', gradient: 'gradient' };\n\nfunction ColorGradientControlInner( {\n\tcolors,\n\tgradients,\n\tdisableCustomColors,\n\tdisableCustomGradients,\n\t__experimentalIsRenderedInSidebar,\n\tclassName,\n\tlabel,\n\tonColorChange,\n\tonGradientChange,\n\tcolorValue,\n\tgradientValue,\n\tclearable,\n\tshowTitle = true,\n\tenableAlpha,\n\theadingLevel,\n} ) {\n\tconst canChooseAColor =\n\t\tonColorChange &&\n\t\t( ( colors && colors.length > 0 ) || ! disableCustomColors );\n\tconst canChooseAGradient =\n\t\tonGradientChange &&\n\t\t( ( gradients && gradients.length > 0 ) || ! disableCustomGradients );\n\n\tif ( ! canChooseAColor && ! canChooseAGradient ) {\n\t\treturn null;\n\t}\n\n\tconst tabPanels = {\n\t\t[ TAB_IDS.color ]: (\n\t\t\t<ColorPalette\n\t\t\t\tvalue={ colorValue }\n\t\t\t\tonChange={\n\t\t\t\t\tcanChooseAGradient\n\t\t\t\t\t\t? ( newColor ) => {\n\t\t\t\t\t\t\t\tonColorChange( newColor );\n\t\t\t\t\t\t\t\tonGradientChange();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: onColorChange\n\t\t\t\t}\n\t\t\t\t{ ...{ colors, disableCustomColors } }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tclearable={ clearable }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\theadingLevel={ headingLevel }\n\t\t\t/>\n\t\t),\n\t\t[ TAB_IDS.gradient ]: (\n\t\t\t<GradientPicker\n\t\t\t\tvalue={ gradientValue }\n\t\t\t\tonChange={\n\t\t\t\t\tcanChooseAColor\n\t\t\t\t\t\t? ( newGradient ) => {\n\t\t\t\t\t\t\t\tonGradientChange( newGradient );\n\t\t\t\t\t\t\t\tonColorChange();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: onGradientChange\n\t\t\t\t}\n\t\t\t\t{ ...{ gradients, disableCustomGradients } }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tclearable={ clearable }\n\t\t\t\theadingLevel={ headingLevel }\n\t\t\t/>\n\t\t),\n\t};\n\n\tconst renderPanelType = ( type ) => (\n\t\t<div className=\"block-editor-color-gradient-control__panel\">\n\t\t\t{ tabPanels[ type ] }\n\t\t</div>\n\t);\n\n\t// Unlocking `Tabs` too early causes the `unlock` method to receive an empty\n\t// object, due to circular dependencies.\n\t// See https://github.com/WordPress/gutenberg/issues/52692\n\tconst { Tabs } = unlock( componentsPrivateApis );\n\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-color-gradient-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<fieldset className=\"block-editor-color-gradient-control__fieldset\">\n\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t{ showTitle && (\n\t\t\t\t\t\t<legend>\n\t\t\t\t\t\t\t<div className=\"block-editor-color-gradient-control__color-indicator\">\n\t\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</legend>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canChooseAColor && canChooseAGradient && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Tabs\n\t\t\t\t\t\t\t\tinitialTabId={\n\t\t\t\t\t\t\t\t\tgradientValue\n\t\t\t\t\t\t\t\t\t\t? TAB_IDS.gradient\n\t\t\t\t\t\t\t\t\t\t: !! canChooseAColor && TAB_IDS.color\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId={ TAB_IDS.color }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Solid' ) }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId={ TAB_IDS.gradient }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Gradient' ) }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\ttabId={ TAB_IDS.color }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t'block-editor-color-gradient-control__panel'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ tabPanels.color }\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\ttabId={ TAB_IDS.gradient }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t'block-editor-color-gradient-control__panel'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ tabPanels.gradient }\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! canChooseAGradient && renderPanelType( TAB_IDS.color ) }\n\t\t\t\t\t{ ! canChooseAColor && renderPanelType( TAB_IDS.gradient ) }\n\t\t\t\t</VStack>\n\t\t\t</fieldset>\n\t\t</BaseControl>\n\t);\n}\n\nfunction ColorGradientControlSelect( props ) {\n\tconst [ colors, gradients, customColors, customGradients ] = useSettings(\n\t\t'color.palette',\n\t\t'color.gradients',\n\t\t'color.custom',\n\t\t'color.customGradient'\n\t);\n\n\treturn (\n\t\t<ColorGradientControlInner\n\t\t\tcolors={ colors }\n\t\t\tgradients={ gradients }\n\t\t\tdisableCustomColors={ ! customColors }\n\t\t\tdisableCustomGradients={ ! customGradients }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction ColorGradientControl( props ) {\n\tif (\n\t\tcolorsAndGradientKeys.every( ( key ) => props.hasOwnProperty( key ) )\n\t) {\n\t\treturn <ColorGradientControlInner { ...props } />;\n\t}\n\treturn <ColorGradientControlSelect { ...props } />;\n}\n\nexport default ColorGradientControl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__","BaseControl","__experimentalVStack","VStack","ColorPalette","GradientPicker","privateApis","componentsPrivateApis","useSettings","unlock","colorsAndGradientKeys","TAB_IDS","color","gradient","ColorGradientControlInner","colors","gradients","disableCustomColors","disableCustomGradients","__experimentalIsRenderedInSidebar","className","label","onColorChange","onGradientChange","colorValue","gradientValue","clearable","showTitle","enableAlpha","headingLevel","canChooseAColor","length","canChooseAGradient","tabPanels","createElement","value","onChange","newColor","newGradient","renderPanelType","type","Tabs","__nextHasNoMarginBottom","spacing","VisualLabel","defaultTabId","TabList","Tab","tabId","TabPanel","focusable","ColorGradientControlSelect","props","customColors","customGradients","ColorGradientControl","every","key","hasOwnProperty"],"sources":["@wordpress/block-editor/src/components/colors-gradients/control.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBaseControl,\n\t__experimentalVStack as VStack,\n\tColorPalette,\n\tGradientPicker,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst colorsAndGradientKeys = [\n\t'colors',\n\t'disableCustomColors',\n\t'gradients',\n\t'disableCustomGradients',\n];\n\nconst TAB_IDS = { color: 'color', gradient: 'gradient' };\n\nfunction ColorGradientControlInner( {\n\tcolors,\n\tgradients,\n\tdisableCustomColors,\n\tdisableCustomGradients,\n\t__experimentalIsRenderedInSidebar,\n\tclassName,\n\tlabel,\n\tonColorChange,\n\tonGradientChange,\n\tcolorValue,\n\tgradientValue,\n\tclearable,\n\tshowTitle = true,\n\tenableAlpha,\n\theadingLevel,\n} ) {\n\tconst canChooseAColor =\n\t\tonColorChange &&\n\t\t( ( colors && colors.length > 0 ) || ! disableCustomColors );\n\tconst canChooseAGradient =\n\t\tonGradientChange &&\n\t\t( ( gradients && gradients.length > 0 ) || ! disableCustomGradients );\n\n\tif ( ! canChooseAColor && ! canChooseAGradient ) {\n\t\treturn null;\n\t}\n\n\tconst tabPanels = {\n\t\t[ TAB_IDS.color ]: (\n\t\t\t<ColorPalette\n\t\t\t\tvalue={ colorValue }\n\t\t\t\tonChange={\n\t\t\t\t\tcanChooseAGradient\n\t\t\t\t\t\t? ( newColor ) => {\n\t\t\t\t\t\t\t\tonColorChange( newColor );\n\t\t\t\t\t\t\t\tonGradientChange();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: onColorChange\n\t\t\t\t}\n\t\t\t\t{ ...{ colors, disableCustomColors } }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tclearable={ clearable }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\theadingLevel={ headingLevel }\n\t\t\t/>\n\t\t),\n\t\t[ TAB_IDS.gradient ]: (\n\t\t\t<GradientPicker\n\t\t\t\tvalue={ gradientValue }\n\t\t\t\tonChange={\n\t\t\t\t\tcanChooseAColor\n\t\t\t\t\t\t? ( newGradient ) => {\n\t\t\t\t\t\t\t\tonGradientChange( newGradient );\n\t\t\t\t\t\t\t\tonColorChange();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: onGradientChange\n\t\t\t\t}\n\t\t\t\t{ ...{ gradients, disableCustomGradients } }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tclearable={ clearable }\n\t\t\t\theadingLevel={ headingLevel }\n\t\t\t/>\n\t\t),\n\t};\n\n\tconst renderPanelType = ( type ) => (\n\t\t<div className=\"block-editor-color-gradient-control__panel\">\n\t\t\t{ tabPanels[ type ] }\n\t\t</div>\n\t);\n\n\t// Unlocking `Tabs` too early causes the `unlock` method to receive an empty\n\t// object, due to circular dependencies.\n\t// See https://github.com/WordPress/gutenberg/issues/52692\n\tconst { Tabs } = unlock( componentsPrivateApis );\n\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-color-gradient-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<fieldset className=\"block-editor-color-gradient-control__fieldset\">\n\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t{ showTitle && (\n\t\t\t\t\t\t<legend>\n\t\t\t\t\t\t\t<div className=\"block-editor-color-gradient-control__color-indicator\">\n\t\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</legend>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canChooseAColor && canChooseAGradient && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Tabs\n\t\t\t\t\t\t\t\tdefaultTabId={\n\t\t\t\t\t\t\t\t\tgradientValue\n\t\t\t\t\t\t\t\t\t\t? TAB_IDS.gradient\n\t\t\t\t\t\t\t\t\t\t: !! canChooseAColor && TAB_IDS.color\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId={ TAB_IDS.color }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Solid' ) }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId={ TAB_IDS.gradient }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Gradient' ) }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\ttabId={ TAB_IDS.color }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t'block-editor-color-gradient-control__panel'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ tabPanels.color }\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\ttabId={ TAB_IDS.gradient }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t'block-editor-color-gradient-control__panel'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ tabPanels.gradient }\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! canChooseAGradient && renderPanelType( TAB_IDS.color ) }\n\t\t\t\t\t{ ! canChooseAColor && renderPanelType( TAB_IDS.gradient ) }\n\t\t\t\t</VStack>\n\t\t\t</fieldset>\n\t\t</BaseControl>\n\t);\n}\n\nfunction ColorGradientControlSelect( props ) {\n\tconst [ colors, gradients, customColors, customGradients ] = useSettings(\n\t\t'color.palette',\n\t\t'color.gradients',\n\t\t'color.custom',\n\t\t'color.customGradient'\n\t);\n\n\treturn (\n\t\t<ColorGradientControlInner\n\t\t\tcolors={ colors }\n\t\t\tgradients={ gradients }\n\t\t\tdisableCustomColors={ ! customColors }\n\t\t\tdisableCustomGradients={ ! customGradients }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction ColorGradientControl( props ) {\n\tif (\n\t\tcolorsAndGradientKeys.every( ( key ) => props.hasOwnProperty( key ) )\n\t) {\n\t\treturn <ColorGradientControlInner { ...props } />;\n\t}\n\treturn <ColorGradientControlSelect { ...props } />;\n}\n\nexport default ColorGradientControl;\n"],"mappings":"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"}
|
|
@@ -14,15 +14,22 @@ import { useColorsPerOrigin } from './hooks';
|
|
|
14
14
|
import { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';
|
|
15
15
|
import { overrideOrigins } from '../../store/get-block-settings';
|
|
16
16
|
import { setImmutably } from '../../utils/object';
|
|
17
|
-
import {
|
|
18
|
-
import { ShadowPopover } from './shadow-panel-components';
|
|
19
|
-
function useHasShadowControl(settings) {
|
|
20
|
-
return !!settings?.shadow;
|
|
21
|
-
}
|
|
17
|
+
import { useBorderPanelLabel } from '../../hooks/border';
|
|
18
|
+
import { ShadowPopover, useShadowPresets } from './shadow-panel-components';
|
|
22
19
|
export function useHasBorderPanel(settings) {
|
|
23
|
-
const controls =
|
|
20
|
+
const controls = Object.values(useHasBorderPanelControls(settings));
|
|
24
21
|
return controls.some(Boolean);
|
|
25
22
|
}
|
|
23
|
+
export function useHasBorderPanelControls(settings) {
|
|
24
|
+
const controls = {
|
|
25
|
+
hasBorderColor: useHasBorderColorControl(settings),
|
|
26
|
+
hasBorderRadius: useHasBorderRadiusControl(settings),
|
|
27
|
+
hasBorderStyle: useHasBorderStyleControl(settings),
|
|
28
|
+
hasBorderWidth: useHasBorderWidthControl(settings),
|
|
29
|
+
hasShadow: useHasShadowControl(settings)
|
|
30
|
+
};
|
|
31
|
+
return controls;
|
|
32
|
+
}
|
|
26
33
|
function useHasBorderColorControl(settings) {
|
|
27
34
|
return settings?.border?.color;
|
|
28
35
|
}
|
|
@@ -35,6 +42,10 @@ function useHasBorderStyleControl(settings) {
|
|
|
35
42
|
function useHasBorderWidthControl(settings) {
|
|
36
43
|
return settings?.border?.width;
|
|
37
44
|
}
|
|
45
|
+
function useHasShadowControl(settings) {
|
|
46
|
+
const shadows = useShadowPresets(settings);
|
|
47
|
+
return !!settings?.shadow && shadows.length > 0;
|
|
48
|
+
}
|
|
38
49
|
function BorderToolsPanel({
|
|
39
50
|
resetAllFilter,
|
|
40
51
|
onChange,
|
|
@@ -181,10 +192,11 @@ export default function BorderPanel({
|
|
|
181
192
|
};
|
|
182
193
|
}, []);
|
|
183
194
|
const showBorderByDefault = defaultControls?.color || defaultControls?.width;
|
|
184
|
-
const
|
|
195
|
+
const hasBorderControl = showBorderColor || showBorderStyle || showBorderWidth || showBorderRadius;
|
|
196
|
+
const label = useBorderPanelLabel({
|
|
185
197
|
blockName: name,
|
|
186
198
|
hasShadowControl,
|
|
187
|
-
hasBorderControl
|
|
199
|
+
hasBorderControl
|
|
188
200
|
});
|
|
189
201
|
return createElement(Wrapper, {
|
|
190
202
|
resetAllFilter: resetAllFilter,
|
|
@@ -227,9 +239,9 @@ export default function BorderPanel({
|
|
|
227
239
|
onDeselect: resetShadow,
|
|
228
240
|
isShownByDefault: defaultControls.shadow,
|
|
229
241
|
panelId: panelId
|
|
230
|
-
}, createElement(BaseControl.VisualLabel, {
|
|
242
|
+
}, hasBorderControl ? createElement(BaseControl.VisualLabel, {
|
|
231
243
|
as: "legend"
|
|
232
|
-
}, __('Shadow')), createElement(ItemGroup, {
|
|
244
|
+
}, __('Shadow')) : null, createElement(ItemGroup, {
|
|
233
245
|
isBordered: true,
|
|
234
246
|
isSeparated: true
|
|
235
247
|
}, createElement(ShadowPopover, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalBorderBoxControl","BorderBoxControl","__experimentalHasSplitBorders","hasSplitBorders","__experimentalIsDefinedBorder","isDefinedBorder","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","BaseControl","useCallback","useMemo","__","BorderRadiusControl","useColorsPerOrigin","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","overrideOrigins","setImmutably","getBorderPanelLabel","ShadowPopover","useHasShadowControl","settings","shadow","useHasBorderPanel","controls","useHasBorderColorControl","useHasBorderRadiusControl","useHasBorderStyleControl","useHasBorderWidthControl","some","Boolean","border","color","radius","style","width","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","resetAll","updatedValue","createElement","dropdownMenuProps","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_overrideOrigins","colors","decodeValue","rawValue","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","hasBorderRadius","borderValues","Object","entries","hasShadowControl","shadowPresets","presets","overriddenShadowPresets","setShadow","newValue","shadowName","hasShadow","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","blockName","hasBorderControl","hasValue","onDeselect","isShownByDefault","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","values","VisualLabel","isBordered","isSeparated","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { overrideOrigins } from '../../store/get-block-settings';\nimport { setImmutably } from '../../utils/object';\nimport { getBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover } from './shadow-panel-components';\n\nfunction useHasShadowControl( settings ) {\n\treturn !! settings?.shadow;\n}\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = [\n\t\tuseHasBorderColorControl( settings ),\n\t\tuseHasBorderRadiusControl( settings ),\n\t\tuseHasBorderStyleControl( settings ),\n\t\tuseHasBorderWidthControl( settings ),\n\t\tuseHasShadowControl( settings ),\n\t];\n\n\treturn controls.some( Boolean );\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: false,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst overriddenShadowPresets = overrideOrigins( shadowPresets ) ?? [];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = overriddenShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst label = getBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl:\n\t\t\tshowBorderColor ||\n\t\t\tshowBorderStyle ||\n\t\t\tshowBorderWidth ||\n\t\t\tshowBorderRadius,\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha={ true }\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={ true }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__experimentalBorderBoxControl","BorderBoxControl","__experimentalHasSplitBorders","hasSplitBorders","__experimentalIsDefinedBorder","isDefinedBorder","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","BaseControl","useCallback","useMemo","__","BorderRadiusControl","useColorsPerOrigin","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","overrideOrigins","setImmutably","useBorderPanelLabel","ShadowPopover","useShadowPresets","useHasBorderPanel","settings","controls","Object","values","useHasBorderPanelControls","some","Boolean","hasBorderColor","useHasBorderColorControl","hasBorderRadius","useHasBorderRadiusControl","hasBorderStyle","useHasBorderStyleControl","hasBorderWidth","useHasBorderWidthControl","hasShadow","useHasShadowControl","border","color","radius","style","width","shadows","shadow","length","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","resetAll","updatedValue","createElement","dropdownMenuProps","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_overrideOrigins","colors","decodeValue","rawValue","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","borderValues","entries","hasShadowControl","shadowPresets","presets","overriddenShadowPresets","setShadow","newValue","shadowName","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","hasBorderControl","blockName","hasValue","onDeselect","isShownByDefault","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","VisualLabel","isBordered","isSeparated","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { overrideOrigins } from '../../store/get-block-settings';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: false,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst overriddenShadowPresets = overrideOrigins( shadowPresets ) ?? [];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = overriddenShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ hasBorderControl ? (\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) : null }\n\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -184,7 +184,7 @@ function ColorPanelDropdown({
|
|
|
184
184
|
...tabs[0],
|
|
185
185
|
colorGradientControlSettings: colorGradientControlSettings
|
|
186
186
|
}), tabs.length > 1 && createElement(Tabs, {
|
|
187
|
-
|
|
187
|
+
defaultTabId: currentTab?.key
|
|
188
188
|
}, createElement(Tabs.TabList, null, tabs.map(tab => createElement(Tabs.Tab, {
|
|
189
189
|
key: tab.key,
|
|
190
190
|
tabId: tab.key
|