@wordpress/block-editor 13.4.0 → 14.0.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 +11 -0
- package/README.md +11 -1
- package/build/components/block-breadcrumb/index.js +3 -1
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-draggable/index.js +2 -2
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +24 -32
- package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build/components/block-mover/index.js +1 -2
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-popover/cover.js +1 -1
- package/build/components/block-popover/cover.js.map +1 -1
- package/build/components/block-popover/inbetween.js +2 -2
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +2 -2
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +1 -2
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +1 -1
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +15 -16
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-tools/zoom-out-toolbar.js +0 -1
- package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build/components/child-layout-control/index.js +3 -1
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/dimensions-tool/scale-tool.js +1 -0
- package/build/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build/components/font-family/index.js +12 -0
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +55 -51
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +1 -0
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/theme-file-uri-utils.js +0 -59
- package/build/components/global-styles/theme-file-uri-utils.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +0 -1
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +58 -39
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +96 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/grid/grid-item-movers.js +30 -26
- package/build/components/grid/grid-item-movers.js.map +1 -1
- package/build/components/grid/grid-item-resizer.js +14 -15
- package/build/components/grid/grid-item-resizer.js.map +1 -1
- package/build/components/grid/grid-visualizer.js +1 -1
- package/build/components/grid/grid-visualizer.js.map +1 -1
- package/build/components/grid/use-grid-layout-sync.js +56 -20
- package/build/components/grid/use-grid-layout-sync.js.map +1 -1
- package/build/components/iframe/index.js +4 -8
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +29 -2
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter/menu.js +2 -2
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/line-height-control/index.js +0 -15
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/search-input.js +0 -1
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/media-replace-flow/index.js +3 -1
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/resolution-tool/index.js +1 -0
- package/build/components/resolution-tool/index.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +4 -2
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -6
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/url-input/button.js +0 -1
- package/build/components/url-input/button.js.map +1 -1
- package/build/components/url-input/index.js +1 -11
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +0 -1
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +30 -4
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +3 -6
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +1 -3
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-settings/index.js +2 -1
- package/build/components/use-settings/index.js.map +1 -1
- package/build/hooks/block-bindings.js +248 -36
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/block-hooks.js +1 -0
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-style-variation.js +2 -2
- package/build/hooks/block-style-variation.js.map +1 -1
- package/build/hooks/contrast-checker.js +6 -6
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/duotone.js +3 -3
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/index.js +7 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/line-height.js +0 -1
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/spacing-visualizer.js +1 -1
- package/build/hooks/spacing-visualizer.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +4 -0
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/use-zoom-out.js +1 -1
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/hooks/utils.js +20 -0
- package/build/hooks/utils.js.map +1 -1
- package/build/index.js +7 -0
- package/build/index.js.map +1 -1
- package/build/private-apis.js +0 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +9 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +4 -4
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-editor-region.js +1 -1
- package/build/utils/get-editor-region.js.map +1 -1
- package/build/utils/get-px-from-css-unit.js +1 -1
- package/build/utils/get-px-from-css-unit.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +4 -2
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-draggable/index.js +3 -3
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-refs.js +24 -34
- package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build-module/components/block-mover/index.js +1 -2
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-popover/cover.js +1 -1
- package/build-module/components/block-popover/cover.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +1 -1
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +1 -1
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +1 -2
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +1 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js +1 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +16 -17
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +0 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +3 -1
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js +1 -0
- package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build-module/components/font-family/index.js +11 -0
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +55 -51
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +1 -0
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/theme-file-uri-utils.js +0 -58
- package/build-module/components/global-styles/theme-file-uri-utils.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +0 -1
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +57 -38
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +92 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/grid/grid-item-movers.js +30 -26
- package/build-module/components/grid/grid-item-movers.js.map +1 -1
- package/build-module/components/grid/grid-item-resizer.js +14 -15
- package/build-module/components/grid/grid-item-resizer.js.map +1 -1
- package/build-module/components/grid/grid-visualizer.js +1 -1
- package/build-module/components/grid/grid-visualizer.js.map +1 -1
- package/build-module/components/grid/use-grid-layout-sync.js +56 -20
- package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
- package/build-module/components/iframe/index.js +4 -8
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +30 -3
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter/menu.js +2 -2
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/line-height-control/index.js +0 -14
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/search-input.js +0 -1
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +3 -1
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/resolution-tool/index.js +1 -0
- package/build-module/components/resolution-tool/index.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +5 -3
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -6
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/button.js +0 -1
- package/build-module/components/url-input/button.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -11
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +0 -1
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +30 -4
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +3 -6
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +1 -3
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +2 -1
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/hooks/block-bindings.js +253 -40
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/block-hooks.js +1 -0
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-style-variation.js +3 -3
- package/build-module/hooks/block-style-variation.js.map +1 -1
- package/build-module/hooks/contrast-checker.js +7 -7
- package/build-module/hooks/contrast-checker.js.map +1 -1
- package/build-module/hooks/duotone.js +4 -4
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/index.js +2 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/line-height.js +0 -1
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/spacing-visualizer.js +1 -1
- package/build-module/hooks/spacing-visualizer.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +3 -0
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +1 -1
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/hooks/utils.js +19 -0
- package/build-module/hooks/utils.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 +1 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +9 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +4 -4
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-editor-region.js +1 -1
- package/build-module/utils/get-editor-region.js.map +1 -1
- package/build-module/utils/get-px-from-css-unit.js +1 -1
- package/build-module/utils/get-px-from-css-unit.js.map +1 -1
- package/build-style/content-rtl.css +5 -12
- package/build-style/content.css +5 -12
- package/build-style/default-editor-styles-rtl.css +3 -0
- package/build-style/default-editor-styles.css +3 -0
- package/build-style/style-rtl.css +88 -46
- package/build-style/style.css +88 -46
- package/package.json +31 -31
- package/src/autocompleters/style.scss +4 -0
- package/src/components/block-breadcrumb/index.js +4 -2
- package/src/components/block-canvas/style.scss +1 -0
- package/src/components/block-draggable/index.js +3 -3
- package/src/components/block-list/use-block-props/use-block-refs.js +27 -43
- package/src/components/block-mover/index.js +5 -2
- package/src/components/block-popover/cover.js +1 -1
- package/src/components/block-popover/inbetween.js +1 -1
- package/src/components/block-popover/index.js +1 -1
- package/src/components/block-tools/block-selection-button.js +1 -2
- package/src/components/block-tools/index.js +5 -6
- package/src/components/block-tools/use-block-toolbar-popover-props.js +1 -1
- package/src/components/block-tools/zoom-out-mode-inserters.js +14 -18
- package/src/components/block-tools/zoom-out-toolbar.js +0 -1
- package/src/components/button-block-appender/content.scss +1 -1
- package/src/components/child-layout-control/index.js +2 -0
- package/src/components/color-palette/test/__snapshots__/control.js.snap +2 -2
- package/src/components/colors-gradients/test/control.js +3 -2
- package/src/components/dimensions-tool/scale-tool.js +1 -0
- package/src/components/font-family/README.md +8 -0
- package/src/components/font-family/index.js +16 -0
- package/src/components/font-family/stories/index.story.js +54 -0
- package/src/components/global-styles/background-panel.js +69 -61
- package/src/components/global-styles/image-settings-panel.js +1 -0
- package/src/components/global-styles/style.scss +0 -10
- package/src/components/global-styles/test/theme-file-uri-utils.js +1 -26
- package/src/components/global-styles/test/use-global-styles-output.js +49 -4
- package/src/components/global-styles/test/utils.js +120 -0
- package/src/components/global-styles/theme-file-uri-utils.js +0 -59
- package/src/components/global-styles/typography-panel.js +0 -1
- package/src/components/global-styles/use-global-styles-output.js +67 -48
- package/src/components/global-styles/utils.js +112 -0
- package/src/components/grid/grid-item-movers.js +46 -44
- package/src/components/grid/grid-item-resizer.js +11 -17
- package/src/components/grid/grid-visualizer.js +1 -1
- package/src/components/grid/style.scss +60 -10
- package/src/components/grid/use-grid-layout-sync.js +68 -14
- package/src/components/iframe/content.scss +2 -2
- package/src/components/iframe/index.js +3 -7
- package/src/components/inserter/category-tabs/index.js +35 -2
- package/src/components/inserter/menu.js +2 -2
- package/src/components/inserter/style.scss +16 -11
- package/src/components/inspector-controls/README.md +5 -0
- package/src/components/line-height-control/README.md +0 -8
- package/src/components/line-height-control/index.js +1 -21
- package/src/components/line-height-control/stories/index.story.js +0 -1
- package/src/components/line-height-control/test/index.js +1 -7
- package/src/components/link-control/search-input.js +0 -1
- package/src/components/media-replace-flow/README.md +7 -0
- package/src/components/media-replace-flow/index.js +3 -1
- package/src/components/resolution-tool/index.js +1 -0
- package/src/components/responsive-block-control/test/index.js +5 -1
- package/src/components/skip-to-selected-block/index.js +5 -3
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -6
- package/src/components/tabbed-sidebar/style.scss +1 -19
- package/src/components/url-input/README.md +0 -5
- package/src/components/url-input/button.js +0 -1
- package/src/components/url-input/index.js +1 -15
- package/src/components/url-popover/link-editor.js +0 -1
- package/src/components/use-block-drop-zone/index.js +66 -14
- package/src/components/use-on-block-drop/index.js +1 -9
- package/src/components/use-resize-canvas/index.js +1 -3
- package/src/components/use-settings/index.js +2 -1
- package/src/hooks/block-bindings.js +303 -52
- package/src/hooks/block-bindings.scss +13 -2
- package/src/hooks/block-hooks.js +1 -0
- package/src/hooks/block-hooks.scss +1 -0
- package/src/hooks/block-style-variation.js +3 -3
- package/src/hooks/contrast-checker.js +7 -7
- package/src/hooks/duotone.js +4 -4
- package/src/hooks/index.js +2 -1
- package/src/hooks/line-height.js +0 -1
- package/src/hooks/spacing-visualizer.js +1 -1
- package/src/hooks/use-bindings-attributes.js +4 -0
- package/src/hooks/use-editor-wrapper-styles.native.scss +1 -0
- package/src/hooks/use-zoom-out.js +1 -1
- package/src/hooks/utils.js +14 -1
- package/src/index.js +1 -0
- package/src/private-apis.js +1 -2
- package/src/store/actions.js +13 -5
- package/src/store/selectors.js +4 -4
- package/src/style.scss +1 -1
- package/src/utils/get-editor-region.js +1 -1
- package/src/utils/get-px-from-css-unit.js +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -30
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -23
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
- package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_element","_fontFamily","_interopRequireDefault","_fontAppearanceControl","_lineHeightControl","_letterSpacingControl","_textAlignmentControl","_textTransformControl","_textDecorationControl","_writingModeControl","_utils","_object","_typographyUtils","_jsxRuntime","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextAlign","useHasTextAlignmentControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","typography","defaultFontSizes","fontSizes","default","length","theme","custom","customFontSize","some","key","fontFamilies","lineHeight","fontStyle","fontWeight","useAppearanceControlLabel","__","letterSpacing","textTransform","textAlign","textDecoration","writingMode","textColumns","getMergedFontSizes","_fontSizes$custom","_fontSizes$theme","_fontSizes$default","defaultFontSizesEnabled","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasFontFamilyEnabled","fontFamilyFaces","useMemo","getMergedFontFamiliesAndFontFamilyFaces","setFontFamily","newValue","slug","find","f","setImmutably","undefined","resetFontFamily","hasFontSizeEnabled","disableCustomFontSizes","mergedFontSizes","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","hasFontStyles","hasFontWeights","nearestFontStyle","nearestFontWeight","findNearestStyleAndWeight","setFontAppearance","useCallback","newFontStyle","newFontWeight","resetFontAppearance","useEffect","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","hasTextAlignmentControl","setTextAlign","resetTextAlign","previousValue","jsxs","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","size","__nextHasNoMarginBottom","FontSizePicker","withReset","withSlider","className","__unstableInputWidth","__experimentalNumberControl","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useMemo, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextAlignmentControl from '../text-alignment-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport {\n\tgetMergedFontFamiliesAndFontFamilyFaces,\n\tfindNearestStyleAndWeight,\n} from './typography-utils';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextAlign = useHasTextAlignmentControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextAlign ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\t( settings?.typography?.defaultFontSizes !== false &&\n\t\t\tsettings?.typography?.fontSizes?.default?.length ) ||\n\t\tsettings?.typography?.fontSizes?.theme?.length ||\n\t\tsettings?.typography?.fontSizes?.custom?.length ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn [ 'default', 'theme', 'custom' ].some(\n\t\t( key ) => settings?.typography?.fontFamilies?.[ key ]?.length\n\t);\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextAlignmentControl( settings ) {\n\treturn settings?.typography?.textAlign;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\n/**\n * Concatenate all the font sizes into a single list for the font size picker.\n *\n * @param {Object} settings The global styles settings.\n *\n * @return {Array} The merged font sizes.\n */\nfunction getMergedFontSizes( settings ) {\n\tconst fontSizes = settings?.typography?.fontSizes;\n\tconst defaultFontSizesEnabled = !! settings?.typography?.defaultFontSizes;\n\treturn [\n\t\t...( fontSizes?.custom ?? [] ),\n\t\t...( fontSizes?.theme ?? [] ),\n\t\t...( defaultFontSizesEnabled ? fontSizes?.default ?? [] : [] ),\n\t];\n}\n\nfunction TypographyToolsPanel( {\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={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextAlign: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst { fontFamilies, fontFamilyFaces } = useMemo( () => {\n\t\treturn getMergedFontFamiliesAndFontFamilyFaces( settings, fontFamily );\n\t}, [ settings, fontFamily ] );\n\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getMergedFontSizes( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst { nearestFontStyle, nearestFontWeight } = findNearestStyleAndWeight(\n\t\tfontFamilyFaces,\n\t\tfontStyle,\n\t\tfontWeight\n\t);\n\tconst setFontAppearance = useCallback(\n\t\t( { fontStyle: newFontStyle, fontWeight: newFontWeight } ) => {\n\t\t\t// Only update the font style and weight if they have changed.\n\t\t\tif ( newFontStyle !== fontStyle || newFontWeight !== fontWeight ) {\n\t\t\t\tonChange( {\n\t\t\t\t\t...value,\n\t\t\t\t\ttypography: {\n\t\t\t\t\t\t...value?.typography,\n\t\t\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ fontStyle, fontWeight, onChange, value ]\n\t);\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = useCallback( () => {\n\t\tsetFontAppearance( {} );\n\t}, [ setFontAppearance ] );\n\n\t// Check if previous font style and weight values are available in the new font family.\n\tuseEffect( () => {\n\t\tif ( nearestFontStyle && nearestFontWeight ) {\n\t\t\tsetFontAppearance( {\n\t\t\t\tfontStyle: nearestFontStyle,\n\t\t\t\tfontWeight: nearestFontWeight,\n\t\t\t} );\n\t\t} else {\n\t\t\t// Reset font appearance if there are no available styles or weights.\n\t\t\tresetFontAppearance();\n\t\t}\n\t}, [\n\t\tnearestFontStyle,\n\t\tnearestFontWeight,\n\t\tresetFontAppearance,\n\t\tsetFontAppearance,\n\t] );\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\t// Text Alignment\n\tconst hasTextAlignmentControl = useHasTextAlignmentControl( settings );\n\n\tconst textAlign = decodeValue( inheritedValue?.typography?.textAlign );\n\tconst setTextAlign = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textAlign' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextAlign = () => !! value?.typography?.textAlign;\n\tconst resetTextAlign = () => setTextAlign( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\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{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tfontFamilyFaces={ fontFamilyFaces }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextAlignmentControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Text alignment' ) }\n\t\t\t\t\thasValue={ hasTextAlign }\n\t\t\t\t\tonDeselect={ resetTextAlign }\n\t\t\t\t\tisShownByDefault={ defaultControls.textAlign }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextAlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ setTextAlign }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAMA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,kBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,qBAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,qBAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,qBAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,sBAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,mBAAA,GAAAP,sBAAA,CAAAJ,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAd,OAAA;AAG4B,IAAAe,WAAA,GAAAf,OAAA;AA5B5B;AACA;AACA;;AAUA;AACA;AACA;;AAgBA,MAAMgB,gBAAgB,GAAG,CAAC;AAC1B,MAAMC,gBAAgB,GAAG,CAAC;AAEnB,SAASC,qBAAqBA,CAAEC,QAAQ,EAAG;EACjD,MAAMC,aAAa,GAAGC,uBAAuB,CAAEF,QAAS,CAAC;EACzD,MAAMG,aAAa,GAAGC,uBAAuB,CAAEJ,QAAS,CAAC;EACzD,MAAMK,iBAAiB,GAAGC,uBAAuB,CAAEN,QAAS,CAAC;EAC7D,MAAMO,gBAAgB,GAAGC,0BAA0B,CAAER,QAAS,CAAC;EAC/D,MAAMS,YAAY,GAAGC,0BAA0B,CAAEV,QAAS,CAAC;EAC3D,MAAMW,gBAAgB,GAAGC,0BAA0B,CAAEZ,QAAS,CAAC;EAC/D,MAAMa,iBAAiB,GAAGC,2BAA2B,CAAEd,QAAS,CAAC;EACjE,MAAMe,cAAc,GAAGC,wBAAwB,CAAEhB,QAAS,CAAC;EAC3D,MAAMiB,cAAc,GAAGC,wBAAwB,CAAElB,QAAS,CAAC;EAC3D,MAAMmB,WAAW,GAAGC,qBAAqB,CAAEpB,QAAS,CAAC;EAErD,OACCC,aAAa,IACbE,aAAa,IACbE,iBAAiB,IACjBE,gBAAgB,IAChBE,YAAY,IACZE,gBAAgB,IAChBQ,WAAW,IACXN,iBAAiB,IACjBE,cAAc,IACdE,cAAc;AAEhB;AAEA,SAASG,qBAAqBA,CAAEpB,QAAQ,EAAG;EAC1C,OACGA,QAAQ,EAAEqB,UAAU,EAAEC,gBAAgB,KAAK,KAAK,IACjDtB,QAAQ,EAAEqB,UAAU,EAAEE,SAAS,EAAEC,OAAO,EAAEC,MAAM,IACjDzB,QAAQ,EAAEqB,UAAU,EAAEE,SAAS,EAAEG,KAAK,EAAED,MAAM,IAC9CzB,QAAQ,EAAEqB,UAAU,EAAEE,SAAS,EAAEI,MAAM,EAAEF,MAAM,IAC/CzB,QAAQ,EAAEqB,UAAU,EAAEO,cAAc;AAEtC;AAEA,SAAS1B,uBAAuBA,CAAEF,QAAQ,EAAG;EAC5C,OAAO,CAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAE,CAAC6B,IAAI,CACzCC,GAAG,IAAM9B,QAAQ,EAAEqB,UAAU,EAAEU,YAAY,GAAID,GAAG,CAAE,EAAEL,MACzD,CAAC;AACF;AAEA,SAASrB,uBAAuBA,CAAEJ,QAAQ,EAAG;EAC5C,OAAOA,QAAQ,EAAEqB,UAAU,EAAEW,UAAU;AACxC;AAEA,SAAS1B,uBAAuBA,CAAEN,QAAQ,EAAG;EAC5C,OAAOA,QAAQ,EAAEqB,UAAU,EAAEY,SAAS,IAAIjC,QAAQ,EAAEqB,UAAU,EAAEa,UAAU;AAC3E;AAEA,SAASC,yBAAyBA,CAAEnC,QAAQ,EAAG;EAC9C,IAAK,CAAEA,QAAQ,EAAEqB,UAAU,EAAEY,SAAS,EAAG;IACxC,OAAO,IAAAG,QAAE,EAAE,aAAc,CAAC;EAC3B;EACA,IAAK,CAAEpC,QAAQ,EAAEqB,UAAU,EAAEa,UAAU,EAAG;IACzC,OAAO,IAAAE,QAAE,EAAE,YAAa,CAAC;EAC1B;EACA,OAAO,IAAAA,QAAE,EAAE,YAAa,CAAC;AAC1B;AAEA,SAAS5B,0BAA0BA,CAAER,QAAQ,EAAG;EAC/C,OAAOA,QAAQ,EAAEqB,UAAU,EAAEgB,aAAa;AAC3C;AAEA,SAASzB,0BAA0BA,CAAEZ,QAAQ,EAAG;EAC/C,OAAOA,QAAQ,EAAEqB,UAAU,EAAEiB,aAAa;AAC3C;AAEA,SAAS5B,0BAA0BA,CAAEV,QAAQ,EAAG;EAC/C,OAAOA,QAAQ,EAAEqB,UAAU,EAAEkB,SAAS;AACvC;AAEA,SAASzB,2BAA2BA,CAAEd,QAAQ,EAAG;EAChD,OAAOA,QAAQ,EAAEqB,UAAU,EAAEmB,cAAc;AAC5C;AAEA,SAASxB,wBAAwBA,CAAEhB,QAAQ,EAAG;EAC7C,OAAOA,QAAQ,EAAEqB,UAAU,EAAEoB,WAAW;AACzC;AAEA,SAASvB,wBAAwBA,CAAElB,QAAQ,EAAG;EAC7C,OAAOA,QAAQ,EAAEqB,UAAU,EAAEqB,WAAW;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,kBAAkBA,CAAE3C,QAAQ,EAAG;EAAA,IAAA4C,iBAAA,EAAAC,gBAAA,EAAAC,kBAAA;EACvC,MAAMvB,SAAS,GAAGvB,QAAQ,EAAEqB,UAAU,EAAEE,SAAS;EACjD,MAAMwB,uBAAuB,GAAG,CAAC,CAAE/C,QAAQ,EAAEqB,UAAU,EAAEC,gBAAgB;EACzE,OAAO,CACN,KAAAsB,iBAAA,GAAKrB,SAAS,EAAEI,MAAM,cAAAiB,iBAAA,cAAAA,iBAAA,GAAI,EAAE,CAAE,EAC9B,KAAAC,gBAAA,GAAKtB,SAAS,EAAEG,KAAK,cAAAmB,gBAAA,cAAAA,gBAAA,GAAI,EAAE,CAAE,EAC7B,IAAKE,uBAAuB,IAAAD,kBAAA,GAAGvB,SAAS,EAAEC,OAAO,cAAAsB,kBAAA,cAAAA,kBAAA,GAAI,EAAE,GAAG,EAAE,CAAE,CAC9D;AACF;AAEA,SAASE,oBAAoBA,CAAE;EAC9BC,cAAc;EACdC,QAAQ;EACRC,KAAK;EACLC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAMC,iBAAiB,GAAG,IAAAC,qCAA8B,EAAC,CAAC;EAC1D,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACtB,MAAMC,YAAY,GAAGR,cAAc,CAAEE,KAAM,CAAC;IAC5CD,QAAQ,CAAEO,YAAa,CAAC;EACzB,CAAC;EAED,oBACC,IAAA7D,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAA+E,wBAAU;IACVC,KAAK,EAAG,IAAAxB,QAAE,EAAE,YAAa,CAAG;IAC5BoB,QAAQ,EAAGA,QAAU;IACrBJ,OAAO,EAAGA,OAAS;IACnBE,iBAAiB,EAAGA,iBAAmB;IAAAD,QAAA,EAErCA;EAAQ,CACC,CAAC;AAEf;AAEA,MAAMQ,gBAAgB,GAAG;EACxBC,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,cAAc,EAAE,IAAI;EACpBhC,UAAU,EAAE,IAAI;EAChBK,aAAa,EAAE,IAAI;EACnBE,SAAS,EAAE,IAAI;EACfD,aAAa,EAAE,IAAI;EACnBE,cAAc,EAAE,IAAI;EACpBC,WAAW,EAAE,IAAI;EACjBC,WAAW,EAAE;AACd,CAAC;AAEc,SAASuB,eAAeA,CAAE;EACxCC,EAAE,EAAEC,OAAO,GAAGnB,oBAAoB;EAClCG,KAAK;EACLD,QAAQ;EACRkB,cAAc,GAAGjB,KAAK;EACtBnD,QAAQ;EACRoD,OAAO;EACPiB,eAAe,GAAGR;AACnB,CAAC,EAAG;EACH,MAAMS,WAAW,GAAKC,QAAQ,IAC7B,IAAAC,2BAAoB,EAAE;IAAExE;EAAS,CAAC,EAAE,EAAE,EAAEuE,QAAS,CAAC;;EAEnD;EACA,MAAME,oBAAoB,GAAGvE,uBAAuB,CAAEF,QAAS,CAAC;EAChE,MAAM8D,UAAU,GAAGQ,WAAW,CAAEF,cAAc,EAAE/C,UAAU,EAAEyC,UAAW,CAAC;EACxE,MAAM;IAAE/B,YAAY;IAAE2C;EAAgB,CAAC,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACxD,OAAO,IAAAC,wDAAuC,EAAE5E,QAAQ,EAAE8D,UAAW,CAAC;EACvE,CAAC,EAAE,CAAE9D,QAAQ,EAAE8D,UAAU,CAAG,CAAC;EAE7B,MAAMe,aAAa,GAAKC,QAAQ,IAAM;IACrC,MAAMC,IAAI,GAAGhD,YAAY,EAAEiD,IAAI,CAC9B,CAAE;MAAElB,UAAU,EAAEmB;IAAE,CAAC,KAAMA,CAAC,KAAKH,QAChC,CAAC,EAAEC,IAAI;IACP7B,QAAQ,CACP,IAAAgC,oBAAY,EACX/B,KAAK,EACL,CAAE,YAAY,EAAE,YAAY,CAAE,EAC9B4B,IAAI,GACA,0BAA0BA,IAAM,EAAC,GAClCD,QAAQ,IAAIK,SAChB,CACD,CAAC;EACF,CAAC;EACD,MAAMlF,aAAa,GAAGA,CAAA,KAAM,CAAC,CAAEkD,KAAK,EAAE9B,UAAU,EAAEyC,UAAU;EAC5D,MAAMsB,eAAe,GAAGA,CAAA,KAAMP,aAAa,CAAEM,SAAU,CAAC;;EAExD;EACA,MAAME,kBAAkB,GAAGjE,qBAAqB,CAAEpB,QAAS,CAAC;EAC5D,MAAMsF,sBAAsB,GAAG,CAAEtF,QAAQ,EAAEqB,UAAU,EAAEO,cAAc;EACrE,MAAM2D,eAAe,GAAG5C,kBAAkB,CAAE3C,QAAS,CAAC;EAEtD,MAAM+D,QAAQ,GAAGO,WAAW,CAAEF,cAAc,EAAE/C,UAAU,EAAE0C,QAAS,CAAC;EACpE,MAAMyB,WAAW,GAAGA,CAAEV,QAAQ,EAAEW,QAAQ,KAAM;IAC7C,MAAMC,WAAW,GAAG,CAAC,CAAED,QAAQ,EAAEV,IAAI,GACjC,wBAAwBU,QAAQ,EAAEV,IAAM,EAAC,GAC1CD,QAAQ;IAEX5B,QAAQ,CACP,IAAAgC,oBAAY,EACX/B,KAAK,EACL,CAAE,YAAY,EAAE,UAAU,CAAE,EAC5BuC,WAAW,IAAIP,SAChB,CACD,CAAC;EACF,CAAC;EACD,MAAMhE,WAAW,GAAGA,CAAA,KAAM,CAAC,CAAEgC,KAAK,EAAE9B,UAAU,EAAE0C,QAAQ;EACxD,MAAM4B,aAAa,GAAGA,CAAA,KAAMH,WAAW,CAAEL,SAAU,CAAC;;EAEpD;EACA,MAAMS,oBAAoB,GAAGtF,uBAAuB,CAAEN,QAAS,CAAC;EAChE,MAAM6F,sBAAsB,GAAG1D,yBAAyB,CAAEnC,QAAS,CAAC;EACpE,MAAM8F,aAAa,GAAG9F,QAAQ,EAAEqB,UAAU,EAAEY,SAAS;EACrD,MAAM8D,cAAc,GAAG/F,QAAQ,EAAEqB,UAAU,EAAEa,UAAU;EACvD,MAAMD,SAAS,GAAGqC,WAAW,CAAEF,cAAc,EAAE/C,UAAU,EAAEY,SAAU,CAAC;EACtE,MAAMC,UAAU,GAAGoC,WAAW,CAAEF,cAAc,EAAE/C,UAAU,EAAEa,UAAW,CAAC;EACxE,MAAM;IAAE8D,gBAAgB;IAAEC;EAAkB,CAAC,GAAG,IAAAC,0CAAyB,EACxExB,eAAe,EACfzC,SAAS,EACTC,UACD,CAAC;EACD,MAAMiE,iBAAiB,GAAG,IAAAC,oBAAW,EACpC,CAAE;IAAEnE,SAAS,EAAEoE,YAAY;IAAEnE,UAAU,EAAEoE;EAAc,CAAC,KAAM;IAC7D;IACA,IAAKD,YAAY,KAAKpE,SAAS,IAAIqE,aAAa,KAAKpE,UAAU,EAAG;MACjEgB,QAAQ,CAAE;QACT,GAAGC,KAAK;QACR9B,UAAU,EAAE;UACX,GAAG8B,KAAK,EAAE9B,UAAU;UACpBY,SAAS,EAAEoE,YAAY,IAAIlB,SAAS;UACpCjD,UAAU,EAAEoE,aAAa,IAAInB;QAC9B;MACD,CAAE,CAAC;IACJ;EACD,CAAC,EACD,CAAElD,SAAS,EAAEC,UAAU,EAAEgB,QAAQ,EAAEC,KAAK,CACzC,CAAC;EACD,MAAM9C,iBAAiB,GAAGA,CAAA,KACzB,CAAC,CAAE8C,KAAK,EAAE9B,UAAU,EAAEY,SAAS,IAAI,CAAC,CAAEkB,KAAK,EAAE9B,UAAU,EAAEa,UAAU;EACpE,MAAMqE,mBAAmB,GAAG,IAAAH,oBAAW,EAAE,MAAM;IAC9CD,iBAAiB,CAAE,CAAC,CAAE,CAAC;EACxB,CAAC,EAAE,CAAEA,iBAAiB,CAAG,CAAC;;EAE1B;EACA,IAAAK,kBAAS,EAAE,MAAM;IAChB,IAAKR,gBAAgB,IAAIC,iBAAiB,EAAG;MAC5CE,iBAAiB,CAAE;QAClBlE,SAAS,EAAE+D,gBAAgB;QAC3B9D,UAAU,EAAE+D;MACb,CAAE,CAAC;IACJ,CAAC,MAAM;MACN;MACAM,mBAAmB,CAAC,CAAC;IACtB;EACD,CAAC,EAAE,CACFP,gBAAgB,EAChBC,iBAAiB,EACjBM,mBAAmB,EACnBJ,iBAAiB,CAChB,CAAC;;EAEH;EACA,MAAMM,oBAAoB,GAAGrG,uBAAuB,CAAEJ,QAAS,CAAC;EAChE,MAAMgC,UAAU,GAAGsC,WAAW,CAAEF,cAAc,EAAE/C,UAAU,EAAEW,UAAW,CAAC;EACxE,MAAM0E,aAAa,GAAK5B,QAAQ,IAAM;IACrC5B,QAAQ,CACP,IAAAgC,oBAAY,EACX/B,KAAK,EACL,CAAE,YAAY,EAAE,YAAY,CAAE,EAC9B2B,QAAQ,IAAIK,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMhF,aAAa,GAAGA,CAAA,KAAMgD,KAAK,EAAE9B,UAAU,EAAEW,UAAU,KAAKmD,SAAS;EACvE,MAAMwB,eAAe,GAAGA,CAAA,KAAMD,aAAa,CAAEvB,SAAU,CAAC;;EAExD;EACA,MAAMyB,uBAAuB,GAAGpG,0BAA0B,CAAER,QAAS,CAAC;EACtE,MAAMqC,aAAa,GAAGiC,WAAW,CAChCF,cAAc,EAAE/C,UAAU,EAAEgB,aAC7B,CAAC;EACD,MAAMwE,gBAAgB,GAAK/B,QAAQ,IAAM;IACxC5B,QAAQ,CACP,IAAAgC,oBAAY,EACX/B,KAAK,EACL,CAAE,YAAY,EAAE,eAAe,CAAE,EACjC2B,QAAQ,IAAIK,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAM5E,gBAAgB,GAAGA,CAAA,KAAM,CAAC,CAAE4C,KAAK,EAAE9B,UAAU,EAAEgB,aAAa;EAClE,MAAMyE,kBAAkB,GAAGA,CAAA,KAAMD,gBAAgB,CAAE1B,SAAU,CAAC;;EAE9D;EACA,MAAM4B,qBAAqB,GAAG7F,wBAAwB,CAAElB,QAAS,CAAC;EAClE,MAAM0C,WAAW,GAAG4B,WAAW,CAAEF,cAAc,EAAE/C,UAAU,EAAEqB,WAAY,CAAC;EAC1E,MAAMsE,cAAc,GAAKlC,QAAQ,IAAM;IACtC5B,QAAQ,CACP,IAAAgC,oBAAY,EACX/B,KAAK,EACL,CAAE,YAAY,EAAE,aAAa,CAAE,EAC/B2B,QAAQ,IAAIK,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMlE,cAAc,GAAGA,CAAA,KAAM,CAAC,CAAEkC,KAAK,EAAE9B,UAAU,EAAEqB,WAAW;EAC9D,MAAMuE,gBAAgB,GAAGA,CAAA,KAAMD,cAAc,CAAE7B,SAAU,CAAC;;EAE1D;EACA,MAAM+B,uBAAuB,GAAGtG,0BAA0B,CAAEZ,QAAS,CAAC;EACtE,MAAMsC,aAAa,GAAGgC,WAAW,CAChCF,cAAc,EAAE/C,UAAU,EAAEiB,aAC7B,CAAC;EACD,MAAM6E,gBAAgB,GAAKrC,QAAQ,IAAM;IACxC5B,QAAQ,CACP,IAAAgC,oBAAY,EACX/B,KAAK,EACL,CAAE,YAAY,EAAE,eAAe,CAAE,EACjC2B,QAAQ,IAAIK,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMxE,gBAAgB,GAAGA,CAAA,KAAM,CAAC,CAAEwC,KAAK,EAAE9B,UAAU,EAAEiB,aAAa;EAClE,MAAM8E,kBAAkB,GAAGA,CAAA,KAAMD,gBAAgB,CAAEhC,SAAU,CAAC;;EAE9D;EACA,MAAMkC,wBAAwB,GAAGvG,2BAA2B,CAAEd,QAAS,CAAC;EACxE,MAAMwC,cAAc,GAAG8B,WAAW,CACjCF,cAAc,EAAE/C,UAAU,EAAEmB,cAC7B,CAAC;EACD,MAAM8E,iBAAiB,GAAKxC,QAAQ,IAAM;IACzC5B,QAAQ,CACP,IAAAgC,oBAAY,EACX/B,KAAK,EACL,CAAE,YAAY,EAAE,gBAAgB,CAAE,EAClC2B,QAAQ,IAAIK,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMtE,iBAAiB,GAAGA,CAAA,KAAM,CAAC,CAAEsC,KAAK,EAAE9B,UAAU,EAAEmB,cAAc;EACpE,MAAM+E,mBAAmB,GAAGA,CAAA,KAAMD,iBAAiB,CAAEnC,SAAU,CAAC;;EAEhE;EACA,MAAMqC,qBAAqB,GAAGxG,wBAAwB,CAAEhB,QAAS,CAAC;EAClE,MAAMyC,WAAW,GAAG6B,WAAW,CAAEF,cAAc,EAAE/C,UAAU,EAAEoB,WAAY,CAAC;EAC1E,MAAMgF,cAAc,GAAK3C,QAAQ,IAAM;IACtC5B,QAAQ,CACP,IAAAgC,oBAAY,EACX/B,KAAK,EACL,CAAE,YAAY,EAAE,aAAa,CAAE,EAC/B2B,QAAQ,IAAIK,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMpE,cAAc,GAAGA,CAAA,KAAM,CAAC,CAAEoC,KAAK,EAAE9B,UAAU,EAAEoB,WAAW;EAC9D,MAAMiF,gBAAgB,GAAGA,CAAA,KAAMD,cAAc,CAAEtC,SAAU,CAAC;;EAE1D;EACA,MAAMwC,uBAAuB,GAAGjH,0BAA0B,CAAEV,QAAS,CAAC;EAEtE,MAAMuC,SAAS,GAAG+B,WAAW,CAAEF,cAAc,EAAE/C,UAAU,EAAEkB,SAAU,CAAC;EACtE,MAAMqF,YAAY,GAAK9C,QAAQ,IAAM;IACpC5B,QAAQ,CACP,IAAAgC,oBAAY,EACX/B,KAAK,EACL,CAAE,YAAY,EAAE,WAAW,CAAE,EAC7B2B,QAAQ,IAAIK,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAM1E,YAAY,GAAGA,CAAA,KAAM,CAAC,CAAE0C,KAAK,EAAE9B,UAAU,EAAEkB,SAAS;EAC1D,MAAMsF,cAAc,GAAGA,CAAA,KAAMD,YAAY,CAAEzC,SAAU,CAAC;EAEtD,MAAMlC,cAAc,GAAG,IAAAmD,oBAAW,EAAI0B,aAAa,IAAM;IACxD,OAAO;MACN,GAAGA,aAAa;MAChBzG,UAAU,EAAE,CAAC;IACd,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,oBACC,IAAAzB,WAAA,CAAAmI,IAAA,EAAC5D,OAAO;IACPlB,cAAc,EAAGA,cAAgB;IACjCE,KAAK,EAAGA,KAAO;IACfD,QAAQ,EAAGA,QAAU;IACrBE,OAAO,EAAGA,OAAS;IAAAC,QAAA,GAEjBoB,oBAAoB,iBACrB,IAAA7E,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdpE,KAAK,EAAG,IAAAxB,QAAE,EAAE,MAAO,CAAG;MACtB6F,QAAQ,EAAGhI,aAAe;MAC1BiI,UAAU,EAAG9C,eAAiB;MAC9B+C,gBAAgB,EAAG9D,eAAe,CAACP,UAAY;MAC/CV,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAAC1E,WAAA,CAAAwC,OAAiB;QACjBO,YAAY,EAAGA,YAAc;QAC7BoB,KAAK,EAAGW,UAAY;QACpBZ,QAAQ,EAAG2B,aAAe;QAC1BuD,IAAI,EAAC,kBAAkB;QACvBC,uBAAuB;MAAA,CACvB;IAAC,CACa,CAChB,EACChD,kBAAkB,iBACnB,IAAAzF,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdpE,KAAK,EAAG,IAAAxB,QAAE,EAAE,MAAO,CAAG;MACtB6F,QAAQ,EAAG9G,WAAa;MACxB+G,UAAU,EAAGvC,aAAe;MAC5BwC,gBAAgB,EAAG9D,eAAe,CAACN,QAAU;MAC7CX,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAA0J,cAAc;QACdnF,KAAK,EAAGY,QAAU;QAClBb,QAAQ,EAAGsC,WAAa;QACxBjE,SAAS,EAAGgE,eAAiB;QAC7BD,sBAAsB,EAAGA,sBAAwB;QACjDiD,SAAS,EAAG,KAAO;QACnBC,UAAU;QACVJ,IAAI,EAAC;MAAkB,CACvB;IAAC,CACa,CAChB,EACCxC,oBAAoB,iBACrB,IAAAhG,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdS,SAAS,EAAC,eAAe;MACzB7E,KAAK,EAAGiC,sBAAwB;MAChCoC,QAAQ,EAAG5H,iBAAmB;MAC9B6H,UAAU,EAAG3B,mBAAqB;MAClC4B,gBAAgB,EAAG9D,eAAe,CAACL,cAAgB;MACnDZ,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAACxE,sBAAA,CAAAsC,OAAqB;QACrB2B,KAAK,EAAG;UACPlB,SAAS;UACTC;QACD,CAAG;QACHgB,QAAQ,EAAGiD,iBAAmB;QAC9BL,aAAa,EAAGA,aAAe;QAC/BC,cAAc,EAAGA,cAAgB;QACjCrB,eAAe,EAAGA,eAAiB;QACnC0D,IAAI,EAAC;MAAkB,CACvB;IAAC,CACa,CAChB,EACC3B,oBAAoB,iBACrB,IAAA7G,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdS,SAAS,EAAC,eAAe;MACzB7E,KAAK,EAAG,IAAAxB,QAAE,EAAE,aAAc,CAAG;MAC7B6F,QAAQ,EAAG9H,aAAe;MAC1B+H,UAAU,EAAGvB,eAAiB;MAC9BwB,gBAAgB,EAAG9D,eAAe,CAACrC,UAAY;MAC/CoB,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAACvE,kBAAA,CAAAqC,OAAiB;QACjB6G,uBAAuB;QACvBK,oBAAoB,EAAC,MAAM;QAC3BvF,KAAK,EAAGnB,UAAY;QACpBkB,QAAQ,EAAGwD,aAAe;QAC1B0B,IAAI,EAAC;MAAkB,CACvB;IAAC,CACa,CAChB,EACCxB,uBAAuB,iBACxB,IAAAhH,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdS,SAAS,EAAC,eAAe;MACzB7E,KAAK,EAAG,IAAAxB,QAAE,EAAE,gBAAiB,CAAG;MAChC6F,QAAQ,EAAG1H,gBAAkB;MAC7B2H,UAAU,EAAGpB,kBAAoB;MACjCqB,gBAAgB,EAAG9D,eAAe,CAAChC,aAAe;MAClDe,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAACtE,qBAAA,CAAAoC,OAAoB;QACpB2B,KAAK,EAAGd,aAAe;QACvBa,QAAQ,EAAG2D,gBAAkB;QAC7BuB,IAAI,EAAC,kBAAkB;QACvBM,oBAAoB,EAAC;MAAM,CAC3B;IAAC,CACa,CAChB,EACC3B,qBAAqB,iBACtB,IAAAnH,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdS,SAAS,EAAC,eAAe;MACzB7E,KAAK,EAAG,IAAAxB,QAAE,EAAE,SAAU,CAAG;MACzB6F,QAAQ,EAAGhH,cAAgB;MAC3BiH,UAAU,EAAGjB,gBAAkB;MAC/BkB,gBAAgB,EAAG9D,eAAe,CAAC3B,WAAa;MAChDU,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAA+J,2BAAa;QACb/E,KAAK,EAAG,IAAAxB,QAAE,EAAE,SAAU,CAAG;QACzBwG,GAAG,EAAG9I,gBAAkB;QACxB+I,GAAG,EAAGhJ,gBAAkB;QACxBqD,QAAQ,EAAG8D,cAAgB;QAC3BoB,IAAI,EAAC,kBAAkB;QACvBU,YAAY,EAAC,QAAQ;QACrB3F,KAAK,EAAGT,WAAa;QACrBqG,eAAe,EAAG;MAAG,CACrB;IAAC,CACa,CAChB,EACC1B,wBAAwB,iBACzB,IAAAzH,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdS,SAAS,EAAC,eAAe;MACzB7E,KAAK,EAAG,IAAAxB,QAAE,EAAE,YAAa,CAAG;MAC5B6F,QAAQ,EAAGpH,iBAAmB;MAC9BqH,UAAU,EAAGX,mBAAqB;MAClCY,gBAAgB,EAAG9D,eAAe,CAAC7B,cAAgB;MACnDY,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAACnE,sBAAA,CAAAiC,OAAqB;QACrB2B,KAAK,EAAGX,cAAgB;QACxBU,QAAQ,EAAGoE,iBAAmB;QAC9Bc,IAAI,EAAC,kBAAkB;QACvBM,oBAAoB,EAAC;MAAM,CAC3B;IAAC,CACa,CAChB,EACClB,qBAAqB,iBACtB,IAAA5H,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdS,SAAS,EAAC,eAAe;MACzB7E,KAAK,EAAG,IAAAxB,QAAE,EAAE,aAAc,CAAG;MAC7B6F,QAAQ,EAAGlH,cAAgB;MAC3BmH,UAAU,EAAGR,gBAAkB;MAC/BS,gBAAgB,EAAG9D,eAAe,CAAC5B,WAAa;MAChDW,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAAClE,mBAAA,CAAAgC,OAAkB;QAClB2B,KAAK,EAAGV,WAAa;QACrBS,QAAQ,EAAGuE,cAAgB;QAC3BW,IAAI,EAAC,kBAAkB;QACvBC,uBAAuB;MAAA,CACvB;IAAC,CACa,CAChB,EACCnB,uBAAuB,iBACxB,IAAAtH,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdpE,KAAK,EAAG,IAAAxB,QAAE,EAAE,aAAc,CAAG;MAC7B6F,QAAQ,EAAGtH,gBAAkB;MAC7BuH,UAAU,EAAGd,kBAAoB;MACjCe,gBAAgB,EAAG9D,eAAe,CAAC/B,aAAe;MAClDc,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAACpE,qBAAA,CAAAkC,OAAoB;QACpB2B,KAAK,EAAGb,aAAe;QACvBY,QAAQ,EAAGiE,gBAAkB;QAC7B6B,QAAQ;QACRC,OAAO;QACPb,IAAI,EAAC,kBAAkB;QACvBC,uBAAuB;MAAA,CACvB;IAAC,CACa,CAChB,EACCV,uBAAuB,iBACxB,IAAA/H,WAAA,CAAA8D,GAAA,EAAC9E,WAAA,CAAAoJ,4BAAc;MACdpE,KAAK,EAAG,IAAAxB,QAAE,EAAE,gBAAiB,CAAG;MAChC6F,QAAQ,EAAGxH,YAAc;MACzByH,UAAU,EAAGL,cAAgB;MAC7BM,gBAAgB,EAAG9D,eAAe,CAAC9B,SAAW;MAC9Ca,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAzD,WAAA,CAAA8D,GAAA,EAACrE,qBAAA,CAAAmC,OAAoB;QACpB2B,KAAK,EAAGZ,SAAW;QACnBW,QAAQ,EAAG0E,YAAc;QACzBQ,IAAI,EAAC,kBAAkB;QACvBC,uBAAuB;MAAA,CACvB;IAAC,CACa,CAChB;EAAA,CACO,CAAC;AAEZ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_element","_fontFamily","_interopRequireDefault","_fontAppearanceControl","_lineHeightControl","_letterSpacingControl","_textAlignmentControl","_textTransformControl","_textDecorationControl","_writingModeControl","_utils","_object","_typographyUtils","_jsxRuntime","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextAlign","useHasTextAlignmentControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","typography","defaultFontSizes","fontSizes","default","length","theme","custom","customFontSize","some","key","fontFamilies","lineHeight","fontStyle","fontWeight","useAppearanceControlLabel","__","letterSpacing","textTransform","textAlign","textDecoration","writingMode","textColumns","getMergedFontSizes","_fontSizes$custom","_fontSizes$theme","_fontSizes$default","defaultFontSizesEnabled","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasFontFamilyEnabled","fontFamilyFaces","useMemo","getMergedFontFamiliesAndFontFamilyFaces","setFontFamily","newValue","slug","find","f","setImmutably","undefined","resetFontFamily","hasFontSizeEnabled","disableCustomFontSizes","mergedFontSizes","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","hasFontStyles","hasFontWeights","nearestFontStyle","nearestFontWeight","findNearestStyleAndWeight","setFontAppearance","useCallback","newFontStyle","newFontWeight","resetFontAppearance","useEffect","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","hasTextAlignmentControl","setTextAlign","resetTextAlign","previousValue","jsxs","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","size","__nextHasNoMarginBottom","FontSizePicker","withReset","withSlider","className","__unstableInputWidth","__experimentalNumberControl","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useMemo, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextAlignmentControl from '../text-alignment-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport {\n\tgetMergedFontFamiliesAndFontFamilyFaces,\n\tfindNearestStyleAndWeight,\n} from './typography-utils';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextAlign = useHasTextAlignmentControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextAlign ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\t( settings?.typography?.defaultFontSizes !== false &&\n\t\t\tsettings?.typography?.fontSizes?.default?.length ) ||\n\t\tsettings?.typography?.fontSizes?.theme?.length ||\n\t\tsettings?.typography?.fontSizes?.custom?.length ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn [ 'default', 'theme', 'custom' ].some(\n\t\t( key ) => settings?.typography?.fontFamilies?.[ key ]?.length\n\t);\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextAlignmentControl( settings ) {\n\treturn settings?.typography?.textAlign;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\n/**\n * Concatenate all the font sizes into a single list for the font size picker.\n *\n * @param {Object} settings The global styles settings.\n *\n * @return {Array} The merged font sizes.\n */\nfunction getMergedFontSizes( settings ) {\n\tconst fontSizes = settings?.typography?.fontSizes;\n\tconst defaultFontSizesEnabled = !! settings?.typography?.defaultFontSizes;\n\treturn [\n\t\t...( fontSizes?.custom ?? [] ),\n\t\t...( fontSizes?.theme ?? [] ),\n\t\t...( defaultFontSizesEnabled ? fontSizes?.default ?? [] : [] ),\n\t];\n}\n\nfunction TypographyToolsPanel( {\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={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextAlign: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst { fontFamilies, fontFamilyFaces } = useMemo( () => {\n\t\treturn getMergedFontFamiliesAndFontFamilyFaces( settings, fontFamily );\n\t}, [ settings, fontFamily ] );\n\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getMergedFontSizes( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst { nearestFontStyle, nearestFontWeight } = findNearestStyleAndWeight(\n\t\tfontFamilyFaces,\n\t\tfontStyle,\n\t\tfontWeight\n\t);\n\tconst setFontAppearance = useCallback(\n\t\t( { fontStyle: newFontStyle, fontWeight: newFontWeight } ) => {\n\t\t\t// Only update the font style and weight if they have changed.\n\t\t\tif ( newFontStyle !== fontStyle || newFontWeight !== fontWeight ) {\n\t\t\t\tonChange( {\n\t\t\t\t\t...value,\n\t\t\t\t\ttypography: {\n\t\t\t\t\t\t...value?.typography,\n\t\t\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ fontStyle, fontWeight, onChange, value ]\n\t);\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = useCallback( () => {\n\t\tsetFontAppearance( {} );\n\t}, [ setFontAppearance ] );\n\n\t// Check if previous font style and weight values are available in the new font family.\n\tuseEffect( () => {\n\t\tif ( nearestFontStyle && nearestFontWeight ) {\n\t\t\tsetFontAppearance( {\n\t\t\t\tfontStyle: nearestFontStyle,\n\t\t\t\tfontWeight: nearestFontWeight,\n\t\t\t} );\n\t\t} else {\n\t\t\t// Reset font appearance if there are no available styles or weights.\n\t\t\tresetFontAppearance();\n\t\t}\n\t}, [\n\t\tnearestFontStyle,\n\t\tnearestFontWeight,\n\t\tresetFontAppearance,\n\t\tsetFontAppearance,\n\t] );\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\t// Text Alignment\n\tconst hasTextAlignmentControl = useHasTextAlignmentControl( settings );\n\n\tconst textAlign = decodeValue( inheritedValue?.typography?.textAlign );\n\tconst setTextAlign = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textAlign' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextAlign = () => !! value?.typography?.textAlign;\n\tconst resetTextAlign = () => setTextAlign( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\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{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tfontFamilyFaces={ fontFamilyFaces }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextAlignmentControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Text alignment' ) }\n\t\t\t\t\thasValue={ hasTextAlign }\n\t\t\t\t\tonDeselect={ resetTextAlign }\n\t\t\t\t\tisShownByDefault={ defaultControls.textAlign }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextAlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ setTextAlign }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,7 +29,6 @@ var _store = require("../../store");
|
|
|
29
29
|
var _definitions = require("../../layouts/definitions");
|
|
30
30
|
var _object = require("../../utils/object");
|
|
31
31
|
var _lockUnlock = require("../../lock-unlock");
|
|
32
|
-
var _themeFileUriUtils = require("./theme-file-uri-utils");
|
|
33
32
|
/**
|
|
34
33
|
* WordPress dependencies
|
|
35
34
|
*/
|
|
@@ -55,16 +54,6 @@ const BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS = {
|
|
|
55
54
|
const {
|
|
56
55
|
kebabCase
|
|
57
56
|
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
58
|
-
function compileStyleValue(uncompiledValue) {
|
|
59
|
-
const VARIABLE_REFERENCE_PREFIX = 'var:';
|
|
60
|
-
const VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE = '|';
|
|
61
|
-
const VARIABLE_PATH_SEPARATOR_TOKEN_STYLE = '--';
|
|
62
|
-
if (uncompiledValue?.startsWith?.(VARIABLE_REFERENCE_PREFIX)) {
|
|
63
|
-
const variable = uncompiledValue.slice(VARIABLE_REFERENCE_PREFIX.length).split(VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE).join(VARIABLE_PATH_SEPARATOR_TOKEN_STYLE);
|
|
64
|
-
return `var(--wp--${variable})`;
|
|
65
|
-
}
|
|
66
|
-
return uncompiledValue;
|
|
67
|
-
}
|
|
68
57
|
|
|
69
58
|
/**
|
|
70
59
|
* Transform given preset tree into a set of style declarations.
|
|
@@ -290,31 +279,46 @@ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAl
|
|
|
290
279
|
return;
|
|
291
280
|
}
|
|
292
281
|
const cssProperty = name.startsWith('--') ? name : kebabCase(name);
|
|
293
|
-
declarations.push(`${cssProperty}: ${compileStyleValue((0, _object.getValueFromObjectPath)(styleValue, [prop]))}`);
|
|
282
|
+
declarations.push(`${cssProperty}: ${(0, _utils.compileStyleValue)((0, _object.getValueFromObjectPath)(styleValue, [prop]))}`);
|
|
294
283
|
});
|
|
295
284
|
} else if ((0, _object.getValueFromObjectPath)(blockStyles, pathToValue, false)) {
|
|
296
285
|
const cssProperty = key.startsWith('--') ? key : kebabCase(key);
|
|
297
|
-
declarations.push(`${cssProperty}: ${compileStyleValue((0, _object.getValueFromObjectPath)(blockStyles, pathToValue))}`);
|
|
286
|
+
declarations.push(`${cssProperty}: ${(0, _utils.compileStyleValue)((0, _object.getValueFromObjectPath)(blockStyles, pathToValue))}`);
|
|
298
287
|
}
|
|
299
288
|
return declarations;
|
|
300
289
|
}, []);
|
|
301
290
|
|
|
302
291
|
/*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
292
|
+
* Preprocess background image values.
|
|
293
|
+
*
|
|
294
|
+
* Note: As we absorb more and more styles into the engine, we could simplify this function.
|
|
295
|
+
* A refactor is for the style engine to handle ref resolution (and possibly defaults)
|
|
296
|
+
* via a public util used internally and externally. Theme.json tree and defaults could be passed
|
|
297
|
+
* as options.
|
|
305
298
|
*/
|
|
306
|
-
if (
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
314
|
-
}
|
|
299
|
+
if (!!blockStyles.background) {
|
|
300
|
+
/*
|
|
301
|
+
* Resolve dynamic values before they are compiled by the style engine,
|
|
302
|
+
* which doesn't (yet) resolve dynamic values.
|
|
303
|
+
*/
|
|
304
|
+
if (blockStyles.background?.backgroundImage) {
|
|
305
|
+
blockStyles.background.backgroundImage = (0, _utils.getResolvedValue)(blockStyles.background.backgroundImage, tree);
|
|
306
|
+
}
|
|
315
307
|
|
|
316
|
-
|
|
317
|
-
|
|
308
|
+
/*
|
|
309
|
+
* Set default values for block background styles.
|
|
310
|
+
* Top-level styles are an exception as they are applied to the body.
|
|
311
|
+
*/
|
|
312
|
+
if (!isRoot && !!blockStyles.background?.backgroundImage?.id) {
|
|
313
|
+
blockStyles = {
|
|
314
|
+
...blockStyles,
|
|
315
|
+
background: {
|
|
316
|
+
...blockStyles.background,
|
|
317
|
+
...(0, _background.setBackgroundStyleDefaults)(blockStyles.background)
|
|
318
|
+
}
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
}
|
|
318
322
|
const extraRules = (0, _styleEngine.getCSSRules)(blockStyles);
|
|
319
323
|
extraRules.forEach(rule => {
|
|
320
324
|
// Don't output padding properties if padding variables are set or if we're not editing a full template.
|
|
@@ -322,16 +326,7 @@ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAl
|
|
|
322
326
|
return;
|
|
323
327
|
}
|
|
324
328
|
const cssProperty = rule.key.startsWith('--') ? rule.key : kebabCase(rule.key);
|
|
325
|
-
let ruleValue = rule.value;
|
|
326
|
-
if (typeof ruleValue !== 'string' && ruleValue?.ref) {
|
|
327
|
-
const refPath = ruleValue.ref.split('.');
|
|
328
|
-
ruleValue = compileStyleValue((0, _object.getValueFromObjectPath)(tree, refPath));
|
|
329
|
-
// Presence of another ref indicates a reference to another dynamic value.
|
|
330
|
-
// Pointing to another dynamic value is not supported.
|
|
331
|
-
if (!ruleValue || ruleValue?.ref) {
|
|
332
|
-
return;
|
|
333
|
-
}
|
|
334
|
-
}
|
|
329
|
+
let ruleValue = (0, _utils.getResolvedValue)(rule.value, tree, null);
|
|
335
330
|
|
|
336
331
|
// Calculate fluid typography rules where available.
|
|
337
332
|
if (cssProperty === 'font-size') {
|
|
@@ -938,10 +933,16 @@ function updateConfigWithSeparator(config) {
|
|
|
938
933
|
}
|
|
939
934
|
function processCSSNesting(css, blockSelector) {
|
|
940
935
|
let processedCSS = '';
|
|
936
|
+
if (!css || css.trim() === '') {
|
|
937
|
+
return processedCSS;
|
|
938
|
+
}
|
|
941
939
|
|
|
942
940
|
// Split CSS nested rules.
|
|
943
941
|
const parts = css.split('&');
|
|
944
942
|
parts.forEach(part => {
|
|
943
|
+
if (!part || part.trim() === '') {
|
|
944
|
+
return;
|
|
945
|
+
}
|
|
945
946
|
const isRootCss = !part.includes('{');
|
|
946
947
|
if (isRootCss) {
|
|
947
948
|
// If the part doesn't contain braces, it applies to the root level.
|
|
@@ -953,8 +954,27 @@ function processCSSNesting(css, blockSelector) {
|
|
|
953
954
|
return;
|
|
954
955
|
}
|
|
955
956
|
const [nestedSelector, cssValue] = splittedPart;
|
|
956
|
-
|
|
957
|
-
|
|
957
|
+
|
|
958
|
+
// Handle pseudo elements such as ::before, ::after, etc. Regex will also
|
|
959
|
+
// capture any leading combinator such as >, +, or ~, as well as spaces.
|
|
960
|
+
// This allows pseudo elements as descendants e.g. `.parent ::before`.
|
|
961
|
+
const matches = nestedSelector.match(/([>+~\s]*::[a-zA-Z-]+)/);
|
|
962
|
+
const pseudoPart = matches ? matches[1] : '';
|
|
963
|
+
const withoutPseudoElement = matches ? nestedSelector.replace(pseudoPart, '').trim() : nestedSelector.trim();
|
|
964
|
+
let combinedSelector;
|
|
965
|
+
if (withoutPseudoElement === '') {
|
|
966
|
+
// Only contained a pseudo element to use the block selector to form
|
|
967
|
+
// the final `:root :where()` selector.
|
|
968
|
+
combinedSelector = blockSelector;
|
|
969
|
+
} else {
|
|
970
|
+
// If the nested selector is a descendant of the block scope it with the
|
|
971
|
+
// block selector. Otherwise append it to the block selector.
|
|
972
|
+
combinedSelector = nestedSelector.startsWith(' ') ? (0, _utils.scopeSelector)(blockSelector, withoutPseudoElement) : (0, _utils.appendToSelector)(blockSelector, withoutPseudoElement);
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
// Build final rule, re-adding any pseudo element outside the `:where()`
|
|
976
|
+
// to maintain valid CSS selector.
|
|
977
|
+
processedCSS += `:root :where(${combinedSelector})${pseudoPart}{${cssValue.trim()}}`;
|
|
958
978
|
}
|
|
959
979
|
});
|
|
960
980
|
return processedCSS;
|
|
@@ -974,7 +994,6 @@ function processCSSNesting(css, blockSelector) {
|
|
|
974
994
|
*/
|
|
975
995
|
function useGlobalStylesOutputWithConfig(mergedConfig = {}, disableRootPadding) {
|
|
976
996
|
const [blockGap] = (0, _hooks.useGlobalSetting)('spacing.blockGap');
|
|
977
|
-
mergedConfig = (0, _themeFileUriUtils.setThemeFileUris)(mergedConfig, mergedConfig?._links?.['wp:theme-file']);
|
|
978
997
|
const hasBlockGapSupport = blockGap !== null;
|
|
979
998
|
const hasFallbackGapSupport = !hasBlockGapSupport; // This setting isn't useful yet: it exists as a placeholder for a future explicit fallback styles support.
|
|
980
999
|
const disableLayoutStyles = (0, _data.useSelect)(select => {
|