@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","_interopRequireDefault","require","_components","_element","_i18n","_control","_hooks","_utils","_object","_lockUnlock","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","useHasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","useColorsPerOrigin","color","text","length","custom","link","caption","gradients","useGradientsPerOrigin","heading","customGradient","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","__","hasInnerWrapper","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","LabeledColorIndicators","indicators","__experimentalHStack","justify","__experimentalZStack","isLayered","map","indicator","index","Flex","key","expanded","ColorIndicator","colorValue","FlexItem","title","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","default","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","headingLevel","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","currentTab","find","tab","Tabs","unlock","componentsPrivateApis","__experimentalToolsPanelItem","onDeselect","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","classnames","sprintf","Button","renderContent","__experimentalDropdownContentWrapper","paddingSize","initialTabId","TabList","Tab","tabId","TabPanel","focusable","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","getValueFromVariable","encodeColorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","allGradients","originGradients","gradientObject","gradient","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newColor","newValue","setImmutably","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","changedObject","resetTextColor","name","showPanel","useCallback","previousValue","reduce","acc","element","items","filter","Boolean","forEach","elementBackgroundColor","elementGradient","elementTextColor","elementBackgroundUserColor","elementGradientUserColor","elementTextUserColor","hasElement","resetElement","setElementTextColor","newTextColor","setElementBackgroundColor","newBackgroundColor","setElementGradient","supportsTextColor","supportsBackground","push","item","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tColorIndicator,\n\tFlex,\n\tFlexItem,\n\tDropdown,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorGradientControl from '../colors-gradients/control';\nimport { useColorsPerOrigin, useGradientsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { unlock } from '../../lock-unlock';\n\nexport function useHasColorPanel( settings ) {\n\tconst hasTextPanel = useHasTextPanel( settings );\n\tconst hasBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst hasLinkPanel = useHasLinkPanel( settings );\n\tconst hasHeadingPanel = useHasHeadingPanel( settings );\n\tconst hasButtonPanel = useHasButtonPanel( settings );\n\tconst hasCaptionPanel = useHasCaptionPanel( settings );\n\n\treturn (\n\t\thasTextPanel ||\n\t\thasBackgroundPanel ||\n\t\thasLinkPanel ||\n\t\thasHeadingPanel ||\n\t\thasButtonPanel ||\n\t\thasCaptionPanel\n\t);\n}\n\nexport function useHasTextPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.text &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasLinkPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.link &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasCaptionPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.caption &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasHeadingPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.heading &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasButtonPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.button &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasBackgroundPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.background &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nfunction ColorToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\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={ __( 'Color' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t<div className=\"color-block-support-panel__inner-wrapper\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\ttext: true,\n\tbackground: true,\n\tlink: true,\n\theading: true,\n\tbutton: true,\n\tcaption: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n};\n\nconst LabeledColorIndicators = ( { indicators, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t{ indicators.map( ( indicator, index ) => (\n\t\t\t\t<Flex key={ index } expanded={ false }>\n\t\t\t\t\t<ColorIndicator colorValue={ indicator } />\n\t\t\t\t</Flex>\n\t\t\t) ) }\n\t\t</ZStack>\n\t\t<FlexItem\n\t\t\tclassName=\"block-editor-panel-color-gradient-settings__color-name\"\n\t\t\ttitle={ label }\n\t\t>\n\t\t\t{ label }\n\t\t</FlexItem>\n\t</HStack>\n);\n\nfunction ColorPanelTab( {\n\tisGradient,\n\tinheritedValue,\n\tuserValue,\n\tsetValue,\n\tcolorGradientControlSettings,\n} ) {\n\treturn (\n\t\t<ColorGradientControl\n\t\t\t{ ...colorGradientControlSettings }\n\t\t\tshowTitle={ false }\n\t\t\tenableAlpha\n\t\t\t__experimentalIsRenderedInSidebar\n\t\t\tcolorValue={ isGradient ? undefined : inheritedValue }\n\t\t\tgradientValue={ isGradient ? inheritedValue : undefined }\n\t\t\tonColorChange={ isGradient ? undefined : setValue }\n\t\t\tonGradientChange={ isGradient ? setValue : undefined }\n\t\t\tclearable={ inheritedValue === userValue }\n\t\t\theadingLevel={ 3 }\n\t\t/>\n\t);\n}\n\nfunction ColorPanelDropdown( {\n\tlabel,\n\thasValue,\n\tresetValue,\n\tisShownByDefault,\n\tindicators,\n\ttabs,\n\tcolorGradientControlSettings,\n\tpanelId,\n} ) {\n\tconst currentTab = tabs.find( ( tab ) => tab.userValue !== undefined );\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<ToolsPanelItem\n\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__item\"\n\t\t\thasValue={ hasValue }\n\t\t\tlabel={ label }\n\t\t\tonDeselect={ resetValue }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__dropdown\"\n\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tclassName: classnames(\n\t\t\t\t\t\t\t'block-editor-panel-color-gradient-settings__dropdown',\n\t\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-label': sprintf(\n\t\t\t\t\t\t\t/* translators: %s is the type of color property, e.g., \"background\" */\n\t\t\t\t\t\t\t__( 'Color %s styles' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t<LabeledColorIndicators\n\t\t\t\t\t\t\t\tindicators={ indicators }\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t<DropdownContentWrapper paddingSize=\"none\">\n\t\t\t\t\t\t<div className=\"block-editor-panel-color-gradient-settings__dropdown-content\">\n\t\t\t\t\t\t\t{ tabs.length === 1 && (\n\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\t{ ...tabs[ 0 ] }\n\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ tabs.length > 1 && (\n\t\t\t\t\t\t\t\t<Tabs initialTabId={ currentTab?.key }>\n\t\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ tab.label }\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</Tabs.TabList>\n\n\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ ...tab }\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nexport default function ColorPanel( {\n\tas: Wrapper = ColorToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tchildren,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\tconst areCustomSolidsEnabled = settings?.color?.custom;\n\tconst areCustomGradientsEnabled = settings?.color?.customGradient;\n\tconst hasSolidColors = colors.length > 0 || areCustomSolidsEnabled;\n\tconst hasGradientColors = gradients.length > 0 || areCustomGradientsEnabled;\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\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 encodeGradientValue = ( gradientValue ) => {\n\t\tconst allGradients = gradients.flatMap(\n\t\t\t( { gradients: originGradients } ) => originGradients\n\t\t);\n\t\tconst gradientObject = allGradients.find(\n\t\t\t( { gradient } ) => gradient === gradientValue\n\t\t);\n\t\treturn gradientObject\n\t\t\t? 'var:preset|gradient|' + gradientObject.slug\n\t\t\t: gradientValue;\n\t};\n\n\t// BackgroundColor\n\tconst showBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst backgroundColor = decodeValue( inheritedValue?.color?.background );\n\tconst userBackgroundColor = decodeValue( value?.color?.background );\n\tconst gradient = decodeValue( inheritedValue?.color?.gradient );\n\tconst userGradient = decodeValue( value?.color?.gradient );\n\tconst hasBackground = () => !! userBackgroundColor || !! userGradient;\n\tconst setBackgroundColor = ( newColor ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst setGradient = ( newGradient ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'gradient' ],\n\t\t\tencodeGradientValue( newGradient )\n\t\t);\n\t\tnewValue.color.background = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst resetBackground = () => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\n\t// Links\n\tconst showLinkPanel = useHasLinkPanel( settings );\n\tconst linkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.color?.text\n\t);\n\tconst userLinkColor = decodeValue( value?.elements?.link?.color?.text );\n\tconst setLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hoverLinkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst userHoverLinkColor = decodeValue(\n\t\tvalue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst setHoverLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLink = () => !! userLinkColor || !! userHoverLinkColor;\n\tconst resetLink = () => {\n\t\tlet newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue = setImmutably(\n\t\t\tnewValue,\n\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tonChange( newValue );\n\t};\n\n\t// Text Color\n\tconst showTextPanel = useHasTextPanel( settings );\n\tconst textColor = decodeValue( inheritedValue?.color?.text );\n\tconst userTextColor = decodeValue( value?.color?.text );\n\tconst hasTextColor = () => !! userTextColor;\n\tconst setTextColor = ( newColor ) => {\n\t\tlet changedObject = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'text' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tif ( textColor === linkColor ) {\n\t\t\tchangedObject = setImmutably(\n\t\t\t\tchangedObject,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t);\n\t\t}\n\n\t\tonChange( changedObject );\n\t};\n\tconst resetTextColor = () => setTextColor( undefined );\n\n\t// Elements\n\tconst elements = [\n\t\t{\n\t\t\tname: 'caption',\n\t\t\tlabel: __( 'Captions' ),\n\t\t\tshowPanel: useHasCaptionPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'button',\n\t\t\tlabel: __( 'Button' ),\n\t\t\tshowPanel: useHasButtonPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'heading',\n\t\t\tlabel: __( 'Heading' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h1',\n\t\t\tlabel: __( 'H1' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h2',\n\t\t\tlabel: __( 'H2' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h3',\n\t\t\tlabel: __( 'H3' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h4',\n\t\t\tlabel: __( 'H4' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h5',\n\t\t\tlabel: __( 'H5' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h6',\n\t\t\tlabel: __( 'H6' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t];\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tcolor: undefined,\n\t\t\telements: {\n\t\t\t\t...previousValue?.elements,\n\t\t\t\tlink: {\n\t\t\t\t\t...previousValue?.elements?.link,\n\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t':hover': {\n\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t...elements.reduce( ( acc, element ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ element.name ]: {\n\t\t\t\t\t\t\t...previousValue?.elements?.[ element.name ],\n\t\t\t\t\t\t\tcolor: undefined,\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};\n\t}, [] );\n\n\tconst items = [\n\t\tshowTextPanel && {\n\t\t\tkey: 'text',\n\t\t\tlabel: __( 'Text' ),\n\t\t\thasValue: hasTextColor,\n\t\t\tresetValue: resetTextColor,\n\t\t\tisShownByDefault: defaultControls.text,\n\t\t\tindicators: [ textColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'text',\n\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\tinheritedValue: textColor,\n\t\t\t\t\tsetValue: setTextColor,\n\t\t\t\t\tuserValue: userTextColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tshowBackgroundPanel && {\n\t\t\tkey: 'background',\n\t\t\tlabel: __( 'Background' ),\n\t\t\thasValue: hasBackground,\n\t\t\tresetValue: resetBackground,\n\t\t\tisShownByDefault: defaultControls.background,\n\t\t\tindicators: [ gradient ?? backgroundColor ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors && {\n\t\t\t\t\tkey: 'background',\n\t\t\t\t\tlabel: __( 'Solid' ),\n\t\t\t\t\tinheritedValue: backgroundColor,\n\t\t\t\t\tsetValue: setBackgroundColor,\n\t\t\t\t\tuserValue: userBackgroundColor,\n\t\t\t\t},\n\t\t\t\thasGradientColors && {\n\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\tinheritedValue: gradient,\n\t\t\t\t\tsetValue: setGradient,\n\t\t\t\t\tuserValue: userGradient,\n\t\t\t\t\tisGradient: true,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t},\n\t\tshowLinkPanel && {\n\t\t\tkey: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\thasValue: hasLink,\n\t\t\tresetValue: resetLink,\n\t\t\tisShownByDefault: defaultControls.link,\n\t\t\tindicators: [ linkColor, hoverLinkColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'link',\n\t\t\t\t\tlabel: __( 'Default' ),\n\t\t\t\t\tinheritedValue: linkColor,\n\t\t\t\t\tsetValue: setLinkColor,\n\t\t\t\t\tuserValue: userLinkColor,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tkey: 'hover',\n\t\t\t\t\tlabel: __( 'Hover' ),\n\t\t\t\t\tinheritedValue: hoverLinkColor,\n\t\t\t\t\tsetValue: setHoverLinkColor,\n\t\t\t\t\tuserValue: userHoverLinkColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t].filter( Boolean );\n\n\telements.forEach( ( { name, label, showPanel } ) => {\n\t\tif ( ! showPanel ) return;\n\n\t\tconst elementBackgroundColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradient = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst elementBackgroundUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradientUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst hasElement = () =>\n\t\t\t!! (\n\t\t\t\telementTextUserColor ||\n\t\t\t\telementBackgroundUserColor ||\n\t\t\t\telementGradientUserColor\n\t\t\t);\n\t\tconst resetElement = () => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tundefined\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tnewValue.elements[ name ].color.text = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\n\t\tconst setElementTextColor = ( newTextColor ) => {\n\t\t\tonChange(\n\t\t\t\tsetImmutably(\n\t\t\t\t\tvalue,\n\t\t\t\t\t[ 'elements', name, 'color', 'text' ],\n\t\t\t\t\tencodeColorValue( newTextColor )\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tconst setElementBackgroundColor = ( newBackgroundColor ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tencodeColorValue( newBackgroundColor )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst setElementGradient = ( newGradient ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'gradient' ],\n\t\t\t\tencodeGradientValue( newGradient )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.background = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst supportsTextColor = true;\n\t\t// Background color is not supported for `caption`\n\t\t// as there isn't yet a way to set padding for the element.\n\t\tconst supportsBackground = name !== 'caption';\n\n\t\titems.push( {\n\t\t\tkey: name,\n\t\t\tlabel,\n\t\t\thasValue: hasElement,\n\t\t\tresetValue: resetElement,\n\t\t\tisShownByDefault: defaultControls[ name ],\n\t\t\tindicators:\n\t\t\t\tsupportsTextColor && supportsBackground\n\t\t\t\t\t? [\n\t\t\t\t\t\t\telementTextColor,\n\t\t\t\t\t\t\telementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\tsupportsTextColor\n\t\t\t\t\t\t\t\t? elementTextColor\n\t\t\t\t\t\t\t\t: elementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsTextColor && {\n\t\t\t\t\t\tkey: 'text',\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tinheritedValue: elementTextColor,\n\t\t\t\t\t\tsetValue: setElementTextColor,\n\t\t\t\t\t\tuserValue: elementTextUserColor,\n\t\t\t\t\t},\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'background',\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tinheritedValue: elementBackgroundColor,\n\t\t\t\t\t\tsetValue: setElementBackgroundColor,\n\t\t\t\t\t\tuserValue: elementBackgroundUserColor,\n\t\t\t\t\t},\n\t\t\t\thasGradientColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\t\tinheritedValue: elementGradient,\n\t\t\t\t\t\tsetValue: setElementGradient,\n\t\t\t\t\t\tuserValue: elementGradientUserColor,\n\t\t\t\t\t\tisGradient: true,\n\t\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t} );\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>\n\t\t\t{ items.map( ( item ) => (\n\t\t\t\t<ColorPanelDropdown\n\t\t\t\t\tkey={ item.key }\n\t\t\t\t\t{ ...item }\n\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\tcolors,\n\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\tgradients,\n\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t} }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ children }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_element","_i18n","_control","_hooks","_utils","_object","_lockUnlock","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","useHasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","useColorsPerOrigin","color","text","length","custom","link","caption","gradients","useGradientsPerOrigin","heading","customGradient","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","__","hasInnerWrapper","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","LabeledColorIndicators","indicators","__experimentalHStack","justify","__experimentalZStack","isLayered","map","indicator","index","Flex","key","expanded","ColorIndicator","colorValue","FlexItem","title","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","default","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","headingLevel","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","currentTab","find","tab","Tabs","unlock","componentsPrivateApis","__experimentalToolsPanelItem","onDeselect","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","classnames","sprintf","Button","renderContent","__experimentalDropdownContentWrapper","paddingSize","defaultTabId","TabList","Tab","tabId","TabPanel","focusable","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","getValueFromVariable","encodeColorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","allGradients","originGradients","gradientObject","gradient","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newColor","newValue","setImmutably","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","changedObject","resetTextColor","name","showPanel","useCallback","previousValue","reduce","acc","element","items","filter","Boolean","forEach","elementBackgroundColor","elementGradient","elementTextColor","elementBackgroundUserColor","elementGradientUserColor","elementTextUserColor","hasElement","resetElement","setElementTextColor","newTextColor","setElementBackgroundColor","newBackgroundColor","setElementGradient","supportsTextColor","supportsBackground","push","item","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tColorIndicator,\n\tFlex,\n\tFlexItem,\n\tDropdown,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorGradientControl from '../colors-gradients/control';\nimport { useColorsPerOrigin, useGradientsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { unlock } from '../../lock-unlock';\n\nexport function useHasColorPanel( settings ) {\n\tconst hasTextPanel = useHasTextPanel( settings );\n\tconst hasBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst hasLinkPanel = useHasLinkPanel( settings );\n\tconst hasHeadingPanel = useHasHeadingPanel( settings );\n\tconst hasButtonPanel = useHasButtonPanel( settings );\n\tconst hasCaptionPanel = useHasCaptionPanel( settings );\n\n\treturn (\n\t\thasTextPanel ||\n\t\thasBackgroundPanel ||\n\t\thasLinkPanel ||\n\t\thasHeadingPanel ||\n\t\thasButtonPanel ||\n\t\thasCaptionPanel\n\t);\n}\n\nexport function useHasTextPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.text &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasLinkPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.link &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasCaptionPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.caption &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasHeadingPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.heading &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasButtonPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.button &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasBackgroundPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.background &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nfunction ColorToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\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={ __( 'Color' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t<div className=\"color-block-support-panel__inner-wrapper\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\ttext: true,\n\tbackground: true,\n\tlink: true,\n\theading: true,\n\tbutton: true,\n\tcaption: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n};\n\nconst LabeledColorIndicators = ( { indicators, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t{ indicators.map( ( indicator, index ) => (\n\t\t\t\t<Flex key={ index } expanded={ false }>\n\t\t\t\t\t<ColorIndicator colorValue={ indicator } />\n\t\t\t\t</Flex>\n\t\t\t) ) }\n\t\t</ZStack>\n\t\t<FlexItem\n\t\t\tclassName=\"block-editor-panel-color-gradient-settings__color-name\"\n\t\t\ttitle={ label }\n\t\t>\n\t\t\t{ label }\n\t\t</FlexItem>\n\t</HStack>\n);\n\nfunction ColorPanelTab( {\n\tisGradient,\n\tinheritedValue,\n\tuserValue,\n\tsetValue,\n\tcolorGradientControlSettings,\n} ) {\n\treturn (\n\t\t<ColorGradientControl\n\t\t\t{ ...colorGradientControlSettings }\n\t\t\tshowTitle={ false }\n\t\t\tenableAlpha\n\t\t\t__experimentalIsRenderedInSidebar\n\t\t\tcolorValue={ isGradient ? undefined : inheritedValue }\n\t\t\tgradientValue={ isGradient ? inheritedValue : undefined }\n\t\t\tonColorChange={ isGradient ? undefined : setValue }\n\t\t\tonGradientChange={ isGradient ? setValue : undefined }\n\t\t\tclearable={ inheritedValue === userValue }\n\t\t\theadingLevel={ 3 }\n\t\t/>\n\t);\n}\n\nfunction ColorPanelDropdown( {\n\tlabel,\n\thasValue,\n\tresetValue,\n\tisShownByDefault,\n\tindicators,\n\ttabs,\n\tcolorGradientControlSettings,\n\tpanelId,\n} ) {\n\tconst currentTab = tabs.find( ( tab ) => tab.userValue !== undefined );\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<ToolsPanelItem\n\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__item\"\n\t\t\thasValue={ hasValue }\n\t\t\tlabel={ label }\n\t\t\tonDeselect={ resetValue }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__dropdown\"\n\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tclassName: classnames(\n\t\t\t\t\t\t\t'block-editor-panel-color-gradient-settings__dropdown',\n\t\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-label': sprintf(\n\t\t\t\t\t\t\t/* translators: %s is the type of color property, e.g., \"background\" */\n\t\t\t\t\t\t\t__( 'Color %s styles' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t<LabeledColorIndicators\n\t\t\t\t\t\t\t\tindicators={ indicators }\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t<DropdownContentWrapper paddingSize=\"none\">\n\t\t\t\t\t\t<div className=\"block-editor-panel-color-gradient-settings__dropdown-content\">\n\t\t\t\t\t\t\t{ tabs.length === 1 && (\n\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\t{ ...tabs[ 0 ] }\n\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ tabs.length > 1 && (\n\t\t\t\t\t\t\t\t<Tabs defaultTabId={ currentTab?.key }>\n\t\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ tab.label }\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</Tabs.TabList>\n\n\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ ...tab }\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nexport default function ColorPanel( {\n\tas: Wrapper = ColorToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tchildren,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\tconst areCustomSolidsEnabled = settings?.color?.custom;\n\tconst areCustomGradientsEnabled = settings?.color?.customGradient;\n\tconst hasSolidColors = colors.length > 0 || areCustomSolidsEnabled;\n\tconst hasGradientColors = gradients.length > 0 || areCustomGradientsEnabled;\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\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 encodeGradientValue = ( gradientValue ) => {\n\t\tconst allGradients = gradients.flatMap(\n\t\t\t( { gradients: originGradients } ) => originGradients\n\t\t);\n\t\tconst gradientObject = allGradients.find(\n\t\t\t( { gradient } ) => gradient === gradientValue\n\t\t);\n\t\treturn gradientObject\n\t\t\t? 'var:preset|gradient|' + gradientObject.slug\n\t\t\t: gradientValue;\n\t};\n\n\t// BackgroundColor\n\tconst showBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst backgroundColor = decodeValue( inheritedValue?.color?.background );\n\tconst userBackgroundColor = decodeValue( value?.color?.background );\n\tconst gradient = decodeValue( inheritedValue?.color?.gradient );\n\tconst userGradient = decodeValue( value?.color?.gradient );\n\tconst hasBackground = () => !! userBackgroundColor || !! userGradient;\n\tconst setBackgroundColor = ( newColor ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst setGradient = ( newGradient ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'gradient' ],\n\t\t\tencodeGradientValue( newGradient )\n\t\t);\n\t\tnewValue.color.background = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst resetBackground = () => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\n\t// Links\n\tconst showLinkPanel = useHasLinkPanel( settings );\n\tconst linkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.color?.text\n\t);\n\tconst userLinkColor = decodeValue( value?.elements?.link?.color?.text );\n\tconst setLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hoverLinkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst userHoverLinkColor = decodeValue(\n\t\tvalue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst setHoverLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLink = () => !! userLinkColor || !! userHoverLinkColor;\n\tconst resetLink = () => {\n\t\tlet newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue = setImmutably(\n\t\t\tnewValue,\n\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tonChange( newValue );\n\t};\n\n\t// Text Color\n\tconst showTextPanel = useHasTextPanel( settings );\n\tconst textColor = decodeValue( inheritedValue?.color?.text );\n\tconst userTextColor = decodeValue( value?.color?.text );\n\tconst hasTextColor = () => !! userTextColor;\n\tconst setTextColor = ( newColor ) => {\n\t\tlet changedObject = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'text' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tif ( textColor === linkColor ) {\n\t\t\tchangedObject = setImmutably(\n\t\t\t\tchangedObject,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t);\n\t\t}\n\n\t\tonChange( changedObject );\n\t};\n\tconst resetTextColor = () => setTextColor( undefined );\n\n\t// Elements\n\tconst elements = [\n\t\t{\n\t\t\tname: 'caption',\n\t\t\tlabel: __( 'Captions' ),\n\t\t\tshowPanel: useHasCaptionPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'button',\n\t\t\tlabel: __( 'Button' ),\n\t\t\tshowPanel: useHasButtonPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'heading',\n\t\t\tlabel: __( 'Heading' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h1',\n\t\t\tlabel: __( 'H1' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h2',\n\t\t\tlabel: __( 'H2' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h3',\n\t\t\tlabel: __( 'H3' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h4',\n\t\t\tlabel: __( 'H4' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h5',\n\t\t\tlabel: __( 'H5' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h6',\n\t\t\tlabel: __( 'H6' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t];\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tcolor: undefined,\n\t\t\telements: {\n\t\t\t\t...previousValue?.elements,\n\t\t\t\tlink: {\n\t\t\t\t\t...previousValue?.elements?.link,\n\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t':hover': {\n\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t...elements.reduce( ( acc, element ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ element.name ]: {\n\t\t\t\t\t\t\t...previousValue?.elements?.[ element.name ],\n\t\t\t\t\t\t\tcolor: undefined,\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};\n\t}, [] );\n\n\tconst items = [\n\t\tshowTextPanel && {\n\t\t\tkey: 'text',\n\t\t\tlabel: __( 'Text' ),\n\t\t\thasValue: hasTextColor,\n\t\t\tresetValue: resetTextColor,\n\t\t\tisShownByDefault: defaultControls.text,\n\t\t\tindicators: [ textColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'text',\n\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\tinheritedValue: textColor,\n\t\t\t\t\tsetValue: setTextColor,\n\t\t\t\t\tuserValue: userTextColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tshowBackgroundPanel && {\n\t\t\tkey: 'background',\n\t\t\tlabel: __( 'Background' ),\n\t\t\thasValue: hasBackground,\n\t\t\tresetValue: resetBackground,\n\t\t\tisShownByDefault: defaultControls.background,\n\t\t\tindicators: [ gradient ?? backgroundColor ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors && {\n\t\t\t\t\tkey: 'background',\n\t\t\t\t\tlabel: __( 'Solid' ),\n\t\t\t\t\tinheritedValue: backgroundColor,\n\t\t\t\t\tsetValue: setBackgroundColor,\n\t\t\t\t\tuserValue: userBackgroundColor,\n\t\t\t\t},\n\t\t\t\thasGradientColors && {\n\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\tinheritedValue: gradient,\n\t\t\t\t\tsetValue: setGradient,\n\t\t\t\t\tuserValue: userGradient,\n\t\t\t\t\tisGradient: true,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t},\n\t\tshowLinkPanel && {\n\t\t\tkey: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\thasValue: hasLink,\n\t\t\tresetValue: resetLink,\n\t\t\tisShownByDefault: defaultControls.link,\n\t\t\tindicators: [ linkColor, hoverLinkColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'link',\n\t\t\t\t\tlabel: __( 'Default' ),\n\t\t\t\t\tinheritedValue: linkColor,\n\t\t\t\t\tsetValue: setLinkColor,\n\t\t\t\t\tuserValue: userLinkColor,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tkey: 'hover',\n\t\t\t\t\tlabel: __( 'Hover' ),\n\t\t\t\t\tinheritedValue: hoverLinkColor,\n\t\t\t\t\tsetValue: setHoverLinkColor,\n\t\t\t\t\tuserValue: userHoverLinkColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t].filter( Boolean );\n\n\telements.forEach( ( { name, label, showPanel } ) => {\n\t\tif ( ! showPanel ) return;\n\n\t\tconst elementBackgroundColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradient = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst elementBackgroundUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradientUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst hasElement = () =>\n\t\t\t!! (\n\t\t\t\telementTextUserColor ||\n\t\t\t\telementBackgroundUserColor ||\n\t\t\t\telementGradientUserColor\n\t\t\t);\n\t\tconst resetElement = () => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tundefined\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tnewValue.elements[ name ].color.text = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\n\t\tconst setElementTextColor = ( newTextColor ) => {\n\t\t\tonChange(\n\t\t\t\tsetImmutably(\n\t\t\t\t\tvalue,\n\t\t\t\t\t[ 'elements', name, 'color', 'text' ],\n\t\t\t\t\tencodeColorValue( newTextColor )\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tconst setElementBackgroundColor = ( newBackgroundColor ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tencodeColorValue( newBackgroundColor )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst setElementGradient = ( newGradient ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'gradient' ],\n\t\t\t\tencodeGradientValue( newGradient )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.background = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst supportsTextColor = true;\n\t\t// Background color is not supported for `caption`\n\t\t// as there isn't yet a way to set padding for the element.\n\t\tconst supportsBackground = name !== 'caption';\n\n\t\titems.push( {\n\t\t\tkey: name,\n\t\t\tlabel,\n\t\t\thasValue: hasElement,\n\t\t\tresetValue: resetElement,\n\t\t\tisShownByDefault: defaultControls[ name ],\n\t\t\tindicators:\n\t\t\t\tsupportsTextColor && supportsBackground\n\t\t\t\t\t? [\n\t\t\t\t\t\t\telementTextColor,\n\t\t\t\t\t\t\telementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\tsupportsTextColor\n\t\t\t\t\t\t\t\t? elementTextColor\n\t\t\t\t\t\t\t\t: elementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsTextColor && {\n\t\t\t\t\t\tkey: 'text',\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tinheritedValue: elementTextColor,\n\t\t\t\t\t\tsetValue: setElementTextColor,\n\t\t\t\t\t\tuserValue: elementTextUserColor,\n\t\t\t\t\t},\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'background',\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tinheritedValue: elementBackgroundColor,\n\t\t\t\t\t\tsetValue: setElementBackgroundColor,\n\t\t\t\t\t\tuserValue: elementBackgroundUserColor,\n\t\t\t\t\t},\n\t\t\t\thasGradientColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\t\tinheritedValue: elementGradient,\n\t\t\t\t\t\tsetValue: setElementGradient,\n\t\t\t\t\t\tuserValue: elementGradientUserColor,\n\t\t\t\t\t\tisGradient: true,\n\t\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t} );\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>\n\t\t\t{ items.map( ( item ) => (\n\t\t\t\t<ColorPanelDropdown\n\t\t\t\t\tkey={ item.key }\n\t\t\t\t\t{ ...item }\n\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\tcolors,\n\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\tgradients,\n\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t} }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ children }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_utils","useHasImageSettingsPanel","name","value","inheritedValue","lightbox","allowEditing","ImageSettingsPanel","onChange","panelId","resetLightbox","undefined","onChangeLightbox","newSetting","enabled","lightboxChecked","_react","createElement","Fragment","__experimentalToolsPanel","label","_x","resetAll","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","__experimentalToolsPanelItem","hasValue","__","onDeselect","isShownByDefault","ToggleControl","checked"],"sources":["@wordpress/block-editor/src/components/global-styles/image-settings-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\n\nexport function useHasImageSettingsPanel( name, value, inheritedValue ) {\n\t// Note: If lightbox `value` exists, that means it was\n\t// defined via the the Global Styles UI and will NOT\n\t// be a boolean value or contain the `allowEditing` property,\n\t// so we should show the settings panel in those cases.\n\treturn (\n\t\t( name === 'core/image' && inheritedValue?.lightbox?.allowEditing ) ||\n\t\t!! value?.lightbox\n\t);\n}\n\nexport default function ImageSettingsPanel( {\n\tonChange,\n\tvalue,\n\tinheritedValue,\n\tpanelId,\n} ) {\n\tconst resetLightbox = () => {\n\t\tonChange( undefined );\n\t};\n\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\tonChange( {\n\t\t\tenabled: newSetting,\n\t\t} );\n\t};\n\n\tlet lightboxChecked = false;\n\n\tif ( inheritedValue?.lightbox?.enabled ) {\n\t\tlightboxChecked = inheritedValue.lightbox.enabled;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ _x( 'Settings', 'Image settings' ) }\n\t\t\t\tresetAll={ resetLightbox }\n\t\t\t\tpanelId={ panelId }\n\t\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t// We use the `userSettings` prop instead of `settings`, because `settings`\n\t\t\t\t\t// contains the core/theme values for the lightbox and we want to show the\n\t\t\t\t\t// \"RESET\" button ONLY when the user has explicitly set a value in the\n\t\t\t\t\t// Global Styles.\n\t\t\t\t\thasValue={ () => !! value?.lightbox }\n\t\t\t\t\tlabel={ __( 'Expand on click' ) }\n\t\t\t\t\tonDeselect={ resetLightbox }\n\t\t\t\t\tisShownByDefault
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_utils","useHasImageSettingsPanel","name","value","inheritedValue","lightbox","allowEditing","ImageSettingsPanel","onChange","panelId","resetLightbox","undefined","onChangeLightbox","newSetting","enabled","lightboxChecked","_react","createElement","Fragment","__experimentalToolsPanel","label","_x","resetAll","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","__experimentalToolsPanelItem","hasValue","__","onDeselect","isShownByDefault","ToggleControl","checked"],"sources":["@wordpress/block-editor/src/components/global-styles/image-settings-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\n\nexport function useHasImageSettingsPanel( name, value, inheritedValue ) {\n\t// Note: If lightbox `value` exists, that means it was\n\t// defined via the the Global Styles UI and will NOT\n\t// be a boolean value or contain the `allowEditing` property,\n\t// so we should show the settings panel in those cases.\n\treturn (\n\t\t( name === 'core/image' && inheritedValue?.lightbox?.allowEditing ) ||\n\t\t!! value?.lightbox\n\t);\n}\n\nexport default function ImageSettingsPanel( {\n\tonChange,\n\tvalue,\n\tinheritedValue,\n\tpanelId,\n} ) {\n\tconst resetLightbox = () => {\n\t\tonChange( undefined );\n\t};\n\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\tonChange( {\n\t\t\tenabled: newSetting,\n\t\t} );\n\t};\n\n\tlet lightboxChecked = false;\n\n\tif ( inheritedValue?.lightbox?.enabled ) {\n\t\tlightboxChecked = inheritedValue.lightbox.enabled;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ _x( 'Settings', 'Image settings' ) }\n\t\t\t\tresetAll={ resetLightbox }\n\t\t\t\tpanelId={ panelId }\n\t\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t// We use the `userSettings` prop instead of `settings`, because `settings`\n\t\t\t\t\t// contains the core/theme values for the lightbox and we want to show the\n\t\t\t\t\t// \"RESET\" button ONLY when the user has explicitly set a value in the\n\t\t\t\t\t// Global Styles.\n\t\t\t\t\thasValue={ () => !! value?.lightbox }\n\t\t\t\t\tlabel={ __( 'Expand on click' ) }\n\t\t\t\t\tonDeselect={ resetLightbox }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Expand on click' ) }\n\t\t\t\t\t\tchecked={ lightboxChecked }\n\t\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGO,SAASG,wBAAwBA,CAAEC,IAAI,EAAEC,KAAK,EAAEC,cAAc,EAAG;EACvE;EACA;EACA;EACA;EACA,OACGF,IAAI,KAAK,YAAY,IAAIE,cAAc,EAAEC,QAAQ,EAAEC,YAAY,IACjE,CAAC,CAAEH,KAAK,EAAEE,QAAQ;AAEpB;AAEe,SAASE,kBAAkBA,CAAE;EAC3CC,QAAQ;EACRL,KAAK;EACLC,cAAc;EACdK;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3BF,QAAQ,CAAEG,SAAU,CAAC;EACtB,CAAC;EAED,MAAMC,gBAAgB,GAAKC,UAAU,IAAM;IAC1CL,QAAQ,CAAE;MACTM,OAAO,EAAED;IACV,CAAE,CAAC;EACJ,CAAC;EAED,IAAIE,eAAe,GAAG,KAAK;EAE3B,IAAKX,cAAc,EAAEC,QAAQ,EAAES,OAAO,EAAG;IACxCC,eAAe,GAAGX,cAAc,CAACC,QAAQ,CAACS,OAAO;EAClD;EAEA,OACC,IAAAE,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAsB,wBAAU;IACVC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAU,EAAE,gBAAiB,CAAG;IAC5CC,QAAQ,EAAGZ,aAAe;IAC1BD,OAAO,EAAGA,OAAS;IACnBc,iBAAiB,EAAGC;EAA+B,GAEnD,IAAAR,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAA4B;EACA;EACA;EACA;EACA;EAAA;IACAC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEvB,KAAK,EAAEE,QAAU;IACrCe,KAAK,EAAG,IAAAO,QAAE,EAAE,iBAAkB,CAAG;IACjCC,UAAU,EAAGlB,aAAe;IAC5BmB,gBAAgB;IAChBpB,OAAO,EAAGA;EAAS,GAEnB,IAAAO,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAiC,aAAa;IACbV,KAAK,EAAG,IAAAO,QAAE,EAAE,iBAAkB,CAAG;IACjCI,OAAO,EAAGhB,eAAiB;IAC3BP,QAAQ,EAAGI;EAAkB,CAC7B,CACc,CACL,CACX,CAAC;AAEL"}
|
|
@@ -112,6 +112,12 @@ Object.defineProperty(exports, "useHasBorderPanel", {
|
|
|
112
112
|
return _borderPanel.useHasBorderPanel;
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
|
+
Object.defineProperty(exports, "useHasBorderPanelControls", {
|
|
116
|
+
enumerable: true,
|
|
117
|
+
get: function () {
|
|
118
|
+
return _borderPanel.useHasBorderPanelControls;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
115
121
|
Object.defineProperty(exports, "useHasColorPanel", {
|
|
116
122
|
enumerable: true,
|
|
117
123
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_hooks","require","_getBlockCssSelector","_useGlobalStylesOutput","_context","_typographyPanel","_interopRequireWildcard","_dimensionsPanel","_borderPanel","_colorPanel","_filtersPanel","_imageSettingsPanel","_advancedPanel","_interopRequireDefault","_utils","_getGlobalStylesChanges","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set"],"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport {\n\tgetLayoutStyles,\n\tuseGlobalStylesOutput,\n\tuseGlobalStylesOutputWithConfig,\n} from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport {
|
|
1
|
+
{"version":3,"names":["_hooks","require","_getBlockCssSelector","_useGlobalStylesOutput","_context","_typographyPanel","_interopRequireWildcard","_dimensionsPanel","_borderPanel","_colorPanel","_filtersPanel","_imageSettingsPanel","_advancedPanel","_interopRequireDefault","_utils","_getGlobalStylesChanges","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set"],"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport {\n\tgetLayoutStyles,\n\tuseGlobalStylesOutput,\n\tuseGlobalStylesOutputWithConfig,\n} from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport {\n\tdefault as BorderPanel,\n\tuseHasBorderPanel,\n\tuseHasBorderPanelControls,\n} from './border-panel';\nexport { default as ColorPanel, useHasColorPanel } from './color-panel';\nexport { default as FiltersPanel, useHasFiltersPanel } from './filters-panel';\nexport {\n\tdefault as ImageSettingsPanel,\n\tuseHasImageSettingsPanel,\n} from './image-settings-panel';\nexport { default as AdvancedPanel } from './advanced-panel';\nexport { areGlobalStyleConfigsEqual } from './utils';\nexport { default as getGlobalStylesChanges } from './get-global-styles-changes';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAC,uBAAA,CAAAL,OAAA;AAIA,IAAAM,gBAAA,GAAAD,uBAAA,CAAAL,OAAA;AAIA,IAAAO,YAAA,GAAAF,uBAAA,CAAAL,OAAA;AAKA,IAAAQ,WAAA,GAAAH,uBAAA,CAAAL,OAAA;AACA,IAAAS,aAAA,GAAAJ,uBAAA,CAAAL,OAAA;AACA,IAAAU,mBAAA,GAAAL,uBAAA,CAAAL,OAAA;AAIA,IAAAW,cAAA,GAAAC,sBAAA,CAAAZ,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,uBAAA,GAAAF,sBAAA,CAAAZ,OAAA;AAAgF,SAAAe,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA"}
|
|
@@ -8,11 +8,14 @@ exports.ShadowIndicator = ShadowIndicator;
|
|
|
8
8
|
exports.ShadowPopover = ShadowPopover;
|
|
9
9
|
exports.ShadowPopoverContainer = ShadowPopoverContainer;
|
|
10
10
|
exports.ShadowPresets = ShadowPresets;
|
|
11
|
+
exports.useShadowPresets = useShadowPresets;
|
|
11
12
|
var _react = require("react");
|
|
12
13
|
var _i18n = require("@wordpress/i18n");
|
|
13
14
|
var _components = require("@wordpress/components");
|
|
15
|
+
var _element = require("@wordpress/element");
|
|
14
16
|
var _icons = require("@wordpress/icons");
|
|
15
17
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
18
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
16
19
|
/**
|
|
17
20
|
* WordPress dependencies
|
|
18
21
|
*/
|
|
@@ -21,15 +24,23 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
21
24
|
* External dependencies
|
|
22
25
|
*/
|
|
23
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Internal dependencies
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Shared reference to an empty array for cases where it is important to avoid
|
|
33
|
+
* returning a new array reference on every invocation.
|
|
34
|
+
*
|
|
35
|
+
* @type {Array}
|
|
36
|
+
*/
|
|
37
|
+
const EMPTY_ARRAY = [];
|
|
24
38
|
function ShadowPopoverContainer({
|
|
25
39
|
shadow,
|
|
26
40
|
onShadowChange,
|
|
27
41
|
settings
|
|
28
42
|
}) {
|
|
29
|
-
const
|
|
30
|
-
const themeShadows = settings?.shadow?.presets?.theme || [];
|
|
31
|
-
const defaultPresetsEnabled = settings?.shadow?.defaultPresets;
|
|
32
|
-
const shadows = [...(defaultPresetsEnabled ? defaultShadows : []), ...themeShadows];
|
|
43
|
+
const shadows = useShadowPresets(settings);
|
|
33
44
|
return (0, _react.createElement)("div", {
|
|
34
45
|
className: "block-editor-global-styles__shadow-popover-container"
|
|
35
46
|
}, (0, _react.createElement)(_components.__experimentalVStack, {
|
|
@@ -40,18 +51,28 @@ function ShadowPopoverContainer({
|
|
|
40
51
|
presets: shadows,
|
|
41
52
|
activeShadow: shadow,
|
|
42
53
|
onSelect: onShadowChange
|
|
43
|
-
}))
|
|
54
|
+
}), (0, _react.createElement)("div", {
|
|
55
|
+
className: "block-editor-global-styles__clear-shadow"
|
|
56
|
+
}, (0, _react.createElement)(_components.Button, {
|
|
57
|
+
variant: "tertiary",
|
|
58
|
+
onClick: () => onShadowChange(undefined)
|
|
59
|
+
}, (0, _i18n.__)('Clear')))));
|
|
44
60
|
}
|
|
45
61
|
function ShadowPresets({
|
|
46
62
|
presets,
|
|
47
63
|
activeShadow,
|
|
48
64
|
onSelect
|
|
49
65
|
}) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
66
|
+
const {
|
|
67
|
+
CompositeV2: Composite,
|
|
68
|
+
useCompositeStoreV2: useCompositeStore
|
|
69
|
+
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
70
|
+
const compositeStore = useCompositeStore();
|
|
71
|
+
return !presets ? null : (0, _react.createElement)(Composite, {
|
|
72
|
+
store: compositeStore,
|
|
73
|
+
role: "listbox",
|
|
74
|
+
className: "block-editor-global-styles__shadow__list",
|
|
75
|
+
"aria-label": (0, _i18n.__)('Drop shadows')
|
|
55
76
|
}, presets.map(({
|
|
56
77
|
name,
|
|
57
78
|
slug,
|
|
@@ -60,29 +81,42 @@ function ShadowPresets({
|
|
|
60
81
|
key: slug,
|
|
61
82
|
label: name,
|
|
62
83
|
isActive: shadow === activeShadow,
|
|
84
|
+
type: slug === 'unset' ? 'unset' : 'preset',
|
|
63
85
|
onSelect: () => onSelect(shadow === activeShadow ? undefined : shadow),
|
|
64
86
|
shadow: shadow
|
|
65
87
|
})));
|
|
66
88
|
}
|
|
67
89
|
function ShadowIndicator({
|
|
90
|
+
type,
|
|
68
91
|
label,
|
|
69
92
|
isActive,
|
|
70
93
|
onSelect,
|
|
71
94
|
shadow
|
|
72
95
|
}) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
label: label,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
96
|
+
const {
|
|
97
|
+
CompositeItemV2: CompositeItem
|
|
98
|
+
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
99
|
+
return (0, _react.createElement)(CompositeItem, {
|
|
100
|
+
role: "option",
|
|
101
|
+
"aria-label": label,
|
|
102
|
+
"aria-selected": isActive,
|
|
103
|
+
className: (0, _classnames.default)('block-editor-global-styles__shadow__item', {
|
|
104
|
+
'is-active': isActive
|
|
105
|
+
}),
|
|
106
|
+
render: (0, _react.createElement)(_components.Button, {
|
|
107
|
+
className: (0, _classnames.default)('block-editor-global-styles__shadow-indicator', {
|
|
108
|
+
unset: type === 'unset'
|
|
109
|
+
}),
|
|
110
|
+
onClick: onSelect,
|
|
111
|
+
label: label,
|
|
112
|
+
style: {
|
|
113
|
+
boxShadow: shadow
|
|
114
|
+
},
|
|
115
|
+
showTooltip: true
|
|
116
|
+
}, isActive && (0, _react.createElement)(_icons.Icon, {
|
|
117
|
+
icon: _icons.check
|
|
118
|
+
}))
|
|
119
|
+
});
|
|
86
120
|
}
|
|
87
121
|
function ShadowPopover({
|
|
88
122
|
shadow,
|
|
@@ -130,4 +164,27 @@ function renderShadowToggle() {
|
|
|
130
164
|
}), (0, _react.createElement)(_components.FlexItem, null, (0, _i18n.__)('Drop shadow'))));
|
|
131
165
|
};
|
|
132
166
|
}
|
|
167
|
+
function useShadowPresets(settings) {
|
|
168
|
+
return (0, _element.useMemo)(() => {
|
|
169
|
+
var _settings$shadow$pres;
|
|
170
|
+
if (!settings?.shadow) {
|
|
171
|
+
return EMPTY_ARRAY;
|
|
172
|
+
}
|
|
173
|
+
const defaultPresetsEnabled = settings?.shadow?.defaultPresets;
|
|
174
|
+
const {
|
|
175
|
+
default: defaultShadows,
|
|
176
|
+
theme: themeShadows
|
|
177
|
+
} = (_settings$shadow$pres = settings?.shadow?.presets) !== null && _settings$shadow$pres !== void 0 ? _settings$shadow$pres : {};
|
|
178
|
+
const unsetShadow = {
|
|
179
|
+
name: (0, _i18n.__)('Unset'),
|
|
180
|
+
slug: 'unset',
|
|
181
|
+
shadow: 'none'
|
|
182
|
+
};
|
|
183
|
+
const shadowPresets = [...(defaultPresetsEnabled && defaultShadows || EMPTY_ARRAY), ...(themeShadows || EMPTY_ARRAY)];
|
|
184
|
+
if (shadowPresets.length) {
|
|
185
|
+
shadowPresets.unshift(unsetShadow);
|
|
186
|
+
}
|
|
187
|
+
return shadowPresets;
|
|
188
|
+
}, [settings]);
|
|
189
|
+
}
|
|
133
190
|
//# sourceMappingURL=shadow-panel-components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_icons","_classnames","_interopRequireDefault","ShadowPopoverContainer","shadow","onShadowChange","settings","defaultShadows","presets","default","themeShadows","theme","defaultPresetsEnabled","defaultPresets","shadows","_react","createElement","className","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","activeShadow","onSelect","__experimentalGrid","columns","gap","align","justify","map","name","slug","ShadowIndicator","key","label","isActive","undefined","Button","onClick","style","boxShadow","showTooltip","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","toggleProps","classNames","__experimentalHStack","shadowIcon","size","FlexItem"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n} from '@wordpress/components';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst defaultShadows = settings?.shadow?.presets?.default || [];\n\tconst themeShadows = settings?.shadow?.presets?.theme || [];\n\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\n\tconst shadows = [\n\t\t...( defaultPresetsEnabled ? defaultShadows : [] ),\n\t\t...themeShadows,\n\t];\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Grid columns={ 6 } gap={ 0 } align=\"center\" justify=\"center\">\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n\nexport function ShadowIndicator( { label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-indicator-wrapper\">\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-global-styles__shadow-indicator\"\n\t\t\t\tonClick={ onSelect }\n\t\t\t\tlabel={ label }\n\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\tshowTooltip\n\t\t\t>\n\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: classNames( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_element","_icons","_classnames","_interopRequireDefault","_lockUnlock","EMPTY_ARRAY","ShadowPopoverContainer","shadow","onShadowChange","settings","shadows","useShadowPresets","_react","createElement","className","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","presets","activeShadow","onSelect","Button","variant","onClick","undefined","CompositeV2","Composite","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","compositeStore","store","role","map","name","slug","ShadowIndicator","key","label","isActive","type","CompositeItemV2","CompositeItem","classNames","render","unset","style","boxShadow","showTooltip","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","toggleProps","__experimentalHStack","justify","shadowIcon","size","FlexItem","useMemo","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\tconst { CompositeV2: Composite, useCompositeStoreV2: useCompositeStore } =\n\t\tunlock( componentsPrivateApis );\n\tconst compositeStore = useCompositeStore();\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\tconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\taria-label={ label }\n\t\t\taria-selected={ isActive }\n\t\t\tclassName={ classNames(\n\t\t\t\t'block-editor-global-styles__shadow__item',\n\t\t\t\t{\n\t\t\t\t\t'is-active': isActive,\n\t\t\t\t}\n\t\t\t) }\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\tshowTooltip\n\t\t\t\t>\n\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: classNames( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst { default: defaultShadows, theme: themeShadows } =\n\t\t\tsettings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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"}
|
|
@@ -44,16 +44,17 @@ var _fluidUtils = require("../font-sizes/fluid-utils");
|
|
|
44
44
|
* Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values.
|
|
45
45
|
*
|
|
46
46
|
* @param {Preset} preset
|
|
47
|
-
* @param {Object}
|
|
48
|
-
* @param {boolean|TypographySettings}
|
|
47
|
+
* @param {Object} settings
|
|
48
|
+
* @param {boolean|TypographySettings} settings.typography.fluid Whether fluid typography is enabled, and, optionally, fluid font size options.
|
|
49
|
+
* @param {Object?} settings.typography.layout Layout options.
|
|
49
50
|
*
|
|
50
51
|
* @return {string|*} A font-size value or the value of preset.size.
|
|
51
52
|
*/
|
|
52
|
-
function getTypographyFontSizeValue(preset,
|
|
53
|
+
function getTypographyFontSizeValue(preset, settings) {
|
|
53
54
|
const {
|
|
54
55
|
size: defaultSize
|
|
55
56
|
} = preset;
|
|
56
|
-
if (!isFluidTypographyEnabled(
|
|
57
|
+
if (!isFluidTypographyEnabled(settings?.typography)) {
|
|
57
58
|
return defaultSize;
|
|
58
59
|
}
|
|
59
60
|
/*
|
|
@@ -64,7 +65,8 @@ function getTypographyFontSizeValue(preset, typographyOptions) {
|
|
|
64
65
|
if (!defaultSize || '0' === defaultSize || false === preset?.fluid) {
|
|
65
66
|
return defaultSize;
|
|
66
67
|
}
|
|
67
|
-
|
|
68
|
+
let fluidTypographySettings = getFluidTypographyOptionsFromSettings(settings);
|
|
69
|
+
fluidTypographySettings = typeof fluidTypographySettings?.fluid === 'object' ? fluidTypographySettings?.fluid : {};
|
|
68
70
|
const fluidFontSizeValue = (0, _fluidUtils.getComputedFluidTypographyValue)({
|
|
69
71
|
minimumFontSize: preset?.fluid?.min,
|
|
70
72
|
maximumFontSize: preset?.fluid?.max,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fluidUtils","require","getTypographyFontSizeValue","preset","
|
|
1
|
+
{"version":3,"names":["_fluidUtils","require","getTypographyFontSizeValue","preset","settings","size","defaultSize","isFluidTypographyEnabled","typography","fluid","fluidTypographySettings","getFluidTypographyOptionsFromSettings","fluidFontSizeValue","getComputedFluidTypographyValue","minimumFontSize","min","maximumFontSize","max","fontSize","minimumFontSizeLimit","minFontSize","maximumViewportWidth","maxViewportWidth","minimumViewportWidth","minViewportWidth","typographySettings","fluidSettings","Object","keys","length","layoutSettings","layout","defaultMaxViewportWidth","getTypographyValueAndUnit","wideSize"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-utils.js"],"sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetComputedFluidTypographyValue,\n\tgetTypographyValueAndUnit,\n} from '../font-sizes/fluid-utils';\n\n/**\n * @typedef {Object} FluidPreset\n * @property {string|undefined} max A maximum font size value.\n * @property {?string|undefined} min A minimum font size value.\n */\n\n/**\n * @typedef {Object} Preset\n * @property {?string|?number} size A default font size.\n * @property {string} name A font size name, displayed in the UI.\n * @property {string} slug A font size slug\n * @property {boolean|FluidPreset|undefined} fluid Specifies the minimum and maximum font size value of a fluid font size.\n */\n\n/**\n * @typedef {Object} TypographySettings\n * @property {?string} minViewportWidth Minimum viewport size from which type will have fluidity. Optional if size is specified.\n * @property {?string} maxViewportWidth Maximum size up to which type will have fluidity. Optional if size is specified.\n * @property {?number} scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @property {?number} minFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional.\n * @property {?string} minFontSize The smallest a calculated font size may be. Optional.\n */\n\n/**\n * Returns a font-size value based on a given font-size preset.\n * Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values.\n *\n * @param {Preset} preset\n * @param {Object} settings\n * @param {boolean|TypographySettings} settings.typography.fluid Whether fluid typography is enabled, and, optionally, fluid font size options.\n * @param {Object?} settings.typography.layout Layout options.\n *\n * @return {string|*} A font-size value or the value of preset.size.\n */\nexport function getTypographyFontSizeValue( preset, settings ) {\n\tconst { size: defaultSize } = preset;\n\n\tif ( ! isFluidTypographyEnabled( settings?.typography ) ) {\n\t\treturn defaultSize;\n\t}\n\t/*\n\t * Checks whether a font size has explicitly bypassed fluid calculations.\n\t * Also catches falsy values and 0/'0'.\n\t * Fluid calculations cannot be performed on `0`.\n\t */\n\tif ( ! defaultSize || '0' === defaultSize || false === preset?.fluid ) {\n\t\treturn defaultSize;\n\t}\n\n\tlet fluidTypographySettings =\n\t\tgetFluidTypographyOptionsFromSettings( settings );\n\tfluidTypographySettings =\n\t\ttypeof fluidTypographySettings?.fluid === 'object'\n\t\t\t? fluidTypographySettings?.fluid\n\t\t\t: {};\n\n\tconst fluidFontSizeValue = getComputedFluidTypographyValue( {\n\t\tminimumFontSize: preset?.fluid?.min,\n\t\tmaximumFontSize: preset?.fluid?.max,\n\t\tfontSize: defaultSize,\n\t\tminimumFontSizeLimit: fluidTypographySettings?.minFontSize,\n\t\tmaximumViewportWidth: fluidTypographySettings?.maxViewportWidth,\n\t\tminimumViewportWidth: fluidTypographySettings?.minViewportWidth,\n\t} );\n\n\tif ( !! fluidFontSizeValue ) {\n\t\treturn fluidFontSizeValue;\n\t}\n\n\treturn defaultSize;\n}\n\nfunction isFluidTypographyEnabled( typographySettings ) {\n\tconst fluidSettings = typographySettings?.fluid;\n\treturn (\n\t\ttrue === fluidSettings ||\n\t\t( fluidSettings &&\n\t\t\ttypeof fluidSettings === 'object' &&\n\t\t\tObject.keys( fluidSettings ).length > 0 )\n\t);\n}\n\n/**\n * Returns fluid typography settings from theme.json setting object.\n *\n * @param {Object} settings Theme.json settings\n * @param {Object} settings.typography Theme.json typography settings\n * @param {Object} settings.layout Theme.json layout settings\n * @return {TypographySettings} Fluid typography settings\n */\nexport function getFluidTypographyOptionsFromSettings( settings ) {\n\tconst typographySettings = settings?.typography;\n\tconst layoutSettings = settings?.layout;\n\tconst defaultMaxViewportWidth = getTypographyValueAndUnit(\n\t\tlayoutSettings?.wideSize\n\t)\n\t\t? layoutSettings?.wideSize\n\t\t: null;\n\treturn isFluidTypographyEnabled( typographySettings ) &&\n\t\tdefaultMaxViewportWidth\n\t\t? {\n\t\t\t\tfluid: {\n\t\t\t\t\tmaxViewportWidth: defaultMaxViewportWidth,\n\t\t\t\t\t...typographySettings.fluid,\n\t\t\t\t},\n\t\t }\n\t\t: {\n\t\t\t\tfluid: typographySettings?.fluid,\n\t\t };\n}\n"],"mappings":";;;;;;;AASA,IAAAA,WAAA,GAAAC,OAAA;AATA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,0BAA0BA,CAAEC,MAAM,EAAEC,QAAQ,EAAG;EAC9D,MAAM;IAAEC,IAAI,EAAEC;EAAY,CAAC,GAAGH,MAAM;EAEpC,IAAK,CAAEI,wBAAwB,CAAEH,QAAQ,EAAEI,UAAW,CAAC,EAAG;IACzD,OAAOF,WAAW;EACnB;EACA;AACD;AACA;AACA;AACA;EACC,IAAK,CAAEA,WAAW,IAAI,GAAG,KAAKA,WAAW,IAAI,KAAK,KAAKH,MAAM,EAAEM,KAAK,EAAG;IACtE,OAAOH,WAAW;EACnB;EAEA,IAAII,uBAAuB,GAC1BC,qCAAqC,CAAEP,QAAS,CAAC;EAClDM,uBAAuB,GACtB,OAAOA,uBAAuB,EAAED,KAAK,KAAK,QAAQ,GAC/CC,uBAAuB,EAAED,KAAK,GAC9B,CAAC,CAAC;EAEN,MAAMG,kBAAkB,GAAG,IAAAC,2CAA+B,EAAE;IAC3DC,eAAe,EAAEX,MAAM,EAAEM,KAAK,EAAEM,GAAG;IACnCC,eAAe,EAAEb,MAAM,EAAEM,KAAK,EAAEQ,GAAG;IACnCC,QAAQ,EAAEZ,WAAW;IACrBa,oBAAoB,EAAET,uBAAuB,EAAEU,WAAW;IAC1DC,oBAAoB,EAAEX,uBAAuB,EAAEY,gBAAgB;IAC/DC,oBAAoB,EAAEb,uBAAuB,EAAEc;EAChD,CAAE,CAAC;EAEH,IAAK,CAAC,CAAEZ,kBAAkB,EAAG;IAC5B,OAAOA,kBAAkB;EAC1B;EAEA,OAAON,WAAW;AACnB;AAEA,SAASC,wBAAwBA,CAAEkB,kBAAkB,EAAG;EACvD,MAAMC,aAAa,GAAGD,kBAAkB,EAAEhB,KAAK;EAC/C,OACC,IAAI,KAAKiB,aAAa,IACpBA,aAAa,IACd,OAAOA,aAAa,KAAK,QAAQ,IACjCC,MAAM,CAACC,IAAI,CAAEF,aAAc,CAAC,CAACG,MAAM,GAAG,CAAG;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASlB,qCAAqCA,CAAEP,QAAQ,EAAG;EACjE,MAAMqB,kBAAkB,GAAGrB,QAAQ,EAAEI,UAAU;EAC/C,MAAMsB,cAAc,GAAG1B,QAAQ,EAAE2B,MAAM;EACvC,MAAMC,uBAAuB,GAAG,IAAAC,qCAAyB,EACxDH,cAAc,EAAEI,QACjB,CAAC,GACEJ,cAAc,EAAEI,QAAQ,GACxB,IAAI;EACP,OAAO3B,wBAAwB,CAAEkB,kBAAmB,CAAC,IACpDO,uBAAuB,GACrB;IACAvB,KAAK,EAAE;MACNa,gBAAgB,EAAEU,uBAAuB;MACzC,GAAGP,kBAAkB,CAAChB;IACvB;EACA,CAAC,GACD;IACAA,KAAK,EAAEgB,kBAAkB,EAAEhB;EAC3B,CAAC;AACL"}
|