@wordpress/block-editor 11.7.0 → 11.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +42 -55
- package/build/components/block-list/block.native.js +4 -3
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.native.js +11 -21
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +3 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-popover/inbetween.js +2 -9
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +1 -10
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/caption/index.native.js +0 -1
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/date-format-picker/index.js +1 -1
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/global-styles/border-panel.js +15 -29
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +15 -14
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +244 -0
- package/build/components/global-styles/effects-panel.js.map +1 -0
- package/build/components/global-styles/filters-panel.js +151 -0
- package/build/components/global-styles/filters-panel.js.map +1 -0
- package/build/components/global-styles/get-block-css-selector.js +1 -12
- package/build/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build/components/global-styles/hooks.js +7 -0
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +28 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +15 -7
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/iframe/index.js +1 -1
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-size-control/use-dimension-handler.js +5 -3
- package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build/components/index.js +16 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +4 -2
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/utils.js +5 -3
- package/build/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build/components/list-view/block.js +1 -0
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/index.js +22 -4
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +7 -3
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +8 -2
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/off-canvas-editor/block-contents.js +6 -1
- package/build/components/off-canvas-editor/block-contents.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +17 -14
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/resizable-box-popover/index.js +38 -0
- package/build/components/resizable-box-popover/index.js.map +1 -0
- package/build/components/rich-text/index.js +0 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +7 -11
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js +8 -0
- package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build/hooks/anchor.js +1 -1
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border.js +1 -1
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/duotone.js +92 -66
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/margin.js +27 -17
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +19 -9
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/utils.js +7 -4
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/utils.js +3 -2
- package/build/layouts/utils.js.map +1 -1
- package/build/private-apis.js +4 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +1 -1
- package/build/store/actions.js.map +1 -1
- package/build/utils/object.js +1 -1
- package/build/utils/object.js.map +1 -1
- package/build-module/components/block-list/block.native.js +4 -3
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.native.js +11 -19
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +2 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +2 -9
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -9
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/caption/index.native.js +0 -1
- package/build-module/components/caption/index.native.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +1 -1
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +15 -29
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +15 -14
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +228 -0
- package/build-module/components/global-styles/effects-panel.js.map +1 -0
- package/build-module/components/global-styles/filters-panel.js +139 -0
- package/build-module/components/global-styles/filters-panel.js.map +1 -0
- package/build-module/components/global-styles/get-block-css-selector.js +1 -12
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +7 -0
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +2 -0
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +16 -8
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/iframe/index.js +1 -1
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-size-control/use-dimension-handler.js +5 -3
- package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +5 -2
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/utils.js +4 -3
- package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build-module/components/list-view/block.js +1 -0
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/index.js +21 -4
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +7 -3
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +8 -4
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/off-canvas-editor/block-contents.js +5 -1
- package/build-module/components/off-canvas-editor/block-contents.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +17 -14
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/resizable-box-popover/index.js +26 -0
- package/build-module/components/resizable-box-popover/index.js.map +1 -0
- package/build-module/components/rich-text/index.js +0 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +7 -10
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js +7 -0
- package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build-module/hooks/anchor.js +1 -1
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border.js +1 -1
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/duotone.js +90 -66
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/margin.js +29 -18
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +21 -10
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/utils.js +8 -5
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/utils.js +3 -2
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/private-apis.js +3 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +1 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/object.js +1 -1
- package/build-module/utils/object.js.map +1 -1
- package/build-style/style-rtl.css +51 -10
- package/build-style/style.css +51 -10
- package/package.json +31 -31
- package/src/components/block-inspector/style.scss +6 -4
- package/src/components/block-list/block.native.js +3 -2
- package/src/components/block-list/index.native.js +19 -38
- package/src/components/block-list/use-in-between-inserter.js +4 -1
- package/src/components/block-popover/inbetween.js +2 -13
- package/src/components/block-settings-menu/block-settings-dropdown.js +2 -12
- package/src/components/caption/index.native.js +0 -1
- package/src/components/date-format-picker/index.js +1 -1
- package/src/components/global-styles/README.md +129 -16
- package/src/components/global-styles/border-panel.js +13 -32
- package/src/components/global-styles/dimensions-panel.js +30 -13
- package/src/components/global-styles/effects-panel.js +228 -0
- package/src/components/global-styles/filters-panel.js +157 -0
- package/src/components/global-styles/get-block-css-selector.js +0 -11
- package/src/components/global-styles/hooks.js +10 -0
- package/src/components/global-styles/index.js +2 -0
- package/src/components/global-styles/style.scss +42 -0
- package/src/components/global-styles/test/use-global-styles-output.js +4 -4
- package/src/components/global-styles/use-global-styles-output.js +27 -11
- package/src/components/iframe/index.js +1 -1
- package/src/components/image-size-control/use-dimension-handler.js +4 -3
- package/src/components/index.js +4 -1
- package/src/components/inserter/block-patterns-tab.js +3 -1
- package/src/components/inspector-controls-tabs/utils.js +4 -3
- package/src/components/list-view/README.md +2 -0
- package/src/components/list-view/block.js +1 -0
- package/src/components/list-view/index.js +18 -2
- package/src/components/list-view/style.scss +3 -1
- package/src/components/list-view/test/use-list-view-drop-zone.js +188 -0
- package/src/components/list-view/use-list-view-client-ids.js +5 -3
- package/src/components/list-view/use-list-view-drop-zone.js +9 -3
- package/src/components/off-canvas-editor/block-contents.js +4 -0
- package/src/components/off-canvas-editor/index.js +15 -11
- package/src/components/resizable-box-popover/index.js +27 -0
- package/src/components/rich-text/index.js +0 -1
- package/src/components/rich-text/index.native.js +2 -5
- package/src/components/spacing-sizes-control/spacing-input-control.js +10 -0
- package/src/components/spacing-sizes-control/style.scss +7 -7
- package/src/hooks/anchor.js +1 -1
- package/src/hooks/border.js +1 -1
- package/src/hooks/duotone.js +116 -74
- package/src/hooks/margin.js +31 -26
- package/src/hooks/padding.js +24 -18
- package/src/hooks/utils.js +4 -4
- package/src/layouts/utils.js +2 -2
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +1 -1
- package/src/style.scss +1 -0
- package/src/utils/object.js +1 -1
- package/src/utils/test/object.js +38 -0
- package/build/components/rich-text/use-native-props.js +0 -11
- package/build/components/rich-text/use-native-props.js.map +0 -1
- package/build/components/rich-text/use-native-props.native.js +0 -24
- package/build/components/rich-text/use-native-props.native.js.map +0 -1
- package/build-module/components/rich-text/use-native-props.js +0 -4
- package/build-module/components/rich-text/use-native-props.js.map +0 -1
- package/build-module/components/rich-text/use-native-props.native.js +0 -15
- package/build-module/components/rich-text/use-native-props.native.js.map +0 -1
- package/src/components/rich-text/use-native-props.js +0 -3
- package/src/components/rich-text/use-native-props.native.js +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/get-block-css-selector.js"],"names":["get","isEmpty","scopeSelector","getBlockCSSSelector","blockType","target","options","fallback","name","selectors","supports","hasSelectors","path","Array","isArray","join","rootSelector","root","__experimentalSelector","replace","pathArray","split","length","fallbackSelector","featureSelector","subfeatureSelector"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,OAAd,QAA6B,QAA7B;AAEA;AACA;AACA;;AACA,SAASC,aAAT,QAA8B,SAA9B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,mBAAT,CACNC,SADM,EAIL;AAAA,MAFDC,MAEC,uEAFQ,MAER;AAAA,MADDC,OACC,uEADS,EACT;;AACD,MAAK,CAAED,MAAP,EAAgB;AACf,WAAO,IAAP;AACA;;AAED,QAAM;AAAEE,IAAAA,QAAQ,GAAG;AAAb,MAAuBD,OAA7B;AACA,QAAM;AAAEE,IAAAA,IAAF;AAAQC,IAAAA,SAAR;AAAmBC,IAAAA;AAAnB,MAAgCN,SAAtC;AAEA,QAAMO,YAAY,GAAG,CAAEV,OAAO,CAAEQ,SAAF,CAA9B;AACA,QAAMG,IAAI,GAAGC,KAAK,CAACC,OAAN,CAAeT,MAAf,IAA0BA,MAAM,CAACU,IAAP,CAAa,GAAb,CAA1B,GAA+CV,MAA5D,CATC,CAWD
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/get-block-css-selector.js"],"names":["get","isEmpty","scopeSelector","getBlockCSSSelector","blockType","target","options","fallback","name","selectors","supports","hasSelectors","path","Array","isArray","join","rootSelector","root","__experimentalSelector","replace","pathArray","split","length","fallbackSelector","featureSelector","subfeatureSelector"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, isEmpty } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { scopeSelector } from './utils';\n\n/**\n * Determine the CSS selector for the block type and target provided, returning\n * it if available.\n *\n * @param {import('@wordpress/blocks').Block} blockType The block's type.\n * @param {string|string[]} target The desired selector's target e.g. `root`, delimited string, or array path.\n * @param {Object} options Options object.\n * @param {boolean} options.fallback Whether or not to fallback to broader selector.\n *\n * @return {?string} The CSS selector or `null` if no selector available.\n */\nexport function getBlockCSSSelector(\n\tblockType,\n\ttarget = 'root',\n\toptions = {}\n) {\n\tif ( ! target ) {\n\t\treturn null;\n\t}\n\n\tconst { fallback = false } = options;\n\tconst { name, selectors, supports } = blockType;\n\n\tconst hasSelectors = ! isEmpty( selectors );\n\tconst path = Array.isArray( target ) ? target.join( '.' ) : target;\n\n\t// Root selector.\n\n\t// Calculated before returning as it can be used as a fallback for feature\n\t// selectors later on.\n\tlet rootSelector = null;\n\n\tif ( hasSelectors && selectors.root ) {\n\t\t// Use the selectors API if available.\n\t\trootSelector = selectors?.root;\n\t} else if ( supports?.__experimentalSelector ) {\n\t\t// Use the old experimental selector supports property if set.\n\t\trootSelector = supports.__experimentalSelector;\n\t} else {\n\t\t// If no root selector found, generate default block class selector.\n\t\trootSelector =\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t}\n\n\t// Return selector if it's the root target we are looking for.\n\tif ( path === 'root' ) {\n\t\treturn rootSelector;\n\t}\n\n\t// If target is not `root` or `duotone` we have a feature or subfeature\n\t// as the target. If the target is a string convert to an array.\n\tconst pathArray = Array.isArray( target ) ? target : target.split( '.' );\n\n\t// Feature selectors ( may fallback to root selector );\n\tif ( pathArray.length === 1 ) {\n\t\tconst fallbackSelector = fallback ? rootSelector : null;\n\n\t\t// Prefer the selectors API if available.\n\t\tif ( hasSelectors ) {\n\t\t\t// Get selector from either `feature.root` or shorthand path.\n\t\t\tconst featureSelector =\n\t\t\t\tget( selectors, `${ path }.root`, null ) ||\n\t\t\t\tget( selectors, path, null );\n\n\t\t\t// Return feature selector if found or any available fallback.\n\t\t\treturn featureSelector || fallbackSelector;\n\t\t}\n\n\t\t// Try getting old experimental supports selector value.\n\t\tconst featureSelector = get(\n\t\t\tsupports,\n\t\t\t`${ path }.__experimentalSelector`,\n\t\t\tnull\n\t\t);\n\n\t\t// If nothing to work with, provide fallback selector if available.\n\t\tif ( ! featureSelector ) {\n\t\t\treturn fallbackSelector;\n\t\t}\n\n\t\t// Scope the feature selector by the block's root selector.\n\t\treturn scopeSelector( rootSelector, featureSelector );\n\t}\n\n\t// Subfeature selector.\n\t// This may fallback either to parent feature or root selector.\n\tlet subfeatureSelector;\n\n\t// Use selectors API if available.\n\tif ( hasSelectors ) {\n\t\tsubfeatureSelector = get( selectors, path, null );\n\t}\n\n\t// Only return if we have a subfeature selector.\n\tif ( subfeatureSelector ) {\n\t\treturn subfeatureSelector;\n\t}\n\n\t// To this point we don't have a subfeature selector. If a fallback has been\n\t// requested, remove subfeature from target path and return results of a\n\t// call for the parent feature's selector.\n\tif ( fallback ) {\n\t\treturn getBlockCSSSelector( blockType, pathArray[ 0 ], options );\n\t}\n\n\t// We tried.\n\treturn null;\n}\n"]}
|
|
@@ -180,6 +180,12 @@ export function useSettingsForBlockElement(parentSettings, blockName, element) {
|
|
|
180
180
|
if (!supportedStyles.includes('background')) {
|
|
181
181
|
updatedSettings.color.gradients = [];
|
|
182
182
|
updatedSettings.color.customGradient = false;
|
|
183
|
+
} // If filters are not supported by the block/element, disable duotone.
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
if (!supportedStyles.includes('filter')) {
|
|
187
|
+
updatedSettings.color.defaultDuotone = false;
|
|
188
|
+
updatedSettings.color.customDuotone = false;
|
|
183
189
|
}
|
|
184
190
|
|
|
185
191
|
['lineHeight', 'fontStyle', 'fontWeight', 'letterSpacing', 'textTransform', 'textDecoration'].forEach(key => {
|
|
@@ -240,6 +246,7 @@ export function useSettingsForBlockElement(parentSettings, blockName, element) {
|
|
|
240
246
|
};
|
|
241
247
|
}
|
|
242
248
|
});
|
|
249
|
+
updatedSettings.shadow = supportedStyles.includes('shadow') ? updatedSettings.shadow : false;
|
|
243
250
|
return updatedSettings;
|
|
244
251
|
}, [parentSettings, supportedStyles, supports]);
|
|
245
252
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"names":["fastDeepEqual","get","set","useContext","useCallback","useMemo","useSelect","store","blocksStore","_x","getValueFromVariable","getPresetVariableFromValue","GlobalStylesContext","unlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","canReset","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","configToUse","result","forEach","setting","value","setSetting","newValue","currentConfig","newUserConfig","JSON","parse","stringify","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","rawResult","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","select","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","minHeight","charAt","toUpperCase","slice","border","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\nimport { get, set } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tget( configToUse, contextualPath ) ??\n\t\t\t\tget( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tconst result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tget(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ?? get( configToUse, `settings.${ setting }` );\n\t\t\tif ( value ) {\n\t\t\t\tset( result, setting, value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset( newUserConfig, contextualPath, newValue );\n\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset(\n\t\t\t\tnewUserConfig,\n\t\t\t\tfinalPath,\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t);\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult =\n\t\t\t\t// The styles.css path is allowed to be empty, so don't revert to base if undefined.\n\t\t\t\tfinalPath === 'styles.css'\n\t\t\t\t\t? get( userConfig, finalPath )\n\t\t\t\t\t: get( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = get( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = get( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\tif ( sides?.length ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! supportedStyles.includes( 'minHeight' ) ) {\n\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\tminHeight: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"names":["fastDeepEqual","get","set","useContext","useCallback","useMemo","useSelect","store","blocksStore","_x","getValueFromVariable","getPresetVariableFromValue","GlobalStylesContext","unlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","canReset","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","configToUse","result","forEach","setting","value","setSetting","newValue","currentConfig","newUserConfig","JSON","parse","stringify","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","rawResult","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","select","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","minHeight","charAt","toUpperCase","slice","border","shadow","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\nimport { get, set } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tget( configToUse, contextualPath ) ??\n\t\t\t\tget( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tconst result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tget(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ?? get( configToUse, `settings.${ setting }` );\n\t\t\tif ( value ) {\n\t\t\t\tset( result, setting, value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset( newUserConfig, contextualPath, newValue );\n\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset(\n\t\t\t\tnewUserConfig,\n\t\t\t\tfinalPath,\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t);\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult =\n\t\t\t\t// The styles.css path is allowed to be empty, so don't revert to base if undefined.\n\t\t\t\tfinalPath === 'styles.css'\n\t\t\t\t\t? get( userConfig, finalPath )\n\t\t\t\t\t: get( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = get( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = get( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\tif ( sides?.length ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! supportedStyles.includes( 'minHeight' ) ) {\n\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\tminHeight: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"]}
|
|
@@ -6,4 +6,6 @@ export { default as TypographyPanel, useHasTypographyPanel } from './typography-
|
|
|
6
6
|
export { default as DimensionsPanel, useHasDimensionsPanel } from './dimensions-panel';
|
|
7
7
|
export { default as BorderPanel, useHasBorderPanel } from './border-panel';
|
|
8
8
|
export { default as ColorPanel, useHasColorPanel } from './color-panel';
|
|
9
|
+
export { default as EffectsPanel, useHasEffectsPanel } from './effects-panel';
|
|
10
|
+
export { default as FiltersPanel, useHasFiltersPanel } from './filters-panel';
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"names":["useGlobalStylesReset","useGlobalSetting","useGlobalStyle","useSettingsForBlockElement","getBlockCSSSelector","useGlobalStylesOutput","GlobalStylesContext","default","TypographyPanel","useHasTypographyPanel","DimensionsPanel","useHasDimensionsPanel","BorderPanel","useHasBorderPanel","ColorPanel","useHasColorPanel"],"mappings":"AAAA,SACCA,oBADD,EAECC,gBAFD,EAGCC,cAHD,EAICC,0BAJD,QAKO,SALP;AAMA,SAASC,mBAAT,QAAoC,0BAApC;AACA,SAASC,qBAAT,QAAsC,4BAAtC;AACA,SAASC,mBAAT,QAAoC,WAApC;AACA,SACCC,OAAO,IAAIC,eADZ,EAECC,qBAFD,QAGO,oBAHP;AAIA,SACCF,OAAO,IAAIG,eADZ,EAECC,qBAFD,QAGO,oBAHP;AAIA,SAASJ,OAAO,IAAIK,WAApB,EAAiCC,iBAAjC,QAA0D,gBAA1D;AACA,SAASN,OAAO,IAAIO,UAApB,EAAgCC,gBAAhC,QAAwD,eAAxD","sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport { useGlobalStylesOutput } from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport { default as BorderPanel, useHasBorderPanel } from './border-panel';\nexport { default as ColorPanel, useHasColorPanel } from './color-panel';\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"names":["useGlobalStylesReset","useGlobalSetting","useGlobalStyle","useSettingsForBlockElement","getBlockCSSSelector","useGlobalStylesOutput","GlobalStylesContext","default","TypographyPanel","useHasTypographyPanel","DimensionsPanel","useHasDimensionsPanel","BorderPanel","useHasBorderPanel","ColorPanel","useHasColorPanel","EffectsPanel","useHasEffectsPanel","FiltersPanel","useHasFiltersPanel"],"mappings":"AAAA,SACCA,oBADD,EAECC,gBAFD,EAGCC,cAHD,EAICC,0BAJD,QAKO,SALP;AAMA,SAASC,mBAAT,QAAoC,0BAApC;AACA,SAASC,qBAAT,QAAsC,4BAAtC;AACA,SAASC,mBAAT,QAAoC,WAApC;AACA,SACCC,OAAO,IAAIC,eADZ,EAECC,qBAFD,QAGO,oBAHP;AAIA,SACCF,OAAO,IAAIG,eADZ,EAECC,qBAFD,QAGO,oBAHP;AAIA,SAASJ,OAAO,IAAIK,WAApB,EAAiCC,iBAAjC,QAA0D,gBAA1D;AACA,SAASN,OAAO,IAAIO,UAApB,EAAgCC,gBAAhC,QAAwD,eAAxD;AACA,SAASR,OAAO,IAAIS,YAApB,EAAkCC,kBAAlC,QAA4D,iBAA5D;AACA,SAASV,OAAO,IAAIW,YAApB,EAAkCC,kBAAlC,QAA4D,iBAA5D","sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport { useGlobalStylesOutput } from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport { default as BorderPanel, useHasBorderPanel } from './border-panel';\nexport { default as ColorPanel, useHasColorPanel } from './color-panel';\nexport { default as EffectsPanel, useHasEffectsPanel } from './effects-panel';\nexport { default as FiltersPanel, useHasFiltersPanel } from './filters-panel';\n"]}
|
|
@@ -8,7 +8,7 @@ import { get, isEmpty, kebabCase, set } from 'lodash';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { __EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY, __EXPERIMENTAL_ELEMENTS as ELEMENTS, getBlockTypes, store as blocksStore } from '@wordpress/blocks';
|
|
11
|
+
import { __EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY, __EXPERIMENTAL_ELEMENTS as ELEMENTS, getBlockSupport, getBlockTypes, store as blocksStore } from '@wordpress/blocks';
|
|
12
12
|
import { useSelect } from '@wordpress/data';
|
|
13
13
|
import { renderToString, useContext, useMemo } from '@wordpress/element';
|
|
14
14
|
import { getCSSRules } from '@wordpress/style-engine';
|
|
@@ -429,7 +429,7 @@ export function getLayoutStyles(_ref8) {
|
|
|
429
429
|
// For fallback gap styles, use lower specificity, to ensure styles do not unintentionally override theme styles.
|
|
430
430
|
combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `:where(.${className}${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''})` : `:where(${selector}.${className}${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''})`;
|
|
431
431
|
} else {
|
|
432
|
-
combinedSelector = selector === ROOT_BLOCK_SELECTOR ?
|
|
432
|
+
combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `:where(${selector} .${className})${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''}` : `${selector}-${className}${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''}`;
|
|
433
433
|
}
|
|
434
434
|
|
|
435
435
|
ruleset += `${combinedSelector} { ${declarations.join('; ')}; }`;
|
|
@@ -750,14 +750,14 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
|
|
|
750
750
|
if (styles !== null && styles !== void 0 && styles.filter) {
|
|
751
751
|
duotoneStyles.filter = styles.filter;
|
|
752
752
|
delete styles.filter;
|
|
753
|
-
} // Process duotone styles
|
|
753
|
+
} // Process duotone styles.
|
|
754
754
|
|
|
755
755
|
|
|
756
756
|
if (duotoneSelector) {
|
|
757
757
|
const duotoneDeclarations = getStylesDeclarations(duotoneStyles);
|
|
758
758
|
|
|
759
759
|
if (duotoneDeclarations.length > 0) {
|
|
760
|
-
ruleset = ruleset + `${
|
|
760
|
+
ruleset = ruleset + `${duotoneSelector}{${duotoneDeclarations.join(';')};}`;
|
|
761
761
|
}
|
|
762
762
|
} // Process blockGap and layout styles.
|
|
763
763
|
|
|
@@ -820,8 +820,9 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
|
|
|
820
820
|
|
|
821
821
|
// Use fallback of `0.5em` just in case, however if there is blockGap support, there should nearly always be a real value.
|
|
822
822
|
const gapValue = getGapCSSValue(tree === null || tree === void 0 ? void 0 : (_tree$styles4 = tree.styles) === null || _tree$styles4 === void 0 ? void 0 : (_tree$styles4$spacing = _tree$styles4.spacing) === null || _tree$styles4$spacing === void 0 ? void 0 : _tree$styles4$spacing.blockGap) || '0.5em';
|
|
823
|
-
ruleset = ruleset +
|
|
824
|
-
ruleset = ruleset +
|
|
823
|
+
ruleset = ruleset + `:where(.wp-site-blocks) > * { margin-block-start: ${gapValue}; margin-block-end: 0; }`;
|
|
824
|
+
ruleset = ruleset + ':where(.wp-site-blocks) > :first-child:first-child { margin-block-start: 0; }';
|
|
825
|
+
ruleset = ruleset + ':where(.wp-site-blocks) > :last-child:last-child { margin-block-end: 0; }';
|
|
825
826
|
}
|
|
826
827
|
|
|
827
828
|
nodesWithSettings.forEach(_ref26 => {
|
|
@@ -878,8 +879,15 @@ export const getBlockSelectors = (blockTypes, getBlockStyles) => {
|
|
|
878
879
|
var _blockType$supports, _blockType$supports2, _blockType$supports2$, _blockType$supports2$2;
|
|
879
880
|
|
|
880
881
|
const name = blockType.name;
|
|
881
|
-
const selector = getBlockCSSSelector(blockType
|
|
882
|
-
|
|
882
|
+
const selector = getBlockCSSSelector(blockType);
|
|
883
|
+
let duotoneSelector = getBlockCSSSelector(blockType, 'filter.duotone'); // Keep backwards compatibility for support.color.__experimentalDuotone.
|
|
884
|
+
|
|
885
|
+
if (!duotoneSelector) {
|
|
886
|
+
const rootSelector = getBlockCSSSelector(blockType);
|
|
887
|
+
const duotoneSupport = getBlockSupport(blockType, 'color.__experimentalDuotone', false);
|
|
888
|
+
duotoneSelector = duotoneSupport && scopeSelector(rootSelector, duotoneSupport);
|
|
889
|
+
}
|
|
890
|
+
|
|
883
891
|
const hasLayoutSupport = !!(blockType !== null && blockType !== void 0 && (_blockType$supports = blockType.supports) !== null && _blockType$supports !== void 0 && _blockType$supports.__experimentalLayout);
|
|
884
892
|
const fallbackGapValue = blockType === null || blockType === void 0 ? void 0 : (_blockType$supports2 = blockType.supports) === null || _blockType$supports2 === void 0 ? void 0 : (_blockType$supports2$ = _blockType$supports2.spacing) === null || _blockType$supports2$ === void 0 ? void 0 : (_blockType$supports2$2 = _blockType$supports2$.blockGap) === null || _blockType$supports2$2 === void 0 ? void 0 : _blockType$supports2$2.__experimentalDefault;
|
|
885
893
|
const blockStyleVariations = getBlockStyles(name);
|