@wordpress/edit-site 5.3.3 → 5.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 +2 -0
- package/build/components/add-new-template/new-template.js +1 -20
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +1 -0
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/editor/index.js +3 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/border-panel.js +4 -4
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-palette-panel.js +5 -2
- package/build/components/global-styles/color-palette-panel.js.map +1 -1
- package/build/components/global-styles/color-utils.js +1 -1
- package/build/components/global-styles/color-utils.js.map +1 -1
- package/build/components/global-styles/context-menu.js +16 -3
- package/build/components/global-styles/context-menu.js.map +1 -1
- package/build/components/global-styles/custom-css.js +1 -1
- package/build/components/global-styles/custom-css.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +8 -7
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/gradients-palette-panel.js +8 -3
- package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build/components/global-styles/header.js +3 -1
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/hooks.js +14 -51
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/palette.js +3 -1
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/screen-background-color.js +3 -2
- package/build/components/global-styles/screen-background-color.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +14 -3
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-button-color.js +7 -5
- package/build/components/global-styles/screen-button-color.js.map +1 -1
- package/build/components/global-styles/screen-colors.js +8 -6
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-heading-color.js +8 -6
- package/build/components/global-styles/screen-heading-color.js.map +1 -1
- package/build/components/global-styles/screen-link-color.js +3 -2
- package/build/components/global-styles/screen-link-color.js.map +1 -1
- package/build/components/global-styles/screen-text-color.js +3 -2
- package/build/components/global-styles/screen-text-color.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +3 -1
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/shadow-panel.js +2 -3
- package/build/components/global-styles/shadow-panel.js.map +1 -1
- package/build/components/global-styles/subtitle.js +3 -2
- package/build/components/global-styles/subtitle.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +23 -300
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/navigation-inspector/index.js +0 -29
- package/build/components/navigation-inspector/index.js.map +1 -1
- package/build/components/navigation-inspector/navigation-menu.js +4 -2
- package/build/components/navigation-inspector/navigation-menu.js.map +1 -1
- package/build/components/sidebar/index.js +1 -20
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +1 -1
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-card/index.js +9 -2
- package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-card/last-revision.js +84 -0
- package/build/components/sidebar-edit-mode/template-card/last-revision.js.map +1 -0
- package/build/components/start-template-options/index.js +175 -0
- package/build/components/start-template-options/index.js.map +1 -0
- package/build/hooks/push-changes-to-global-styles/index.js +5 -4
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +1 -18
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +1 -0
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/editor/index.js +2 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +5 -5
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-palette-panel.js +5 -2
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/color-utils.js +2 -2
- package/build-module/components/global-styles/color-utils.js.map +1 -1
- package/build-module/components/global-styles/context-menu.js +13 -2
- package/build-module/components/global-styles/context-menu.js.map +1 -1
- package/build-module/components/global-styles/custom-css.js +1 -1
- package/build-module/components/global-styles/custom-css.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +9 -8
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js +8 -3
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/header.js +3 -1
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +12 -49
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/palette.js +3 -1
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/screen-background-color.js +4 -3
- package/build-module/components/global-styles/screen-background-color.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +12 -3
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-button-color.js +8 -6
- package/build-module/components/global-styles/screen-button-color.js.map +1 -1
- package/build-module/components/global-styles/screen-colors.js +9 -7
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-heading-color.js +9 -7
- package/build-module/components/global-styles/screen-heading-color.js.map +1 -1
- package/build-module/components/global-styles/screen-link-color.js +4 -3
- package/build-module/components/global-styles/screen-link-color.js.map +1 -1
- package/build-module/components/global-styles/screen-text-color.js +4 -3
- package/build-module/components/global-styles/screen-text-color.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +3 -1
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel.js +3 -4
- package/build-module/components/global-styles/shadow-panel.js.map +1 -1
- package/build-module/components/global-styles/subtitle.js +3 -2
- package/build-module/components/global-styles/subtitle.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +27 -300
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/navigation-inspector/index.js +0 -27
- package/build-module/components/navigation-inspector/index.js.map +1 -1
- package/build-module/components/navigation-inspector/navigation-menu.js +4 -2
- package/build-module/components/navigation-inspector/navigation-menu.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -18
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +1 -1
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-card/index.js +9 -4
- package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-card/last-revision.js +70 -0
- package/build-module/components/sidebar-edit-mode/template-card/last-revision.js.map +1 -0
- package/build-module/components/start-template-options/index.js +156 -0
- package/build-module/components/start-template-options/index.js.map +1 -0
- package/build-module/hooks/push-changes-to-global-styles/index.js +6 -5
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-style/style-rtl.css +73 -4
- package/build-style/style.css +73 -4
- package/package.json +31 -31
- package/src/components/add-new-template/new-template.js +1 -16
- package/src/components/app/index.js +0 -1
- package/src/components/block-editor/editor-canvas.js +1 -0
- package/src/components/editor/index.js +2 -0
- package/src/components/global-styles/border-panel.js +5 -5
- package/src/components/global-styles/color-palette-panel.js +3 -0
- package/src/components/global-styles/color-utils.js +2 -3
- package/src/components/global-styles/context-menu.js +17 -2
- package/src/components/global-styles/custom-css.js +1 -1
- package/src/components/global-styles/dimensions-panel.js +12 -8
- package/src/components/global-styles/gradients-palette-panel.js +4 -1
- package/src/components/global-styles/header.js +7 -1
- package/src/components/global-styles/hooks.js +17 -90
- package/src/components/global-styles/palette.js +1 -1
- package/src/components/global-styles/screen-background-color.js +3 -2
- package/src/components/global-styles/screen-block-list.js +19 -3
- package/src/components/global-styles/screen-button-color.js +8 -6
- package/src/components/global-styles/screen-colors.js +7 -7
- package/src/components/global-styles/screen-heading-color.js +9 -7
- package/src/components/global-styles/screen-link-color.js +3 -2
- package/src/components/global-styles/screen-text-color.js +3 -2
- package/src/components/global-styles/screen-typography.js +1 -1
- package/src/components/global-styles/shadow-panel.js +6 -3
- package/src/components/global-styles/style.scss +5 -0
- package/src/components/global-styles/subtitle.js +5 -2
- package/src/components/global-styles/typography-panel.js +30 -394
- package/src/components/navigation-inspector/index.js +0 -32
- package/src/components/navigation-inspector/navigation-menu.js +8 -2
- package/src/components/sidebar/index.js +4 -17
- package/src/components/sidebar-edit-mode/index.js +1 -1
- package/src/components/sidebar-edit-mode/template-card/index.js +24 -14
- package/src/components/sidebar-edit-mode/template-card/last-revision.js +75 -0
- package/src/components/sidebar-edit-mode/template-card/style.scss +4 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
- package/src/components/start-template-options/index.js +171 -0
- package/src/components/start-template-options/style.scss +76 -0
- package/src/hooks/push-changes-to-global-styles/index.js +26 -21
- package/src/style.scss +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-typography.js"],"names":["__","sprintf","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","privateApis","blockEditorPrivateApis","ScreenHeader","NavigationButtonAsItem","Subtitle","TypographyPanel","BlockPreviewPanel","getVariationClassName","unlock","useGlobalStyle","Item","name","parentMenu","element","label","hasSupport","prefix","extraStyles","textDecoration","fontFamily","fontStyle","fontWeight","letterSpacing","backgroundColor","gradientValue","color","navigationButtonLabel","background","ScreenTypography","variation","undefined","variationClassName"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-typography.js"],"names":["__","sprintf","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","privateApis","blockEditorPrivateApis","ScreenHeader","NavigationButtonAsItem","Subtitle","TypographyPanel","BlockPreviewPanel","getVariationClassName","unlock","useGlobalStyle","Item","name","parentMenu","element","label","hasSupport","prefix","extraStyles","textDecoration","fontFamily","fontStyle","fontWeight","letterSpacing","backgroundColor","gradientValue","color","navigationButtonLabel","background","ScreenTypography","variation","undefined","variationClassName"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport Subtitle from './subtitle';\nimport TypographyPanel from './typography-panel';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { getVariationClassName } from './utils';\nimport { unlock } from '../../private-apis';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction Item( { name, parentMenu, element, label } ) {\n\tconst hasSupport = ! name;\n\tconst prefix =\n\t\telement === 'text' || ! element ? '' : `elements.${ element }.`;\n\tconst extraStyles =\n\t\telement === 'link'\n\t\t\t? {\n\t\t\t\t\ttextDecoration: 'underline',\n\t\t\t }\n\t\t\t: {};\n\tconst [ fontFamily ] = useGlobalStyle(\n\t\tprefix + 'typography.fontFamily',\n\t\tname\n\t);\n\tconst [ fontStyle ] = useGlobalStyle(\n\t\tprefix + 'typography.fontStyle',\n\t\tname\n\t);\n\tconst [ fontWeight ] = useGlobalStyle(\n\t\tprefix + 'typography.fontWeight',\n\t\tname\n\t);\n\tconst [ letterSpacing ] = useGlobalStyle(\n\t\tprefix + 'typography.letterSpacing',\n\t\tname\n\t);\n\tconst [ backgroundColor ] = useGlobalStyle(\n\t\tprefix + 'color.background',\n\t\tname\n\t);\n\tconst [ gradientValue ] = useGlobalStyle( prefix + 'color.gradient', name );\n\tconst [ color ] = useGlobalStyle( prefix + 'color.text', name );\n\n\tif ( ! hasSupport ) {\n\t\treturn null;\n\t}\n\n\tconst navigationButtonLabel = sprintf(\n\t\t// translators: %s: is a subset of Typography, e.g., 'text' or 'links'.\n\t\t__( 'Typography %s styles' ),\n\t\tlabel\n\t);\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ parentMenu + '/typography/' + element }\n\t\t\taria-label={ navigationButtonLabel }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem\n\t\t\t\t\tclassName=\"edit-site-global-styles-screen-typography__indicator\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tfontFamily: fontFamily ?? 'serif',\n\t\t\t\t\t\tbackground: gradientValue ?? backgroundColor,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\tletterSpacing,\n\t\t\t\t\t\t...extraStyles,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Aa' ) }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>{ label }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction ScreenTypography( { name, variation = '' } ) {\n\tconst parentMenu = name === undefined ? '' : '/blocks/' + name;\n\tconst variationClassName = getVariationClassName( variation );\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Typography' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage the typography settings for different elements.'\n\t\t\t\t) }\n\t\t\t/>\n\n\t\t\t<BlockPreviewPanel name={ name } variation={ variationClassName } />\n\n\t\t\t{ ! name && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-typography\">\n\t\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Elements' ) }</Subtitle>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\t\t\t\telement=\"text\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\t\t\t\telement=\"link\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Links' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\t\t\t\telement=\"heading\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Headings' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\t\t\t\telement=\"button\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Buttons' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ /* No typography elements support yet for blocks. */ }\n\t\t\t{ !! name && (\n\t\t\t\t<TypographyPanel\n\t\t\t\t\tname={ name }\n\t\t\t\t\tvariation={ variation }\n\t\t\t\t\telement=\"text\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenTypography;\n"]}
|
|
@@ -17,7 +17,7 @@ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
|
17
17
|
* Internal dependencies
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
import {
|
|
20
|
+
import { useSupportedStyles } from './hooks';
|
|
21
21
|
import { IconWithCurrentColor } from './icon-with-current-color';
|
|
22
22
|
import { unlock } from '../../private-apis';
|
|
23
23
|
const {
|
|
@@ -25,7 +25,7 @@ const {
|
|
|
25
25
|
useGlobalStyle
|
|
26
26
|
} = unlock(blockEditorPrivateApis);
|
|
27
27
|
export function useHasShadowControl(name) {
|
|
28
|
-
const supports =
|
|
28
|
+
const supports = useSupportedStyles(name);
|
|
29
29
|
return supports.includes('shadow');
|
|
30
30
|
}
|
|
31
31
|
export default function ShadowPanel(_ref) {
|
|
@@ -39,8 +39,7 @@ export default function ShadowPanel(_ref) {
|
|
|
39
39
|
|
|
40
40
|
const hasShadow = () => !!userShadow;
|
|
41
41
|
|
|
42
|
-
const resetShadow = () => setShadow(undefined);
|
|
43
|
-
|
|
42
|
+
const resetShadow = useCallback(() => setShadow(undefined), [setShadow]);
|
|
44
43
|
const resetAll = useCallback(() => resetShadow(undefined), [resetShadow]);
|
|
45
44
|
return createElement(ToolsPanel, {
|
|
46
45
|
label: __('Shadow'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/shadow-panel.js"],"names":["classnames","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalGrid","Grid","__experimentalHeading","Heading","FlexItem","Dropdown","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","__","shadow","shadowIcon","Icon","check","useCallback","privateApis","blockEditorPrivateApis","getSupportedGlobalStylesPanels","IconWithCurrentColor","unlock","useGlobalSetting","useGlobalStyle","useHasShadowControl","name","supports","includes","ShadowPanel","variation","prefix","setShadow","userShadow","hasShadow","resetShadow","undefined","resetAll","ShadowPopover","onShadowChange","popoverProps","placement","offset","shift","renderShadowToggle","onToggle","isOpen","toggleProps","onClick","className","ShadowPopoverContainer","defaultShadows","themeShadows","defaultPresetsEnabled","shadows","ShadowPresets","presets","activeShadow","onSelect","map","i","ShadowIndicator","label","isActive","boxShadow"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,wBAAwB,IAAIC,UAD7B,EAECC,4BAA4B,IAAIC,cAFjC,EAGCC,uBAAuB,IAAIC,SAH5B,EAICC,oBAAoB,IAAIC,MAJzB,EAKCC,oBAAoB,IAAIC,MALzB,EAMCC,kBAAkB,IAAIC,IANvB,EAOCC,qBAAqB,IAAIC,OAP1B,EAQCC,QARD,EASCC,QATD,EAUCC,oCAAoC,IAAIC,sBAVzC,EAWCC,MAXD,QAYO,uBAZP;AAaA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAM,IAAIC,UAAnB,EAA+BC,IAA/B,EAAqCC,KAArC,QAAkD,kBAAlD;AACA,SAASC,WAAT,QAA4B,oBAA5B;AACA,SAASC,WAAW,IAAIC,sBAAxB,QAAsD,yBAAtD;AAEA;AACA;AACA;;AACA,SAASC,8BAAT,QAA+C,SAA/C;AACA,SAASC,oBAAT,QAAqC,2BAArC;AACA,SAASC,MAAT,QAAuB,oBAAvB;AAEA,MAAM;AAAEC,EAAAA,gBAAF;AAAoBC,EAAAA;AAApB,IAAuCF,MAAM,CAAEH,sBAAF,CAAnD;AAEA,OAAO,SAASM,mBAAT,CAA8BC,IAA9B,EAAqC;AAC3C,QAAMC,QAAQ,GAAGP,8BAA8B,CAAEM,IAAF,CAA/C;AACA,SAAOC,QAAQ,CAACC,QAAT,CAAmB,QAAnB,CAAP;AACA;AAED,eAAe,SAASC,WAAT,OAAiD;AAAA,MAA3B;AAAEH,IAAAA,IAAF;AAAQI,IAAAA,SAAS,GAAG;AAApB,GAA2B;AAC/D,QAAMC,MAAM,GAAGD,SAAS,GAAI,cAAcA,SAAW,GAA7B,GAAkC,EAA1D;AACA,QAAM,CAAEjB,MAAF,EAAUmB,SAAV,IAAwBR,cAAc,CAAG,GAAGO,MAAQ,QAAd,EAAuBL,IAAvB,CAA5C;AACA,QAAM,CAAEO,UAAF,IAAiBT,cAAc,CAAG,GAAGO,MAAQ,QAAd,EAAuBL,IAAvB,EAA6B,MAA7B,CAArC;;AACA,QAAMQ,SAAS,GAAG,MAAM,CAAC,CAAED,UAA3B;;AAEA,QAAME,WAAW,GAAG,MAAMH,SAAS,CAAEI,SAAF,CAAnC;;AACA,QAAMC,QAAQ,GAAGpB,WAAW,CAC3B,MAAMkB,WAAW,CAAEC,SAAF,CADU,EAE3B,CAAED,WAAF,CAF2B,CAA5B;AAKA,SACC,cAAC,UAAD;AAAY,IAAA,KAAK,EAAGvB,EAAE,CAAE,QAAF,CAAtB;AAAqC,IAAA,QAAQ,EAAGyB;AAAhD,KACC,cAAC,cAAD;AACC,IAAA,KAAK,EAAGzB,EAAE,CAAE,QAAF,CADX;AAEC,IAAA,QAAQ,EAAGsB,SAFZ;AAGC,IAAA,UAAU,EAAGC,WAHd;AAIC,IAAA,gBAAgB;AAJjB,KAMC,cAAC,SAAD;AAAW,IAAA,UAAU,MAArB;AAAsB,IAAA,WAAW;AAAjC,KACC,cAAC,aAAD;AACC,IAAA,MAAM,EAAGtB,MADV;AAEC,IAAA,cAAc,EAAGmB;AAFlB,IADD,CAND,CADD,CADD;AAiBA;;AAED,MAAMM,aAAa,GAAG,SAAkC;AAAA,MAAhC;AAAEzB,IAAAA,MAAF;AAAU0B,IAAAA;AAAV,GAAgC;AACvD,QAAMC,YAAY,GAAG;AACpBC,IAAAA,SAAS,EAAE,YADS;AAEpBC,IAAAA,MAAM,EAAE,EAFY;AAGpBC,IAAAA,KAAK,EAAE;AAHa,GAArB;AAMA,SACC,cAAC,QAAD;AACC,IAAA,YAAY,EAAGH,YADhB;AAEC,IAAA,SAAS,EAAC,0CAFX;AAGC,IAAA,YAAY,EAAGI,kBAAkB,EAHlC;AAIC,IAAA,aAAa,EAAG,MACf,cAAC,sBAAD;AAAwB,MAAA,WAAW,EAAC;AAApC,OACC,cAAC,sBAAD;AACC,MAAA,MAAM,EAAG/B,MADV;AAEC,MAAA,cAAc,EAAG0B;AAFlB,MADD;AALF,IADD;AAeA,CAtBD;;AAwBA,SAASK,kBAAT,GAA8B;AAC7B,SAAO,SAA4B;AAAA,QAA1B;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,KAA0B;AAClC,UAAMC,WAAW,GAAG;AACnBC,MAAAA,OAAO,EAAEH,QADU;AAEnBI,MAAAA,SAAS,EAAEzD,UAAU,CAAE;AAAE,mBAAWsD;AAAb,OAAF,CAFF;AAGnB,uBAAiBA;AAHE,KAApB;AAMA,WACC,cAAC,MAAD,EAAaC,WAAb,EACC,cAAC,MAAD;AAAQ,MAAA,OAAO,EAAC;AAAhB,OACC,cAAC,oBAAD;AAAsB,MAAA,IAAI,EAAGjC,UAA7B;AAA0C,MAAA,IAAI,EAAG;AAAjD,MADD,EAEC,cAAC,QAAD;AAAU,MAAA,SAAS,EAAC;AAApB,OACGF,EAAE,CAAE,QAAF,CADL,CAFD,CADD,CADD;AAUA,GAjBD;AAkBA;;AAED,SAASsC,sBAAT,QAA8D;AAAA,MAA7B;AAAErC,IAAAA,MAAF;AAAU0B,IAAAA;AAAV,GAA6B;AAC7D,QAAM,CAAEY,cAAF,IAAqB5B,gBAAgB,CAAE,wBAAF,CAA3C;AACA,QAAM,CAAE6B,YAAF,IAAmB7B,gBAAgB,CAAE,sBAAF,CAAzC;AACA,QAAM,CAAE8B,qBAAF,IAA4B9B,gBAAgB,CACjD,uBADiD,CAAlD;AAIA,QAAM+B,OAAO,GAAG,CACf,IAAKD,qBAAqB,GAAGF,cAAH,GAAoB,EAA9C,CADe,EAEf,IAAKC,YAAY,IAAI,EAArB,CAFe,CAAhB;AAKA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACC,cAAC,OAAD;AAAS,IAAA,KAAK,EAAG;AAAjB,KAAuBxC,EAAE,CAAE,QAAF,CAAzB,CADD,EAEC,cAAC,aAAD;AACC,IAAA,OAAO,EAAG0C,OADX;AAEC,IAAA,YAAY,EAAGzC,MAFhB;AAGC,IAAA,QAAQ,EAAG0B;AAHZ,IAFD,CADD,CADD;AAYA;;AAED,SAASgB,aAAT,QAA8D;AAAA,MAAtC;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,YAAX;AAAyBC,IAAAA;AAAzB,GAAsC;AAC7D,SAAO,CAAEF,OAAF,GAAY,IAAZ,GACN,cAAC,IAAD;AAAM,IAAA,OAAO,EAAG,CAAhB;AAAoB,IAAA,GAAG,EAAG,CAA1B;AAA8B,IAAA,KAAK,EAAC,QAApC;AAA6C,IAAA,OAAO,EAAC;AAArD,KACGA,OAAO,CAACG,GAAR,CAAa,QAAoBC,CAApB;AAAA,QAAE;AAAElC,MAAAA,IAAF;AAAQb,MAAAA;AAAR,KAAF;AAAA,WACd,cAAC,eAAD;AACC,MAAA,GAAG,EAAG+C,CADP;AAEC,MAAA,KAAK,EAAGlC,IAFT;AAGC,MAAA,QAAQ,EAAGb,MAAM,KAAK4C,YAHvB;AAIC,MAAA,QAAQ,EAAG,MACVC,QAAQ,CAAE7C,MAAM,KAAK4C,YAAX,GAA0BrB,SAA1B,GAAsCvB,MAAxC,CALV;AAOC,MAAA,MAAM,EAAGA;AAPV,MADc;AAAA,GAAb,CADH,CADD;AAeA;;AAED,SAASgD,eAAT,QAAkE;AAAA,MAAxC;AAAEC,IAAAA,KAAF;AAASC,IAAAA,QAAT;AAAmBL,IAAAA,QAAnB;AAA6B7C,IAAAA;AAA7B,GAAwC;AACjE,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,2CADX;AAEC,IAAA,OAAO,EAAG6C,QAFX;AAGC,kBAAaI,KAHd;AAIC,IAAA,KAAK,EAAG;AAAEE,MAAAA,SAAS,EAAEnD;AAAb;AAJT,KAMGkD,QAAQ,IAAI,cAAC,IAAD;AAAM,IAAA,IAAI,EAAG/C;AAAb,IANf,CADD,CADD;AAYA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalGrid as Grid,\n\t__experimentalHeading as Heading,\n\tFlexItem,\n\tDropdown,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedGlobalStylesPanels } from './hooks';\nimport { IconWithCurrentColor } from './icon-with-current-color';\nimport { unlock } from '../../private-apis';\n\nconst { useGlobalSetting, useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nexport function useHasShadowControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn supports.includes( 'shadow' );\n}\n\nexport default function ShadowPanel( { name, variation = '' } ) {\n\tconst prefix = variation ? `variations.${ variation }.` : '';\n\tconst [ shadow, setShadow ] = useGlobalStyle( `${ prefix }shadow`, name );\n\tconst [ userShadow ] = useGlobalStyle( `${ prefix }shadow`, name, 'user' );\n\tconst hasShadow = () => !! userShadow;\n\n\tconst resetShadow = () => setShadow( undefined );\n\tconst resetAll = useCallback(\n\t\t() => resetShadow( undefined ),\n\t\t[ resetShadow ]\n\t);\n\n\treturn (\n\t\t<ToolsPanel label={ __( 'Shadow' ) } resetAll={ resetAll }>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\thasValue={ hasShadow }\n\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t/>\n\t\t\t\t</ItemGroup>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nconst ShadowPopover = ( { shadow, onShadowChange } ) => {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"edit-site-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: classnames( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<IconWithCurrentColor icon={ shadowIcon } size={ 24 } />\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadow-label\">\n\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nfunction ShadowPopoverContainer( { shadow, onShadowChange } ) {\n\tconst [ defaultShadows ] = useGlobalSetting( 'shadow.presets.default' );\n\tconst [ themeShadows ] = useGlobalSetting( 'shadow.presets.theme' );\n\tconst [ defaultPresetsEnabled ] = useGlobalSetting(\n\t\t'shadow.defaultPresets'\n\t);\n\n\tconst shadows = [\n\t\t...( defaultPresetsEnabled ? defaultShadows : [] ),\n\t\t...( themeShadows || [] ),\n\t];\n\n\treturn (\n\t\t<div className=\"edit-site-global-styles__shadow-panel\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nfunction ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Grid columns={ 6 } gap={ 0 } align=\"center\" justify=\"center\">\n\t\t\t{ presets.map( ( { name, shadow }, i ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ i }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n\nfunction ShadowIndicator( { label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<div className=\"edit-site-global-styles__shadow-indicator-wrapper\">\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-global-styles__shadow-indicator\"\n\t\t\t\tonClick={ onSelect }\n\t\t\t\taria-label={ label }\n\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t>\n\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/shadow-panel.js"],"names":["classnames","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalGrid","Grid","__experimentalHeading","Heading","FlexItem","Dropdown","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","__","shadow","shadowIcon","Icon","check","useCallback","privateApis","blockEditorPrivateApis","useSupportedStyles","IconWithCurrentColor","unlock","useGlobalSetting","useGlobalStyle","useHasShadowControl","name","supports","includes","ShadowPanel","variation","prefix","setShadow","userShadow","hasShadow","resetShadow","undefined","resetAll","ShadowPopover","onShadowChange","popoverProps","placement","offset","shift","renderShadowToggle","onToggle","isOpen","toggleProps","onClick","className","ShadowPopoverContainer","defaultShadows","themeShadows","defaultPresetsEnabled","shadows","ShadowPresets","presets","activeShadow","onSelect","map","i","ShadowIndicator","label","isActive","boxShadow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalGrid as Grid,\n\t__experimentalHeading as Heading,\n\tFlexItem,\n\tDropdown,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { useSupportedStyles } from './hooks';\nimport { IconWithCurrentColor } from './icon-with-current-color';\nimport { unlock } from '../../private-apis';\n\nconst { useGlobalSetting, useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nexport function useHasShadowControl( name ) {\n\tconst supports = useSupportedStyles( name );\n\treturn supports.includes( 'shadow' );\n}\n\nexport default function ShadowPanel( { name, variation = '' } ) {\n\tconst prefix = variation ? `variations.${ variation }.` : '';\n\tconst [ shadow, setShadow ] = useGlobalStyle( `${ prefix }shadow`, name );\n\tconst [ userShadow ] = useGlobalStyle( `${ prefix }shadow`, name, 'user' );\n\tconst hasShadow = () => !! userShadow;\n\n\tconst resetShadow = useCallback(\n\t\t() => setShadow( undefined ),\n\t\t[ setShadow ]\n\t);\n\tconst resetAll = useCallback(\n\t\t() => resetShadow( undefined ),\n\t\t[ resetShadow ]\n\t);\n\n\treturn (\n\t\t<ToolsPanel label={ __( 'Shadow' ) } resetAll={ resetAll }>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\thasValue={ hasShadow }\n\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t/>\n\t\t\t\t</ItemGroup>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nconst ShadowPopover = ( { shadow, onShadowChange } ) => {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"edit-site-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: classnames( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<IconWithCurrentColor icon={ shadowIcon } size={ 24 } />\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadow-label\">\n\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nfunction ShadowPopoverContainer( { shadow, onShadowChange } ) {\n\tconst [ defaultShadows ] = useGlobalSetting( 'shadow.presets.default' );\n\tconst [ themeShadows ] = useGlobalSetting( 'shadow.presets.theme' );\n\tconst [ defaultPresetsEnabled ] = useGlobalSetting(\n\t\t'shadow.defaultPresets'\n\t);\n\n\tconst shadows = [\n\t\t...( defaultPresetsEnabled ? defaultShadows : [] ),\n\t\t...( themeShadows || [] ),\n\t];\n\n\treturn (\n\t\t<div className=\"edit-site-global-styles__shadow-panel\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nfunction ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Grid columns={ 6 } gap={ 0 } align=\"center\" justify=\"center\">\n\t\t\t{ presets.map( ( { name, shadow }, i ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ i }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n\nfunction ShadowIndicator( { label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<div className=\"edit-site-global-styles__shadow-indicator-wrapper\">\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-global-styles__shadow-indicator\"\n\t\t\t\tonClick={ onSelect }\n\t\t\t\taria-label={ label }\n\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t>\n\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -7,11 +7,12 @@ import { __experimentalHeading as Heading } from '@wordpress/components';
|
|
|
7
7
|
|
|
8
8
|
function Subtitle(_ref) {
|
|
9
9
|
let {
|
|
10
|
-
children
|
|
10
|
+
children,
|
|
11
|
+
level
|
|
11
12
|
} = _ref;
|
|
12
13
|
return createElement(Heading, {
|
|
13
14
|
className: "edit-site-global-styles-subtitle",
|
|
14
|
-
level: 2
|
|
15
|
+
level: level !== null && level !== void 0 ? level : 2
|
|
15
16
|
}, children);
|
|
16
17
|
}
|
|
17
18
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/subtitle.js"],"names":["__experimentalHeading","Heading","Subtitle","children"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,qBAAqB,IAAIC,OAAlC,QAAiD,uBAAjD;;AAEA,SAASC,QAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/subtitle.js"],"names":["__experimentalHeading","Heading","Subtitle","children","level"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,qBAAqB,IAAIC,OAAlC,QAAiD,uBAAjD;;AAEA,SAASC,QAAT,OAAyC;AAAA,MAAtB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAsB;AACxC,SACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,kCADX;AAEC,IAAA,KAAK,EAAGA,KAAH,aAAGA,KAAH,cAAGA,KAAH,GAAY;AAFlB,KAIGD,QAJH,CADD;AAQA;;AAED,eAAeD,QAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalHeading as Heading } from '@wordpress/components';\n\nfunction Subtitle( { children, level } ) {\n\treturn (\n\t\t<Heading\n\t\t\tclassName=\"edit-site-global-styles-subtitle\"\n\t\t\tlevel={ level ?? 2 }\n\t\t>\n\t\t\t{ children }\n\t\t</Heading>\n\t);\n}\n\nexport default Subtitle;\n"]}
|
|
@@ -3,158 +3,20 @@ import { createElement } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
7
|
+
import { useMemo } from '@wordpress/element';
|
|
9
8
|
/**
|
|
10
9
|
* Internal dependencies
|
|
11
10
|
*/
|
|
12
11
|
|
|
13
|
-
import { getSupportedGlobalStylesPanels } from './hooks';
|
|
14
12
|
import { unlock } from '../../private-apis';
|
|
13
|
+
import { useSupportedStyles } from './hooks';
|
|
15
14
|
const {
|
|
15
|
+
useGlobalStyle,
|
|
16
16
|
useGlobalSetting,
|
|
17
|
-
|
|
17
|
+
overrideSettingsWithSupports,
|
|
18
|
+
TypographyPanel: StylesTypographyPanel
|
|
18
19
|
} = unlock(blockEditorPrivateApis);
|
|
19
|
-
export function useHasTypographyPanel(name) {
|
|
20
|
-
const hasFontFamily = useHasFontFamilyControl(name);
|
|
21
|
-
const hasLineHeight = useHasLineHeightControl(name);
|
|
22
|
-
const hasFontAppearance = useHasAppearanceControl(name);
|
|
23
|
-
const hasLetterSpacing = useHasLetterSpacingControl(name);
|
|
24
|
-
const supports = getSupportedGlobalStylesPanels(name);
|
|
25
|
-
return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || supports.includes('fontSize');
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function useHasFontFamilyControl(name) {
|
|
29
|
-
const supports = getSupportedGlobalStylesPanels(name);
|
|
30
|
-
const [fontFamiliesPerOrigin] = useGlobalSetting('typography.fontFamilies', name);
|
|
31
|
-
const fontFamilies = (fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.custom) || (fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.theme) || (fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.default);
|
|
32
|
-
return supports.includes('fontFamily') && !!(fontFamilies !== null && fontFamilies !== void 0 && fontFamilies.length);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function useHasLineHeightControl(name) {
|
|
36
|
-
const supports = getSupportedGlobalStylesPanels(name);
|
|
37
|
-
return useGlobalSetting('typography.lineHeight', name)[0] && supports.includes('lineHeight');
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function useHasAppearanceControl(name) {
|
|
41
|
-
const supports = getSupportedGlobalStylesPanels(name);
|
|
42
|
-
const hasFontStyles = useGlobalSetting('typography.fontStyle', name)[0] && supports.includes('fontStyle');
|
|
43
|
-
const hasFontWeights = useGlobalSetting('typography.fontWeight', name)[0] && supports.includes('fontWeight');
|
|
44
|
-
return hasFontStyles || hasFontWeights;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function useAppearanceControlLabel(name) {
|
|
48
|
-
const supports = getSupportedGlobalStylesPanels(name);
|
|
49
|
-
const hasFontStyles = useGlobalSetting('typography.fontStyle', name)[0] && supports.includes('fontStyle');
|
|
50
|
-
const hasFontWeights = useGlobalSetting('typography.fontWeight', name)[0] && supports.includes('fontWeight');
|
|
51
|
-
|
|
52
|
-
if (!hasFontStyles) {
|
|
53
|
-
return __('Font weight');
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (!hasFontWeights) {
|
|
57
|
-
return __('Font style');
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return __('Appearance');
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function useHasLetterSpacingControl(name, element) {
|
|
64
|
-
const setting = useGlobalSetting('typography.letterSpacing', name)[0];
|
|
65
|
-
|
|
66
|
-
if (!setting) {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (!name && element === 'heading') {
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
const supports = getSupportedGlobalStylesPanels(name);
|
|
75
|
-
return supports.includes('letterSpacing');
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function useHasTextTransformControl(name, element) {
|
|
79
|
-
const setting = useGlobalSetting('typography.textTransform', name)[0];
|
|
80
|
-
|
|
81
|
-
if (!setting) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
if (!name && element === 'heading') {
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
const supports = getSupportedGlobalStylesPanels(name);
|
|
90
|
-
return supports.includes('textTransform');
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
function useHasTextDecorationControl(name, element) {
|
|
94
|
-
// This is an exception for link elements.
|
|
95
|
-
// We shouldn't allow other blocks or elements to set textDecoration
|
|
96
|
-
// because this will be inherited by their children.
|
|
97
|
-
return !name && element === 'link';
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function useStyleWithReset(path, blockName) {
|
|
101
|
-
const [style, setStyle] = useGlobalStyle(path, blockName);
|
|
102
|
-
const [userStyle] = useGlobalStyle(path, blockName, 'user');
|
|
103
|
-
|
|
104
|
-
const hasStyle = () => !!userStyle;
|
|
105
|
-
|
|
106
|
-
const resetStyle = () => setStyle(undefined);
|
|
107
|
-
|
|
108
|
-
return [style, setStyle, hasStyle, resetStyle];
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function useFontSizeWithReset(path, blockName) {
|
|
112
|
-
const [fontSize, setStyleCallback] = useGlobalStyle(path, blockName);
|
|
113
|
-
const [userStyle] = useGlobalStyle(path, blockName, 'user');
|
|
114
|
-
|
|
115
|
-
const hasFontSize = () => !!userStyle;
|
|
116
|
-
|
|
117
|
-
const resetFontSize = () => setStyleCallback(undefined);
|
|
118
|
-
|
|
119
|
-
const setFontSize = (newValue, metadata) => {
|
|
120
|
-
if (!!(metadata !== null && metadata !== void 0 && metadata.slug)) {
|
|
121
|
-
newValue = `var:preset|font-size|${metadata === null || metadata === void 0 ? void 0 : metadata.slug}`;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
setStyleCallback(newValue);
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
return {
|
|
128
|
-
fontSize,
|
|
129
|
-
setFontSize,
|
|
130
|
-
hasFontSize,
|
|
131
|
-
resetFontSize
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
function useFontAppearance(prefix, name) {
|
|
136
|
-
const [fontStyle, setFontStyle] = useGlobalStyle(prefix + 'typography.fontStyle', name);
|
|
137
|
-
const [userFontStyle] = useGlobalStyle(prefix + 'typography.fontStyle', name, 'user');
|
|
138
|
-
const [fontWeight, setFontWeight] = useGlobalStyle(prefix + 'typography.fontWeight', name);
|
|
139
|
-
const [userFontWeight] = useGlobalStyle(prefix + 'typography.fontWeight', name, 'user');
|
|
140
|
-
|
|
141
|
-
const hasFontAppearance = () => !!userFontStyle || !!userFontWeight;
|
|
142
|
-
|
|
143
|
-
const resetFontAppearance = () => {
|
|
144
|
-
setFontStyle(undefined);
|
|
145
|
-
setFontWeight(undefined);
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
return {
|
|
149
|
-
fontStyle,
|
|
150
|
-
setFontStyle,
|
|
151
|
-
fontWeight,
|
|
152
|
-
setFontWeight,
|
|
153
|
-
hasFontAppearance,
|
|
154
|
-
resetFontAppearance
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
|
|
158
20
|
export default function TypographyPanel(_ref) {
|
|
159
21
|
let {
|
|
160
22
|
name,
|
|
@@ -162,167 +24,32 @@ export default function TypographyPanel(_ref) {
|
|
|
162
24
|
headingLevel,
|
|
163
25
|
variation = ''
|
|
164
26
|
} = _ref;
|
|
165
|
-
|
|
166
|
-
let prefix = '';
|
|
27
|
+
let prefixParts = [];
|
|
167
28
|
|
|
168
29
|
if (element === 'heading') {
|
|
169
|
-
|
|
30
|
+
prefixParts = prefixParts.concat(['elements', headingLevel]);
|
|
170
31
|
} else if (element && element !== 'text') {
|
|
171
|
-
|
|
32
|
+
prefixParts = prefixParts.concat(['elements', element]);
|
|
172
33
|
}
|
|
173
34
|
|
|
174
35
|
if (variation) {
|
|
175
|
-
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
const
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
const
|
|
184
|
-
const
|
|
185
|
-
const
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
let hasFontSizeEnabled = supports.includes('fontSize');
|
|
195
|
-
|
|
196
|
-
if (element === 'heading' && headingLevel === 'heading') {
|
|
197
|
-
hasFontSizeEnabled = false;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
const [fontFamily, setFontFamily, hasFontFamily, resetFontFamily] = useStyleWithReset(prefix + 'typography.fontFamily', name);
|
|
201
|
-
const {
|
|
202
|
-
fontSize,
|
|
203
|
-
setFontSize,
|
|
204
|
-
hasFontSize,
|
|
205
|
-
resetFontSize
|
|
206
|
-
} = useFontSizeWithReset(prefix + 'typography.fontSize', name);
|
|
207
|
-
const {
|
|
208
|
-
fontStyle,
|
|
209
|
-
setFontStyle,
|
|
210
|
-
fontWeight,
|
|
211
|
-
setFontWeight,
|
|
212
|
-
hasFontAppearance,
|
|
213
|
-
resetFontAppearance
|
|
214
|
-
} = useFontAppearance(prefix, name);
|
|
215
|
-
const [lineHeight, setLineHeight, hasLineHeight, resetLineHeight] = useStyleWithReset(prefix + 'typography.lineHeight', name);
|
|
216
|
-
const [letterSpacing, setLetterSpacing, hasLetterSpacing, resetLetterSpacing] = useStyleWithReset(prefix + 'typography.letterSpacing', name);
|
|
217
|
-
const [textTransform, setTextTransform, hasTextTransform, resetTextTransform] = useStyleWithReset(prefix + 'typography.textTransform', name);
|
|
218
|
-
const [textDecoration, setTextDecoration, hasTextDecoration, resetTextDecoration] = useStyleWithReset(prefix + 'typography.textDecoration', name);
|
|
219
|
-
|
|
220
|
-
const resetAll = () => {
|
|
221
|
-
resetFontFamily();
|
|
222
|
-
resetFontSize();
|
|
223
|
-
resetFontAppearance();
|
|
224
|
-
resetLineHeight();
|
|
225
|
-
resetLetterSpacing();
|
|
226
|
-
resetTextTransform();
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
return createElement(ToolsPanel, {
|
|
230
|
-
label: __('Typography'),
|
|
231
|
-
resetAll: resetAll
|
|
232
|
-
}, hasFontFamilyEnabled && createElement(ToolsPanelItem, {
|
|
233
|
-
label: __('Font family'),
|
|
234
|
-
hasValue: hasFontFamily,
|
|
235
|
-
onDeselect: resetFontFamily,
|
|
236
|
-
isShownByDefault: true
|
|
237
|
-
}, createElement(FontFamilyControl, {
|
|
238
|
-
fontFamilies: fontFamilies,
|
|
239
|
-
value: fontFamily,
|
|
240
|
-
onChange: setFontFamily,
|
|
241
|
-
size: "__unstable-large",
|
|
242
|
-
__nextHasNoMarginBottom: true
|
|
243
|
-
})), hasFontSizeEnabled && createElement(ToolsPanelItem, {
|
|
244
|
-
label: __('Font size'),
|
|
245
|
-
hasValue: hasFontSize,
|
|
246
|
-
onDeselect: resetFontSize,
|
|
247
|
-
isShownByDefault: true
|
|
248
|
-
}, createElement(FontSizePicker, {
|
|
249
|
-
value: fontSize,
|
|
250
|
-
onChange: setFontSize,
|
|
251
|
-
fontSizes: fontSizes,
|
|
252
|
-
disableCustomFontSizes: disableCustomFontSizes,
|
|
253
|
-
withReset: false,
|
|
254
|
-
withSlider: true,
|
|
255
|
-
size: "__unstable-large",
|
|
256
|
-
__nextHasNoMarginBottom: true
|
|
257
|
-
})), hasAppearanceControl && createElement(ToolsPanelItem, {
|
|
258
|
-
className: "single-column",
|
|
259
|
-
label: appearanceControlLabel,
|
|
260
|
-
hasValue: hasFontAppearance,
|
|
261
|
-
onDeselect: resetFontAppearance,
|
|
262
|
-
isShownByDefault: true
|
|
263
|
-
}, createElement(FontAppearanceControl, {
|
|
264
|
-
value: {
|
|
265
|
-
fontStyle,
|
|
266
|
-
fontWeight
|
|
267
|
-
},
|
|
268
|
-
onChange: _ref2 => {
|
|
269
|
-
let {
|
|
270
|
-
fontStyle: newFontStyle,
|
|
271
|
-
fontWeight: newFontWeight
|
|
272
|
-
} = _ref2;
|
|
273
|
-
setFontStyle(newFontStyle);
|
|
274
|
-
setFontWeight(newFontWeight);
|
|
275
|
-
},
|
|
276
|
-
hasFontStyles: hasFontStyles,
|
|
277
|
-
hasFontWeights: hasFontWeights,
|
|
278
|
-
size: "__unstable-large",
|
|
279
|
-
__nextHasNoMarginBottom: true
|
|
280
|
-
})), hasLineHeightEnabled && createElement(ToolsPanelItem, {
|
|
281
|
-
className: "single-column",
|
|
282
|
-
label: __('Line height'),
|
|
283
|
-
hasValue: hasLineHeight,
|
|
284
|
-
onDeselect: resetLineHeight,
|
|
285
|
-
isShownByDefault: true
|
|
286
|
-
}, createElement(LineHeightControl, {
|
|
287
|
-
__nextHasNoMarginBottom: true,
|
|
288
|
-
__unstableInputWidth: "auto",
|
|
289
|
-
value: lineHeight,
|
|
290
|
-
onChange: setLineHeight,
|
|
291
|
-
size: "__unstable-large"
|
|
292
|
-
})), hasLetterSpacingControl && createElement(ToolsPanelItem, {
|
|
293
|
-
className: "single-column",
|
|
294
|
-
label: __('Letter spacing'),
|
|
295
|
-
hasValue: hasLetterSpacing,
|
|
296
|
-
onDeselect: resetLetterSpacing,
|
|
297
|
-
isShownByDefault: true
|
|
298
|
-
}, createElement(LetterSpacingControl, {
|
|
299
|
-
value: letterSpacing,
|
|
300
|
-
onChange: setLetterSpacing,
|
|
301
|
-
size: "__unstable-large",
|
|
302
|
-
__unstableInputWidth: "auto"
|
|
303
|
-
})), hasTextTransformControl && createElement(ToolsPanelItem, {
|
|
304
|
-
label: __('Letter case'),
|
|
305
|
-
hasValue: hasTextTransform,
|
|
306
|
-
onDeselect: resetTextTransform,
|
|
307
|
-
isShownByDefault: true
|
|
308
|
-
}, createElement(TextTransformControl, {
|
|
309
|
-
value: textTransform,
|
|
310
|
-
onChange: setTextTransform,
|
|
311
|
-
showNone: true,
|
|
312
|
-
isBlock: true,
|
|
313
|
-
size: "__unstable-large",
|
|
314
|
-
__nextHasNoMarginBottom: true
|
|
315
|
-
})), hasTextDecorationControl && createElement(ToolsPanelItem, {
|
|
316
|
-
className: "single-column",
|
|
317
|
-
label: __('Text decoration'),
|
|
318
|
-
hasValue: hasTextDecoration,
|
|
319
|
-
onDeselect: resetTextDecoration,
|
|
320
|
-
isShownByDefault: true
|
|
321
|
-
}, createElement(TextDecorationControl, {
|
|
322
|
-
value: textDecoration,
|
|
323
|
-
onChange: setTextDecoration,
|
|
324
|
-
size: "__unstable-large",
|
|
325
|
-
__unstableInputWidth: "auto"
|
|
326
|
-
})));
|
|
36
|
+
prefixParts = ['variations', variation].concat(prefixParts);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const prefix = prefixParts.join('.');
|
|
40
|
+
const [style] = useGlobalStyle(prefix, name, 'user', false);
|
|
41
|
+
const [inheritedStyle, setStyle] = useGlobalStyle(prefix, name, 'all', {
|
|
42
|
+
shouldDecodeEncode: false
|
|
43
|
+
});
|
|
44
|
+
const [rawSettings] = useGlobalSetting('', name);
|
|
45
|
+
const usedElement = element === 'heading' ? headingLevel : element;
|
|
46
|
+
const supports = useSupportedStyles(name, usedElement);
|
|
47
|
+
const settings = useMemo(() => overrideSettingsWithSupports(rawSettings, supports), [rawSettings, supports]);
|
|
48
|
+
return createElement(StylesTypographyPanel, {
|
|
49
|
+
inheritedValue: inheritedStyle,
|
|
50
|
+
value: style,
|
|
51
|
+
onChange: setStyle,
|
|
52
|
+
settings: settings
|
|
53
|
+
});
|
|
327
54
|
}
|
|
328
55
|
//# sourceMappingURL=typography-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/typography-panel.js"],"names":["LineHeightControl","__experimentalFontFamilyControl","FontFamilyControl","__experimentalFontAppearanceControl","FontAppearanceControl","__experimentalLetterSpacingControl","LetterSpacingControl","__experimentalTextTransformControl","TextTransformControl","__experimentalTextDecorationControl","TextDecorationControl","privateApis","blockEditorPrivateApis","FontSizePicker","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","getSupportedGlobalStylesPanels","unlock","useGlobalSetting","useGlobalStyle","useHasTypographyPanel","name","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","supports","includes","fontFamiliesPerOrigin","fontFamilies","custom","theme","default","length","hasFontStyles","hasFontWeights","useAppearanceControlLabel","element","setting","useHasTextTransformControl","useHasTextDecorationControl","useStyleWithReset","path","blockName","style","setStyle","userStyle","hasStyle","resetStyle","undefined","useFontSizeWithReset","fontSize","setStyleCallback","hasFontSize","resetFontSize","setFontSize","newValue","metadata","slug","useFontAppearance","prefix","fontStyle","setFontStyle","userFontStyle","fontWeight","setFontWeight","userFontWeight","resetFontAppearance","TypographyPanel","headingLevel","variation","fontSizesPerOrigin","fontSizes","disableCustomFontSizes","hasFontFamilyEnabled","hasLineHeightEnabled","hasAppearanceControl","appearanceControlLabel","hasLetterSpacingControl","hasTextTransformControl","hasTextDecorationControl","hasFontSizeEnabled","fontFamily","setFontFamily","resetFontFamily","lineHeight","setLineHeight","resetLineHeight","letterSpacing","setLetterSpacing","resetLetterSpacing","textTransform","setTextTransform","hasTextTransform","resetTextTransform","textDecoration","setTextDecoration","hasTextDecoration","resetTextDecoration","resetAll","newFontStyle","newFontWeight"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tLineHeightControl,\n\t__experimentalFontFamilyControl as FontFamilyControl,\n\t__experimentalFontAppearanceControl as FontAppearanceControl,\n\t__experimentalLetterSpacingControl as LetterSpacingControl,\n\t__experimentalTextTransformControl as TextTransformControl,\n\t__experimentalTextDecorationControl as TextDecorationControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tFontSizePicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedGlobalStylesPanels } from './hooks';\nimport { unlock } from '../../private-apis';\n\nconst { useGlobalSetting, useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nexport function useHasTypographyPanel( name ) {\n\tconst hasFontFamily = useHasFontFamilyControl( name );\n\tconst hasLineHeight = useHasLineHeightControl( name );\n\tconst hasFontAppearance = useHasAppearanceControl( name );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( name );\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\tsupports.includes( 'fontSize' )\n\t);\n}\n\nfunction useHasFontFamilyControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ fontFamiliesPerOrigin ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tname\n\t);\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ||\n\t\tfontFamiliesPerOrigin?.theme ||\n\t\tfontFamiliesPerOrigin?.default;\n\treturn supports.includes( 'fontFamily' ) && !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn (\n\t\tuseGlobalSetting( 'typography.lineHeight', name )[ 0 ] &&\n\t\tsupports.includes( 'lineHeight' )\n\t);\n}\n\nfunction useHasAppearanceControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst hasFontStyles =\n\t\tuseGlobalSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseGlobalSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst hasFontStyles =\n\t\tuseGlobalSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseGlobalSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( name, element ) {\n\tconst setting = useGlobalSetting( 'typography.letterSpacing', name )[ 0 ];\n\tif ( ! setting ) {\n\t\treturn false;\n\t}\n\tif ( ! name && element === 'heading' ) {\n\t\treturn true;\n\t}\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn supports.includes( 'letterSpacing' );\n}\n\nfunction useHasTextTransformControl( name, element ) {\n\tconst setting = useGlobalSetting( 'typography.textTransform', name )[ 0 ];\n\tif ( ! setting ) {\n\t\treturn false;\n\t}\n\tif ( ! name && element === 'heading' ) {\n\t\treturn true;\n\t}\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn supports.includes( 'textTransform' );\n}\n\nfunction useHasTextDecorationControl( name, element ) {\n\t// This is an exception for link elements.\n\t// We shouldn't allow other blocks or elements to set textDecoration\n\t// because this will be inherited by their children.\n\treturn ! name && element === 'link';\n}\n\nfunction useStyleWithReset( path, blockName ) {\n\tconst [ style, setStyle ] = useGlobalStyle( path, blockName );\n\tconst [ userStyle ] = useGlobalStyle( path, blockName, 'user' );\n\tconst hasStyle = () => !! userStyle;\n\tconst resetStyle = () => setStyle( undefined );\n\treturn [ style, setStyle, hasStyle, resetStyle ];\n}\n\nfunction useFontSizeWithReset( path, blockName ) {\n\tconst [ fontSize, setStyleCallback ] = useGlobalStyle( path, blockName );\n\tconst [ userStyle ] = useGlobalStyle( path, blockName, 'user' );\n\tconst hasFontSize = () => !! userStyle;\n\tconst resetFontSize = () => setStyleCallback( undefined );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tif ( !! metadata?.slug ) {\n\t\t\tnewValue = `var:preset|font-size|${ metadata?.slug }`;\n\t\t}\n\t\tsetStyleCallback( newValue );\n\t};\n\n\treturn {\n\t\tfontSize,\n\t\tsetFontSize,\n\t\thasFontSize,\n\t\tresetFontSize,\n\t};\n}\n\nfunction useFontAppearance( prefix, name ) {\n\tconst [ fontStyle, setFontStyle ] = useGlobalStyle(\n\t\tprefix + 'typography.fontStyle',\n\t\tname\n\t);\n\tconst [ userFontStyle ] = useGlobalStyle(\n\t\tprefix + 'typography.fontStyle',\n\t\tname,\n\t\t'user'\n\t);\n\tconst [ fontWeight, setFontWeight ] = useGlobalStyle(\n\t\tprefix + 'typography.fontWeight',\n\t\tname\n\t);\n\tconst [ userFontWeight ] = useGlobalStyle(\n\t\tprefix + 'typography.fontWeight',\n\t\tname,\n\t\t'user'\n\t);\n\tconst hasFontAppearance = () => !! userFontStyle || !! userFontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontStyle( undefined );\n\t\tsetFontWeight( undefined );\n\t};\n\treturn {\n\t\tfontStyle,\n\t\tsetFontStyle,\n\t\tfontWeight,\n\t\tsetFontWeight,\n\t\thasFontAppearance,\n\t\tresetFontAppearance,\n\t};\n}\n\nexport default function TypographyPanel( {\n\tname,\n\telement,\n\theadingLevel,\n\tvariation = '',\n} ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tlet prefix = '';\n\tif ( element === 'heading' ) {\n\t\tprefix = `elements.${ headingLevel }.`;\n\t} else if ( element && element !== 'text' ) {\n\t\tprefix = `elements.${ element }.`;\n\t}\n\tif ( variation ) {\n\t\tprefix = prefix\n\t\t\t? `variations.${ variation }.${ prefix }`\n\t\t\t: `variations.${ variation }`;\n\t}\n\tconst [ fontSizesPerOrigin ] = useGlobalSetting(\n\t\t'typography.fontSizes',\n\t\tname\n\t);\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ||\n\t\tfontSizesPerOrigin?.theme ||\n\t\tfontSizesPerOrigin?.default;\n\n\tconst disableCustomFontSizes = ! useGlobalSetting(\n\t\t'typography.customFontSize',\n\t\tname\n\t)[ 0 ];\n\tconst [ fontFamiliesPerOrigin ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tname\n\t);\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ||\n\t\tfontFamiliesPerOrigin?.theme ||\n\t\tfontFamiliesPerOrigin?.default;\n\tconst hasFontStyles =\n\t\tuseGlobalSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseGlobalSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( name );\n\tconst hasLineHeightEnabled = useHasLineHeightControl( name );\n\tconst hasAppearanceControl = useHasAppearanceControl( name );\n\tconst appearanceControlLabel = useAppearanceControlLabel( name );\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( name, element );\n\tconst hasTextTransformControl = useHasTextTransformControl( name, element );\n\tconst hasTextDecorationControl = useHasTextDecorationControl(\n\t\tname,\n\t\telement\n\t);\n\n\t/* Disable font size controls when the option to style all headings is selected. */\n\tlet hasFontSizeEnabled = supports.includes( 'fontSize' );\n\tif ( element === 'heading' && headingLevel === 'heading' ) {\n\t\thasFontSizeEnabled = false;\n\t}\n\n\tconst [ fontFamily, setFontFamily, hasFontFamily, resetFontFamily ] =\n\t\tuseStyleWithReset( prefix + 'typography.fontFamily', name );\n\tconst { fontSize, setFontSize, hasFontSize, resetFontSize } =\n\t\tuseFontSizeWithReset( prefix + 'typography.fontSize', name );\n\tconst {\n\t\tfontStyle,\n\t\tsetFontStyle,\n\t\tfontWeight,\n\t\tsetFontWeight,\n\t\thasFontAppearance,\n\t\tresetFontAppearance,\n\t} = useFontAppearance( prefix, name );\n\tconst [ lineHeight, setLineHeight, hasLineHeight, resetLineHeight ] =\n\t\tuseStyleWithReset( prefix + 'typography.lineHeight', name );\n\tconst [\n\t\tletterSpacing,\n\t\tsetLetterSpacing,\n\t\thasLetterSpacing,\n\t\tresetLetterSpacing,\n\t] = useStyleWithReset( prefix + 'typography.letterSpacing', name );\n\tconst [\n\t\ttextTransform,\n\t\tsetTextTransform,\n\t\thasTextTransform,\n\t\tresetTextTransform,\n\t] = useStyleWithReset( prefix + 'typography.textTransform', name );\n\tconst [\n\t\ttextDecoration,\n\t\tsetTextDecoration,\n\t\thasTextDecoration,\n\t\tresetTextDecoration,\n\t] = useStyleWithReset( prefix + 'typography.textDecoration', name );\n\n\tconst resetAll = () => {\n\t\tresetFontFamily();\n\t\tresetFontSize();\n\t\tresetFontAppearance();\n\t\tresetLineHeight();\n\t\tresetLetterSpacing();\n\t\tresetTextTransform();\n\t};\n\n\treturn (\n\t\t<ToolsPanel label={ __( 'Typography' ) } resetAll={ resetAll }>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\tfontStyle: newFontStyle,\n\t\t\t\t\t\t\tfontWeight: newFontWeight,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetFontStyle( newFontStyle );\n\t\t\t\t\t\t\tsetFontWeight( newFontWeight );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/typography-panel.js"],"names":["privateApis","blockEditorPrivateApis","useMemo","unlock","useSupportedStyles","useGlobalStyle","useGlobalSetting","overrideSettingsWithSupports","TypographyPanel","StylesTypographyPanel","name","element","headingLevel","variation","prefixParts","concat","prefix","join","style","inheritedStyle","setStyle","shouldDecodeEncode","rawSettings","usedElement","supports","settings"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,sBAAxB,QAAsD,yBAAtD;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,oBAAvB;AACA,SAASC,kBAAT,QAAmC,SAAnC;AAEA,MAAM;AACLC,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,4BAHK;AAILC,EAAAA,eAAe,EAAEC;AAJZ,IAKFN,MAAM,CAAEF,sBAAF,CALV;AAOA,eAAe,SAASO,eAAT,OAKX;AAAA,MALqC;AACxCE,IAAAA,IADwC;AAExCC,IAAAA,OAFwC;AAGxCC,IAAAA,YAHwC;AAIxCC,IAAAA,SAAS,GAAG;AAJ4B,GAKrC;AACH,MAAIC,WAAW,GAAG,EAAlB;;AACA,MAAKH,OAAO,KAAK,SAAjB,EAA6B;AAC5BG,IAAAA,WAAW,GAAGA,WAAW,CAACC,MAAZ,CAAoB,CAAE,UAAF,EAAcH,YAAd,CAApB,CAAd;AACA,GAFD,MAEO,IAAKD,OAAO,IAAIA,OAAO,KAAK,MAA5B,EAAqC;AAC3CG,IAAAA,WAAW,GAAGA,WAAW,CAACC,MAAZ,CAAoB,CAAE,UAAF,EAAcJ,OAAd,CAApB,CAAd;AACA;;AACD,MAAKE,SAAL,EAAiB;AAChBC,IAAAA,WAAW,GAAG,CAAE,YAAF,EAAgBD,SAAhB,EAA4BE,MAA5B,CAAoCD,WAApC,CAAd;AACA;;AACD,QAAME,MAAM,GAAGF,WAAW,CAACG,IAAZ,CAAkB,GAAlB,CAAf;AAEA,QAAM,CAAEC,KAAF,IAAYb,cAAc,CAAEW,MAAF,EAAUN,IAAV,EAAgB,MAAhB,EAAwB,KAAxB,CAAhC;AACA,QAAM,CAAES,cAAF,EAAkBC,QAAlB,IAA+Bf,cAAc,CAAEW,MAAF,EAAUN,IAAV,EAAgB,KAAhB,EAAuB;AACzEW,IAAAA,kBAAkB,EAAE;AADqD,GAAvB,CAAnD;AAGA,QAAM,CAAEC,WAAF,IAAkBhB,gBAAgB,CAAE,EAAF,EAAMI,IAAN,CAAxC;AACA,QAAMa,WAAW,GAAGZ,OAAO,KAAK,SAAZ,GAAwBC,YAAxB,GAAuCD,OAA3D;AACA,QAAMa,QAAQ,GAAGpB,kBAAkB,CAAEM,IAAF,EAAQa,WAAR,CAAnC;AACA,QAAME,QAAQ,GAAGvB,OAAO,CACvB,MAAMK,4BAA4B,CAAEe,WAAF,EAAeE,QAAf,CADX,EAEvB,CAAEF,WAAF,EAAeE,QAAf,CAFuB,CAAxB;AAKA,SACC,cAAC,qBAAD;AACC,IAAA,cAAc,EAAGL,cADlB;AAEC,IAAA,KAAK,EAAGD,KAFT;AAGC,IAAA,QAAQ,EAAGE,QAHZ;AAIC,IAAA,QAAQ,EAAGK;AAJZ,IADD;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\nimport { useSupportedStyles } from './hooks';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\toverrideSettingsWithSupports,\n\tTypographyPanel: StylesTypographyPanel,\n} = unlock( blockEditorPrivateApis );\n\nexport default function TypographyPanel( {\n\tname,\n\telement,\n\theadingLevel,\n\tvariation = '',\n} ) {\n\tlet prefixParts = [];\n\tif ( element === 'heading' ) {\n\t\tprefixParts = prefixParts.concat( [ 'elements', headingLevel ] );\n\t} else if ( element && element !== 'text' ) {\n\t\tprefixParts = prefixParts.concat( [ 'elements', element ] );\n\t}\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', false );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '', name );\n\tconst usedElement = element === 'heading' ? headingLevel : element;\n\tconst supports = useSupportedStyles( name, usedElement );\n\tconst settings = useMemo(\n\t\t() => overrideSettingsWithSupports( rawSettings, supports ),\n\t\t[ rawSettings, supports ]\n\t);\n\n\treturn (\n\t\t<StylesTypographyPanel\n\t\t\tinheritedValue={ inheritedStyle }\n\t\t\tvalue={ style }\n\t\t\tonChange={ setStyle }\n\t\t\tsettings={ settings }\n\t\t/>\n\t);\n}\n"]}
|