@wordpress/block-editor 11.8.0 → 12.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 +6 -0
- package/README.md +15 -3
- package/build/components/block-info-slot-fill/index.js +47 -0
- package/build/components/block-info-slot-fill/index.js.map +1 -0
- package/build/components/block-inspector/index.js +4 -2
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block.native.js +3 -4
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-toolbar/index.js +2 -1
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +83 -9
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +11 -28
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/editor-styles/index.js +4 -3
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +21 -14
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/global-styles/border-panel.js +2 -32
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +12 -12
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.native.js +174 -0
- package/build/components/global-styles/color-panel.native.js.map +1 -0
- package/build/components/global-styles/dimensions-panel.js +6 -6
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +1 -1
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +78 -14
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +9 -9
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +87 -77
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/index.js +7 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +12 -7
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/index.js +2 -1
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inspector-controls/groups.js +2 -0
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +2 -0
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/list-view/block-select-button.js +7 -2
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +12 -21
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +37 -10
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +10 -4
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +2 -1
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +1 -1
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/media-replace-flow/index.js +5 -5
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +12 -4
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/off-canvas-editor/appender.js +2 -7
- package/build/components/off-canvas-editor/appender.js.map +1 -1
- package/build/hooks/duotone.js +29 -4
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/utils.js +15 -3
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +10 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +7 -0
- package/build/store/actions.js.map +1 -1
- package/build/utils/object.js +5 -5
- package/build/utils/object.js.map +1 -1
- package/build/utils/transform-styles/index.js +2 -2
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build/utils/use-should-contextual-toolbar-show.js +68 -0
- package/build/utils/use-should-contextual-toolbar-show.js.map +1 -0
- package/build-module/components/block-info-slot-fill/index.js +34 -0
- package/build-module/components/block-info-slot-fill/index.js.map +1 -0
- package/build-module/components/block-inspector/index.js +3 -2
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block.native.js +3 -4
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +2 -1
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +79 -9
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +10 -27
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/editor-styles/index.js +4 -3
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +21 -14
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +2 -32
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +13 -13
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.native.js +150 -0
- package/build-module/components/global-styles/color-panel.native.js.map +1 -0
- package/build-module/components/global-styles/dimensions-panel.js +7 -7
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +2 -2
- package/build-module/components/global-styles/effects-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +78 -16
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +10 -10
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +87 -77
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +12 -6
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/index.js +2 -1
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +2 -0
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +2 -0
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +7 -2
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +14 -22
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +36 -10
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +11 -5
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -1
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +1 -1
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +5 -5
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +12 -4
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/appender.js +1 -5
- package/build-module/components/off-canvas-editor/appender.js.map +1 -1
- package/build-module/hooks/duotone.js +28 -5
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/utils.js +16 -4
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +7 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +7 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/object.js +4 -4
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +2 -2
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-module/utils/use-should-contextual-toolbar-show.js +56 -0
- package/build-module/utils/use-should-contextual-toolbar-show.js.map +1 -0
- package/build-style/content-rtl.css +9 -6
- package/build-style/content.css +9 -6
- package/build-style/style-rtl.css +223 -46
- package/build-style/style.css +223 -46
- package/package.json +32 -32
- package/src/components/block-info-slot-fill/index.js +24 -0
- package/src/components/block-inspector/index.js +3 -0
- package/src/components/block-list/block.native.js +2 -3
- package/src/components/block-list/content.scss +16 -15
- package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +9 -9
- package/src/components/block-mover/style.scss +10 -4
- package/src/components/block-mover/test/index.native.js +4 -4
- package/src/components/block-toolbar/index.js +4 -3
- package/src/components/block-toolbar/style.scss +56 -33
- package/src/components/block-tools/block-contextual-toolbar.js +94 -11
- package/src/components/block-tools/selected-block-popover.js +11 -44
- package/src/components/block-tools/style.scss +157 -3
- package/src/components/editor-styles/index.js +9 -5
- package/src/components/font-sizes/fluid-utils.js +31 -14
- package/src/components/font-sizes/test/fluid-utils.js +5 -16
- package/src/components/global-styles/border-panel.js +1 -30
- package/src/components/global-styles/color-panel.js +13 -13
- package/src/components/global-styles/color-panel.native.js +207 -0
- package/src/components/global-styles/dimensions-panel.js +17 -7
- package/src/components/global-styles/effects-panel.js +2 -2
- package/src/components/global-styles/filters-panel.js +90 -17
- package/src/components/global-styles/style.scss +2 -1
- package/src/components/global-styles/test/typography-utils.js +63 -22
- package/src/components/global-styles/test/use-global-styles-output.js +126 -4
- package/src/components/global-styles/typography-panel.js +37 -11
- package/src/components/global-styles/use-global-styles-output.js +64 -64
- package/src/components/index.js +1 -0
- package/src/components/inserter/block-types-tab.js +9 -6
- package/src/components/inserter/index.js +1 -1
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls-tabs/styles-tab.js +1 -0
- package/src/components/list-view/block-select-button.js +6 -1
- package/src/components/list-view/block.js +23 -31
- package/src/components/list-view/drop-indicator.js +67 -22
- package/src/components/list-view/index.js +8 -1
- package/src/components/list-view/leaf.js +1 -0
- package/src/components/list-view/style.scss +15 -3
- package/src/components/list-view/use-block-selection.js +1 -1
- package/src/components/media-replace-flow/README.md +3 -2
- package/src/components/media-replace-flow/index.js +4 -5
- package/src/components/navigable-toolbar/index.js +12 -3
- package/src/components/off-canvas-editor/appender.js +1 -4
- package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
- package/src/hooks/duotone.js +46 -25
- package/src/hooks/test/anchor.js +113 -0
- package/src/hooks/test/color.js +0 -9
- package/src/hooks/test/use-typography-props.js +2 -2
- package/src/hooks/test/utils.js +20 -101
- package/src/hooks/utils.js +20 -3
- package/src/private-apis.js +6 -0
- package/src/store/actions.js +7 -0
- package/src/utils/object.js +4 -4
- package/src/utils/test/object.js +21 -21
- package/src/utils/transform-styles/index.js +2 -2
- package/src/utils/use-should-contextual-toolbar-show.js +75 -0
- package/tsconfig.json +1 -0
- package/build/hooks/color-panel.native.js +0 -77
- package/build/hooks/color-panel.native.js.map +0 -1
- package/build-module/hooks/color-panel.native.js +0 -62
- package/build-module/hooks/color-panel.native.js.map +0 -1
- package/src/hooks/color-panel.native.js +0 -63
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["FontSizePicker","__experimentalNumberControl","NumberControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","getValueFromVariable","immutableSet","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","textColumns","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","slug","find","f","resetFontFamily","undefined","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","previousValue"],"mappings":"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","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 } 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 TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport { getValueFromVariable } from './utils';\nimport { immutableSet } from '../../utils/object';\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 hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( 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\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\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 useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\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\ttextTransform: true,\n\ttextDecoration: 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 fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\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\timmutableSet(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug ? `var:preset|font-family|${ slug }` : newValue\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 fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\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\timmutableSet( value, [ 'typography', 'fontSize' ], actualValue )\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 setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle,\n\t\t\t\tfontWeight: newFontWeight,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\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\timmutableSet( value, [ 'typography', 'lineHeight' ], newValue )\n\t\t);\n\t};\n\tconst hasLineHeight = () => !! value?.typography?.lineHeight;\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\timmutableSet( value, [ 'typography', 'letterSpacing' ], newValue )\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\timmutableSet( value, [ 'typography', 'textColumns' ], newValue )\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\timmutableSet( value, [ 'typography', 'textTransform' ], newValue )\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\timmutableSet( value, [ 'typography', 'textDecoration' ], newValue )\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( 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 family' ) }\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={ __( 'Font 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={ fontSizes }\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\t__nextHasNoMarginBottom\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\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{ 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={ __( 'Text 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={ __( 'Text 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={ __( 'Text 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{ 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</Wrapper>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["FontSizePicker","__experimentalNumberControl","NumberControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","getValueFromVariable","setImmutably","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","textColumns","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","slug","find","f","undefined","resetFontFamily","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","previousValue"],"mappings":"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","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 } 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 TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\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 hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( 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\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\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 useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\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\ttextTransform: true,\n\ttextDecoration: 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 fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\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 fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\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 setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\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;\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\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 family' ) }\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={ __( 'Font 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={ fontSizes }\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\t__nextHasNoMarginBottom\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\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{ 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={ __( 'Text 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={ __( 'Text 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={ __( 'Text 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{ 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</Wrapper>\n\t);\n}\n"]}
|
|
@@ -295,7 +295,7 @@ export function getStylesDeclarations() {
|
|
|
295
295
|
return declarations;
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
-
if (
|
|
298
|
+
if (properties && typeof styleValue !== 'string') {
|
|
299
299
|
Object.entries(properties).forEach(entry => {
|
|
300
300
|
const [name, prop] = entry;
|
|
301
301
|
|
|
@@ -336,7 +336,7 @@ export function getStylesDeclarations() {
|
|
|
336
336
|
ruleValue = get(tree, refPath); // Presence of another ref indicates a reference to another dynamic value.
|
|
337
337
|
// Pointing to another dynamic value is not supported.
|
|
338
338
|
|
|
339
|
-
if (!ruleValue ||
|
|
339
|
+
if (!ruleValue || (_ruleValue2 = ruleValue) !== null && _ruleValue2 !== void 0 && _ruleValue2.ref) {
|
|
340
340
|
return;
|
|
341
341
|
}
|
|
342
342
|
} // Calculate fluid typography rules where available.
|
|
@@ -479,6 +479,26 @@ export function getLayoutStyles(_ref8) {
|
|
|
479
479
|
|
|
480
480
|
return ruleset;
|
|
481
481
|
}
|
|
482
|
+
const STYLE_KEYS = ['border', 'color', 'dimensions', 'spacing', 'typography', 'filter', 'outline', 'shadow'];
|
|
483
|
+
|
|
484
|
+
function pickStyleKeys(treeToPickFrom) {
|
|
485
|
+
if (!treeToPickFrom) {
|
|
486
|
+
return {};
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
const entries = Object.entries(treeToPickFrom);
|
|
490
|
+
const pickedEntries = entries.filter(_ref13 => {
|
|
491
|
+
let [key] = _ref13;
|
|
492
|
+
return STYLE_KEYS.includes(key);
|
|
493
|
+
}); // clone the style objects so that `getFeatureDeclarations` can remove consumed keys from it
|
|
494
|
+
|
|
495
|
+
const clonedEntries = pickedEntries.map(_ref14 => {
|
|
496
|
+
let [key, style] = _ref14;
|
|
497
|
+
return [key, JSON.parse(JSON.stringify(style))];
|
|
498
|
+
});
|
|
499
|
+
return Object.fromEntries(clonedEntries);
|
|
500
|
+
}
|
|
501
|
+
|
|
482
502
|
export const getNodesWithStyles = (tree, blockSelectors) => {
|
|
483
503
|
var _tree$styles$blocks, _tree$styles3;
|
|
484
504
|
|
|
@@ -486,29 +506,24 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
|
|
|
486
506
|
|
|
487
507
|
if (!(tree !== null && tree !== void 0 && tree.styles)) {
|
|
488
508
|
return nodes;
|
|
489
|
-
}
|
|
490
|
-
|
|
491
|
-
const pickStyleKeys = treeToPickFrom => Object.fromEntries(Object.entries(treeToPickFrom !== null && treeToPickFrom !== void 0 ? treeToPickFrom : {}).filter(_ref13 => {
|
|
492
|
-
let [key] = _ref13;
|
|
493
|
-
return ['border', 'color', 'dimensions', 'spacing', 'typography', 'filter', 'outline', 'shadow'].includes(key);
|
|
494
|
-
})); // Top-level.
|
|
509
|
+
} // Top-level.
|
|
495
510
|
|
|
496
511
|
|
|
497
512
|
const styles = pickStyleKeys(tree.styles);
|
|
498
513
|
|
|
499
|
-
if (
|
|
514
|
+
if (styles) {
|
|
500
515
|
nodes.push({
|
|
501
516
|
styles,
|
|
502
517
|
selector: ROOT_BLOCK_SELECTOR
|
|
503
518
|
});
|
|
504
519
|
}
|
|
505
520
|
|
|
506
|
-
Object.entries(ELEMENTS).forEach(
|
|
521
|
+
Object.entries(ELEMENTS).forEach(_ref15 => {
|
|
507
522
|
var _tree$styles, _tree$styles$elements;
|
|
508
523
|
|
|
509
|
-
let [name, selector] =
|
|
524
|
+
let [name, selector] = _ref15;
|
|
510
525
|
|
|
511
|
-
if (
|
|
526
|
+
if ((_tree$styles = tree.styles) !== null && _tree$styles !== void 0 && (_tree$styles$elements = _tree$styles.elements) !== null && _tree$styles$elements !== void 0 && _tree$styles$elements[name]) {
|
|
512
527
|
var _tree$styles2, _tree$styles2$element;
|
|
513
528
|
|
|
514
529
|
nodes.push({
|
|
@@ -518,10 +533,10 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
|
|
|
518
533
|
}
|
|
519
534
|
}); // Iterate over blocks: they can have styles & elements.
|
|
520
535
|
|
|
521
|
-
Object.entries((_tree$styles$blocks = (_tree$styles3 = tree.styles) === null || _tree$styles3 === void 0 ? void 0 : _tree$styles3.blocks) !== null && _tree$styles$blocks !== void 0 ? _tree$styles$blocks : {}).forEach(
|
|
536
|
+
Object.entries((_tree$styles$blocks = (_tree$styles3 = tree.styles) === null || _tree$styles3 === void 0 ? void 0 : _tree$styles3.blocks) !== null && _tree$styles$blocks !== void 0 ? _tree$styles$blocks : {}).forEach(_ref16 => {
|
|
522
537
|
var _blockSelectors$block, _node$elements;
|
|
523
538
|
|
|
524
|
-
let [blockName, node] =
|
|
539
|
+
let [blockName, node] = _ref16;
|
|
525
540
|
const blockStyles = pickStyleKeys(node);
|
|
526
541
|
|
|
527
542
|
if (node !== null && node !== void 0 && node.variations) {
|
|
@@ -532,29 +547,27 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
|
|
|
532
547
|
blockStyles.variations = variations;
|
|
533
548
|
}
|
|
534
549
|
|
|
535
|
-
if (
|
|
536
|
-
var _blockSelectors$block2;
|
|
537
|
-
|
|
550
|
+
if (blockStyles && blockSelectors !== null && blockSelectors !== void 0 && (_blockSelectors$block = blockSelectors[blockName]) !== null && _blockSelectors$block !== void 0 && _blockSelectors$block.selector) {
|
|
538
551
|
nodes.push({
|
|
539
552
|
duotoneSelector: blockSelectors[blockName].duotoneSelector,
|
|
540
553
|
fallbackGapValue: blockSelectors[blockName].fallbackGapValue,
|
|
541
554
|
hasLayoutSupport: blockSelectors[blockName].hasLayoutSupport,
|
|
542
|
-
selector:
|
|
555
|
+
selector: blockSelectors[blockName].selector,
|
|
543
556
|
styles: blockStyles,
|
|
544
557
|
featureSelectors: blockSelectors[blockName].featureSelectors,
|
|
545
558
|
styleVariationSelectors: blockSelectors[blockName].styleVariationSelectors
|
|
546
559
|
});
|
|
547
560
|
}
|
|
548
561
|
|
|
549
|
-
Object.entries((_node$elements = node === null || node === void 0 ? void 0 : node.elements) !== null && _node$elements !== void 0 ? _node$elements : {}).forEach(
|
|
550
|
-
let [elementName, value] =
|
|
562
|
+
Object.entries((_node$elements = node === null || node === void 0 ? void 0 : node.elements) !== null && _node$elements !== void 0 ? _node$elements : {}).forEach(_ref17 => {
|
|
563
|
+
let [elementName, value] = _ref17;
|
|
551
564
|
|
|
552
|
-
if (
|
|
553
|
-
var _blockSelectors$
|
|
565
|
+
if (value && blockSelectors !== null && blockSelectors !== void 0 && blockSelectors[blockName] && ELEMENTS[elementName]) {
|
|
566
|
+
var _blockSelectors$block2;
|
|
554
567
|
|
|
555
568
|
nodes.push({
|
|
556
569
|
styles: value,
|
|
557
|
-
selector: (_blockSelectors$
|
|
570
|
+
selector: (_blockSelectors$block2 = blockSelectors[blockName]) === null || _blockSelectors$block2 === void 0 ? void 0 : _blockSelectors$block2.selector.split(',').map(sel => {
|
|
558
571
|
const elementSelectors = ELEMENTS[elementName].split(',');
|
|
559
572
|
return elementSelectors.map(elementSelector => sel + ' ' + elementSelector);
|
|
560
573
|
}).join(',')
|
|
@@ -575,10 +588,10 @@ export const getNodesWithSettings = (tree, blockSelectors) => {
|
|
|
575
588
|
|
|
576
589
|
const pickPresets = treeToPickFrom => {
|
|
577
590
|
const presets = {};
|
|
578
|
-
PRESET_METADATA.forEach(
|
|
591
|
+
PRESET_METADATA.forEach(_ref18 => {
|
|
579
592
|
let {
|
|
580
593
|
path
|
|
581
|
-
} =
|
|
594
|
+
} = _ref18;
|
|
582
595
|
const value = get(treeToPickFrom, path, false);
|
|
583
596
|
|
|
584
597
|
if (value !== false) {
|
|
@@ -592,7 +605,7 @@ export const getNodesWithSettings = (tree, blockSelectors) => {
|
|
|
592
605
|
const presets = pickPresets(tree.settings);
|
|
593
606
|
const custom = (_tree$settings4 = tree.settings) === null || _tree$settings4 === void 0 ? void 0 : _tree$settings4.custom;
|
|
594
607
|
|
|
595
|
-
if (!isEmpty(presets) ||
|
|
608
|
+
if (!isEmpty(presets) || custom) {
|
|
596
609
|
nodes.push({
|
|
597
610
|
presets,
|
|
598
611
|
custom,
|
|
@@ -601,18 +614,18 @@ export const getNodesWithSettings = (tree, blockSelectors) => {
|
|
|
601
614
|
} // Blocks.
|
|
602
615
|
|
|
603
616
|
|
|
604
|
-
Object.entries((_tree$settings$blocks = (_tree$settings5 = tree.settings) === null || _tree$settings5 === void 0 ? void 0 : _tree$settings5.blocks) !== null && _tree$settings$blocks !== void 0 ? _tree$settings$blocks : {}).forEach(
|
|
605
|
-
let [blockName, node] =
|
|
617
|
+
Object.entries((_tree$settings$blocks = (_tree$settings5 = tree.settings) === null || _tree$settings5 === void 0 ? void 0 : _tree$settings5.blocks) !== null && _tree$settings$blocks !== void 0 ? _tree$settings$blocks : {}).forEach(_ref19 => {
|
|
618
|
+
let [blockName, node] = _ref19;
|
|
606
619
|
const blockPresets = pickPresets(node);
|
|
607
620
|
const blockCustom = node.custom;
|
|
608
621
|
|
|
609
|
-
if (!isEmpty(blockPresets) ||
|
|
610
|
-
var _blockSelectors$
|
|
622
|
+
if (!isEmpty(blockPresets) || blockCustom) {
|
|
623
|
+
var _blockSelectors$block3;
|
|
611
624
|
|
|
612
625
|
nodes.push({
|
|
613
626
|
presets: blockPresets,
|
|
614
627
|
custom: blockCustom,
|
|
615
|
-
selector: (_blockSelectors$
|
|
628
|
+
selector: (_blockSelectors$block3 = blockSelectors[blockName]) === null || _blockSelectors$block3 === void 0 ? void 0 : _blockSelectors$block3.selector
|
|
616
629
|
});
|
|
617
630
|
}
|
|
618
631
|
});
|
|
@@ -621,12 +634,12 @@ export const getNodesWithSettings = (tree, blockSelectors) => {
|
|
|
621
634
|
export const toCustomProperties = (tree, blockSelectors) => {
|
|
622
635
|
const settings = getNodesWithSettings(tree, blockSelectors);
|
|
623
636
|
let ruleset = '';
|
|
624
|
-
settings.forEach(
|
|
637
|
+
settings.forEach(_ref20 => {
|
|
625
638
|
let {
|
|
626
639
|
presets,
|
|
627
640
|
custom,
|
|
628
641
|
selector
|
|
629
|
-
} =
|
|
642
|
+
} = _ref20;
|
|
630
643
|
const declarations = getPresetsDeclarations(presets, tree === null || tree === void 0 ? void 0 : tree.settings);
|
|
631
644
|
const customProps = flattenTree(custom, '--wp--custom--', '--');
|
|
632
645
|
|
|
@@ -635,7 +648,7 @@ export const toCustomProperties = (tree, blockSelectors) => {
|
|
|
635
648
|
}
|
|
636
649
|
|
|
637
650
|
if (declarations.length > 0) {
|
|
638
|
-
ruleset
|
|
651
|
+
ruleset += `${selector}{${declarations.join(';')};}`;
|
|
639
652
|
}
|
|
640
653
|
});
|
|
641
654
|
return ruleset;
|
|
@@ -685,7 +698,7 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
|
|
|
685
698
|
}
|
|
686
699
|
|
|
687
700
|
ruleset += '}';
|
|
688
|
-
nodesWithStyles.forEach(
|
|
701
|
+
nodesWithStyles.forEach(_ref21 => {
|
|
689
702
|
let {
|
|
690
703
|
selector,
|
|
691
704
|
duotoneSelector,
|
|
@@ -694,70 +707,67 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
|
|
|
694
707
|
hasLayoutSupport,
|
|
695
708
|
featureSelectors,
|
|
696
709
|
styleVariationSelectors
|
|
697
|
-
} =
|
|
710
|
+
} = _ref21;
|
|
698
711
|
|
|
699
712
|
// Process styles for block support features with custom feature level
|
|
700
713
|
// CSS selectors set.
|
|
701
714
|
if (featureSelectors) {
|
|
702
715
|
const featureDeclarations = getFeatureDeclarations(featureSelectors, styles);
|
|
703
|
-
Object.entries(featureDeclarations).forEach(
|
|
704
|
-
let [cssSelector, declarations] =
|
|
716
|
+
Object.entries(featureDeclarations).forEach(_ref22 => {
|
|
717
|
+
let [cssSelector, declarations] = _ref22;
|
|
705
718
|
|
|
706
|
-
if (
|
|
719
|
+
if (declarations.length) {
|
|
707
720
|
const rules = declarations.join(';');
|
|
708
|
-
ruleset
|
|
721
|
+
ruleset += `${cssSelector}{${rules};}`;
|
|
709
722
|
}
|
|
710
723
|
});
|
|
711
724
|
}
|
|
712
725
|
|
|
713
726
|
if (styleVariationSelectors) {
|
|
714
|
-
Object.entries(styleVariationSelectors).forEach(
|
|
727
|
+
Object.entries(styleVariationSelectors).forEach(_ref23 => {
|
|
715
728
|
var _styles$variations;
|
|
716
729
|
|
|
717
|
-
let [styleVariationName, styleVariationSelector] =
|
|
718
|
-
|
|
719
|
-
if (styles !== null && styles !== void 0 && (_styles$variations = styles.variations) !== null && _styles$variations !== void 0 && _styles$variations[styleVariationName]) {
|
|
720
|
-
var _styles$variations3;
|
|
730
|
+
let [styleVariationName, styleVariationSelector] = _ref23;
|
|
731
|
+
const styleVariations = styles === null || styles === void 0 ? void 0 : (_styles$variations = styles.variations) === null || _styles$variations === void 0 ? void 0 : _styles$variations[styleVariationName];
|
|
721
732
|
|
|
733
|
+
if (styleVariations) {
|
|
722
734
|
// If the block uses any custom selectors for block support, add those first.
|
|
723
735
|
if (featureSelectors) {
|
|
724
|
-
|
|
736
|
+
const featureDeclarations = getFeatureDeclarations(featureSelectors, styleVariations);
|
|
737
|
+
Object.entries(featureDeclarations).forEach(_ref24 => {
|
|
738
|
+
let [baseSelector, declarations] = _ref24;
|
|
725
739
|
|
|
726
|
-
|
|
727
|
-
Object.entries(featureDeclarations).forEach(_ref23 => {
|
|
728
|
-
let [baseSelector, declarations] = _ref23;
|
|
729
|
-
|
|
730
|
-
if (!!declarations.length) {
|
|
740
|
+
if (declarations.length) {
|
|
731
741
|
const cssSelector = concatFeatureVariationSelectorString(baseSelector, styleVariationSelector);
|
|
732
742
|
const rules = declarations.join(';');
|
|
733
|
-
ruleset
|
|
743
|
+
ruleset += `${cssSelector}{${rules};}`;
|
|
734
744
|
}
|
|
735
745
|
});
|
|
736
746
|
} // Otherwise add regular selectors.
|
|
737
747
|
|
|
738
748
|
|
|
739
|
-
const styleVariationDeclarations = getStylesDeclarations(
|
|
749
|
+
const styleVariationDeclarations = getStylesDeclarations(styleVariations, styleVariationSelector, useRootPaddingAlign, tree);
|
|
740
750
|
|
|
741
|
-
if (
|
|
742
|
-
ruleset
|
|
751
|
+
if (styleVariationDeclarations.length) {
|
|
752
|
+
ruleset += `${styleVariationSelector}{${styleVariationDeclarations.join(';')};}`;
|
|
743
753
|
}
|
|
744
754
|
}
|
|
745
755
|
});
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
const duotoneStyles = {};
|
|
749
|
-
|
|
750
|
-
if (styles !== null && styles !== void 0 && styles.filter) {
|
|
751
|
-
duotoneStyles.filter = styles.filter;
|
|
752
|
-
delete styles.filter;
|
|
753
756
|
} // Process duotone styles.
|
|
754
757
|
|
|
755
758
|
|
|
756
759
|
if (duotoneSelector) {
|
|
760
|
+
const duotoneStyles = {};
|
|
761
|
+
|
|
762
|
+
if (styles !== null && styles !== void 0 && styles.filter) {
|
|
763
|
+
duotoneStyles.filter = styles.filter;
|
|
764
|
+
delete styles.filter;
|
|
765
|
+
}
|
|
766
|
+
|
|
757
767
|
const duotoneDeclarations = getStylesDeclarations(duotoneStyles);
|
|
758
768
|
|
|
759
|
-
if (duotoneDeclarations.length
|
|
760
|
-
ruleset
|
|
769
|
+
if (duotoneDeclarations.length) {
|
|
770
|
+
ruleset += `${duotoneSelector}{${duotoneDeclarations.join(';')};}`;
|
|
761
771
|
}
|
|
762
772
|
} // Process blockGap and layout styles.
|
|
763
773
|
|
|
@@ -777,18 +787,18 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
|
|
|
777
787
|
const declarations = getStylesDeclarations(styles, selector, useRootPaddingAlign, tree);
|
|
778
788
|
|
|
779
789
|
if (declarations !== null && declarations !== void 0 && declarations.length) {
|
|
780
|
-
ruleset
|
|
790
|
+
ruleset += `${selector}{${declarations.join(';')};}`;
|
|
781
791
|
} // Check for pseudo selector in `styles` and handle separately.
|
|
782
792
|
|
|
783
793
|
|
|
784
|
-
const pseudoSelectorStyles = Object.entries(styles).filter(
|
|
785
|
-
let [key] =
|
|
794
|
+
const pseudoSelectorStyles = Object.entries(styles).filter(_ref25 => {
|
|
795
|
+
let [key] = _ref25;
|
|
786
796
|
return key.startsWith(':');
|
|
787
797
|
});
|
|
788
798
|
|
|
789
799
|
if (pseudoSelectorStyles !== null && pseudoSelectorStyles !== void 0 && pseudoSelectorStyles.length) {
|
|
790
|
-
pseudoSelectorStyles.forEach(
|
|
791
|
-
let [pseudoKey, pseudoStyle] =
|
|
800
|
+
pseudoSelectorStyles.forEach(_ref26 => {
|
|
801
|
+
let [pseudoKey, pseudoStyle] = _ref26;
|
|
792
802
|
const pseudoDeclarations = getStylesDeclarations(pseudoStyle);
|
|
793
803
|
|
|
794
804
|
if (!(pseudoDeclarations !== null && pseudoDeclarations !== void 0 && pseudoDeclarations.length)) {
|
|
@@ -805,7 +815,7 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
|
|
|
805
815
|
const _selector = selector.split(',').map(sel => sel + pseudoKey).join(',');
|
|
806
816
|
|
|
807
817
|
const pseudoRule = `${_selector}{${pseudoDeclarations.join(';')};}`;
|
|
808
|
-
ruleset
|
|
818
|
+
ruleset += pseudoRule;
|
|
809
819
|
});
|
|
810
820
|
}
|
|
811
821
|
});
|
|
@@ -825,11 +835,11 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
|
|
|
825
835
|
ruleset = ruleset + ':where(.wp-site-blocks) > :last-child:last-child { margin-block-end: 0; }';
|
|
826
836
|
}
|
|
827
837
|
|
|
828
|
-
nodesWithSettings.forEach(
|
|
838
|
+
nodesWithSettings.forEach(_ref27 => {
|
|
829
839
|
let {
|
|
830
840
|
selector,
|
|
831
841
|
presets
|
|
832
|
-
} =
|
|
842
|
+
} = _ref27;
|
|
833
843
|
|
|
834
844
|
if (ROOT_BLOCK_SELECTOR === selector) {
|
|
835
845
|
// Do not add extra specificity for top-level classes.
|
|
@@ -839,17 +849,17 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
|
|
|
839
849
|
const classes = getPresetsClasses(selector, presets);
|
|
840
850
|
|
|
841
851
|
if (!isEmpty(classes)) {
|
|
842
|
-
ruleset
|
|
852
|
+
ruleset += classes;
|
|
843
853
|
}
|
|
844
854
|
});
|
|
845
855
|
return ruleset;
|
|
846
856
|
};
|
|
847
857
|
export function toSvgFilters(tree, blockSelectors) {
|
|
848
858
|
const nodesWithSettings = getNodesWithSettings(tree, blockSelectors);
|
|
849
|
-
return nodesWithSettings.flatMap(
|
|
859
|
+
return nodesWithSettings.flatMap(_ref28 => {
|
|
850
860
|
let {
|
|
851
861
|
presets
|
|
852
|
-
} =
|
|
862
|
+
} = _ref28;
|
|
853
863
|
return getPresetsSvgFilters(presets);
|
|
854
864
|
});
|
|
855
865
|
}
|
|
@@ -862,8 +872,8 @@ const getSelectorsConfig = (blockType, rootSelector) => {
|
|
|
862
872
|
const config = {
|
|
863
873
|
root: rootSelector
|
|
864
874
|
};
|
|
865
|
-
Object.entries(BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS).forEach(
|
|
866
|
-
let [featureKey, featureName] =
|
|
875
|
+
Object.entries(BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS).forEach(_ref29 => {
|
|
876
|
+
let [featureKey, featureName] = _ref29;
|
|
867
877
|
const featureSelector = getBlockCSSSelector(blockType, featureKey);
|
|
868
878
|
|
|
869
879
|
if (featureSelector) {
|