@wordpress/block-editor 14.5.0 → 14.6.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/README.md +0 -8
- package/build/autocompleters/block.js +13 -5
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/block-canvas/index.js +10 -0
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-full-height-alignment-control/index.js +1 -1
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-list/block.js +1 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +1 -7
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +5 -5
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +1 -2
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -3
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +1 -1
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-popover/index.js +2 -45
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -2
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +5 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +4 -3
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-toolbar/change-design.js +122 -0
- package/build/components/block-toolbar/change-design.js.map +1 -0
- package/build/components/block-toolbar/index.js +19 -7
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/index.js +4 -10
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -3
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +3 -9
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +20 -29
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +2 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +6 -10
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +7 -10
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/collab/block-comment-icon-slot.js +18 -0
- package/build/components/collab/block-comment-icon-slot.js.map +1 -0
- package/build/components/collab/block-comment-icon-toolbar-slot.js +18 -0
- package/build/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +4 -4
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/global-styles/color-panel.js +1 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-context.native.js +6 -0
- package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build/components/iframe/index.js +17 -22
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-size-control/index.js +61 -20
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +9 -5
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +15 -2
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter/menu.js +4 -2
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter-button/index.native.js +1 -1
- package/build/components/inserter-button/index.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +0 -2
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/utils.js +3 -6
- package/build/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build/components/link-control/link-preview.js +12 -9
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/list-view/appender.js +4 -3
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/branch.js +6 -5
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +1 -2
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/provider/index.js +1 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/rich-text/event-listeners/index.js +3 -1
- package/build/components/rich-text/event-listeners/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +2 -6
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +2 -2
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -3
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/linked-button.js +1 -5
- package/build/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build/components/tool-selector/index.js +1 -4
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-input/index.js +1 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +1 -1
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +5 -5
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +0 -1
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-moving-animation/index.js +1 -3
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-settings/index.js +1 -3
- package/build/components/use-settings/index.js.map +1 -1
- package/build/components/writing-flow/index.js +5 -3
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +2 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/block-bindings.js +19 -8
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/contrast-checker.js +0 -1
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/duotone.js +2 -2
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/style.js +4 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/use-zoom-out.js +13 -22
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/index.js +0 -7
- package/build/index.js.map +1 -1
- package/build/private-apis.js +6 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +2 -33
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +1 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/private-actions.js +57 -8
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +9 -21
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +16 -6
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +44 -7
- package/build/store/selectors.js.map +1 -1
- package/build/utils/dom.js +16 -1
- package/build/utils/dom.js.map +1 -1
- package/build/utils/get-font-styles-and-weights.js +1 -1
- package/build/utils/get-font-styles-and-weights.js.map +1 -1
- package/build/utils/transform-styles/index.js +4 -3
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/autocompleters/block.js +14 -6
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/block-canvas/index.js +11 -1
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +3 -3
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-list/block.js +1 -1
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +1 -7
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +5 -5
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +1 -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-focus-first-element.js +4 -3
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +1 -1
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-popover/index.js +2 -45
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +5 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +5 -4
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-toolbar/change-design.js +114 -0
- package/build-module/components/block-toolbar/change-design.js.map +1 -0
- package/build-module/components/block-toolbar/index.js +19 -7
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/index.js +4 -10
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -3
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +3 -9
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +20 -29
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +2 -2
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +6 -10
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +8 -11
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/collab/block-comment-icon-slot.js +11 -0
- package/build-module/components/collab/block-comment-icon-slot.js.map +1 -0
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js +11 -0
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +4 -4
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +2 -5
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-context.native.js +6 -0
- package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build-module/components/iframe/index.js +17 -22
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-size-control/index.js +62 -21
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +9 -5
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +15 -2
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter/menu.js +5 -3
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +1 -1
- package/build-module/components/inserter-button/index.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +0 -2
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/utils.js +3 -6
- package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +13 -10
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/list-view/appender.js +4 -3
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/branch.js +7 -6
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +1 -2
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/provider/index.js +1 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/index.js +4 -2
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +2 -6
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +3 -3
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.js +2 -6
- package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build-module/components/tool-selector/index.js +1 -4
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +1 -1
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +5 -5
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +0 -1
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +1 -3
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +1 -3
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +5 -3
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +2 -3
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/block-bindings.js +20 -9
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/contrast-checker.js +0 -1
- package/build-module/hooks/contrast-checker.js.map +1 -1
- package/build-module/hooks/duotone.js +2 -2
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/style.js +4 -1
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +15 -23
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/private-apis.js +7 -5
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +2 -33
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +1 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/private-actions.js +54 -7
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +9 -20
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +16 -6
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +45 -8
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/dom.js +16 -1
- package/build-module/utils/dom.js.map +1 -1
- package/build-module/utils/get-font-styles-and-weights.js +2 -2
- package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +3 -2
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +9 -4
- package/build-style/content.css +9 -4
- package/build-style/style-rtl.css +33 -22
- package/build-style/style.css +33 -22
- package/build-types/utils/dom.d.ts.map +1 -1
- package/package.json +33 -32
- package/src/autocompleters/block.js +16 -7
- package/src/components/block-canvas/index.js +17 -1
- package/src/components/block-canvas/style.scss +2 -0
- package/src/components/block-card/index.js +3 -3
- package/src/components/block-full-height-alignment-control/index.js +1 -1
- package/src/components/block-inspector/style.scss +0 -6
- package/src/components/block-list/block.js +1 -2
- package/src/components/block-list/block.native.js +0 -4
- package/src/components/block-list/content.scss +1 -1
- package/src/components/block-list/index.js +4 -4
- package/src/components/block-list/use-block-props/index.js +0 -2
- package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -3
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +7 -20
- package/src/components/block-list/use-in-between-inserter.js +1 -1
- package/src/components/block-patterns-list/stories/fixtures.js +834 -0
- package/src/components/block-patterns-list/stories/index.story.js +81 -0
- package/src/components/block-patterns-list/style.scss +2 -0
- package/src/components/block-patterns-paging/index.js +1 -1
- package/src/components/block-popover/index.js +0 -62
- package/src/components/block-preview/index.js +2 -2
- package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
- package/src/components/block-settings-menu/index.js +3 -0
- package/src/components/block-toolbar/change-design.js +133 -0
- package/src/components/block-toolbar/index.js +25 -8
- package/src/components/block-toolbar/style.scss +16 -0
- package/src/components/block-tools/index.js +4 -17
- package/src/components/block-tools/insertion-point.js +4 -3
- package/src/components/block-tools/style.scss +0 -20
- package/src/components/block-tools/use-show-block-tools.js +0 -13
- package/src/components/block-tools/zoom-out-mode-inserters.js +25 -40
- package/src/components/block-variation-transforms/index.js +2 -2
- package/src/components/block-vertical-alignment-control/ui.js +11 -15
- package/src/components/border-radius-control/linked-button.js +9 -11
- package/src/components/collab/block-comment-icon-slot.js +12 -0
- package/src/components/collab/block-comment-icon-toolbar-slot.js +12 -0
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/src/components/convert-to-group-buttons/toolbar.js +4 -4
- package/src/components/global-styles/color-panel.js +2 -10
- package/src/components/global-styles/test/use-global-styles-context.native.js +1 -0
- package/src/components/global-styles/use-global-styles-context.native.js +6 -0
- package/src/components/iframe/content.scss +4 -9
- package/src/components/iframe/index.js +31 -34
- package/src/components/iframe/style.scss +2 -3
- package/src/components/image-size-control/index.js +74 -43
- package/src/components/image-size-control/test/index.js +5 -63
- package/src/components/inner-blocks/index.js +12 -6
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -3
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/src/components/inserter/category-tabs/index.js +16 -2
- package/src/components/inserter/menu.js +6 -4
- package/src/components/inserter/style.scss +13 -0
- package/src/components/inserter-button/index.native.js +1 -1
- package/src/components/inspector-controls-tabs/index.js +1 -6
- package/src/components/inspector-controls-tabs/utils.js +0 -3
- package/src/components/link-control/link-preview.js +15 -8
- package/src/components/link-control/test/index.js +63 -24
- package/src/components/list-view/appender.js +5 -6
- package/src/components/list-view/branch.js +8 -6
- package/src/components/list-view/index.js +1 -2
- package/src/components/provider/index.js +1 -3
- package/src/components/provider/test/experimental-provider.js +43 -1
- package/src/components/rich-text/event-listeners/index.js +4 -2
- package/src/components/rich-text/index.native.js +0 -2
- package/src/components/spacing-sizes-control/index.js +3 -3
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
- package/src/components/spacing-sizes-control/linked-button.js +2 -12
- package/src/components/tool-selector/index.js +1 -5
- package/src/components/url-input/index.js +1 -1
- package/src/components/use-block-commands/index.js +1 -1
- package/src/components/use-block-drop-zone/index.js +5 -5
- package/src/components/use-block-drop-zone/index.native.js +0 -1
- package/src/components/use-moving-animation/index.js +0 -1
- package/src/components/use-settings/index.js +0 -1
- package/src/components/writing-flow/index.js +5 -3
- package/src/components/writing-flow/use-tab-nav.js +1 -2
- package/src/hooks/block-bindings.js +48 -31
- package/src/hooks/contrast-checker.js +0 -1
- package/src/hooks/duotone.js +2 -2
- package/src/hooks/style.js +7 -3
- package/src/hooks/use-zoom-out.js +14 -34
- package/src/index.js +0 -1
- package/src/private-apis.js +6 -3
- package/src/store/actions.js +3 -52
- package/src/store/defaults.js +2 -1
- package/src/store/private-actions.js +71 -8
- package/src/store/private-selectors.js +9 -19
- package/src/store/reducer.js +25 -11
- package/src/store/selectors.js +59 -8
- package/src/store/test/actions.js +41 -0
- package/src/store/test/reducer.js +23 -0
- package/src/utils/dom.js +22 -2
- package/src/utils/get-font-styles-and-weights.js +2 -2
- package/src/utils/transform-styles/index.js +3 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -57
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
- package/build/components/block-toolbar/shuffle.js +0 -110
- package/build/components/block-toolbar/shuffle.js.map +0 -1
- package/build/components/block-tools/zoom-out-popover.js +0 -58
- package/build/components/block-tools/zoom-out-popover.js.map +0 -1
- package/build/components/block-tools/zoom-out-toolbar.js +0 -132
- package/build/components/block-tools/zoom-out-toolbar.js.map +0 -1
- package/build/components/block-vertical-alignment-control/icons.js +0 -48
- package/build/components/block-vertical-alignment-control/icons.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -51
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
- package/build-module/components/block-toolbar/shuffle.js +0 -103
- package/build-module/components/block-toolbar/shuffle.js.map +0 -1
- package/build-module/components/block-tools/zoom-out-popover.js +0 -49
- package/build-module/components/block-tools/zoom-out-popover.js.map +0 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +0 -124
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +0 -1
- package/build-module/components/block-vertical-alignment-control/icons.js +0 -41
- package/build-module/components/block-vertical-alignment-control/icons.js.map +0 -1
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -65
- package/src/components/block-toolbar/shuffle.js +0 -111
- package/src/components/block-tools/zoom-out-popover.js +0 -47
- package/src/components/block-tools/zoom-out-toolbar.js +0 -135
- package/src/components/block-vertical-alignment-control/icons.js +0 -34
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useDispatch","useSelect","switchToBlockType","store","blocksStore","ToolbarButton","ToolbarGroup","group","row","stack","grid","_x","useConvertToGroupButtonProps","blockEditorStore","jsx","_jsx","jsxs","_jsxs","layouts","type","flexWrap","orientation","BlockGroupToolbar","blocksSelection","clientIds","groupingBlockName","isGroupable","replaceBlocks","canRemove","variations","select","canRemoveBlocks","getBlockVariations","onConvertToGroup","layout","newBlocks","length","attributes","onConvertToRow","onConvertToStack","onConvertToGrid","canInsertRow","find","name","canInsertStack","canInsertGrid","children","icon","label","onClick"],"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/toolbar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { switchToBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { group, row, stack, grid } from '@wordpress/icons';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToGroupButtonProps } from '../convert-to-group-buttons';\nimport { store as blockEditorStore } from '../../store';\n\nconst layouts = {\n\tgroup: { type: 'constrained' },\n\trow: { type: 'flex', flexWrap: 'nowrap' },\n\tstack: { type: 'flex', orientation: 'vertical' },\n\tgrid: { type: 'grid' },\n};\n\nfunction BlockGroupToolbar() {\n\tconst { blocksSelection, clientIds, groupingBlockName, isGroupable } =\n\t\tuseConvertToGroupButtonProps();\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\n\tconst { canRemove, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canRemoveBlocks } = select( blockEditorStore );\n\t\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\tvariations: getBlockVariations(\n\t\t\t\t\tgroupingBlockName,\n\t\t\t\t\t'transform'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, groupingBlockName ]\n\t);\n\n\tconst onConvertToGroup = ( layout ) => {\n\t\tconst newBlocks = switchToBlockType(\n\t\t\tblocksSelection,\n\t\t\tgroupingBlockName\n\t\t);\n\n\t\tif ( typeof layout !== 'string' ) {\n\t\t\tlayout = 'group';\n\t\t}\n\n\t\tif ( newBlocks && newBlocks.length > 0 ) {\n\t\t\t// Because the block is not in the store yet we can't use\n\t\t\t// updateBlockAttributes so need to manually update attributes.\n\t\t\tnewBlocks[ 0 ].attributes.layout = layouts[ layout ];\n\t\t\treplaceBlocks( clientIds, newBlocks );\n\t\t}\n\t};\n\n\tconst onConvertToRow = () => onConvertToGroup( 'row' );\n\tconst onConvertToStack = () => onConvertToGroup( 'stack' );\n\tconst onConvertToGrid = () => onConvertToGroup( 'grid' );\n\n\t// Don't render the button if the current selection cannot be grouped.\n\t// A good example is selecting multiple button blocks within a Buttons block:\n\t// The group block is not a valid child of Buttons, so we should not show the button.\n\t// Any blocks that are locked against removal also cannot be grouped.\n\tif ( ! isGroupable || ! canRemove ) {\n\t\treturn null;\n\t}\n\n\tconst canInsertRow = !! variations.find(\n\t\t( { name } ) => name === 'group-row'\n\t);\n\tconst canInsertStack = !! variations.find(\n\t\t( { name } ) => name === 'group-stack'\n\t);\n\tconst canInsertGrid = !! variations.find(\n\t\t( { name } ) => name === 'group-grid'\n\t);\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ group }\n\t\t\t\tlabel={ _x( 'Group', '
|
|
1
|
+
{"version":3,"names":["useDispatch","useSelect","switchToBlockType","store","blocksStore","ToolbarButton","ToolbarGroup","group","row","stack","grid","_x","useConvertToGroupButtonProps","blockEditorStore","jsx","_jsx","jsxs","_jsxs","layouts","type","flexWrap","orientation","BlockGroupToolbar","blocksSelection","clientIds","groupingBlockName","isGroupable","replaceBlocks","canRemove","variations","select","canRemoveBlocks","getBlockVariations","onConvertToGroup","layout","newBlocks","length","attributes","onConvertToRow","onConvertToStack","onConvertToGrid","canInsertRow","find","name","canInsertStack","canInsertGrid","children","icon","label","onClick"],"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/toolbar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { switchToBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { group, row, stack, grid } from '@wordpress/icons';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToGroupButtonProps } from '../convert-to-group-buttons';\nimport { store as blockEditorStore } from '../../store';\n\nconst layouts = {\n\tgroup: { type: 'constrained' },\n\trow: { type: 'flex', flexWrap: 'nowrap' },\n\tstack: { type: 'flex', orientation: 'vertical' },\n\tgrid: { type: 'grid' },\n};\n\nfunction BlockGroupToolbar() {\n\tconst { blocksSelection, clientIds, groupingBlockName, isGroupable } =\n\t\tuseConvertToGroupButtonProps();\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\n\tconst { canRemove, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canRemoveBlocks } = select( blockEditorStore );\n\t\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\tvariations: getBlockVariations(\n\t\t\t\t\tgroupingBlockName,\n\t\t\t\t\t'transform'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, groupingBlockName ]\n\t);\n\n\tconst onConvertToGroup = ( layout ) => {\n\t\tconst newBlocks = switchToBlockType(\n\t\t\tblocksSelection,\n\t\t\tgroupingBlockName\n\t\t);\n\n\t\tif ( typeof layout !== 'string' ) {\n\t\t\tlayout = 'group';\n\t\t}\n\n\t\tif ( newBlocks && newBlocks.length > 0 ) {\n\t\t\t// Because the block is not in the store yet we can't use\n\t\t\t// updateBlockAttributes so need to manually update attributes.\n\t\t\tnewBlocks[ 0 ].attributes.layout = layouts[ layout ];\n\t\t\treplaceBlocks( clientIds, newBlocks );\n\t\t}\n\t};\n\n\tconst onConvertToRow = () => onConvertToGroup( 'row' );\n\tconst onConvertToStack = () => onConvertToGroup( 'stack' );\n\tconst onConvertToGrid = () => onConvertToGroup( 'grid' );\n\n\t// Don't render the button if the current selection cannot be grouped.\n\t// A good example is selecting multiple button blocks within a Buttons block:\n\t// The group block is not a valid child of Buttons, so we should not show the button.\n\t// Any blocks that are locked against removal also cannot be grouped.\n\tif ( ! isGroupable || ! canRemove ) {\n\t\treturn null;\n\t}\n\n\tconst canInsertRow = !! variations.find(\n\t\t( { name } ) => name === 'group-row'\n\t);\n\tconst canInsertStack = !! variations.find(\n\t\t( { name } ) => name === 'group-stack'\n\t);\n\tconst canInsertGrid = !! variations.find(\n\t\t( { name } ) => name === 'group-grid'\n\t);\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ group }\n\t\t\t\tlabel={ _x( 'Group', 'action: convert blocks to group' ) }\n\t\t\t\tonClick={ onConvertToGroup }\n\t\t\t/>\n\t\t\t{ canInsertRow && (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ row }\n\t\t\t\t\tlabel={ _x( 'Row', 'action: convert blocks to row' ) }\n\t\t\t\t\tonClick={ onConvertToRow }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canInsertStack && (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ stack }\n\t\t\t\t\tlabel={ _x( 'Stack', 'action: convert blocks to stack' ) }\n\t\t\t\t\tonClick={ onConvertToStack }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canInsertGrid && (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ grid }\n\t\t\t\t\tlabel={ _x( 'Grid', 'action: convert blocks to grid' ) }\n\t\t\t\t\tonClick={ onConvertToGrid }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ToolbarGroup>\n\t);\n}\n\nexport default BlockGroupToolbar;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import clsx from 'clsx';
|
|
|
8
8
|
*/
|
|
9
9
|
import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalHStack as HStack, __experimentalZStack as ZStack, __experimentalDropdownContentWrapper as DropdownContentWrapper, ColorIndicator, Flex, FlexItem, Dropdown, Button, privateApis as componentsPrivateApis } from '@wordpress/components';
|
|
10
10
|
import { useCallback } from '@wordpress/element';
|
|
11
|
-
import { __
|
|
11
|
+
import { __ } from '@wordpress/i18n';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Internal dependencies
|
|
@@ -115,7 +115,6 @@ const LabeledColorIndicators = ({
|
|
|
115
115
|
}, index))
|
|
116
116
|
}), /*#__PURE__*/_jsx(FlexItem, {
|
|
117
117
|
className: "block-editor-panel-color-gradient-settings__color-name",
|
|
118
|
-
title: label,
|
|
119
118
|
children: label
|
|
120
119
|
})]
|
|
121
120
|
});
|
|
@@ -174,9 +173,7 @@ function ColorPanelDropdown({
|
|
|
174
173
|
className: clsx('block-editor-panel-color-gradient-settings__dropdown', {
|
|
175
174
|
'is-open': isOpen
|
|
176
175
|
}),
|
|
177
|
-
'aria-expanded': isOpen
|
|
178
|
-
'aria-label': sprintf(/* translators: %s is the type of color property, e.g., "background" */
|
|
179
|
-
__('Color %s styles'), label)
|
|
176
|
+
'aria-expanded': isOpen
|
|
180
177
|
};
|
|
181
178
|
return /*#__PURE__*/_jsx(Button, {
|
|
182
179
|
__next40pxDefaultSize: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","ColorIndicator","Flex","FlexItem","Dropdown","Button","privateApis","componentsPrivateApis","useCallback","__","sprintf","ColorGradientControl","useColorsPerOrigin","useGradientsPerOrigin","getValueFromVariable","useToolsPanelDropdownMenuProps","setImmutably","unlock","jsx","_jsx","jsxs","_jsxs","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundColorPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","useHasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","color","text","length","custom","link","caption","gradients","heading","customGradient","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","resetAll","updatedValue","label","hasInnerWrapper","headingLevel","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","Tabs","LabeledColorIndicators","indicators","justify","isLayered","map","indicator","index","expanded","colorValue","title","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","_tabs$","currentTab","find","tab","key","firstTabKey","firstTab","onDeselect","renderToggle","onToggle","isOpen","toggleProps","onClick","__next40pxDefaultSize","renderContent","paddingSize","defaultTabId","TabList","Tab","tabId","tabKey","restTabProps","TabPanel","focusable","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","encodeColorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","allGradients","originGradients","gradientObject","gradient","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newColor","newValue","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","changedObject","resetTextColor","name","showPanel","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","restItem","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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, useToolsPanelDropdownMenuProps } 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 = useHasBackgroundColorPanel( 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 useHasBackgroundColorPanel( 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 dropdownMenuProps = useToolsPanelDropdownMenuProps();\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={ __( 'Elements' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\theadingLevel={ 3 }\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\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 { Tabs } = unlock( componentsPrivateApis );\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\tconst { key: firstTabKey, ...firstTab } = tabs[ 0 ] ?? {};\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: clsx(\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 __next40pxDefaultSize { ...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\tkey={ firstTabKey }\n\t\t\t\t\t\t\t\t\t{ ...firstTab }\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\tconst { key: tabKey, ...restTabProps } =\n\t\t\t\t\t\t\t\t\t\t\ttab;\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={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tabKey }\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\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ ...restTabProps }\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 = useHasBackgroundColorPanel( 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: __( 'Color' ),\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 ) {\n\t\t\treturn;\n\t\t}\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\tconst { key, ...restItem } = item;\n\t\t\t\treturn (\n\t\t\t\t\t<ColorPanelDropdown\n\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t{ ...restItem }\n\t\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\t\tgradients,\n\t\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ children }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,EAC9CC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,oCAAoC,IAAIC,sBAAsB,EAC9DC,cAAc,EACdC,IAAI,EACJC,QAAQ,EACRC,QAAQ,EACRC,MAAM,EACNC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;AAC9B,SAASC,WAAW,QAAQ,oBAAoB;AAChD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,6BAA6B;AAC9D,SAASC,kBAAkB,EAAEC,qBAAqB,QAAQ,SAAS;AACnE,SAASC,oBAAoB,EAAEC,8BAA8B,QAAQ,SAAS;AAC9E,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3C,OAAO,SAASC,gBAAgBA,CAAEC,QAAQ,EAAG;EAC5C,MAAMC,YAAY,GAAGC,eAAe,CAAEF,QAAS,CAAC;EAChD,MAAMG,kBAAkB,GAAGC,0BAA0B,CAAEJ,QAAS,CAAC;EACjE,MAAMK,YAAY,GAAGC,eAAe,CAAEN,QAAS,CAAC;EAChD,MAAMO,eAAe,GAAGC,kBAAkB,CAAER,QAAS,CAAC;EACtD,MAAMS,cAAc,GAAGC,iBAAiB,CAAEV,QAAS,CAAC;EACpD,MAAMW,eAAe,GAAGC,kBAAkB,CAAEZ,QAAS,CAAC;EAEtD,OACCC,YAAY,IACZE,kBAAkB,IAClBE,YAAY,IACZE,eAAe,IACfE,cAAc,IACdE,eAAe;AAEjB;AAEA,OAAO,SAAST,eAAeA,CAAEF,QAAQ,EAAG;EAC3C,MAAMa,MAAM,GAAGxB,kBAAkB,CAAEW,QAAS,CAAC;EAC7C,OACCA,QAAQ,EAAEc,KAAK,EAAEC,IAAI,KACnBF,MAAM,EAAEG,MAAM,GAAG,CAAC,IAAIhB,QAAQ,EAAEc,KAAK,EAAEG,MAAM,CAAE;AAEnD;AAEA,OAAO,SAASX,eAAeA,CAAEN,QAAQ,EAAG;EAC3C,MAAMa,MAAM,GAAGxB,kBAAkB,CAAEW,QAAS,CAAC;EAC7C,OACCA,QAAQ,EAAEc,KAAK,EAAEI,IAAI,KACnBL,MAAM,EAAEG,MAAM,GAAG,CAAC,IAAIhB,QAAQ,EAAEc,KAAK,EAAEG,MAAM,CAAE;AAEnD;AAEA,OAAO,SAASL,kBAAkBA,CAAEZ,QAAQ,EAAG;EAC9C,MAAMa,MAAM,GAAGxB,kBAAkB,CAAEW,QAAS,CAAC;EAC7C,OACCA,QAAQ,EAAEc,KAAK,EAAEK,OAAO,KACtBN,MAAM,EAAEG,MAAM,GAAG,CAAC,IAAIhB,QAAQ,EAAEc,KAAK,EAAEG,MAAM,CAAE;AAEnD;AAEA,OAAO,SAAST,kBAAkBA,CAAER,QAAQ,EAAG;EAC9C,MAAMa,MAAM,GAAGxB,kBAAkB,CAAEW,QAAS,CAAC;EAC7C,MAAMoB,SAAS,GAAG9B,qBAAqB,CAAEU,QAAS,CAAC;EACnD,OACCA,QAAQ,EAAEc,KAAK,EAAEO,OAAO,KACtBR,MAAM,EAAEG,MAAM,GAAG,CAAC,IACnBhB,QAAQ,EAAEc,KAAK,EAAEG,MAAM,IACvBG,SAAS,EAAEJ,MAAM,GAAG,CAAC,IACrBhB,QAAQ,EAAEc,KAAK,EAAEQ,cAAc,CAAE;AAEpC;AAEA,OAAO,SAASZ,iBAAiBA,CAAEV,QAAQ,EAAG;EAC7C,MAAMa,MAAM,GAAGxB,kBAAkB,CAAEW,QAAS,CAAC;EAC7C,MAAMoB,SAAS,GAAG9B,qBAAqB,CAAEU,QAAS,CAAC;EACnD,OACCA,QAAQ,EAAEc,KAAK,EAAES,MAAM,KACrBV,MAAM,EAAEG,MAAM,GAAG,CAAC,IACnBhB,QAAQ,EAAEc,KAAK,EAAEG,MAAM,IACvBG,SAAS,EAAEJ,MAAM,GAAG,CAAC,IACrBhB,QAAQ,EAAEc,KAAK,EAAEQ,cAAc,CAAE;AAEpC;AAEA,OAAO,SAASlB,0BAA0BA,CAAEJ,QAAQ,EAAG;EACtD,MAAMa,MAAM,GAAGxB,kBAAkB,CAAEW,QAAS,CAAC;EAC7C,MAAMoB,SAAS,GAAG9B,qBAAqB,CAAEU,QAAS,CAAC;EACnD,OACCA,QAAQ,EAAEc,KAAK,EAAEU,UAAU,KACzBX,MAAM,EAAEG,MAAM,GAAG,CAAC,IACnBhB,QAAQ,EAAEc,KAAK,EAAEG,MAAM,IACvBG,SAAS,EAAEJ,MAAM,GAAG,CAAC,IACrBhB,QAAQ,EAAEc,KAAK,EAAEQ,cAAc,CAAE;AAEpC;AAEA,SAASG,eAAeA,CAAE;EACzBC,cAAc;EACdC,QAAQ;EACRC,KAAK;EACLC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAMC,iBAAiB,GAAGvC,8BAA8B,CAAC,CAAC;EAC1D,MAAMwC,QAAQ,GAAGA,CAAA,KAAM;IACtB,MAAMC,YAAY,GAAGP,cAAc,CAAEE,KAAM,CAAC;IAC5CD,QAAQ,CAAEM,YAAa,CAAC;EACzB,CAAC;EAED,oBACCrC,IAAA,CAAC3B,UAAU;IACViE,KAAK,EAAGhD,EAAE,CAAE,UAAW,CAAG;IAC1B8C,QAAQ,EAAGA,QAAU;IACrBH,OAAO,EAAGA,OAAS;IACnBM,eAAe;IACfC,YAAY,EAAG,CAAG;IAClBC,SAAS,EAAC,2BAA2B;IACrCC,mCAAmC,EAAC,OAAO;IAC3CC,kCAAkC,EAAC,MAAM;IACzCR,iBAAiB,EAAGA,iBAAmB;IAAAD,QAAA,eAEvClC,IAAA;MAAKyC,SAAS,EAAC,0CAA0C;MAAAP,QAAA,EACtDA;IAAQ,CACN;EAAC,CACK,CAAC;AAEf;AAEA,MAAMU,gBAAgB,GAAG;EACxBzB,IAAI,EAAE,IAAI;EACVS,UAAU,EAAE,IAAI;EAChBN,IAAI,EAAE,IAAI;EACVG,OAAO,EAAE,IAAI;EACbE,MAAM,EAAE,IAAI;EACZJ,OAAO,EAAE;AACV,CAAC;AAED,MAAMsB,YAAY,GAAG;EACpBC,SAAS,EAAE,YAAY;EACvBC,MAAM,EAAE,EAAE;EACVC,KAAK,EAAE;AACR,CAAC;AAED,MAAM;EAAEC;AAAK,CAAC,GAAGnD,MAAM,CAAEV,qBAAsB,CAAC;AAEhD,MAAM8D,sBAAsB,GAAGA,CAAE;EAAEC,UAAU;EAAEb;AAAM,CAAC,kBACrDpC,KAAA,CAACzB,MAAM;EAAC2E,OAAO,EAAC,YAAY;EAAAlB,QAAA,gBAC3BlC,IAAA,CAACrB,MAAM;IAAC0E,SAAS,EAAG,KAAO;IAACN,MAAM,EAAG,CAAC,CAAG;IAAAb,QAAA,EACtCiB,UAAU,CAACG,GAAG,CAAE,CAAEC,SAAS,EAAEC,KAAK,kBACnCxD,IAAA,CAACjB,IAAI;MAAe0E,QAAQ,EAAG,KAAO;MAAAvB,QAAA,eACrClC,IAAA,CAAClB,cAAc;QAAC4E,UAAU,EAAGH;MAAW,CAAE;IAAC,GADhCC,KAEN,CACL;EAAC,CACI,CAAC,eACTxD,IAAA,CAAChB,QAAQ;IACRyD,SAAS,EAAC,wDAAwD;IAClEkB,KAAK,EAAGrB,KAAO;IAAAJ,QAAA,EAEbI;EAAK,CACE,CAAC;AAAA,CACJ,CACR;AAED,SAASsB,aAAaA,CAAE;EACvBC,UAAU;EACVC,cAAc;EACdC,SAAS;EACTC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,oBACCjE,IAAA,CAACR,oBAAoB;IAAA,GACfyE,4BAA4B;IACjCC,SAAS,EAAG,KAAO;IACnBC,WAAW;IACXC,iCAAiC;IACjCV,UAAU,EAAGG,UAAU,GAAGQ,SAAS,GAAGP,cAAgB;IACtDQ,aAAa,EAAGT,UAAU,GAAGC,cAAc,GAAGO,SAAW;IACzDE,aAAa,EAAGV,UAAU,GAAGQ,SAAS,GAAGL,QAAU;IACnDQ,gBAAgB,EAAGX,UAAU,GAAGG,QAAQ,GAAGK,SAAW;IACtDI,SAAS,EAAGX,cAAc,KAAKC,SAAW;IAC1CvB,YAAY,EAAG;EAAG,CAClB,CAAC;AAEJ;AAEA,SAASkC,kBAAkBA,CAAE;EAC5BpC,KAAK;EACLqC,QAAQ;EACRC,UAAU;EACVC,gBAAgB;EAChB1B,UAAU;EACV2B,IAAI;EACJb,4BAA4B;EAC5BhC;AACD,CAAC,EAAG;EAAA,IAAA8C,MAAA;EACH,MAAMC,UAAU,GAAGF,IAAI,CAACG,IAAI,CAAIC,GAAG,IAAMA,GAAG,CAACnB,SAAS,KAAKM,SAAU,CAAC;EACtE,MAAM;IAAEc,GAAG,EAAEC,WAAW;IAAE,GAAGC;EAAS,CAAC,IAAAN,MAAA,GAAGD,IAAI,CAAE,CAAC,CAAE,cAAAC,MAAA,cAAAA,MAAA,GAAI,CAAC,CAAC;EACzD,oBACC/E,IAAA,CAACzB,cAAc;IACdkE,SAAS,EAAC,wDAAwD;IAClEkC,QAAQ,EAAGA,QAAU;IACrBrC,KAAK,EAAGA,KAAO;IACfgD,UAAU,EAAGV,UAAY;IACzBC,gBAAgB,EAAGA,gBAAkB;IACrC5C,OAAO,EAAGA,OAAS;IAAAC,QAAA,eAEnBlC,IAAA,CAACf,QAAQ;MACR4D,YAAY,EAAGA,YAAc;MAC7BJ,SAAS,EAAC,4DAA4D;MACtE8C,YAAY,EAAGA,CAAE;QAAEC,QAAQ;QAAEC;MAAO,CAAC,KAAM;QAC1C,MAAMC,WAAW,GAAG;UACnBC,OAAO,EAAEH,QAAQ;UACjB/C,SAAS,EAAEtE,IAAI,CACd,sDAAsD,EACtD;YAAE,SAAS,EAAEsH;UAAO,CACrB,CAAC;UACD,eAAe,EAAEA,MAAM;UACvB,YAAY,EAAElG,OAAO,CACpB;UACAD,EAAE,CAAE,iBAAkB,CAAC,EACvBgD,KACD;QACD,CAAC;QAED,oBACCtC,IAAA,CAACd,MAAM;UAAC0G,qBAAqB;UAAA,GAAMF,WAAW;UAAAxD,QAAA,eAC7ClC,IAAA,CAACkD,sBAAsB;YACtBC,UAAU,EAAGA,UAAY;YACzBb,KAAK,EAAGA;UAAO,CACf;QAAC,CACK,CAAC;MAEX,CAAG;MACHuD,aAAa,EAAGA,CAAA,kBACf7F,IAAA,CAACnB,sBAAsB;QAACiH,WAAW,EAAC,MAAM;QAAA5D,QAAA,eACzChC,KAAA;UAAKuC,SAAS,EAAC,8DAA8D;UAAAP,QAAA,GAC1E4C,IAAI,CAAC1D,MAAM,KAAK,CAAC,iBAClBpB,IAAA,CAAC4D,aAAa;YAAA,GAERyB,QAAQ;YACbpB,4BAA4B,EAC3BA;UACA,GAJKmB,WAKN,CACD,EACCN,IAAI,CAAC1D,MAAM,GAAG,CAAC,iBAChBlB,KAAA,CAAC+C,IAAI;YAAC8C,YAAY,EAAGf,UAAU,EAAEG,GAAK;YAAAjD,QAAA,gBACrClC,IAAA,CAACiD,IAAI,CAAC+C,OAAO;cAAA9D,QAAA,EACV4C,IAAI,CAACxB,GAAG,CAAI4B,GAAG,iBAChBlF,IAAA,CAACiD,IAAI,CAACgD,GAAG;gBAERC,KAAK,EAAGhB,GAAG,CAACC,GAAK;gBAAAjD,QAAA,EAEfgD,GAAG,CAAC5C;cAAK,GAHL4C,GAAG,CAACC,GAID,CACT;YAAC,CACU,CAAC,EAEbL,IAAI,CAACxB,GAAG,CAAI4B,GAAG,IAAM;cACtB,MAAM;gBAAEC,GAAG,EAAEgB,MAAM;gBAAE,GAAGC;cAAa,CAAC,GACrClB,GAAG;cACJ,oBACClF,IAAA,CAACiD,IAAI,CAACoD,QAAQ;gBAEbH,KAAK,EAAGC,MAAQ;gBAChBG,SAAS,EAAG,KAAO;gBAAApE,QAAA,eAEnBlC,IAAA,CAAC4D,aAAa;kBAAA,GAERwC,YAAY;kBACjBnC,4BAA4B,EAC3BA;gBACA,GAJKkC,MAKN;cAAC,GAVIA,MAWQ,CAAC;YAElB,CAAE,CAAC;UAAA,CACE,CACN;QAAA,CACG;MAAC,CACiB;IACtB,CACH;EAAC,CACa,CAAC;AAEnB;AAEA,eAAe,SAASI,UAAUA,CAAE;EACnCC,EAAE,EAAEC,OAAO,GAAG5E,eAAe;EAC7BG,KAAK;EACLD,QAAQ;EACR+B,cAAc,GAAG9B,KAAK;EACtB5B,QAAQ;EACR6B,OAAO;EACPyE,eAAe,GAAG9D,gBAAgB;EAClCV;AACD,CAAC,EAAG;EACH,MAAMjB,MAAM,GAAGxB,kBAAkB,CAAEW,QAAS,CAAC;EAC7C,MAAMoB,SAAS,GAAG9B,qBAAqB,CAAEU,QAAS,CAAC;EACnD,MAAMuG,sBAAsB,GAAGvG,QAAQ,EAAEc,KAAK,EAAEG,MAAM;EACtD,MAAMuF,yBAAyB,GAAGxG,QAAQ,EAAEc,KAAK,EAAEQ,cAAc;EACjE,MAAMmF,cAAc,GAAG5F,MAAM,CAACG,MAAM,GAAG,CAAC,IAAIuF,sBAAsB;EAClE,MAAMG,iBAAiB,GAAGtF,SAAS,CAACJ,MAAM,GAAG,CAAC,IAAIwF,yBAAyB;EAC3E,MAAMG,WAAW,GAAKC,QAAQ,IAC7BrH,oBAAoB,CAAE;IAAES;EAAS,CAAC,EAAE,EAAE,EAAE4G,QAAS,CAAC;EACnD,MAAMC,gBAAgB,GAAKvD,UAAU,IAAM;IAC1C,MAAMwD,SAAS,GAAGjG,MAAM,CAACkG,OAAO,CAC/B,CAAE;MAAElG,MAAM,EAAEmG;IAAa,CAAC,KAAMA,YACjC,CAAC;IACD,MAAMC,WAAW,GAAGH,SAAS,CAACjC,IAAI,CACjC,CAAE;MAAE/D;IAAM,CAAC,KAAMA,KAAK,KAAKwC,UAC5B,CAAC;IACD,OAAO2D,WAAW,GACf,mBAAmB,GAAGA,WAAW,CAACC,IAAI,GACtC5D,UAAU;EACd,CAAC;EACD,MAAM6D,mBAAmB,GAAKjD,aAAa,IAAM;IAChD,MAAMkD,YAAY,GAAGhG,SAAS,CAAC2F,OAAO,CACrC,CAAE;MAAE3F,SAAS,EAAEiG;IAAgB,CAAC,KAAMA,eACvC,CAAC;IACD,MAAMC,cAAc,GAAGF,YAAY,CAACvC,IAAI,CACvC,CAAE;MAAE0C;IAAS,CAAC,KAAMA,QAAQ,KAAKrD,aAClC,CAAC;IACD,OAAOoD,cAAc,GAClB,sBAAsB,GAAGA,cAAc,CAACJ,IAAI,GAC5ChD,aAAa;EACjB,CAAC;;EAED;EACA,MAAMsD,mBAAmB,GAAGpH,0BAA0B,CAAEJ,QAAS,CAAC;EAClE,MAAMyH,eAAe,GAAGd,WAAW,CAAEjD,cAAc,EAAE5C,KAAK,EAAEU,UAAW,CAAC;EACxE,MAAMkG,mBAAmB,GAAGf,WAAW,CAAE/E,KAAK,EAAEd,KAAK,EAAEU,UAAW,CAAC;EACnE,MAAM+F,QAAQ,GAAGZ,WAAW,CAAEjD,cAAc,EAAE5C,KAAK,EAAEyG,QAAS,CAAC;EAC/D,MAAMI,YAAY,GAAGhB,WAAW,CAAE/E,KAAK,EAAEd,KAAK,EAAEyG,QAAS,CAAC;EAC1D,MAAMK,aAAa,GAAGA,CAAA,KAAM,CAAC,CAAEF,mBAAmB,IAAI,CAAC,CAAEC,YAAY;EACrE,MAAME,kBAAkB,GAAKC,QAAQ,IAAM;IAC1C,MAAMC,QAAQ,GAAGtI,YAAY,CAC5BmC,KAAK,EACL,CAAE,OAAO,EAAE,YAAY,CAAE,EACzBiF,gBAAgB,CAAEiB,QAAS,CAC5B,CAAC;IACDC,QAAQ,CAACjH,KAAK,CAACyG,QAAQ,GAAGtD,SAAS;IACnCtC,QAAQ,CAAEoG,QAAS,CAAC;EACrB,CAAC;EACD,MAAMC,WAAW,GAAKC,WAAW,IAAM;IACtC,MAAMF,QAAQ,GAAGtI,YAAY,CAC5BmC,KAAK,EACL,CAAE,OAAO,EAAE,UAAU,CAAE,EACvBuF,mBAAmB,CAAEc,WAAY,CAClC,CAAC;IACDF,QAAQ,CAACjH,KAAK,CAACU,UAAU,GAAGyC,SAAS;IACrCtC,QAAQ,CAAEoG,QAAS,CAAC;EACrB,CAAC;EACD,MAAMG,eAAe,GAAGA,CAAA,KAAM;IAC7B,MAAMH,QAAQ,GAAGtI,YAAY,CAC5BmC,KAAK,EACL,CAAE,OAAO,EAAE,YAAY,CAAE,EACzBqC,SACD,CAAC;IACD8D,QAAQ,CAACjH,KAAK,CAACyG,QAAQ,GAAGtD,SAAS;IACnCtC,QAAQ,CAAEoG,QAAS,CAAC;EACrB,CAAC;;EAED;EACA,MAAMI,aAAa,GAAG7H,eAAe,CAAEN,QAAS,CAAC;EACjD,MAAMoI,SAAS,GAAGzB,WAAW,CAC5BjD,cAAc,EAAE2E,QAAQ,EAAEnH,IAAI,EAAEJ,KAAK,EAAEC,IACxC,CAAC;EACD,MAAMuH,aAAa,GAAG3B,WAAW,CAAE/E,KAAK,EAAEyG,QAAQ,EAAEnH,IAAI,EAAEJ,KAAK,EAAEC,IAAK,CAAC;EACvE,MAAMwH,YAAY,GAAKT,QAAQ,IAAM;IACpCnG,QAAQ,CACPlC,YAAY,CACXmC,KAAK,EACL,CAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAE,EACvCiF,gBAAgB,CAAEiB,QAAS,CAC5B,CACD,CAAC;EACF,CAAC;EACD,MAAMU,cAAc,GAAG7B,WAAW,CACjCjD,cAAc,EAAE2E,QAAQ,EAAEnH,IAAI,GAAI,QAAQ,CAAE,EAAEJ,KAAK,EAAEC,IACtD,CAAC;EACD,MAAM0H,kBAAkB,GAAG9B,WAAW,CACrC/E,KAAK,EAAEyG,QAAQ,EAAEnH,IAAI,GAAI,QAAQ,CAAE,EAAEJ,KAAK,EAAEC,IAC7C,CAAC;EACD,MAAM2H,iBAAiB,GAAKZ,QAAQ,IAAM;IACzCnG,QAAQ,CACPlC,YAAY,CACXmC,KAAK,EACL,CAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAE,EACjDiF,gBAAgB,CAAEiB,QAAS,CAC5B,CACD,CAAC;EACF,CAAC;EACD,MAAMa,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAEL,aAAa,IAAI,CAAC,CAAEG,kBAAkB;EAC/D,MAAMG,SAAS,GAAGA,CAAA,KAAM;IACvB,IAAIb,QAAQ,GAAGtI,YAAY,CAC1BmC,KAAK,EACL,CAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAE,EACjDqC,SACD,CAAC;IACD8D,QAAQ,GAAGtI,YAAY,CACtBsI,QAAQ,EACR,CAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAE,EACvC9D,SACD,CAAC;IACDtC,QAAQ,CAAEoG,QAAS,CAAC;EACrB,CAAC;;EAED;EACA,MAAMc,aAAa,GAAG3I,eAAe,CAAEF,QAAS,CAAC;EACjD,MAAM8I,SAAS,GAAGnC,WAAW,CAAEjD,cAAc,EAAE5C,KAAK,EAAEC,IAAK,CAAC;EAC5D,MAAMgI,aAAa,GAAGpC,WAAW,CAAE/E,KAAK,EAAEd,KAAK,EAAEC,IAAK,CAAC;EACvD,MAAMiI,YAAY,GAAGA,CAAA,KAAM,CAAC,CAAED,aAAa;EAC3C,MAAME,YAAY,GAAKnB,QAAQ,IAAM;IACpC,IAAIoB,aAAa,GAAGzJ,YAAY,CAC/BmC,KAAK,EACL,CAAE,OAAO,EAAE,MAAM,CAAE,EACnBiF,gBAAgB,CAAEiB,QAAS,CAC5B,CAAC;IACD,IAAKgB,SAAS,KAAKV,SAAS,EAAG;MAC9Bc,aAAa,GAAGzJ,YAAY,CAC3ByJ,aAAa,EACb,CAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAE,EACvCrC,gBAAgB,CAAEiB,QAAS,CAC5B,CAAC;IACF;IAEAnG,QAAQ,CAAEuH,aAAc,CAAC;EAC1B,CAAC;EACD,MAAMC,cAAc,GAAGA,CAAA,KAAMF,YAAY,CAAEhF,SAAU,CAAC;;EAEtD;EACA,MAAMoE,QAAQ,GAAG,CAChB;IACCe,IAAI,EAAE,SAAS;IACflH,KAAK,EAAEhD,EAAE,CAAE,UAAW,CAAC;IACvBmK,SAAS,EAAEzI,kBAAkB,CAAEZ,QAAS;EACzC,CAAC,EACD;IACCoJ,IAAI,EAAE,QAAQ;IACdlH,KAAK,EAAEhD,EAAE,CAAE,QAAS,CAAC;IACrBmK,SAAS,EAAE3I,iBAAiB,CAAEV,QAAS;EACxC,CAAC,EACD;IACCoJ,IAAI,EAAE,SAAS;IACflH,KAAK,EAAEhD,EAAE,CAAE,SAAU,CAAC;IACtBmK,SAAS,EAAE7I,kBAAkB,CAAER,QAAS;EACzC,CAAC,EACD;IACCoJ,IAAI,EAAE,IAAI;IACVlH,KAAK,EAAEhD,EAAE,CAAE,IAAK,CAAC;IACjBmK,SAAS,EAAE7I,kBAAkB,CAAER,QAAS;EACzC,CAAC,EACD;IACCoJ,IAAI,EAAE,IAAI;IACVlH,KAAK,EAAEhD,EAAE,CAAE,IAAK,CAAC;IACjBmK,SAAS,EAAE7I,kBAAkB,CAAER,QAAS;EACzC,CAAC,EACD;IACCoJ,IAAI,EAAE,IAAI;IACVlH,KAAK,EAAEhD,EAAE,CAAE,IAAK,CAAC;IACjBmK,SAAS,EAAE7I,kBAAkB,CAAER,QAAS;EACzC,CAAC,EACD;IACCoJ,IAAI,EAAE,IAAI;IACVlH,KAAK,EAAEhD,EAAE,CAAE,IAAK,CAAC;IACjBmK,SAAS,EAAE7I,kBAAkB,CAAER,QAAS;EACzC,CAAC,EACD;IACCoJ,IAAI,EAAE,IAAI;IACVlH,KAAK,EAAEhD,EAAE,CAAE,IAAK,CAAC;IACjBmK,SAAS,EAAE7I,kBAAkB,CAAER,QAAS;EACzC,CAAC,EACD;IACCoJ,IAAI,EAAE,IAAI;IACVlH,KAAK,EAAEhD,EAAE,CAAE,IAAK,CAAC;IACjBmK,SAAS,EAAE7I,kBAAkB,CAAER,QAAS;EACzC,CAAC,CACD;EAED,MAAM0B,cAAc,GAAGzC,WAAW,CAAIqK,aAAa,IAAM;IACxD,OAAO;MACN,GAAGA,aAAa;MAChBxI,KAAK,EAAEmD,SAAS;MAChBoE,QAAQ,EAAE;QACT,GAAGiB,aAAa,EAAEjB,QAAQ;QAC1BnH,IAAI,EAAE;UACL,GAAGoI,aAAa,EAAEjB,QAAQ,EAAEnH,IAAI;UAChCJ,KAAK,EAAEmD,SAAS;UAChB,QAAQ,EAAE;YACTnD,KAAK,EAAEmD;UACR;QACD,CAAC;QACD,GAAGoE,QAAQ,CAACkB,MAAM,CAAE,CAAEC,GAAG,EAAEC,OAAO,KAAM;UACvC,OAAO;YACN,GAAGD,GAAG;YACN,CAAEC,OAAO,CAACL,IAAI,GAAI;cACjB,GAAGE,aAAa,EAAEjB,QAAQ,GAAIoB,OAAO,CAACL,IAAI,CAAE;cAC5CtI,KAAK,EAAEmD;YACR;UACD,CAAC;QACF,CAAC,EAAE,CAAC,CAAE;MACP;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMyF,KAAK,GAAG,CACbb,aAAa,IAAI;IAChB9D,GAAG,EAAE,MAAM;IACX7C,KAAK,EAAEhD,EAAE,CAAE,MAAO,CAAC;IACnBqF,QAAQ,EAAEyE,YAAY;IACtBxE,UAAU,EAAE2E,cAAc;IAC1B1E,gBAAgB,EAAE6B,eAAe,CAACvF,IAAI;IACtCgC,UAAU,EAAE,CAAE+F,SAAS,CAAE;IACzBpE,IAAI,EAAE,CACL;MACCK,GAAG,EAAE,MAAM;MACX7C,KAAK,EAAEhD,EAAE,CAAE,MAAO,CAAC;MACnBwE,cAAc,EAAEoF,SAAS;MACzBlF,QAAQ,EAAEqF,YAAY;MACtBtF,SAAS,EAAEoF;IACZ,CAAC;EAEH,CAAC,EACDvB,mBAAmB,IAAI;IACtBzC,GAAG,EAAE,YAAY;IACjB7C,KAAK,EAAEhD,EAAE,CAAE,YAAa,CAAC;IACzBqF,QAAQ,EAAEqD,aAAa;IACvBpD,UAAU,EAAE0D,eAAe;IAC3BzD,gBAAgB,EAAE6B,eAAe,CAAC9E,UAAU;IAC5CuB,UAAU,EAAE,CAAEwE,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIE,eAAe,CAAE;IAC3C/C,IAAI,EAAE,CACL+B,cAAc,IAAI;MACjB1B,GAAG,EAAE,YAAY;MACjB7C,KAAK,EAAEhD,EAAE,CAAE,OAAQ,CAAC;MACpBwE,cAAc,EAAE+D,eAAe;MAC/B7D,QAAQ,EAAEiE,kBAAkB;MAC5BlE,SAAS,EAAE+D;IACZ,CAAC,EACDhB,iBAAiB,IAAI;MACpB3B,GAAG,EAAE,UAAU;MACf7C,KAAK,EAAEhD,EAAE,CAAE,UAAW,CAAC;MACvBwE,cAAc,EAAE6D,QAAQ;MACxB3D,QAAQ,EAAEoE,WAAW;MACrBrE,SAAS,EAAEgE,YAAY;MACvBlE,UAAU,EAAE;IACb,CAAC,CACD,CAACkG,MAAM,CAAEC,OAAQ;EACnB,CAAC,EACDzB,aAAa,IAAI;IAChBpD,GAAG,EAAE,MAAM;IACX7C,KAAK,EAAEhD,EAAE,CAAE,MAAO,CAAC;IACnBqF,QAAQ,EAAEoE,OAAO;IACjBnE,UAAU,EAAEoE,SAAS;IACrBnE,gBAAgB,EAAE6B,eAAe,CAACpF,IAAI;IACtC6B,UAAU,EAAE,CAAEqF,SAAS,EAAEI,cAAc,CAAE;IACzC9D,IAAI,EAAE,CACL;MACCK,GAAG,EAAE,MAAM;MACX7C,KAAK,EAAEhD,EAAE,CAAE,SAAU,CAAC;MACtBwE,cAAc,EAAE0E,SAAS;MACzBxE,QAAQ,EAAE2E,YAAY;MACtB5E,SAAS,EAAE2E;IACZ,CAAC,EACD;MACCvD,GAAG,EAAE,OAAO;MACZ7C,KAAK,EAAEhD,EAAE,CAAE,OAAQ,CAAC;MACpBwE,cAAc,EAAE8E,cAAc;MAC9B5E,QAAQ,EAAE8E,iBAAiB;MAC3B/E,SAAS,EAAE8E;IACZ,CAAC;EAEH,CAAC,CACD,CAACkB,MAAM,CAAEC,OAAQ,CAAC;EAEnBvB,QAAQ,CAACwB,OAAO,CAAE,CAAE;IAAET,IAAI;IAAElH,KAAK;IAAEmH;EAAU,CAAC,KAAM;IACnD,IAAK,CAAEA,SAAS,EAAG;MAClB;IACD;IAEA,MAAMS,sBAAsB,GAAGnD,WAAW,CACzCjD,cAAc,EAAE2E,QAAQ,GAAIe,IAAI,CAAE,EAAEtI,KAAK,EAAEU,UAC5C,CAAC;IACD,MAAMuI,eAAe,GAAGpD,WAAW,CAClCjD,cAAc,EAAE2E,QAAQ,GAAIe,IAAI,CAAE,EAAEtI,KAAK,EAAEyG,QAC5C,CAAC;IACD,MAAMyC,gBAAgB,GAAGrD,WAAW,CACnCjD,cAAc,EAAE2E,QAAQ,GAAIe,IAAI,CAAE,EAAEtI,KAAK,EAAEC,IAC5C,CAAC;IACD,MAAMkJ,0BAA0B,GAAGtD,WAAW,CAC7C/E,KAAK,EAAEyG,QAAQ,GAAIe,IAAI,CAAE,EAAEtI,KAAK,EAAEU,UACnC,CAAC;IACD,MAAM0I,wBAAwB,GAAGvD,WAAW,CAC3C/E,KAAK,EAAEyG,QAAQ,GAAIe,IAAI,CAAE,EAAEtI,KAAK,EAAEyG,QACnC,CAAC;IACD,MAAM4C,oBAAoB,GAAGxD,WAAW,CACvC/E,KAAK,EAAEyG,QAAQ,GAAIe,IAAI,CAAE,EAAEtI,KAAK,EAAEC,IACnC,CAAC;IACD,MAAMqJ,UAAU,GAAGA,CAAA,KAClB,CAAC,EACAD,oBAAoB,IACpBF,0BAA0B,IAC1BC,wBAAwB,CACxB;IACF,MAAMG,YAAY,GAAGA,CAAA,KAAM;MAC1B,MAAMtC,QAAQ,GAAGtI,YAAY,CAC5BmC,KAAK,EACL,CAAE,UAAU,EAAEwH,IAAI,EAAE,OAAO,EAAE,YAAY,CAAE,EAC3CnF,SACD,CAAC;MACD8D,QAAQ,CAACM,QAAQ,CAAEe,IAAI,CAAE,CAACtI,KAAK,CAACyG,QAAQ,GAAGtD,SAAS;MACpD8D,QAAQ,CAACM,QAAQ,CAAEe,IAAI,CAAE,CAACtI,KAAK,CAACC,IAAI,GAAGkD,SAAS;MAChDtC,QAAQ,CAAEoG,QAAS,CAAC;IACrB,CAAC;IAED,MAAMuC,mBAAmB,GAAKC,YAAY,IAAM;MAC/C5I,QAAQ,CACPlC,YAAY,CACXmC,KAAK,EACL,CAAE,UAAU,EAAEwH,IAAI,EAAE,OAAO,EAAE,MAAM,CAAE,EACrCvC,gBAAgB,CAAE0D,YAAa,CAChC,CACD,CAAC;IACF,CAAC;IACD,MAAMC,yBAAyB,GAAKC,kBAAkB,IAAM;MAC3D,MAAM1C,QAAQ,GAAGtI,YAAY,CAC5BmC,KAAK,EACL,CAAE,UAAU,EAAEwH,IAAI,EAAE,OAAO,EAAE,YAAY,CAAE,EAC3CvC,gBAAgB,CAAE4D,kBAAmB,CACtC,CAAC;MACD1C,QAAQ,CAACM,QAAQ,CAAEe,IAAI,CAAE,CAACtI,KAAK,CAACyG,QAAQ,GAAGtD,SAAS;MACpDtC,QAAQ,CAAEoG,QAAS,CAAC;IACrB,CAAC;IACD,MAAM2C,kBAAkB,GAAKzC,WAAW,IAAM;MAC7C,MAAMF,QAAQ,GAAGtI,YAAY,CAC5BmC,KAAK,EACL,CAAE,UAAU,EAAEwH,IAAI,EAAE,OAAO,EAAE,UAAU,CAAE,EACzCjC,mBAAmB,CAAEc,WAAY,CAClC,CAAC;MACDF,QAAQ,CAACM,QAAQ,CAAEe,IAAI,CAAE,CAACtI,KAAK,CAACU,UAAU,GAAGyC,SAAS;MACtDtC,QAAQ,CAAEoG,QAAS,CAAC;IACrB,CAAC;IACD,MAAM4C,iBAAiB,GAAG,IAAI;IAC9B;IACA;IACA,MAAMC,kBAAkB,GAAGxB,IAAI,KAAK,SAAS;IAE7CM,KAAK,CAACmB,IAAI,CAAE;MACX9F,GAAG,EAAEqE,IAAI;MACTlH,KAAK;MACLqC,QAAQ,EAAE6F,UAAU;MACpB5F,UAAU,EAAE6F,YAAY;MACxB5F,gBAAgB,EAAE6B,eAAe,CAAE8C,IAAI,CAAE;MACzCrG,UAAU,EACT4H,iBAAiB,IAAIC,kBAAkB,GACpC,CACAZ,gBAAgB,EAChBD,eAAe,aAAfA,eAAe,cAAfA,eAAe,GAAID,sBAAsB,CACxC,GACD,CACAa,iBAAiB,GACdX,gBAAgB,GAChBD,eAAe,aAAfA,eAAe,cAAfA,eAAe,GAAID,sBAAsB,CAC3C;MACLpF,IAAI,EAAE,CACL+B,cAAc,IACbkE,iBAAiB,IAAI;QACpB5F,GAAG,EAAE,MAAM;QACX7C,KAAK,EAAEhD,EAAE,CAAE,MAAO,CAAC;QACnBwE,cAAc,EAAEsG,gBAAgB;QAChCpG,QAAQ,EAAE0G,mBAAmB;QAC7B3G,SAAS,EAAEwG;MACZ,CAAC,EACF1D,cAAc,IACbmE,kBAAkB,IAAI;QACrB7F,GAAG,EAAE,YAAY;QACjB7C,KAAK,EAAEhD,EAAE,CAAE,YAAa,CAAC;QACzBwE,cAAc,EAAEoG,sBAAsB;QACtClG,QAAQ,EAAE4G,yBAAyB;QACnC7G,SAAS,EAAEsG;MACZ,CAAC,EACFvD,iBAAiB,IAChBkE,kBAAkB,IAAI;QACrB7F,GAAG,EAAE,UAAU;QACf7C,KAAK,EAAEhD,EAAE,CAAE,UAAW,CAAC;QACvBwE,cAAc,EAAEqG,eAAe;QAC/BnG,QAAQ,EAAE8G,kBAAkB;QAC5B/G,SAAS,EAAEuG,wBAAwB;QACnCzG,UAAU,EAAE;MACb,CAAC,CACF,CAACkG,MAAM,CAAEC,OAAQ;IACnB,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,oBACC9J,KAAA,CAACuG,OAAO;IACP3E,cAAc,EAAGA,cAAgB;IACjCE,KAAK,EAAGA,KAAO;IACfD,QAAQ,EAAGA,QAAU;IACrBE,OAAO,EAAGA,OAAS;IAAAC,QAAA,GAEjB4H,KAAK,CAACxG,GAAG,CAAI4H,IAAI,IAAM;MACxB,MAAM;QAAE/F,GAAG;QAAE,GAAGgG;MAAS,CAAC,GAAGD,IAAI;MACjC,oBACClL,IAAA,CAAC0E,kBAAkB;QAAA,GAEbyG,QAAQ;QACblH,4BAA4B,EAAG;UAC9BhD,MAAM;UACNmK,mBAAmB,EAAE,CAAEzE,sBAAsB;UAC7CnF,SAAS;UACT6J,sBAAsB,EAAE,CAAEzE;QAC3B,CAAG;QACH3E,OAAO,EAAGA;MAAS,GARbkD,GASN,CAAC;IAEJ,CAAE,CAAC,EACDjD,QAAQ;EAAA,CACF,CAAC;AAEZ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","ColorIndicator","Flex","FlexItem","Dropdown","Button","privateApis","componentsPrivateApis","useCallback","__","ColorGradientControl","useColorsPerOrigin","useGradientsPerOrigin","getValueFromVariable","useToolsPanelDropdownMenuProps","setImmutably","unlock","jsx","_jsx","jsxs","_jsxs","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundColorPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","useHasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","color","text","length","custom","link","caption","gradients","heading","customGradient","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","resetAll","updatedValue","label","hasInnerWrapper","headingLevel","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","Tabs","LabeledColorIndicators","indicators","justify","isLayered","map","indicator","index","expanded","colorValue","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","_tabs$","currentTab","find","tab","key","firstTabKey","firstTab","onDeselect","renderToggle","onToggle","isOpen","toggleProps","onClick","__next40pxDefaultSize","renderContent","paddingSize","defaultTabId","TabList","Tab","tabId","tabKey","restTabProps","TabPanel","focusable","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","encodeColorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","allGradients","originGradients","gradientObject","gradient","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newColor","newValue","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","changedObject","resetTextColor","name","showPanel","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","restItem","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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 { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorGradientControl from '../colors-gradients/control';\nimport { useColorsPerOrigin, useGradientsPerOrigin } from './hooks';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } 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 = useHasBackgroundColorPanel( 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 useHasBackgroundColorPanel( 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 dropdownMenuProps = useToolsPanelDropdownMenuProps();\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={ __( 'Elements' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\theadingLevel={ 3 }\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\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 { Tabs } = unlock( componentsPrivateApis );\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 className=\"block-editor-panel-color-gradient-settings__color-name\">\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\tconst { key: firstTabKey, ...firstTab } = tabs[ 0 ] ?? {};\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: clsx(\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};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button __next40pxDefaultSize { ...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\tkey={ firstTabKey }\n\t\t\t\t\t\t\t\t\t{ ...firstTab }\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\tconst { key: tabKey, ...restTabProps } =\n\t\t\t\t\t\t\t\t\t\t\ttab;\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={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tabKey }\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\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ ...restTabProps }\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 = useHasBackgroundColorPanel( 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: __( 'Color' ),\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 ) {\n\t\t\treturn;\n\t\t}\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\tconst { key, ...restItem } = item;\n\t\t\t\treturn (\n\t\t\t\t\t<ColorPanelDropdown\n\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t{ ...restItem }\n\t\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\t\tgradients,\n\t\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\t/>\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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","ignoreList":[]}
|
|
@@ -317,6 +317,9 @@ export function getColorsAndGradients(defaultEditorColors = [], defaultEditorGra
|
|
|
317
317
|
return {
|
|
318
318
|
__experimentalGlobalStylesBaseStyles: null,
|
|
319
319
|
__experimentalFeatures: {
|
|
320
|
+
// Set an empty object to avoid errors from shared web components relying
|
|
321
|
+
// upon block settings. E.g., the Gallery block.
|
|
322
|
+
blocks: {},
|
|
320
323
|
color: {
|
|
321
324
|
...(!features?.color ? {
|
|
322
325
|
text: true,
|
|
@@ -345,6 +348,9 @@ export function getGlobalStyles(rawStyles, rawFeatures) {
|
|
|
345
348
|
const fontSizes = normalizeFontSizes(features?.typography?.fontSizes);
|
|
346
349
|
return {
|
|
347
350
|
__experimentalFeatures: {
|
|
351
|
+
// Set an empty object to avoid errors from shared web components relying
|
|
352
|
+
// upon block settings. E.g., the Gallery block.
|
|
353
|
+
blocks: {},
|
|
348
354
|
color: {
|
|
349
355
|
palette: colors?.palette,
|
|
350
356
|
gradients,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["camelCase","Dimensions","colord","usePreferredColorSchemeStyle","createContext","useContext","getPxFromCssUnit","useMultipleOriginColorsAndGradients","useSettings","SETTINGS_DEFAULTS","BLOCK_STYLE_ATTRIBUTES","GlobalStylesContext","style","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","_customBlockStyles$ke","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","values","find","slug","getBlockTypography","fontSizes","typographyStyles","typography","parsedFontSizes","fontSize","lineHeight","parseInt","mappedFontSize","size","getValueFromObjectPath","object","path","fieldName","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","split","mappedPresetValue","_mappedPresetValue$va","matchedValue","customValuesData","JSON","parse","colorKey","length","reduce","prev","curr","slice","width","height","get","parsedFontSize","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","dimensions","normalizedFontSizes","keysToProcess","push","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","origin","concat","defaultPaletteSetting","defaultPaletteValue","defaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultGradients","getGlobalStyles","rawStyles","_features$color$text","_features$color$backg","_features$color$defau","_features$color$defau2","stringify","globalStyles","customLineHeight","spacing","getMergedGlobalStyles","globalStyle","blockAttributes","baseGlobalColors","baseColors","fromEntries","filter","includes","wrapperPropsStyleFiltered","blockTypography","useGlobalStyles","useEditorColorScheme","baseStyle","darkStyle","deviceColorScheme","editorColors","editorBackgroundColor","isBackgroundColorDefined","isEditorBackgroundDark","isDark"],"sources":["@wordpress/block-editor/src/components/global-styles/use-global-styles-context.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { Dimensions } from 'react-native';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { createContext, useContext } from '@wordpress/element';\nimport { getPxFromCssUnit } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useMultipleOriginColorsAndGradients from '../colors-gradients/use-multiple-origin-colors-and-gradients';\nimport { useSettings } from '../use-settings';\nimport { SETTINGS_DEFAULTS } from '../../store/defaults';\n\nconst BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\nexport const GlobalStylesContext = createContext( { style: {} } );\nGlobalStylesContext.BLOCK_STYLE_ATTRIBUTES = BLOCK_STYLE_ATTRIBUTES;\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = Object.values( defaultColors ?? {} ).find(\n\t\t\t\t( { slug } ) => slug === value\n\t\t\t);\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nfunction getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\tconst parsedFontSizes = Object.values( fontSizes ?? {} );\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t\t\t( { slug } ) => slug === fontSize\n\t\t\t\t);\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t( { slug } ) => slug === blockStyleAttributes?.fontSize\n\t\t);\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\n/**\n * Return a value from a certain path of the object.\n * Path is specified as an array of properties, like: [ 'parent', 'child' ].\n *\n * @param {Object} object Input object.\n * @param {Array} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = Object.values(\n\t\t\t\t\t\tmappedPresetValue.values ?? {}\n\t\t\t\t\t).find( ( { slug } ) => slug === path[ 1 ] );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\n\t\t\t\t// Supports cases for variables like var(--wp--custom--color--background)\n\t\t\t\tif ( path[ 0 ] === 'color' ) {\n\t\t\t\t\tconst colorKey = path[ path.length - 1 ];\n\t\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === colorKey\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( matchedValue ) {\n\t\t\t\t\t\t\treturn `${ matchedValue?.color }`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tpath.reduce(\n\t\t\t\t\t\t( prev, curr ) => prev && prev[ curr ],\n\t\t\t\t\t\tcustomValuesData\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn getValueFromObjectPath( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn getValueFromObjectPath( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t( { slug } ) => slug === $2\n\t\t\t\t\t);\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nfunction getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\n\tconst dimensions = Dimensions.get( 'window' );\n\tconst normalizedFontSizes = {};\n\tconst keysToProcess = [];\n\n\t// Check if 'theme' or 'custom' keys exist and add them to keysToProcess array\n\tif ( fontSizes?.theme ) {\n\t\tkeysToProcess.push( 'theme' );\n\t}\n\tif ( fontSizes?.custom ) {\n\t\tkeysToProcess.push( 'custom' );\n\t}\n\n\t// If neither 'theme' nor 'custom' exist, add 'default' if it exists\n\tif ( keysToProcess.length === 0 && fontSizes?.default ) {\n\t\tkeysToProcess.push( 'default' );\n\t}\n\n\tkeysToProcess.forEach( ( key ) => {\n\t\tnormalizedFontSizes[ key ] = fontSizes[ key ].map(\n\t\t\t( fontSizeObject ) => {\n\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit( fontSizeObject.size, {\n\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t} );\n\t\t\t\treturn fontSizeObject;\n\t\t\t}\n\t\t);\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst defaultPaletteSetting =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst [ defaultPaletteValue ] = useSettings( defaultPaletteSetting );\n\t// In edge cases, the default palette might be undefined. To avoid\n\t// exceptions across the editor in that case, we explicitly return\n\t// the default editor colors.\n\tconst defaultPalette = defaultPaletteValue ?? SETTINGS_DEFAULTS.colors;\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: defaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t\tspacing: features?.spacing,\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n\nexport const getMergedGlobalStyles = (\n\tbaseGlobalStyles,\n\tglobalStyle,\n\twrapperPropsStyle,\n\tblockAttributes,\n\tdefaultColors,\n\tblockName,\n\tfontSizes\n) => {\n\t// Current support for general styles and blocks.\n\tconst baseGlobalColors = {\n\t\tbaseColors: {\n\t\t\tcolor: baseGlobalStyles?.color,\n\t\t\ttypography: baseGlobalStyles?.typography,\n\t\t\telements: {\n\t\t\t\tlink: baseGlobalStyles?.elements?.link,\n\t\t\t},\n\t\t\tblocks: {\n\t\t\t\t'core/button': baseGlobalStyles?.blocks?.[ 'core/button' ],\n\t\t\t},\n\t\t},\n\t};\n\n\tconst blockStyleAttributes = Object.fromEntries(\n\t\tObject.entries( blockAttributes ?? {} ).filter( ( [ key ] ) =>\n\t\t\tBLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t)\n\t);\n\n\t// This prevents certain wrapper styles from being applied to blocks that\n\t// don't support them yet.\n\tconst wrapperPropsStyleFiltered = Object.fromEntries(\n\t\tObject.entries( wrapperPropsStyle ?? {} ).filter( ( [ key ] ) =>\n\t\t\tBLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t)\n\t);\n\n\tconst mergedStyle = {\n\t\t...baseGlobalColors,\n\t\t...globalStyle,\n\t\t...wrapperPropsStyleFiltered,\n\t};\n\tconst blockColors = getBlockColors(\n\t\tblockStyleAttributes,\n\t\tdefaultColors,\n\t\tblockName,\n\t\tbaseGlobalStyles\n\t);\n\tconst blockPaddings = getBlockPaddings(\n\t\tmergedStyle,\n\t\twrapperPropsStyle,\n\t\tblockStyleAttributes,\n\t\tblockColors\n\t);\n\tconst blockTypography = getBlockTypography(\n\t\tblockStyleAttributes,\n\t\tfontSizes,\n\t\tblockName,\n\t\tbaseGlobalStyles\n\t);\n\n\treturn {\n\t\t...mergedStyle,\n\t\t...blockPaddings,\n\t\t...blockColors,\n\t\t...blockTypography,\n\t};\n};\n\nexport const useGlobalStyles = () => {\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\treturn globalStyles;\n};\n\n/**\n * Determine and apply appropriate color scheme based on global styles or device's light/dark mode.\n *\n * The function first attempts to retrieve the editor's background color from global styles.\n * If the detected background color is light, light styles are applied, and dark styles otherwise.\n * If no custom background color is defined, styles are applied using the device's dark/light setting.\n *\n * @param {Object} baseStyle - An object representing the base (light theme) styles for the editor.\n * @param {Object} darkStyle - An object representing the additional styles to apply when the editor is in dark mode.\n *\n * @return {Object} - The combined style object that should be applied to the editor.\n */\nexport const useEditorColorScheme = ( baseStyle, darkStyle ) => {\n\tconst globalStyles = useGlobalStyles();\n\n\tconst deviceColorScheme = usePreferredColorSchemeStyle(\n\t\tbaseStyle,\n\t\tdarkStyle\n\t);\n\n\tconst editorColors = globalStyles?.baseColors?.color;\n\tconst editorBackgroundColor = editorColors?.background;\n\n\tconst isBackgroundColorDefined =\n\t\ttypeof editorBackgroundColor !== 'undefined' &&\n\t\teditorBackgroundColor !== 'undefined';\n\n\tif ( isBackgroundColorDefined ) {\n\t\tconst isEditorBackgroundDark = colord( editorBackgroundColor ).isDark();\n\t\treturn isEditorBackgroundDark\n\t\t\t? { ...baseStyle, ...darkStyle }\n\t\t\t: baseStyle;\n\t}\n\n\treturn deviceColorScheme;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["camelCase","Dimensions","colord","usePreferredColorSchemeStyle","createContext","useContext","getPxFromCssUnit","useMultipleOriginColorsAndGradients","useSettings","SETTINGS_DEFAULTS","BLOCK_STYLE_ATTRIBUTES","GlobalStylesContext","style","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","_customBlockStyles$ke","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","values","find","slug","getBlockTypography","fontSizes","typographyStyles","typography","parsedFontSizes","fontSize","lineHeight","parseInt","mappedFontSize","size","getValueFromObjectPath","object","path","fieldName","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","split","mappedPresetValue","_mappedPresetValue$va","matchedValue","customValuesData","JSON","parse","colorKey","length","reduce","prev","curr","slice","width","height","get","parsedFontSize","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","dimensions","normalizedFontSizes","keysToProcess","push","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","origin","concat","defaultPaletteSetting","defaultPaletteValue","defaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultGradients","getGlobalStyles","rawStyles","_features$color$text","_features$color$backg","_features$color$defau","_features$color$defau2","stringify","globalStyles","customLineHeight","spacing","getMergedGlobalStyles","globalStyle","blockAttributes","baseGlobalColors","baseColors","fromEntries","filter","includes","wrapperPropsStyleFiltered","blockTypography","useGlobalStyles","useEditorColorScheme","baseStyle","darkStyle","deviceColorScheme","editorColors","editorBackgroundColor","isBackgroundColorDefined","isEditorBackgroundDark","isDark"],"sources":["@wordpress/block-editor/src/components/global-styles/use-global-styles-context.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { Dimensions } from 'react-native';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { createContext, useContext } from '@wordpress/element';\nimport { getPxFromCssUnit } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useMultipleOriginColorsAndGradients from '../colors-gradients/use-multiple-origin-colors-and-gradients';\nimport { useSettings } from '../use-settings';\nimport { SETTINGS_DEFAULTS } from '../../store/defaults';\n\nconst BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\nexport const GlobalStylesContext = createContext( { style: {} } );\nGlobalStylesContext.BLOCK_STYLE_ATTRIBUTES = BLOCK_STYLE_ATTRIBUTES;\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = Object.values( defaultColors ?? {} ).find(\n\t\t\t\t( { slug } ) => slug === value\n\t\t\t);\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nfunction getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\tconst parsedFontSizes = Object.values( fontSizes ?? {} );\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t\t\t( { slug } ) => slug === fontSize\n\t\t\t\t);\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t( { slug } ) => slug === blockStyleAttributes?.fontSize\n\t\t);\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\n/**\n * Return a value from a certain path of the object.\n * Path is specified as an array of properties, like: [ 'parent', 'child' ].\n *\n * @param {Object} object Input object.\n * @param {Array} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = Object.values(\n\t\t\t\t\t\tmappedPresetValue.values ?? {}\n\t\t\t\t\t).find( ( { slug } ) => slug === path[ 1 ] );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\n\t\t\t\t// Supports cases for variables like var(--wp--custom--color--background)\n\t\t\t\tif ( path[ 0 ] === 'color' ) {\n\t\t\t\t\tconst colorKey = path[ path.length - 1 ];\n\t\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === colorKey\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( matchedValue ) {\n\t\t\t\t\t\t\treturn `${ matchedValue?.color }`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tpath.reduce(\n\t\t\t\t\t\t( prev, curr ) => prev && prev[ curr ],\n\t\t\t\t\t\tcustomValuesData\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn getValueFromObjectPath( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn getValueFromObjectPath( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t( { slug } ) => slug === $2\n\t\t\t\t\t);\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nfunction getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\n\tconst dimensions = Dimensions.get( 'window' );\n\tconst normalizedFontSizes = {};\n\tconst keysToProcess = [];\n\n\t// Check if 'theme' or 'custom' keys exist and add them to keysToProcess array\n\tif ( fontSizes?.theme ) {\n\t\tkeysToProcess.push( 'theme' );\n\t}\n\tif ( fontSizes?.custom ) {\n\t\tkeysToProcess.push( 'custom' );\n\t}\n\n\t// If neither 'theme' nor 'custom' exist, add 'default' if it exists\n\tif ( keysToProcess.length === 0 && fontSizes?.default ) {\n\t\tkeysToProcess.push( 'default' );\n\t}\n\n\tkeysToProcess.forEach( ( key ) => {\n\t\tnormalizedFontSizes[ key ] = fontSizes[ key ].map(\n\t\t\t( fontSizeObject ) => {\n\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit( fontSizeObject.size, {\n\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t} );\n\t\t\t\treturn fontSizeObject;\n\t\t\t}\n\t\t);\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst defaultPaletteSetting =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst [ defaultPaletteValue ] = useSettings( defaultPaletteSetting );\n\t// In edge cases, the default palette might be undefined. To avoid\n\t// exceptions across the editor in that case, we explicitly return\n\t// the default editor colors.\n\tconst defaultPalette = defaultPaletteValue ?? SETTINGS_DEFAULTS.colors;\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: defaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\t// Set an empty object to avoid errors from shared web components relying\n\t\t\t// upon block settings. E.g., the Gallery block.\n\t\t\tblocks: {},\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\t// Set an empty object to avoid errors from shared web components relying\n\t\t\t// upon block settings. E.g., the Gallery block.\n\t\t\tblocks: {},\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t\tspacing: features?.spacing,\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n\nexport const getMergedGlobalStyles = (\n\tbaseGlobalStyles,\n\tglobalStyle,\n\twrapperPropsStyle,\n\tblockAttributes,\n\tdefaultColors,\n\tblockName,\n\tfontSizes\n) => {\n\t// Current support for general styles and blocks.\n\tconst baseGlobalColors = {\n\t\tbaseColors: {\n\t\t\tcolor: baseGlobalStyles?.color,\n\t\t\ttypography: baseGlobalStyles?.typography,\n\t\t\telements: {\n\t\t\t\tlink: baseGlobalStyles?.elements?.link,\n\t\t\t},\n\t\t\tblocks: {\n\t\t\t\t'core/button': baseGlobalStyles?.blocks?.[ 'core/button' ],\n\t\t\t},\n\t\t},\n\t};\n\n\tconst blockStyleAttributes = Object.fromEntries(\n\t\tObject.entries( blockAttributes ?? {} ).filter( ( [ key ] ) =>\n\t\t\tBLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t)\n\t);\n\n\t// This prevents certain wrapper styles from being applied to blocks that\n\t// don't support them yet.\n\tconst wrapperPropsStyleFiltered = Object.fromEntries(\n\t\tObject.entries( wrapperPropsStyle ?? {} ).filter( ( [ key ] ) =>\n\t\t\tBLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t)\n\t);\n\n\tconst mergedStyle = {\n\t\t...baseGlobalColors,\n\t\t...globalStyle,\n\t\t...wrapperPropsStyleFiltered,\n\t};\n\tconst blockColors = getBlockColors(\n\t\tblockStyleAttributes,\n\t\tdefaultColors,\n\t\tblockName,\n\t\tbaseGlobalStyles\n\t);\n\tconst blockPaddings = getBlockPaddings(\n\t\tmergedStyle,\n\t\twrapperPropsStyle,\n\t\tblockStyleAttributes,\n\t\tblockColors\n\t);\n\tconst blockTypography = getBlockTypography(\n\t\tblockStyleAttributes,\n\t\tfontSizes,\n\t\tblockName,\n\t\tbaseGlobalStyles\n\t);\n\n\treturn {\n\t\t...mergedStyle,\n\t\t...blockPaddings,\n\t\t...blockColors,\n\t\t...blockTypography,\n\t};\n};\n\nexport const useGlobalStyles = () => {\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\treturn globalStyles;\n};\n\n/**\n * Determine and apply appropriate color scheme based on global styles or device's light/dark mode.\n *\n * The function first attempts to retrieve the editor's background color from global styles.\n * If the detected background color is light, light styles are applied, and dark styles otherwise.\n * If no custom background color is defined, styles are applied using the device's dark/light setting.\n *\n * @param {Object} baseStyle - An object representing the base (light theme) styles for the editor.\n * @param {Object} darkStyle - An object representing the additional styles to apply when the editor is in dark mode.\n *\n * @return {Object} - The combined style object that should be applied to the editor.\n */\nexport const useEditorColorScheme = ( baseStyle, darkStyle ) => {\n\tconst globalStyles = useGlobalStyles();\n\n\tconst deviceColorScheme = usePreferredColorSchemeStyle(\n\t\tbaseStyle,\n\t\tdarkStyle\n\t);\n\n\tconst editorColors = globalStyles?.baseColors?.color;\n\tconst editorBackgroundColor = editorColors?.background;\n\n\tconst isBackgroundColorDefined =\n\t\ttypeof editorBackgroundColor !== 'undefined' &&\n\t\teditorBackgroundColor !== 'undefined';\n\n\tif ( isBackgroundColorDefined ) {\n\t\tconst isEditorBackgroundDark = colord( editorBackgroundColor ).isDark();\n\t\treturn isEditorBackgroundDark\n\t\t\t? { ...baseStyle, ...darkStyle }\n\t\t\t: baseStyle;\n\t}\n\n\treturn deviceColorScheme;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -110,7 +110,7 @@ function Iframe({
|
|
|
110
110
|
const settings = getSettings();
|
|
111
111
|
return {
|
|
112
112
|
resolvedAssets: settings.__unstableResolvedAssets,
|
|
113
|
-
isPreviewMode: settings.
|
|
113
|
+
isPreviewMode: settings.isPreviewMode
|
|
114
114
|
};
|
|
115
115
|
}, []);
|
|
116
116
|
const {
|
|
@@ -118,7 +118,7 @@ function Iframe({
|
|
|
118
118
|
scripts = ''
|
|
119
119
|
} = resolvedAssets;
|
|
120
120
|
const [iframeDocument, setIframeDocument] = useState();
|
|
121
|
-
const
|
|
121
|
+
const initialContainerWidthRef = useRef(0);
|
|
122
122
|
const [bodyClasses, setBodyClasses] = useState([]);
|
|
123
123
|
const clearerRef = useBlockSelectionClearer();
|
|
124
124
|
const [before, writingFlowRef, after] = useWritingFlow();
|
|
@@ -202,9 +202,10 @@ function Iframe({
|
|
|
202
202
|
const isZoomedOut = scale !== 1;
|
|
203
203
|
useEffect(() => {
|
|
204
204
|
if (!isZoomedOut) {
|
|
205
|
-
|
|
205
|
+
initialContainerWidthRef.current = containerWidth;
|
|
206
206
|
}
|
|
207
207
|
}, [containerWidth, isZoomedOut]);
|
|
208
|
+
const scaleContainerWidth = Math.max(initialContainerWidthRef.current, containerWidth);
|
|
208
209
|
const disabledRef = useDisabled({
|
|
209
210
|
isDisabled: !readonly
|
|
210
211
|
});
|
|
@@ -250,13 +251,6 @@ function Iframe({
|
|
|
250
251
|
}, [html]);
|
|
251
252
|
useEffect(() => cleanup, [cleanup]);
|
|
252
253
|
const zoomOutAnimationClassnameRef = useRef(null);
|
|
253
|
-
const handleZoomOutAnimationClassname = () => {
|
|
254
|
-
clearTimeout(zoomOutAnimationClassnameRef.current);
|
|
255
|
-
iframeDocument.documentElement.classList.add('zoom-out-animation');
|
|
256
|
-
zoomOutAnimationClassnameRef.current = setTimeout(() => {
|
|
257
|
-
iframeDocument.documentElement.classList.remove('zoom-out-animation');
|
|
258
|
-
}, 400); // 400ms should match the animation speed used in components/iframe/content.scss
|
|
259
|
-
};
|
|
260
254
|
|
|
261
255
|
// Toggle zoom out CSS Classes only when zoom out mode changes. We could add these into the useEffect
|
|
262
256
|
// that controls settings the CSS variables, but then we would need to do more work to ensure we're
|
|
@@ -266,6 +260,13 @@ function Iframe({
|
|
|
266
260
|
if (!iframeDocument || !isZoomedOut) {
|
|
267
261
|
return;
|
|
268
262
|
}
|
|
263
|
+
const handleZoomOutAnimationClassname = () => {
|
|
264
|
+
clearTimeout(zoomOutAnimationClassnameRef.current);
|
|
265
|
+
iframeDocument.documentElement.classList.add('zoom-out-animation');
|
|
266
|
+
zoomOutAnimationClassnameRef.current = setTimeout(() => {
|
|
267
|
+
iframeDocument.documentElement.classList.remove('zoom-out-animation');
|
|
268
|
+
}, 400); // 400ms should match the animation speed used in components/iframe/content.scss
|
|
269
|
+
};
|
|
269
270
|
handleZoomOutAnimationClassname();
|
|
270
271
|
iframeDocument.documentElement.classList.add('is-zoomed-out');
|
|
271
272
|
return () => {
|
|
@@ -281,36 +282,30 @@ function Iframe({
|
|
|
281
282
|
}
|
|
282
283
|
const maxWidth = 750;
|
|
283
284
|
// Note: When we initialize the zoom out when the canvas is smaller (sidebars open),
|
|
284
|
-
//
|
|
285
|
+
// initialContainerWidthRef will be smaller than the full page, and reflow will happen
|
|
285
286
|
// when the canvas area becomes larger due to sidebars closing. This is a known but
|
|
286
287
|
// minor divergence for now.
|
|
287
288
|
|
|
288
289
|
// This scaling calculation has to happen within the JS because CSS calc() can
|
|
289
290
|
// only divide and multiply by a unitless value. I.e. calc( 100px / 2 ) is valid
|
|
290
291
|
// but calc( 100px / 2px ) is not.
|
|
291
|
-
iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-scale', scale === '
|
|
292
|
+
iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-scale', scale === 'auto-scaled' ? (Math.min(containerWidth, maxWidth) - parseInt(frameSize) * 2) / scaleContainerWidth : scale);
|
|
292
293
|
|
|
293
294
|
// frameSize has to be a px value for the scaling and frame size to be computed correctly.
|
|
294
295
|
iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-frame-size', typeof frameSize === 'number' ? `${frameSize}px` : frameSize);
|
|
295
296
|
iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-content-height', `${contentHeight}px`);
|
|
296
297
|
iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-inner-height', `${iframeWindowInnerHeight}px`);
|
|
297
298
|
iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-container-width', `${containerWidth}px`);
|
|
298
|
-
iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-
|
|
299
|
-
|
|
300
|
-
// iframeDocument.documentElement.style.setProperty(
|
|
301
|
-
// '--wp-block-editor-iframe-zoom-out-outer-container-width',
|
|
302
|
-
// `${ Math.max( initialContainerWidth.current, containerWidth ) }px`
|
|
303
|
-
// );
|
|
304
|
-
|
|
299
|
+
iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-scale-container-width', `${scaleContainerWidth}px`);
|
|
305
300
|
return () => {
|
|
306
301
|
iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-scale');
|
|
307
302
|
iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-frame-size');
|
|
308
303
|
iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-content-height');
|
|
309
304
|
iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-inner-height');
|
|
310
305
|
iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-container-width');
|
|
311
|
-
iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-
|
|
306
|
+
iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-scale-container-width');
|
|
312
307
|
};
|
|
313
|
-
}, [scale, frameSize, iframeDocument, iframeWindowInnerHeight, contentHeight, containerWidth, windowInnerWidth, isZoomedOut]);
|
|
308
|
+
}, [scale, frameSize, iframeDocument, iframeWindowInnerHeight, contentHeight, containerWidth, windowInnerWidth, isZoomedOut, scaleContainerWidth]);
|
|
314
309
|
|
|
315
310
|
// Make sure to not render the before and after focusable div elements in view
|
|
316
311
|
// mode. They're only needed to capture focus in edit mode.
|
|
@@ -377,7 +372,7 @@ function Iframe({
|
|
|
377
372
|
children: [containerResizeListener, /*#__PURE__*/_jsx("div", {
|
|
378
373
|
className: clsx('block-editor-iframe__scale-container', isZoomedOut && 'is-zoomed-out'),
|
|
379
374
|
style: {
|
|
380
|
-
'--wp-block-editor-iframe-zoom-out-
|
|
375
|
+
'--wp-block-editor-iframe-zoom-out-scale-container-width': isZoomedOut && `${scaleContainerWidth}px`
|
|
381
376
|
},
|
|
382
377
|
children: iframe
|
|
383
378
|
})]
|