@wordpress/block-editor 11.3.2 → 11.4.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 +4 -4
- package/build/components/block-actions/index.js +2 -7
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +5 -3
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-popover/inbetween.js +10 -33
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +2 -2
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-types-list/index.native.js +2 -0
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/colors-gradients/control.js +6 -3
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/font-appearance-control/index.js +0 -3
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/global-styles/hooks.js +106 -45
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +24 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +421 -0
- package/build/components/global-styles/typography-panel.js.map +1 -0
- package/build/components/global-styles/use-global-styles-output.js +6 -2
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/iframe/index.js +17 -11
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +2 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-size-control/index.js +6 -11
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +9 -15
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +4 -1
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +4 -1
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-results.native.js +4 -1
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/link-control/index.js +15 -15
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +72 -30
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/settings.js +52 -0
- package/build/components/link-control/settings.js.map +1 -0
- package/build/components/list-view/index.js +6 -1
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/off-canvas-editor/block-contents.js +5 -4
- package/build/components/off-canvas-editor/block-contents.js.map +1 -1
- package/build/components/off-canvas-editor/leaf-more-menu.js +116 -0
- package/build/components/off-canvas-editor/leaf-more-menu.js.map +1 -0
- package/build/components/off-canvas-editor/link-ui.js +1 -0
- package/build/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build/components/provider/index.js +2 -2
- package/build/components/provider/index.js.map +1 -1
- package/build/components/rich-text/index.js +0 -2
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/url-input/index.js +2 -2
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/index.js +6 -1
- package/build/components/url-popover/index.js.map +1 -1
- package/build/hooks/dimensions.js +8 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-family.js +2 -76
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +3 -51
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/gap.js +2 -1
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/index.js +2 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/line-height.js +0 -42
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/metadata.js +6 -0
- package/build/hooks/metadata.js.map +1 -1
- package/build/hooks/position.js +6 -1
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/typography.js +112 -127
- package/build/hooks/typography.js.map +1 -1
- package/build/index.js +6 -6
- package/build/index.js.map +1 -1
- package/build/layouts/flow.js +23 -2
- package/build/layouts/flow.js.map +1 -1
- package/build/lock-unlock.js +19 -0
- package/build/lock-unlock.js.map +1 -0
- package/build/{experiments.js → private-apis.js} +12 -19
- package/build/private-apis.js.map +1 -0
- package/build/{experiments.native.js → private-apis.native.js} +9 -19
- package/build/private-apis.native.js.map +1 -0
- package/build/store/index.js +3 -3
- package/build/store/index.js.map +1 -1
- package/build/store/selectors.js +18 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-actions/index.js +2 -7
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +5 -3
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +10 -33
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +1 -1
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +2 -0
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +6 -3
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +2 -1
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +100 -46
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +2 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +400 -0
- package/build-module/components/global-styles/typography-panel.js.map +1 -0
- package/build-module/components/global-styles/use-global-styles-output.js +6 -2
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/iframe/index.js +17 -11
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +2 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-size-control/index.js +7 -12
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +9 -15
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +3 -1
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +3 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js +3 -1
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/link-control/index.js +16 -16
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +68 -30
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/settings.js +43 -0
- package/build-module/components/link-control/settings.js.map +1 -0
- package/build-module/components/list-view/index.js +6 -1
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/block-contents.js +4 -3
- package/build-module/components/off-canvas-editor/block-contents.js.map +1 -1
- package/build-module/components/off-canvas-editor/leaf-more-menu.js +99 -0
- package/build-module/components/off-canvas-editor/leaf-more-menu.js.map +1 -0
- package/build-module/components/off-canvas-editor/link-ui.js +1 -0
- package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build-module/components/provider/index.js +1 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +0 -2
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/url-input/index.js +2 -2
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/index.js +6 -2
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/hooks/dimensions.js +7 -1
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-family.js +3 -69
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +6 -47
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/gap.js +3 -2
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/index.js +1 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/line-height.js +0 -38
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/metadata.js +6 -0
- package/build-module/hooks/metadata.js.map +1 -1
- package/build-module/hooks/position.js +5 -1
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/typography.js +110 -123
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/flow.js +23 -2
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/lock-unlock.js +9 -0
- package/build-module/lock-unlock.js.map +1 -0
- package/build-module/private-apis.js +19 -0
- package/build-module/private-apis.js.map +1 -0
- package/build-module/private-apis.native.js +15 -0
- package/build-module/private-apis.native.js.map +1 -0
- package/build-module/store/index.js +1 -1
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/selectors.js +18 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +35 -22
- package/build-style/style.css +35 -22
- package/package.json +31 -31
- package/src/components/block-actions/index.js +0 -9
- package/src/components/block-alignment-control/use-available-alignments.js +17 -12
- package/src/components/block-popover/inbetween.js +21 -53
- package/src/components/block-tools/selected-block-popover.js +1 -1
- package/src/components/block-types-list/index.native.js +2 -0
- package/src/components/colors-gradients/control.js +3 -0
- package/src/components/font-appearance-control/index.js +1 -1
- package/src/components/global-styles/hooks.js +186 -66
- package/src/components/global-styles/index.js +5 -0
- package/src/components/global-styles/typography-panel.js +403 -0
- package/src/components/global-styles/use-global-styles-output.js +6 -2
- package/src/components/iframe/index.js +20 -18
- package/src/components/image-editor/aspect-ratio-dropdown.js +1 -0
- package/src/components/image-size-control/index.js +10 -12
- package/src/components/image-size-control/style.scss +3 -21
- package/src/components/inserter/block-patterns-tab.js +9 -23
- package/src/components/inserter/block-types-tab.native.js +2 -0
- package/src/components/inserter/reusable-blocks-tab.native.js +2 -0
- package/src/components/inserter/search-results.native.js +2 -0
- package/src/components/link-control/index.js +22 -22
- package/src/components/link-control/settings-drawer.js +85 -30
- package/src/components/link-control/settings.js +41 -0
- package/src/components/link-control/style.scss +39 -7
- package/src/components/link-control/test/index.js +213 -4
- package/src/components/list-view/index.js +5 -0
- package/src/components/off-canvas-editor/block-contents.js +3 -2
- package/src/components/off-canvas-editor/leaf-more-menu.js +115 -0
- package/src/components/off-canvas-editor/link-ui.js +1 -0
- package/src/components/provider/index.js +1 -1
- package/src/components/rich-text/index.js +0 -2
- package/src/components/url-input/index.js +3 -2
- package/src/components/url-popover/index.js +8 -2
- package/src/hooks/dimensions.js +13 -1
- package/src/hooks/font-family.js +0 -58
- package/src/hooks/font-size.js +1 -36
- package/src/hooks/gap.js +9 -2
- package/src/hooks/index.js +1 -0
- package/src/hooks/line-height.js +0 -33
- package/src/hooks/metadata.js +4 -0
- package/src/hooks/position.js +7 -1
- package/src/hooks/typography.js +133 -212
- package/src/index.js +1 -1
- package/src/layouts/flow.js +16 -1
- package/src/lock-unlock.js +10 -0
- package/src/private-apis.js +19 -0
- package/src/private-apis.native.js +15 -0
- package/src/store/index.js +1 -1
- package/src/store/selectors.js +16 -1
- package/tsconfig.json +20 -1
- package/build/experiments.js.map +0 -1
- package/build/experiments.native.js.map +0 -1
- package/build/hooks/font-appearance.js +0 -188
- package/build/hooks/font-appearance.js.map +0 -1
- package/build/hooks/letter-spacing.js +0 -129
- package/build/hooks/letter-spacing.js.map +0 -1
- package/build/hooks/text-decoration.js +0 -130
- package/build/hooks/text-decoration.js.map +0 -1
- package/build/hooks/text-transform.js +0 -130
- package/build/hooks/text-transform.js.map +0 -1
- package/build-module/experiments.js +0 -25
- package/build-module/experiments.js.map +0 -1
- package/build-module/experiments.native.js +0 -23
- package/build-module/experiments.native.js.map +0 -1
- package/build-module/hooks/font-appearance.js +0 -161
- package/build-module/hooks/font-appearance.js.map +0 -1
- package/build-module/hooks/letter-spacing.js +0 -107
- package/build-module/hooks/letter-spacing.js.map +0 -1
- package/build-module/hooks/text-decoration.js +0 -108
- package/build-module/hooks/text-decoration.js.map +0 -1
- package/build-module/hooks/text-transform.js +0 -108
- package/build-module/hooks/text-transform.js.map +0 -1
- package/src/experiments.js +0 -27
- package/src/experiments.native.js +0 -25
- package/src/hooks/font-appearance.js +0 -146
- package/src/hooks/letter-spacing.js +0 -101
- package/src/hooks/text-decoration.js +0 -102
- package/src/hooks/text-transform.js +0 -101
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"names":["FONT_STYLES","name","value","FONT_WEIGHTS","getFontAppearanceLabel","hasFontStyles","hasFontWeights","FontAppearanceControl","props","onChange","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","style","undefined","combineOptions","combinedOptions","forEach","styleName","styleValue","weightName","weightValue","optionName","push","styleOptions","weightOptions","selectOptions","options","currentSelection","find","option","getDescribedBy","selectedItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n];\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nexport const getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display unified font style and weight options.\n *\n * @param {Object} props Component props.\n *\n * @return {WPElement} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\n\t// Combines both font style and weight options into a single dropdown.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\n\t\tFONT_STYLES.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\t\tFONT_WEIGHTS.forEach(\n\t\t\t\t( { name: weightName, value: weightValue } ) => {\n\t\t\t\t\tconst optionName =\n\t\t\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t\t\t? weightName\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcombinedOptions.push( {\n\t\t\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\t\t\tfontWeight: weightValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} );\n\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_STYLES.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_WEIGHTS.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [ props.options ] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t\t__nextUnconstrainedWidth\n\t\t\t/>\n\t\t)\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"names":["FONT_STYLES","name","value","FONT_WEIGHTS","getFontAppearanceLabel","hasFontStyles","hasFontWeights","FontAppearanceControl","props","onChange","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","style","undefined","combineOptions","combinedOptions","forEach","styleName","styleValue","weightName","weightValue","optionName","push","styleOptions","weightOptions","selectOptions","options","currentSelection","find","option","getDescribedBy","selectedItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n];\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display unified font style and weight options.\n *\n * @param {Object} props Component props.\n *\n * @return {WPElement} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\n\t// Combines both font style and weight options into a single dropdown.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\n\t\tFONT_STYLES.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\t\tFONT_WEIGHTS.forEach(\n\t\t\t\t( { name: weightName, value: weightValue } ) => {\n\t\t\t\t\tconst optionName =\n\t\t\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t\t\t? weightName\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcombinedOptions.push( {\n\t\t\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\t\t\tfontWeight: weightValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} );\n\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_STYLES.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_WEIGHTS.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [ props.options ] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t\t__nextUnconstrainedWidth\n\t\t\t/>\n\t\t)\n\t);\n}\n"]}
|
|
@@ -5,9 +5,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.overrideSettingsWithSupports = overrideSettingsWithSupports;
|
|
8
9
|
exports.useGlobalSetting = useGlobalSetting;
|
|
9
10
|
exports.useGlobalStyle = useGlobalStyle;
|
|
10
11
|
exports.useGlobalStylesReset = void 0;
|
|
12
|
+
exports.useSupportedStyles = useSupportedStyles;
|
|
11
13
|
|
|
12
14
|
var _es = _interopRequireDefault(require("fast-deep-equal/es6"));
|
|
13
15
|
|
|
@@ -15,10 +17,16 @@ var _lodash = require("lodash");
|
|
|
15
17
|
|
|
16
18
|
var _element = require("@wordpress/element");
|
|
17
19
|
|
|
20
|
+
var _data = require("@wordpress/data");
|
|
21
|
+
|
|
22
|
+
var _blocks = require("@wordpress/blocks");
|
|
23
|
+
|
|
18
24
|
var _utils = require("./utils");
|
|
19
25
|
|
|
20
26
|
var _context = require("./context");
|
|
21
27
|
|
|
28
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
29
|
+
|
|
22
30
|
/**
|
|
23
31
|
* External dependencies
|
|
24
32
|
*/
|
|
@@ -34,6 +42,7 @@ const EMPTY_CONFIG = {
|
|
|
34
42
|
settings: {},
|
|
35
43
|
styles: {}
|
|
36
44
|
};
|
|
45
|
+
const VALID_SETTINGS = ['appearanceTools', 'useRootPaddingAwareAlignments', 'border.color', 'border.radius', 'border.style', 'border.width', 'shadow.presets', 'shadow.defaultPresets', 'color.background', 'color.custom', 'color.customDuotone', 'color.customGradient', 'color.defaultDuotone', 'color.defaultGradients', 'color.defaultPalette', 'color.duotone', 'color.gradients', 'color.link', 'color.palette', 'color.text', 'custom', 'dimensions.minHeight', 'layout.contentSize', 'layout.definitions', 'layout.wideSize', 'position.fixed', 'position.sticky', 'spacing.customSpacingSize', 'spacing.spacingSizes', 'spacing.spacingScale', 'spacing.blockGap', 'spacing.margin', 'spacing.padding', 'spacing.units', 'typography.fuild', 'typography.customFontSize', 'typography.dropCap', 'typography.fontFamilies', 'typography.fontSizes', 'typography.fontStyle', 'typography.fontWeight', 'typography.letterSpacing', 'typography.lineHeight', 'typography.textDecoration', 'typography.textTransform'];
|
|
37
46
|
|
|
38
47
|
const useGlobalStylesReset = () => {
|
|
39
48
|
const {
|
|
@@ -46,91 +55,95 @@ const useGlobalStylesReset = () => {
|
|
|
46
55
|
|
|
47
56
|
exports.useGlobalStylesReset = useGlobalStylesReset;
|
|
48
57
|
|
|
49
|
-
function useGlobalSetting(
|
|
50
|
-
var _getSettingValueForCo;
|
|
51
|
-
|
|
58
|
+
function useGlobalSetting(propertyPath, blockName) {
|
|
52
59
|
let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'all';
|
|
53
60
|
const {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
user: userConfig,
|
|
57
|
-
setUserConfig
|
|
61
|
+
setUserConfig,
|
|
62
|
+
...configs
|
|
58
63
|
} = (0, _element.useContext)(_context.GlobalStylesContext);
|
|
59
|
-
const
|
|
64
|
+
const appendedBlockPath = blockName ? '.blocks.' + blockName : '';
|
|
65
|
+
const appendedPropertyPath = propertyPath ? '.' + propertyPath : '';
|
|
66
|
+
const contextualPath = `settings${appendedBlockPath}${appendedPropertyPath}`;
|
|
67
|
+
const globalPath = `settings${appendedPropertyPath}`;
|
|
68
|
+
const sourceKey = source === 'all' ? 'merged' : source;
|
|
69
|
+
const settingValue = (0, _element.useMemo)(() => {
|
|
70
|
+
const configToUse = configs[sourceKey];
|
|
71
|
+
|
|
72
|
+
if (!configToUse) {
|
|
73
|
+
throw 'Unsupported source';
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (propertyPath) {
|
|
77
|
+
var _get;
|
|
78
|
+
|
|
79
|
+
return (_get = (0, _lodash.get)(configToUse, contextualPath)) !== null && _get !== void 0 ? _get : (0, _lodash.get)(configToUse, globalPath);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const result = {};
|
|
83
|
+
VALID_SETTINGS.forEach(setting => {
|
|
84
|
+
var _get2;
|
|
85
|
+
|
|
86
|
+
const value = (_get2 = (0, _lodash.get)(configToUse, `settings${appendedBlockPath}.${setting}`)) !== null && _get2 !== void 0 ? _get2 : (0, _lodash.get)(configToUse, `settings.${setting}`);
|
|
87
|
+
|
|
88
|
+
if (value) {
|
|
89
|
+
(0, _lodash.set)(result, setting, value);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return result;
|
|
93
|
+
}, [configs, sourceKey, propertyPath, contextualPath, globalPath, appendedBlockPath]);
|
|
60
94
|
|
|
61
95
|
const setSetting = newValue => {
|
|
62
96
|
setUserConfig(currentConfig => {
|
|
63
97
|
// Deep clone `currentConfig` to avoid mutating it later.
|
|
64
98
|
const newUserConfig = JSON.parse(JSON.stringify(currentConfig));
|
|
65
|
-
(0, _lodash.set)(newUserConfig,
|
|
99
|
+
(0, _lodash.set)(newUserConfig, contextualPath, newValue);
|
|
66
100
|
return newUserConfig;
|
|
67
101
|
});
|
|
68
102
|
};
|
|
69
103
|
|
|
70
|
-
|
|
71
|
-
const currentPath = !name ? `settings.${path}` : `settings.blocks.${name}.${path}`;
|
|
72
|
-
let result;
|
|
73
|
-
|
|
74
|
-
switch (source) {
|
|
75
|
-
case 'all':
|
|
76
|
-
result = (0, _lodash.get)(mergedConfig, currentPath);
|
|
77
|
-
break;
|
|
78
|
-
|
|
79
|
-
case 'user':
|
|
80
|
-
result = (0, _lodash.get)(userConfig, currentPath);
|
|
81
|
-
break;
|
|
82
|
-
|
|
83
|
-
case 'base':
|
|
84
|
-
result = (0, _lodash.get)(baseConfig, currentPath);
|
|
85
|
-
break;
|
|
86
|
-
|
|
87
|
-
default:
|
|
88
|
-
throw 'Unsupported source';
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return result;
|
|
92
|
-
}; // Unlike styles settings get inherited from top level settings.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const resultWithFallback = (_getSettingValueForCo = getSettingValueForContext(blockName)) !== null && _getSettingValueForCo !== void 0 ? _getSettingValueForCo : getSettingValueForContext();
|
|
96
|
-
return [resultWithFallback, setSetting];
|
|
104
|
+
return [settingValue, setSetting];
|
|
97
105
|
}
|
|
98
106
|
|
|
99
107
|
function useGlobalStyle(path, blockName) {
|
|
100
|
-
var _get;
|
|
101
|
-
|
|
102
108
|
let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'all';
|
|
109
|
+
let {
|
|
110
|
+
shouldDecodeEncode = true
|
|
111
|
+
} = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
103
112
|
const {
|
|
104
113
|
merged: mergedConfig,
|
|
105
114
|
base: baseConfig,
|
|
106
115
|
user: userConfig,
|
|
107
116
|
setUserConfig
|
|
108
117
|
} = (0, _element.useContext)(_context.GlobalStylesContext);
|
|
109
|
-
const
|
|
118
|
+
const appendedPath = path ? '.' + path : '';
|
|
119
|
+
const finalPath = !blockName ? `styles${appendedPath}` : `styles.blocks.${blockName}${appendedPath}`;
|
|
110
120
|
|
|
111
121
|
const setStyle = newValue => {
|
|
112
122
|
setUserConfig(currentConfig => {
|
|
113
123
|
// Deep clone `currentConfig` to avoid mutating it later.
|
|
114
124
|
const newUserConfig = JSON.parse(JSON.stringify(currentConfig));
|
|
115
|
-
(0, _lodash.set)(newUserConfig, finalPath, (0, _utils.getPresetVariableFromValue)(mergedConfig.settings, blockName, path, newValue));
|
|
125
|
+
(0, _lodash.set)(newUserConfig, finalPath, shouldDecodeEncode ? (0, _utils.getPresetVariableFromValue)(mergedConfig.settings, blockName, path, newValue) : newValue);
|
|
116
126
|
return newUserConfig;
|
|
117
127
|
});
|
|
118
128
|
};
|
|
119
129
|
|
|
120
|
-
let result;
|
|
130
|
+
let rawResult, result;
|
|
121
131
|
|
|
122
132
|
switch (source) {
|
|
123
133
|
case 'all':
|
|
124
|
-
|
|
125
|
-
finalPath === 'styles.css' ? (0, _lodash.get)(userConfig, finalPath) : (
|
|
134
|
+
rawResult = // The stlyes.css path is allowed to be empty, so don't revert to base if undefined.
|
|
135
|
+
finalPath === 'styles.css' ? (0, _lodash.get)(userConfig, finalPath) : (0, _lodash.get)(mergedConfig, finalPath);
|
|
136
|
+
result = shouldDecodeEncode ? (0, _utils.getValueFromVariable)(mergedConfig, blockName, rawResult) : rawResult;
|
|
126
137
|
break;
|
|
127
138
|
|
|
128
139
|
case 'user':
|
|
129
|
-
|
|
140
|
+
rawResult = (0, _lodash.get)(userConfig, finalPath);
|
|
141
|
+
result = shouldDecodeEncode ? (0, _utils.getValueFromVariable)(mergedConfig, blockName, rawResult) : rawResult;
|
|
130
142
|
break;
|
|
131
143
|
|
|
132
144
|
case 'base':
|
|
133
|
-
|
|
145
|
+
rawResult = (0, _lodash.get)(baseConfig, finalPath);
|
|
146
|
+
result = shouldDecodeEncode ? (0, _utils.getValueFromVariable)(baseConfig, blockName, rawResult) : rawResult;
|
|
134
147
|
break;
|
|
135
148
|
|
|
136
149
|
default:
|
|
@@ -139,4 +152,52 @@ function useGlobalStyle(path, blockName) {
|
|
|
139
152
|
|
|
140
153
|
return [result, setStyle];
|
|
141
154
|
}
|
|
155
|
+
|
|
156
|
+
function useSupportedStyles(name, element) {
|
|
157
|
+
const {
|
|
158
|
+
supportedPanels
|
|
159
|
+
} = (0, _data.useSelect)(select => {
|
|
160
|
+
return {
|
|
161
|
+
supportedPanels: (0, _lockUnlock.unlock)(select(_blocks.store)).getSupportedStyles(name, element)
|
|
162
|
+
};
|
|
163
|
+
}, [name, element]);
|
|
164
|
+
return supportedPanels;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Given a settings object and a list of supported panels,
|
|
168
|
+
* returns a new settings object with the unsupported panels removed.
|
|
169
|
+
*
|
|
170
|
+
* @param {Object} settings Settings object.
|
|
171
|
+
* @param {string[]} supports Supported style panels.
|
|
172
|
+
*
|
|
173
|
+
* @return {Object} Merge of settings and supports.
|
|
174
|
+
*/
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
function overrideSettingsWithSupports(settings, supports) {
|
|
178
|
+
const updatedSettings = { ...settings
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
if (!supports.includes('fontSize')) {
|
|
182
|
+
updatedSettings.typography = { ...updatedSettings.typography,
|
|
183
|
+
fontSizes: {},
|
|
184
|
+
customFontSize: false
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if (!supports.includes('fontFamily')) {
|
|
189
|
+
updatedSettings.typography = { ...updatedSettings.typography,
|
|
190
|
+
fontFamilies: {}
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
['lineHeight', 'fontStyle', 'fontWeight', 'letterSpacing', 'textTransform'].forEach(key => {
|
|
195
|
+
if (!supports.includes(key)) {
|
|
196
|
+
updatedSettings.typography = { ...updatedSettings.typography,
|
|
197
|
+
[key]: false
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
return updatedSettings;
|
|
202
|
+
}
|
|
142
203
|
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"names":["EMPTY_CONFIG","settings","styles","useGlobalStylesReset","user","config","setUserConfig","GlobalStylesContext","canReset","useGlobalSetting","path","blockName","source","merged","mergedConfig","base","baseConfig","userConfig","fullPath","setSetting","newValue","currentConfig","newUserConfig","JSON","parse","stringify","getSettingValueForContext","name","currentPath","result","resultWithFallback","useGlobalStyle","finalPath","setStyle"],"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 } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { GlobalStylesContext } from './context';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\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( path, blockName, source = 'all' ) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\n\tconst fullPath = ! blockName\n\t\t? `settings.${ path }`\n\t\t: `settings.blocks.${ blockName }.${ path }`;\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, fullPath, newValue );\n\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tconst getSettingValueForContext = ( name ) => {\n\t\tconst currentPath = ! name\n\t\t\t? `settings.${ path }`\n\t\t\t: `settings.blocks.${ name }.${ path }`;\n\n\t\tlet result;\n\t\tswitch ( source ) {\n\t\t\tcase 'all':\n\t\t\t\tresult = get( mergedConfig, currentPath );\n\t\t\t\tbreak;\n\t\t\tcase 'user':\n\t\t\t\tresult = get( userConfig, currentPath );\n\t\t\t\tbreak;\n\t\t\tcase 'base':\n\t\t\t\tresult = get( baseConfig, currentPath );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Unlike styles settings get inherited from top level settings.\n\tconst resultWithFallback =\n\t\tgetSettingValueForContext( blockName ) ?? getSettingValueForContext();\n\n\treturn [ resultWithFallback, setSetting ];\n}\n\nexport function useGlobalStyle( path, blockName, source = 'all' ) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst finalPath = ! blockName\n\t\t? `styles.${ path }`\n\t\t: `styles.blocks.${ blockName }.${ path }`;\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\tgetPresetVariableFromValue(\n\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\tblockName,\n\t\t\t\t\tpath,\n\t\t\t\t\tnewValue\n\t\t\t\t)\n\t\t\t);\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tlet result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\tresult = getValueFromVariable(\n\t\t\t\tmergedConfig,\n\t\t\t\tblockName,\n\t\t\t\t// The stlyes.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( userConfig, finalPath ) ??\n\t\t\t\t\t\t\tget( baseConfig, finalPath )\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\tresult = getValueFromVariable(\n\t\t\t\tmergedConfig,\n\t\t\t\tblockName,\n\t\t\t\tget( userConfig, finalPath )\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\tresult = getValueFromVariable(\n\t\t\t\tbaseConfig,\n\t\t\t\tblockName,\n\t\t\t\tget( baseConfig, finalPath )\n\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"names":["EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","GlobalStylesContext","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","useSupportedStyles","name","element","supportedPanels","select","blocksStore","getSupportedStyles","overrideSettingsWithSupports","supports","updatedSettings","includes","typography","fontSizes","customFontSize","fontFamilies","key"],"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';\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.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.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.fuild',\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.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 stlyes.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\nexport function useSupportedStyles( name, element ) {\n\tconst { supportedPanels } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedPanels: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( name, element ),\n\t\t\t};\n\t\t},\n\t\t[ name, element ]\n\t);\n\n\treturn supportedPanels;\n}\n\n/**\n * Given a settings object and a list of supported panels,\n * returns a new settings object with the unsupported panels removed.\n *\n * @param {Object} settings Settings object.\n * @param {string[]} supports Supported style panels.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function overrideSettingsWithSupports( settings, supports ) {\n\tconst updatedSettings = { ...settings };\n\n\tif ( ! supports.includes( 'fontSize' ) ) {\n\t\tupdatedSettings.typography = {\n\t\t\t...updatedSettings.typography,\n\t\t\tfontSizes: {},\n\t\t\tcustomFontSize: false,\n\t\t};\n\t}\n\n\tif ( ! supports.includes( 'fontFamily' ) ) {\n\t\tupdatedSettings.typography = {\n\t\t\t...updatedSettings.typography,\n\t\t\tfontFamilies: {},\n\t\t};\n\t}\n\n\t[\n\t\t'lineHeight',\n\t\t'fontStyle',\n\t\t'fontWeight',\n\t\t'letterSpacing',\n\t\t'textTransform',\n\t].forEach( ( key ) => {\n\t\tif ( ! supports.includes( key ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\t[ key ]: false,\n\t\t\t};\n\t\t}\n\t} );\n\n\treturn updatedSettings;\n}\n"]}
|
|
@@ -9,6 +9,18 @@ Object.defineProperty(exports, "GlobalStylesContext", {
|
|
|
9
9
|
return _context.GlobalStylesContext;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "TypographyPanel", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _typographyPanel.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "overrideSettingsWithSupports", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _hooks.overrideSettingsWithSupports;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
12
24
|
Object.defineProperty(exports, "useGlobalSetting", {
|
|
13
25
|
enumerable: true,
|
|
14
26
|
get: function () {
|
|
@@ -33,10 +45,22 @@ Object.defineProperty(exports, "useGlobalStylesReset", {
|
|
|
33
45
|
return _hooks.useGlobalStylesReset;
|
|
34
46
|
}
|
|
35
47
|
});
|
|
48
|
+
Object.defineProperty(exports, "useHasTypographyPanel", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _typographyPanel.useHasTypographyPanel;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
36
54
|
|
|
37
55
|
var _hooks = require("./hooks");
|
|
38
56
|
|
|
39
57
|
var _useGlobalStylesOutput = require("./use-global-styles-output");
|
|
40
58
|
|
|
41
59
|
var _context = require("./context");
|
|
60
|
+
|
|
61
|
+
var _typographyPanel = _interopRequireWildcard(require("./typography-panel"));
|
|
62
|
+
|
|
63
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
64
|
+
|
|
65
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
42
66
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAMA;;AACA;;AACA","sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\toverrideSettingsWithSupports,\n} from './hooks';\nexport { useGlobalStylesOutput } from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\n"]}
|