@wordpress/edit-site 3.0.10 → 3.0.14

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.
Files changed (186) hide show
  1. package/build/components/add-new-template/new-template-part.js +34 -18
  2. package/build/components/add-new-template/new-template-part.js.map +1 -1
  3. package/build/components/add-new-template/new-template.js +41 -23
  4. package/build/components/add-new-template/new-template.js.map +1 -1
  5. package/build/components/block-editor/index.js +3 -1
  6. package/build/components/block-editor/index.js.map +1 -1
  7. package/build/components/editor/index.js +12 -6
  8. package/build/components/editor/index.js.map +1 -1
  9. package/build/components/global-styles/color-palette-panel.js +29 -6
  10. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  11. package/build/components/global-styles/global-styles-provider.js +5 -43
  12. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  13. package/build/components/global-styles/gradients-palette-panel.js +71 -0
  14. package/build/components/global-styles/gradients-palette-panel.js.map +1 -0
  15. package/build/components/global-styles/hooks.js +5 -5
  16. package/build/components/global-styles/hooks.js.map +1 -1
  17. package/build/components/global-styles/palette.js +11 -5
  18. package/build/components/global-styles/palette.js.map +1 -1
  19. package/build/components/global-styles/screen-background-color.js +3 -1
  20. package/build/components/global-styles/screen-background-color.js.map +1 -1
  21. package/build/components/global-styles/screen-color-palette.js +23 -3
  22. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  23. package/build/components/global-styles/screen-link-color.js +3 -1
  24. package/build/components/global-styles/screen-link-color.js.map +1 -1
  25. package/build/components/global-styles/screen-text-color.js +3 -1
  26. package/build/components/global-styles/screen-text-color.js.map +1 -1
  27. package/build/components/global-styles/screen-typography-element.js +54 -0
  28. package/build/components/global-styles/screen-typography-element.js.map +1 -0
  29. package/build/components/global-styles/screen-typography.js +74 -6
  30. package/build/components/global-styles/screen-typography.js.map +1 -1
  31. package/build/components/global-styles/typography-panel.js +28 -8
  32. package/build/components/global-styles/typography-panel.js.map +1 -1
  33. package/build/components/global-styles/ui.js +12 -0
  34. package/build/components/global-styles/ui.js.map +1 -1
  35. package/build/components/global-styles/use-global-styles-output.js +2 -2
  36. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  37. package/build/components/global-styles/utils.js +1 -1
  38. package/build/components/global-styles/utils.js.map +1 -1
  39. package/build/components/keyboard-shortcuts/index.js +26 -0
  40. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  41. package/build/components/list/actions/index.js +104 -0
  42. package/build/components/list/actions/index.js.map +1 -0
  43. package/build/components/list/actions/rename-menu-item.js +112 -0
  44. package/build/components/list/actions/rename-menu-item.js.map +1 -0
  45. package/build/components/list/added-by.js +180 -0
  46. package/build/components/list/added-by.js.map +1 -0
  47. package/build/components/list/index.js +54 -7
  48. package/build/components/list/index.js.map +1 -1
  49. package/build/components/list/table.js +58 -68
  50. package/build/components/list/table.js.map +1 -1
  51. package/build/components/list/use-register-shortcuts.js +52 -0
  52. package/build/components/list/use-register-shortcuts.js.map +1 -0
  53. package/build/components/navigation-sidebar/index.js +24 -9
  54. package/build/components/navigation-sidebar/index.js.map +1 -1
  55. package/build/components/navigation-sidebar/navigation-panel/index.js +35 -17
  56. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  57. package/build/components/navigation-sidebar/navigation-toggle/index.js +14 -5
  58. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  59. package/build/components/template-details/edit-template-title.js +33 -0
  60. package/build/components/template-details/edit-template-title.js.map +1 -0
  61. package/build/components/template-details/index.js +8 -4
  62. package/build/components/template-details/index.js.map +1 -1
  63. package/build/components/template-details/template-areas.js +1 -1
  64. package/build/components/template-details/template-areas.js.map +1 -1
  65. package/build/index.js +8 -2
  66. package/build/index.js.map +1 -1
  67. package/build/store/actions.js +47 -18
  68. package/build/store/actions.js.map +1 -1
  69. package/build/store/selectors.js +25 -5
  70. package/build/store/selectors.js.map +1 -1
  71. package/build-module/components/add-new-template/new-template-part.js +30 -17
  72. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  73. package/build-module/components/add-new-template/new-template.js +40 -24
  74. package/build-module/components/add-new-template/new-template.js.map +1 -1
  75. package/build-module/components/block-editor/index.js +2 -1
  76. package/build-module/components/block-editor/index.js.map +1 -1
  77. package/build-module/components/editor/index.js +13 -7
  78. package/build-module/components/editor/index.js.map +1 -1
  79. package/build-module/components/global-styles/color-palette-panel.js +29 -7
  80. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  81. package/build-module/components/global-styles/global-styles-provider.js +6 -39
  82. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  83. package/build-module/components/global-styles/gradients-palette-panel.js +60 -0
  84. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -0
  85. package/build-module/components/global-styles/hooks.js +5 -5
  86. package/build-module/components/global-styles/hooks.js.map +1 -1
  87. package/build-module/components/global-styles/palette.js +12 -5
  88. package/build-module/components/global-styles/palette.js.map +1 -1
  89. package/build-module/components/global-styles/screen-background-color.js +3 -1
  90. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  91. package/build-module/components/global-styles/screen-color-palette.js +22 -3
  92. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  93. package/build-module/components/global-styles/screen-link-color.js +3 -1
  94. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  95. package/build-module/components/global-styles/screen-text-color.js +3 -1
  96. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  97. package/build-module/components/global-styles/screen-typography-element.js +41 -0
  98. package/build-module/components/global-styles/screen-typography-element.js.map +1 -0
  99. package/build-module/components/global-styles/screen-typography.js +70 -6
  100. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  101. package/build-module/components/global-styles/typography-panel.js +28 -8
  102. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  103. package/build-module/components/global-styles/ui.js +11 -0
  104. package/build-module/components/global-styles/ui.js.map +1 -1
  105. package/build-module/components/global-styles/use-global-styles-output.js +2 -2
  106. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  107. package/build-module/components/global-styles/utils.js +1 -1
  108. package/build-module/components/global-styles/utils.js.map +1 -1
  109. package/build-module/components/keyboard-shortcuts/index.js +26 -0
  110. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  111. package/build-module/components/list/actions/index.js +85 -0
  112. package/build-module/components/list/actions/index.js.map +1 -0
  113. package/build-module/components/list/actions/rename-menu-item.js +101 -0
  114. package/build-module/components/list/actions/rename-menu-item.js.map +1 -0
  115. package/build-module/components/list/added-by.js +166 -0
  116. package/build-module/components/list/added-by.js.map +1 -0
  117. package/build-module/components/list/index.js +49 -8
  118. package/build-module/components/list/index.js.map +1 -1
  119. package/build-module/components/list/table.js +60 -70
  120. package/build-module/components/list/table.js.map +1 -1
  121. package/build-module/components/list/use-register-shortcuts.js +41 -0
  122. package/build-module/components/list/use-register-shortcuts.js.map +1 -0
  123. package/build-module/components/navigation-sidebar/index.js +22 -10
  124. package/build-module/components/navigation-sidebar/index.js.map +1 -1
  125. package/build-module/components/navigation-sidebar/navigation-panel/index.js +33 -18
  126. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  127. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +14 -6
  128. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  129. package/build-module/components/template-details/edit-template-title.js +23 -0
  130. package/build-module/components/template-details/edit-template-title.js.map +1 -0
  131. package/build-module/components/template-details/index.js +7 -4
  132. package/build-module/components/template-details/index.js.map +1 -1
  133. package/build-module/components/template-details/template-areas.js +1 -1
  134. package/build-module/components/template-details/template-areas.js.map +1 -1
  135. package/build-module/index.js +8 -3
  136. package/build-module/index.js.map +1 -1
  137. package/build-module/store/actions.js +48 -19
  138. package/build-module/store/actions.js.map +1 -1
  139. package/build-module/store/selectors.js +21 -3
  140. package/build-module/store/selectors.js.map +1 -1
  141. package/build-style/style-rtl.css +146 -21
  142. package/build-style/style.css +146 -21
  143. package/package.json +10 -8
  144. package/src/components/add-new-template/new-template-part.js +32 -18
  145. package/src/components/add-new-template/new-template.js +39 -20
  146. package/src/components/block-editor/index.js +2 -0
  147. package/src/components/editor/index.js +17 -6
  148. package/src/components/global-styles/color-palette-panel.js +64 -7
  149. package/src/components/global-styles/global-styles-provider.js +3 -33
  150. package/src/components/global-styles/gradients-palette-panel.js +99 -0
  151. package/src/components/global-styles/hooks.js +4 -4
  152. package/src/components/global-styles/palette.js +30 -10
  153. package/src/components/global-styles/screen-background-color.js +2 -0
  154. package/src/components/global-styles/screen-color-palette.js +30 -3
  155. package/src/components/global-styles/screen-link-color.js +2 -0
  156. package/src/components/global-styles/screen-text-color.js +2 -0
  157. package/src/components/global-styles/screen-typography-element.js +39 -0
  158. package/src/components/global-styles/screen-typography.js +84 -3
  159. package/src/components/global-styles/style.scss +45 -6
  160. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  161. package/src/components/global-styles/test/utils.js +1 -1
  162. package/src/components/global-styles/typography-panel.js +37 -7
  163. package/src/components/global-styles/ui.js +9 -0
  164. package/src/components/global-styles/use-global-styles-output.js +2 -2
  165. package/src/components/global-styles/utils.js +1 -1
  166. package/src/components/keyboard-shortcuts/index.js +32 -0
  167. package/src/components/list/actions/index.js +95 -0
  168. package/src/components/list/actions/rename-menu-item.js +134 -0
  169. package/src/components/list/added-by.js +179 -0
  170. package/src/components/list/index.js +63 -5
  171. package/src/components/list/style.scss +106 -11
  172. package/src/components/list/table.js +65 -76
  173. package/src/components/list/use-register-shortcuts.js +45 -0
  174. package/src/components/navigation-sidebar/index.js +21 -12
  175. package/src/components/navigation-sidebar/navigation-panel/index.js +32 -15
  176. package/src/components/navigation-sidebar/navigation-toggle/index.js +29 -17
  177. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +2 -0
  178. package/src/components/sidebar/style.scss +2 -1
  179. package/src/components/template-details/edit-template-title.js +28 -0
  180. package/src/components/template-details/index.js +15 -10
  181. package/src/components/template-details/template-areas.js +1 -1
  182. package/src/index.js +10 -2
  183. package/src/store/actions.js +82 -34
  184. package/src/store/selectors.js +22 -4
  185. package/src/store/test/actions.js +0 -24
  186. package/src/store/test/selectors.js +24 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-typography.js"],"names":["ScreenTypography","name","parentMenu","undefined"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIA,SAASA,gBAAT,OAAsC;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACrC,QAAMC,UAAU,GAAGD,IAAI,KAAKE,SAAT,GAAqB,EAArB,GAA0B,aAAaF,IAA1D;AAEA,SACC,qDACC,4BAAC,eAAD;AACC,IAAA,IAAI,EAAGC,UAAU,GAAGA,UAAH,GAAgB,GADlC;AAEC,IAAA,KAAK,EAAG,cAAI,YAAJ,CAFT;AAGC,IAAA,WAAW,EAAG,cACb,2FADa;AAHf,IADD,EAQC,4BAAC,wBAAD;AAAiB,IAAA,IAAI,EAAGD;AAAxB,IARD,CADD;AAYA;;eAEcD,gB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport TypographyPanel from './typography-panel';\nimport ScreenHeader from './header';\n\nfunction ScreenTypography( { name } ) {\n\tconst parentMenu = name === undefined ? '' : '/blocks/' + name;\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\tback={ parentMenu ? parentMenu : '/' }\n\t\t\t\ttitle={ __( 'Typography' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage the fonts used on the website and the default aspect of different global elements.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<TypographyPanel name={ name } />\n\t\t</>\n\t);\n}\n\nexport default ScreenTypography;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-typography.js"],"names":["Item","name","parentMenu","element","label","hasSupport","prefix","extraStyles","textDecoration","fontFamily","fontStyle","fontWeight","letterSpacing","backgroundColor","gradientValue","color","background","ScreenTypography","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } 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';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport NavigationButton from './navigation-button';\nimport { useStyle } from './hooks';\nimport Subtitle from './subtitle';\nimport TypographyPanel from './typography-panel';\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 ] = useStyle( prefix + 'typography.fontFamily', name );\n\tconst [ fontStyle ] = useStyle( prefix + 'typography.fontStyle', name );\n\tconst [ fontWeight ] = useStyle( prefix + 'typography.fontWeight', name );\n\tconst [ letterSpacing ] = useStyle(\n\t\tprefix + 'typography.letterSpacing',\n\t\tname\n\t);\n\tconst [ backgroundColor ] = useStyle( prefix + 'color.background', name );\n\tconst [ gradientValue ] = useStyle( prefix + 'color.gradient', name );\n\tconst [ color ] = useStyle( prefix + 'color.text', name );\n\n\tif ( ! hasSupport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<NavigationButton path={ parentMenu + '/typography/' + element }>\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</NavigationButton>\n\t);\n}\n\nfunction ScreenTypography( { name } ) {\n\tconst parentMenu = name === undefined ? '' : '/blocks/' + name;\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\tback={ parentMenu ? parentMenu : '/' }\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{ ! 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>{ __( '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</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ /* no typogrpahy elements support yet for blocks */ }\n\t\t\t{ !! name && <TypographyPanel name={ name } element=\"text\" /> }\n\t\t</>\n\t);\n}\n\nexport default ScreenTypography;\n"]}
@@ -48,9 +48,11 @@ function useHasLetterSpacingControl(name) {
48
48
 
49
49
  function TypographyPanel(_ref) {
50
50
  let {
51
- name
51
+ name,
52
+ element
52
53
  } = _ref;
53
54
  const supports = (0, _hooks.getSupportedGlobalStylesPanels)(name);
55
+ const prefix = element === 'text' || !element ? '' : `elements.${element}.`;
54
56
  const [fontSizes] = (0, _hooks.useSetting)('typography.fontSizes', name);
55
57
  const disableCustomFontSizes = !(0, _hooks.useSetting)('typography.customFontSize', name)[0];
56
58
  const [fontFamilies] = (0, _hooks.useSetting)('typography.fontFamilies', name);
@@ -59,16 +61,34 @@ function TypographyPanel(_ref) {
59
61
  const hasLineHeightEnabled = useHasLineHeightControl(name);
60
62
  const hasAppearanceControl = useHasAppearanceControl(name);
61
63
  const hasLetterSpacingControl = useHasLetterSpacingControl(name);
62
- const [fontFamily, setFontFamily] = (0, _hooks.useStyle)('typography.fontFamily', name);
63
- const [fontSize, setFontSize] = (0, _hooks.useStyle)('typography.fontSize', name);
64
- const [fontStyle, setFontStyle] = (0, _hooks.useStyle)('typography.fontStyle', name);
65
- const [fontWeight, setFontWeight] = (0, _hooks.useStyle)('typography.fontWeight', name);
66
- const [lineHeight, setLineHeight] = (0, _hooks.useStyle)('typography.lineHeight', name);
67
- const [letterSpacing, setLetterSpacing] = (0, _hooks.useStyle)('typography.letterSpacing', name);
64
+ const [fontFamily, setFontFamily] = (0, _hooks.useStyle)(prefix + 'typography.fontFamily', name);
65
+ const [fontSize, setFontSize] = (0, _hooks.useStyle)(prefix + 'typography.fontSize', name);
66
+ const [fontStyle, setFontStyle] = (0, _hooks.useStyle)(prefix + 'typography.fontStyle', name);
67
+ const [fontWeight, setFontWeight] = (0, _hooks.useStyle)(prefix + 'typography.fontWeight', name);
68
+ const [lineHeight, setLineHeight] = (0, _hooks.useStyle)(prefix + 'typography.lineHeight', name);
69
+ const [letterSpacing, setLetterSpacing] = (0, _hooks.useStyle)(prefix + 'typography.letterSpacing', name);
70
+ const [backgroundColor] = (0, _hooks.useStyle)(prefix + 'color.background', name);
71
+ const [gradientValue] = (0, _hooks.useStyle)(prefix + 'color.gradient', name);
72
+ const [color] = (0, _hooks.useStyle)(prefix + 'color.text', name);
73
+ const extraStyles = element === 'link' ? {
74
+ textDecoration: 'underline'
75
+ } : {};
68
76
  return (0, _element.createElement)(_components.PanelBody, {
69
77
  className: "edit-site-typography-panel",
70
78
  initialOpen: true
71
- }, supports.includes('fontFamily') && (0, _element.createElement)(_blockEditor.__experimentalFontFamilyControl, {
79
+ }, (0, _element.createElement)("div", {
80
+ className: "edit-site-typography-panel__preview",
81
+ style: {
82
+ fontFamily: fontFamily !== null && fontFamily !== void 0 ? fontFamily : 'serif',
83
+ background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor,
84
+ color,
85
+ fontSize,
86
+ fontStyle,
87
+ fontWeight,
88
+ letterSpacing,
89
+ ...extraStyles
90
+ }
91
+ }, "Aa"), supports.includes('fontFamily') && (0, _element.createElement)(_blockEditor.__experimentalFontFamilyControl, {
72
92
  fontFamilies: fontFamilies,
73
93
  value: fontFamily,
74
94
  onChange: setFontFamily
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/typography-panel.js"],"names":["useHasTypographyPanel","name","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","supports","includes","hasFontStyles","hasFontWeights","TypographyPanel","fontSizes","disableCustomFontSizes","fontFamilies","hasLineHeightEnabled","hasAppearanceControl","hasLetterSpacingControl","fontFamily","setFontFamily","fontSize","setFontSize","fontStyle","setFontStyle","fontWeight","setFontWeight","lineHeight","setLineHeight","letterSpacing","setLetterSpacing","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} from '@wordpress/block-editor';\nimport { PanelBody, FontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedGlobalStylesPanels, useSetting, useStyle } from './hooks';\n\nexport function useHasTypographyPanel( 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\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\tsupports.includes( 'fontSize' )\n\t);\n}\n\nfunction useHasLineHeightControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn (\n\t\tuseSetting( '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\tuseSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useHasLetterSpacingControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn (\n\t\tuseSetting( 'typography.letterSpacing', name )[ 0 ] &&\n\t\tsupports.includes( 'letterSpacing' )\n\t);\n}\n\nexport default function TypographyPanel( { name } ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ fontSizes ] = useSetting( 'typography.fontSizes', name );\n\tconst disableCustomFontSizes = ! useSetting(\n\t\t'typography.customFontSize',\n\t\tname\n\t)[ 0 ];\n\tconst [ fontFamilies ] = useSetting( 'typography.fontFamilies', name );\n\tconst hasFontStyles =\n\t\tuseSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\tconst hasLineHeightEnabled = useHasLineHeightControl( name );\n\tconst hasAppearanceControl = useHasAppearanceControl( name );\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( name );\n\n\tconst [ fontFamily, setFontFamily ] = useStyle(\n\t\t'typography.fontFamily',\n\t\tname\n\t);\n\tconst [ fontSize, setFontSize ] = useStyle( 'typography.fontSize', name );\n\n\tconst [ fontStyle, setFontStyle ] = useStyle(\n\t\t'typography.fontStyle',\n\t\tname\n\t);\n\tconst [ fontWeight, setFontWeight ] = useStyle(\n\t\t'typography.fontWeight',\n\t\tname\n\t);\n\tconst [ lineHeight, setLineHeight ] = useStyle(\n\t\t'typography.lineHeight',\n\t\tname\n\t);\n\tconst [ letterSpacing, setLetterSpacing ] = useStyle(\n\t\t'typography.letterSpacing',\n\t\tname\n\t);\n\n\treturn (\n\t\t<PanelBody className=\"edit-site-typography-panel\" initialOpen={ true }>\n\t\t\t{ supports.includes( 'fontFamily' ) && (\n\t\t\t\t<FontFamilyControl\n\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ supports.includes( 'fontSize' ) && (\n\t\t\t\t<FontSizePicker\n\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<LineHeightControl\n\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<FontAppearanceControl\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\tfontStyle: newFontStyle,\n\t\t\t\t\t\tfontWeight: newFontWeight,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\tsetFontStyle( newFontStyle );\n\t\t\t\t\t\tsetFontWeight( newFontWeight );\n\t\t\t\t\t} }\n\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<LetterSpacingControl\n\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/typography-panel.js"],"names":["useHasTypographyPanel","name","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","supports","includes","hasFontStyles","hasFontWeights","TypographyPanel","element","prefix","fontSizes","disableCustomFontSizes","fontFamilies","hasLineHeightEnabled","hasAppearanceControl","hasLetterSpacingControl","fontFamily","setFontFamily","fontSize","setFontSize","fontStyle","setFontStyle","fontWeight","setFontWeight","lineHeight","setLineHeight","letterSpacing","setLetterSpacing","backgroundColor","gradientValue","color","extraStyles","textDecoration","background","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} from '@wordpress/block-editor';\nimport { PanelBody, FontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedGlobalStylesPanels, useSetting, useStyle } from './hooks';\n\nexport function useHasTypographyPanel( 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\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\tsupports.includes( 'fontSize' )\n\t);\n}\n\nfunction useHasLineHeightControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn (\n\t\tuseSetting( '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\tuseSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useHasLetterSpacingControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn (\n\t\tuseSetting( 'typography.letterSpacing', name )[ 0 ] &&\n\t\tsupports.includes( 'letterSpacing' )\n\t);\n}\n\nexport default function TypographyPanel( { name, element } ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst prefix =\n\t\telement === 'text' || ! element ? '' : `elements.${ element }.`;\n\tconst [ fontSizes ] = useSetting( 'typography.fontSizes', name );\n\tconst disableCustomFontSizes = ! useSetting(\n\t\t'typography.customFontSize',\n\t\tname\n\t)[ 0 ];\n\tconst [ fontFamilies ] = useSetting( 'typography.fontFamilies', name );\n\tconst hasFontStyles =\n\t\tuseSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\tconst hasLineHeightEnabled = useHasLineHeightControl( name );\n\tconst hasAppearanceControl = useHasAppearanceControl( name );\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( name );\n\n\tconst [ fontFamily, setFontFamily ] = useStyle(\n\t\tprefix + 'typography.fontFamily',\n\t\tname\n\t);\n\tconst [ fontSize, setFontSize ] = useStyle(\n\t\tprefix + 'typography.fontSize',\n\t\tname\n\t);\n\n\tconst [ fontStyle, setFontStyle ] = useStyle(\n\t\tprefix + 'typography.fontStyle',\n\t\tname\n\t);\n\tconst [ fontWeight, setFontWeight ] = useStyle(\n\t\tprefix + 'typography.fontWeight',\n\t\tname\n\t);\n\tconst [ lineHeight, setLineHeight ] = useStyle(\n\t\tprefix + 'typography.lineHeight',\n\t\tname\n\t);\n\tconst [ letterSpacing, setLetterSpacing ] = useStyle(\n\t\tprefix + 'typography.letterSpacing',\n\t\tname\n\t);\n\tconst [ backgroundColor ] = useStyle( prefix + 'color.background', name );\n\tconst [ gradientValue ] = useStyle( prefix + 'color.gradient', name );\n\tconst [ color ] = useStyle( prefix + 'color.text', name );\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\n\treturn (\n\t\t<PanelBody className=\"edit-site-typography-panel\" initialOpen={ true }>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-typography-panel__preview\"\n\t\t\t\tstyle={ {\n\t\t\t\t\tfontFamily: fontFamily ?? 'serif',\n\t\t\t\t\tbackground: gradientValue ?? backgroundColor,\n\t\t\t\t\tcolor,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tfontStyle,\n\t\t\t\t\tfontWeight,\n\t\t\t\t\tletterSpacing,\n\t\t\t\t\t...extraStyles,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\tAa\n\t\t\t</div>\n\n\t\t\t{ supports.includes( 'fontFamily' ) && (\n\t\t\t\t<FontFamilyControl\n\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ supports.includes( 'fontSize' ) && (\n\t\t\t\t<FontSizePicker\n\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<LineHeightControl\n\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<FontAppearanceControl\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\tfontStyle: newFontStyle,\n\t\t\t\t\t\tfontWeight: newFontWeight,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\tsetFontStyle( newFontStyle );\n\t\t\t\t\t\tsetFontWeight( newFontWeight );\n\t\t\t\t\t} }\n\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<LetterSpacingControl\n\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n}\n"]}
@@ -21,6 +21,8 @@ var _screenBlock = _interopRequireDefault(require("./screen-block"));
21
21
 
22
22
  var _screenTypography = _interopRequireDefault(require("./screen-typography"));
23
23
 
24
+ var _screenTypographyElement = _interopRequireDefault(require("./screen-typography-element"));
25
+
24
26
  var _screenColors = _interopRequireDefault(require("./screen-colors"));
25
27
 
26
28
  var _screenColorPalette = _interopRequireDefault(require("./screen-color-palette"));
@@ -49,6 +51,16 @@ function ContextScreens(_ref) {
49
51
  path: parentMenu + '/typography'
50
52
  }, (0, _element.createElement)(_screenTypography.default, {
51
53
  name: name
54
+ })), (0, _element.createElement)(_components.__experimentalNavigatorScreen, {
55
+ path: parentMenu + '/typography/text'
56
+ }, (0, _element.createElement)(_screenTypographyElement.default, {
57
+ name: name,
58
+ element: "text"
59
+ })), (0, _element.createElement)(_components.__experimentalNavigatorScreen, {
60
+ path: parentMenu + '/typography/link'
61
+ }, (0, _element.createElement)(_screenTypographyElement.default, {
62
+ name: name,
63
+ element: "link"
52
64
  })), (0, _element.createElement)(_components.__experimentalNavigatorScreen, {
53
65
  path: parentMenu + '/colors'
54
66
  }, (0, _element.createElement)(_screenColors.default, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"names":["ContextScreens","name","parentMenu","undefined","GlobalStylesUI","blocks","map","block"],"mappings":";;;;;;;;;;;AAGA;;AAIA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AArBA;AACA;AACA;;AAOA;AACA;AACA;AAYA,SAASA,cAAT,OAAoC;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACnC,QAAMC,UAAU,GAAGD,IAAI,KAAKE,SAAT,GAAqB,EAArB,GAA0B,aAAaF,IAA1D;AAEA,SACC,qDACC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,yBAAD;AAAkB,IAAA,IAAI,EAAGD;AAAzB,IADD,CADD,EAKC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,qBAAD;AAAc,IAAA,IAAI,EAAGD;AAArB,IADD,CALD,EASC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,2BAAD;AAAoB,IAAA,IAAI,EAAGD;AAA3B,IADD,CATD,EAaC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,8BAAD;AAAuB,IAAA,IAAI,EAAGD;AAA9B,IADD,CAbD,EAiBC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,wBAAD;AAAiB,IAAA,IAAI,EAAGD;AAAxB,IADD,CAjBD,EAqBC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,wBAAD;AAAiB,IAAA,IAAI,EAAGD;AAAxB,IADD,CArBD,EAyBC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,qBAAD;AAAc,IAAA,IAAI,EAAGD;AAArB,IADD,CAzBD,CADD;AA+BA;;AAED,SAASG,cAAT,GAA0B;AACzB,QAAMC,MAAM,GAAG,4BAAf;AAEA,SACC,4BAAC,2CAAD;AAAmB,IAAA,WAAW,EAAC;AAA/B,KACC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAC;AAAtB,KACC,4BAAC,mBAAD,OADD,CADD,EAKC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAC;AAAtB,KACC,4BAAC,wBAAD,OADD,CALD,EASGA,MAAM,CAACC,GAAP,CAAcC,KAAF,IACb,4BAAC,yCAAD;AACC,IAAA,GAAG,EAAG,gBAAgBA,KAAK,CAACN,IAD7B;AAEC,IAAA,IAAI,EAAG,aAAaM,KAAK,CAACN;AAF3B,KAIC,4BAAC,oBAAD;AAAa,IAAA,IAAI,EAAGM,KAAK,CAACN;AAA1B,IAJD,CADC,CATH,EAkBC,4BAAC,cAAD,OAlBD,EAoBGI,MAAM,CAACC,GAAP,CAAcC,KAAF,IACb,4BAAC,cAAD;AACC,IAAA,GAAG,EAAG,mBAAmBA,KAAK,CAACN,IADhC;AAEC,IAAA,IAAI,EAAGM,KAAK,CAACN;AAFd,IADC,CApBH,CADD;AA6BA;;eAEcG,c","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n} from '@wordpress/components';\nimport { getBlockTypes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport ScreenBlockList from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport ScreenBackgroundColor from './screen-background-color';\nimport ScreenTextColor from './screen-text-color';\nimport ScreenLinkColor from './screen-link-color';\nimport ScreenLayout from './screen-layout';\n\nfunction ContextScreens( { name } ) {\n\tconst parentMenu = name === undefined ? '' : '/blocks/' + name;\n\n\treturn (\n\t\t<>\n\t\t\t<NavigatorScreen path={ parentMenu + '/typography' }>\n\t\t\t\t<ScreenTypography name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors' }>\n\t\t\t\t<ScreenColors name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors/palette' }>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors/background' }>\n\t\t\t\t<ScreenBackgroundColor name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors/text' }>\n\t\t\t\t<ScreenTextColor name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors/link' }>\n\t\t\t\t<ScreenLinkColor name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/layout' }>\n\t\t\t\t<ScreenLayout name={ name } />\n\t\t\t</NavigatorScreen>\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesUI() {\n\tconst blocks = getBlockTypes();\n\n\treturn (\n\t\t<NavigatorProvider initialPath=\"/\">\n\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</NavigatorScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<NavigatorScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + block.name }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</NavigatorScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</NavigatorProvider>\n\t);\n}\n\nexport default GlobalStylesUI;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"names":["ContextScreens","name","parentMenu","undefined","GlobalStylesUI","blocks","map","block"],"mappings":";;;;;;;;;;;AAGA;;AAIA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAtBA;AACA;AACA;;AAOA;AACA;AACA;AAaA,SAASA,cAAT,OAAoC;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACnC,QAAMC,UAAU,GAAGD,IAAI,KAAKE,SAAT,GAAqB,EAArB,GAA0B,aAAaF,IAA1D;AAEA,SACC,qDACC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,yBAAD;AAAkB,IAAA,IAAI,EAAGD;AAAzB,IADD,CADD,EAKC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,gCAAD;AAAyB,IAAA,IAAI,EAAGD,IAAhC;AAAuC,IAAA,OAAO,EAAC;AAA/C,IADD,CALD,EASC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,gCAAD;AAAyB,IAAA,IAAI,EAAGD,IAAhC;AAAuC,IAAA,OAAO,EAAC;AAA/C,IADD,CATD,EAaC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,qBAAD;AAAc,IAAA,IAAI,EAAGD;AAArB,IADD,CAbD,EAiBC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,2BAAD;AAAoB,IAAA,IAAI,EAAGD;AAA3B,IADD,CAjBD,EAqBC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,8BAAD;AAAuB,IAAA,IAAI,EAAGD;AAA9B,IADD,CArBD,EAyBC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,wBAAD;AAAiB,IAAA,IAAI,EAAGD;AAAxB,IADD,CAzBD,EA6BC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,wBAAD;AAAiB,IAAA,IAAI,EAAGD;AAAxB,IADD,CA7BD,EAiCC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAGC,UAAU,GAAG;AAArC,KACC,4BAAC,qBAAD;AAAc,IAAA,IAAI,EAAGD;AAArB,IADD,CAjCD,CADD;AAuCA;;AAED,SAASG,cAAT,GAA0B;AACzB,QAAMC,MAAM,GAAG,4BAAf;AAEA,SACC,4BAAC,2CAAD;AAAmB,IAAA,WAAW,EAAC;AAA/B,KACC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAC;AAAtB,KACC,4BAAC,mBAAD,OADD,CADD,EAKC,4BAAC,yCAAD;AAAiB,IAAA,IAAI,EAAC;AAAtB,KACC,4BAAC,wBAAD,OADD,CALD,EASGA,MAAM,CAACC,GAAP,CAAcC,KAAF,IACb,4BAAC,yCAAD;AACC,IAAA,GAAG,EAAG,gBAAgBA,KAAK,CAACN,IAD7B;AAEC,IAAA,IAAI,EAAG,aAAaM,KAAK,CAACN;AAF3B,KAIC,4BAAC,oBAAD;AAAa,IAAA,IAAI,EAAGM,KAAK,CAACN;AAA1B,IAJD,CADC,CATH,EAkBC,4BAAC,cAAD,OAlBD,EAoBGI,MAAM,CAACC,GAAP,CAAcC,KAAF,IACb,4BAAC,cAAD;AACC,IAAA,GAAG,EAAG,mBAAmBA,KAAK,CAACN,IADhC;AAEC,IAAA,IAAI,EAAGM,KAAK,CAACN;AAFd,IADC,CApBH,CADD;AA6BA;;eAEcG,c","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n} from '@wordpress/components';\nimport { getBlockTypes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport ScreenBlockList from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenTypographyElement from './screen-typography-element';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport ScreenBackgroundColor from './screen-background-color';\nimport ScreenTextColor from './screen-text-color';\nimport ScreenLinkColor from './screen-link-color';\nimport ScreenLayout from './screen-layout';\n\nfunction ContextScreens( { name } ) {\n\tconst parentMenu = name === undefined ? '' : '/blocks/' + name;\n\n\treturn (\n\t\t<>\n\t\t\t<NavigatorScreen path={ parentMenu + '/typography' }>\n\t\t\t\t<ScreenTypography name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/typography/text' }>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"text\" />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/typography/link' }>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"link\" />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors' }>\n\t\t\t\t<ScreenColors name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors/palette' }>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors/background' }>\n\t\t\t\t<ScreenBackgroundColor name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors/text' }>\n\t\t\t\t<ScreenTextColor name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/colors/link' }>\n\t\t\t\t<ScreenLinkColor name={ name } />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path={ parentMenu + '/layout' }>\n\t\t\t\t<ScreenLayout name={ name } />\n\t\t\t</NavigatorScreen>\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesUI() {\n\tconst blocks = getBlockTypes();\n\n\treturn (\n\t\t<NavigatorProvider initialPath=\"/\">\n\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</NavigatorScreen>\n\n\t\t\t<NavigatorScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</NavigatorScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<NavigatorScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + block.name }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</NavigatorScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</NavigatorProvider>\n\t);\n}\n\nexport default GlobalStylesUI;\n"]}
@@ -61,7 +61,7 @@ function getPresetsDeclarations() {
61
61
  cssVarInfix
62
62
  } = _ref;
63
63
  const presetByOrigin = (0, _lodash.get)(blockPresets, path, []);
64
- ['default', 'theme', 'user'].forEach(origin => {
64
+ ['default', 'theme', 'custom'].forEach(origin => {
65
65
  if (presetByOrigin[origin]) {
66
66
  presetByOrigin[origin].forEach(value => {
67
67
  declarations.push(`--wp--preset--${cssVarInfix}--${(0, _lodash.kebabCase)(value.slug)}: ${value[valueKey]}`);
@@ -94,7 +94,7 @@ function getPresetsClasses(blockSelector) {
94
94
  }
95
95
 
96
96
  const presetByOrigin = (0, _lodash.get)(blockPresets, path, []);
97
- ['default', 'theme', 'user'].forEach(origin => {
97
+ ['default', 'theme', 'custom'].forEach(origin => {
98
98
  if (presetByOrigin[origin]) {
99
99
  presetByOrigin[origin].forEach(_ref3 => {
100
100
  let {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/use-global-styles-output.js"],"names":["compileStyleValue","uncompiledValue","VARIABLE_REFERENCE_PREFIX","VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE","VARIABLE_PATH_SEPARATOR_TOKEN_STYLE","variable","slice","length","split","join","getPresetsDeclarations","blockPresets","PRESET_METADATA","declarations","path","valueKey","cssVarInfix","presetByOrigin","forEach","origin","value","push","slug","getPresetsClasses","blockSelector","classes","classSuffix","propertyName","classSelectorToUse","selectorToUse","map","selector","flattenTree","input","prefix","token","result","Object","keys","key","newKey","replace","newLeaf","newPrefix","getStylesDeclarations","blockStyles","STYLE_PROPERTY","properties","pathToValue","styleValue","entries","entry","name","prop","cssProperty","startsWith","getNodesWithStyles","tree","blockSelectors","nodes","styles","pickStyleKeys","treeToPickFrom","includes","ROOT_BLOCK_SELECTOR","elements","ELEMENTS","blocks","node","blockName","elementName","sel","getNodesWithSettings","settings","pickPresets","presets","custom","blockCustom","toCustomProperties","ruleset","customProps","toStyles","nodesWithStyles","nodesWithSettings","getBlockSelectors","blockTypes","blockType","supports","__experimentalSelector","useGlobalStylesOutput","stylesheets","setStylesheets","setSettings","merged","mergedConfig","GlobalStylesContext","customProperties","globalStyles","css","isGlobalStyles","__experimentalNoWrapper"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tfirst,\n\tforEach,\n\tget,\n\tisEmpty,\n\tisString,\n\tkebabCase,\n\tpickBy,\n\treduce,\n\tset,\n\tstartsWith,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tgetBlockTypes,\n} from '@wordpress/blocks';\nimport { useEffect, useState, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\n/**\n * Internal dependencies\n */\nimport { PRESET_METADATA, ROOT_BLOCK_SELECTOR } from './utils';\nimport { GlobalStylesContext } from './context';\n\nfunction compileStyleValue( uncompiledValue ) {\n\tconst VARIABLE_REFERENCE_PREFIX = 'var:';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE = '|';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_STYLE = '--';\n\tif ( startsWith( uncompiledValue, VARIABLE_REFERENCE_PREFIX ) ) {\n\t\tconst variable = uncompiledValue\n\t\t\t.slice( VARIABLE_REFERENCE_PREFIX.length )\n\t\t\t.split( VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE )\n\t\t\t.join( VARIABLE_PATH_SEPARATOR_TOKEN_STYLE );\n\t\treturn `var(--wp--${ variable })`;\n\t}\n\treturn uncompiledValue;\n}\n\n/**\n * Transform given preset tree into a set of style declarations.\n *\n * @param {Object} blockPresets\n *\n * @return {Array} An array of style declarations.\n */\nfunction getPresetsDeclarations( blockPresets = {} ) {\n\treturn reduce(\n\t\tPRESET_METADATA,\n\t\t( declarations, { path, valueKey, cssVarInfix } ) => {\n\t\t\tconst presetByOrigin = get( blockPresets, path, [] );\n\t\t\t[ 'default', 'theme', 'user' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( value ) => {\n\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t`--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tvalue.slug\n\t\t\t\t\t\t\t) }: ${ value[ valueKey ] }`\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\n/**\n * Transform given preset tree into a set of preset class declarations.\n *\n * @param {string} blockSelector\n * @param {Object} blockPresets\n * @return {string} CSS declarations for the preset classes.\n */\nfunction getPresetsClasses( blockSelector, blockPresets = {} ) {\n\treturn reduce(\n\t\tPRESET_METADATA,\n\t\t( declarations, { path, cssVarInfix, classes } ) => {\n\t\t\tif ( ! classes ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst presetByOrigin = get( blockPresets, path, [] );\n\t\t\t[ 'default', 'theme', 'user' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( { slug } ) => {\n\t\t\t\t\t\tclasses.forEach( ( { classSuffix, propertyName } ) => {\n\t\t\t\t\t\t\tconst classSelectorToUse = `.has-${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) }-${ classSuffix }`;\n\t\t\t\t\t\t\tconst selectorToUse = blockSelector\n\t\t\t\t\t\t\t\t.split( ',' ) // Selector can be \"h1, h2, h3\"\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t\t\t\t`${ selector }${ classSelectorToUse }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ',' );\n\t\t\t\t\t\t\tconst value = `var(--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) })`;\n\t\t\t\t\t\t\tdeclarations += `${ selectorToUse }{${ propertyName }: ${ value } !important;}`;\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\treturn declarations;\n\t\t},\n\t\t''\n\t);\n}\n\nfunction flattenTree( input = {}, prefix, token ) {\n\tlet result = [];\n\tObject.keys( input ).forEach( ( key ) => {\n\t\tconst newKey = prefix + kebabCase( key.replace( '/', '-' ) );\n\t\tconst newLeaf = input[ key ];\n\n\t\tif ( newLeaf instanceof Object ) {\n\t\t\tconst newPrefix = newKey + token;\n\t\t\tresult = [ ...result, ...flattenTree( newLeaf, newPrefix, token ) ];\n\t\t} else {\n\t\t\tresult.push( `${ newKey }: ${ newLeaf }` );\n\t\t}\n\t} );\n\treturn result;\n}\n\n/**\n * Transform given style tree into a set of style declarations.\n *\n * @param {Object} blockStyles Block styles.\n *\n * @return {Array} An array of style declarations.\n */\nfunction getStylesDeclarations( blockStyles = {} ) {\n\treturn reduce(\n\t\tSTYLE_PROPERTY,\n\t\t( declarations, { value, properties }, key ) => {\n\t\t\tconst pathToValue = value;\n\t\t\tif ( first( pathToValue ) === 'elements' ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst styleValue = get( blockStyles, pathToValue );\n\n\t\t\tif ( !! properties && ! isString( styleValue ) ) {\n\t\t\t\tObject.entries( properties ).forEach( ( entry ) => {\n\t\t\t\t\tconst [ name, prop ] = entry;\n\n\t\t\t\t\tif ( ! get( styleValue, [ prop ], false ) ) {\n\t\t\t\t\t\t// Do not create a declaration\n\t\t\t\t\t\t// for sub-properties that don't have any value.\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cssProperty = kebabCase( name );\n\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\t\tget( styleValue, [ prop ] )\n\t\t\t\t\t\t) }`\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else if ( get( blockStyles, pathToValue, false ) ) {\n\t\t\t\tconst cssProperty = key.startsWith( '--' )\n\t\t\t\t\t? key\n\t\t\t\t\t: kebabCase( key );\n\t\t\t\tdeclarations.push(\n\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\tget( blockStyles, pathToValue )\n\t\t\t\t\t) }`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\nexport const getNodesWithStyles = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.styles ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickStyleKeys = ( treeToPickFrom ) =>\n\t\tpickBy( treeToPickFrom, ( value, key ) =>\n\t\t\t[ 'border', 'color', 'spacing', 'typography' ].includes( key )\n\t\t);\n\n\t// Top-level.\n\tconst styles = pickStyleKeys( tree.styles );\n\tif ( !! styles ) {\n\t\tnodes.push( {\n\t\t\tstyles,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\tforEach( tree.styles?.elements, ( value, key ) => {\n\t\tif ( !! value && !! ELEMENTS[ key ] ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: value,\n\t\t\t\tselector: ELEMENTS[ key ],\n\t\t\t} );\n\t\t}\n\t} );\n\n\t// Iterate over blocks: they can have styles & elements.\n\tforEach( tree.styles?.blocks, ( node, blockName ) => {\n\t\tconst blockStyles = pickStyleKeys( node );\n\t\tif ( !! blockStyles && !! blockSelectors?.[ blockName ]?.selector ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: blockStyles,\n\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t} );\n\t\t}\n\n\t\tforEach( node?.elements, ( value, elementName ) => {\n\t\t\tif (\n\t\t\t\t!! value &&\n\t\t\t\t!! blockSelectors?.[ blockName ] &&\n\t\t\t\t!! ELEMENTS?.[ elementName ]\n\t\t\t) {\n\t\t\t\tnodes.push( {\n\t\t\t\t\tstyles: value,\n\t\t\t\t\tselector: blockSelectors[ blockName ].selector\n\t\t\t\t\t\t.split( ',' )\n\t\t\t\t\t\t.map( ( sel ) => sel + ' ' + ELEMENTS[ elementName ] )\n\t\t\t\t\t\t.join( ',' ),\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n\n\treturn nodes;\n};\n\nexport const getNodesWithSettings = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.settings ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickPresets = ( treeToPickFrom ) => {\n\t\tconst presets = {};\n\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\tconst value = get( treeToPickFrom, path, false );\n\t\t\tif ( value !== false ) {\n\t\t\t\tset( presets, path, value );\n\t\t\t}\n\t\t} );\n\t\treturn presets;\n\t};\n\n\t// Top-level.\n\tconst presets = pickPresets( tree.settings );\n\tconst custom = tree.settings?.custom;\n\tif ( ! isEmpty( presets ) || !! custom ) {\n\t\tnodes.push( {\n\t\t\tpresets,\n\t\t\tcustom,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\n\t// Blocks.\n\tforEach( tree.settings?.blocks, ( node, blockName ) => {\n\t\tconst blockPresets = pickPresets( node );\n\t\tconst blockCustom = node.custom;\n\t\tif ( ! isEmpty( blockPresets ) || !! blockCustom ) {\n\t\t\tnodes.push( {\n\t\t\t\tpresets: blockPresets,\n\t\t\t\tcustom: blockCustom,\n\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn nodes;\n};\n\nexport const toCustomProperties = ( tree, blockSelectors ) => {\n\tconst settings = getNodesWithSettings( tree, blockSelectors );\n\n\tlet ruleset = '';\n\tsettings.forEach( ( { presets, custom, selector } ) => {\n\t\tconst declarations = getPresetsDeclarations( presets );\n\t\tconst customProps = flattenTree( custom, '--wp--custom--', '--' );\n\t\tif ( customProps.length > 0 ) {\n\t\t\tdeclarations.push( ...customProps );\n\t\t}\n\n\t\tif ( declarations.length > 0 ) {\n\t\t\truleset = ruleset + `${ selector }{${ declarations.join( ';' ) };}`;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nexport const toStyles = ( tree, blockSelectors ) => {\n\tconst nodesWithStyles = getNodesWithStyles( tree, blockSelectors );\n\tconst nodesWithSettings = getNodesWithSettings( tree, blockSelectors );\n\n\tlet ruleset =\n\t\t'.wp-site-blocks > * { margin-top: 0; margin-bottom: 0; }.wp-site-blocks > * + * { margin-top: var( --wp--style--block-gap ); }';\n\tnodesWithStyles.forEach( ( { selector, styles } ) => {\n\t\tconst declarations = getStylesDeclarations( styles );\n\t\tif ( declarations.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\t\truleset = ruleset + `${ selector }{${ declarations.join( ';' ) };}`;\n\t} );\n\n\tnodesWithSettings.forEach( ( { selector, presets } ) => {\n\t\tif ( ROOT_BLOCK_SELECTOR === selector ) {\n\t\t\t// Do not add extra specificity for top-level classes.\n\t\t\tselector = '';\n\t\t}\n\n\t\tconst classes = getPresetsClasses( selector, presets );\n\t\tif ( ! isEmpty( classes ) ) {\n\t\t\truleset = ruleset + classes;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nconst getBlockSelectors = ( blockTypes ) => {\n\tconst result = {};\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nexport function useGlobalStylesOutput() {\n\tconst [ stylesheets, setStylesheets ] = useState( [] );\n\tconst [ settings, setSettings ] = useState( {} );\n\tconst { merged: mergedConfig } = useContext( GlobalStylesContext );\n\n\tuseEffect( () => {\n\t\tif ( ! mergedConfig?.styles || ! mergedConfig?.settings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst blockSelectors = getBlockSelectors( getBlockTypes() );\n\t\tconst customProperties = toCustomProperties(\n\t\t\tmergedConfig,\n\t\t\tblockSelectors\n\t\t);\n\t\tconst globalStyles = toStyles( mergedConfig, blockSelectors );\n\t\tsetStylesheets( [\n\t\t\t{\n\t\t\t\tcss: customProperties,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t\t__experimentalNoWrapper: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcss: globalStyles,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t] );\n\t\tsetSettings( mergedConfig.settings );\n\t}, [ mergedConfig ] );\n\n\treturn [ stylesheets, settings ];\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/use-global-styles-output.js"],"names":["compileStyleValue","uncompiledValue","VARIABLE_REFERENCE_PREFIX","VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE","VARIABLE_PATH_SEPARATOR_TOKEN_STYLE","variable","slice","length","split","join","getPresetsDeclarations","blockPresets","PRESET_METADATA","declarations","path","valueKey","cssVarInfix","presetByOrigin","forEach","origin","value","push","slug","getPresetsClasses","blockSelector","classes","classSuffix","propertyName","classSelectorToUse","selectorToUse","map","selector","flattenTree","input","prefix","token","result","Object","keys","key","newKey","replace","newLeaf","newPrefix","getStylesDeclarations","blockStyles","STYLE_PROPERTY","properties","pathToValue","styleValue","entries","entry","name","prop","cssProperty","startsWith","getNodesWithStyles","tree","blockSelectors","nodes","styles","pickStyleKeys","treeToPickFrom","includes","ROOT_BLOCK_SELECTOR","elements","ELEMENTS","blocks","node","blockName","elementName","sel","getNodesWithSettings","settings","pickPresets","presets","custom","blockCustom","toCustomProperties","ruleset","customProps","toStyles","nodesWithStyles","nodesWithSettings","getBlockSelectors","blockTypes","blockType","supports","__experimentalSelector","useGlobalStylesOutput","stylesheets","setStylesheets","setSettings","merged","mergedConfig","GlobalStylesContext","customProperties","globalStyles","css","isGlobalStyles","__experimentalNoWrapper"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tfirst,\n\tforEach,\n\tget,\n\tisEmpty,\n\tisString,\n\tkebabCase,\n\tpickBy,\n\treduce,\n\tset,\n\tstartsWith,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tgetBlockTypes,\n} from '@wordpress/blocks';\nimport { useEffect, useState, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\n/**\n * Internal dependencies\n */\nimport { PRESET_METADATA, ROOT_BLOCK_SELECTOR } from './utils';\nimport { GlobalStylesContext } from './context';\n\nfunction compileStyleValue( uncompiledValue ) {\n\tconst VARIABLE_REFERENCE_PREFIX = 'var:';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE = '|';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_STYLE = '--';\n\tif ( startsWith( uncompiledValue, VARIABLE_REFERENCE_PREFIX ) ) {\n\t\tconst variable = uncompiledValue\n\t\t\t.slice( VARIABLE_REFERENCE_PREFIX.length )\n\t\t\t.split( VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE )\n\t\t\t.join( VARIABLE_PATH_SEPARATOR_TOKEN_STYLE );\n\t\treturn `var(--wp--${ variable })`;\n\t}\n\treturn uncompiledValue;\n}\n\n/**\n * Transform given preset tree into a set of style declarations.\n *\n * @param {Object} blockPresets\n *\n * @return {Array} An array of style declarations.\n */\nfunction getPresetsDeclarations( blockPresets = {} ) {\n\treturn reduce(\n\t\tPRESET_METADATA,\n\t\t( declarations, { path, valueKey, cssVarInfix } ) => {\n\t\t\tconst presetByOrigin = get( blockPresets, path, [] );\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( value ) => {\n\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t`--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tvalue.slug\n\t\t\t\t\t\t\t) }: ${ value[ valueKey ] }`\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\n/**\n * Transform given preset tree into a set of preset class declarations.\n *\n * @param {string} blockSelector\n * @param {Object} blockPresets\n * @return {string} CSS declarations for the preset classes.\n */\nfunction getPresetsClasses( blockSelector, blockPresets = {} ) {\n\treturn reduce(\n\t\tPRESET_METADATA,\n\t\t( declarations, { path, cssVarInfix, classes } ) => {\n\t\t\tif ( ! classes ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst presetByOrigin = get( blockPresets, path, [] );\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( { slug } ) => {\n\t\t\t\t\t\tclasses.forEach( ( { classSuffix, propertyName } ) => {\n\t\t\t\t\t\t\tconst classSelectorToUse = `.has-${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) }-${ classSuffix }`;\n\t\t\t\t\t\t\tconst selectorToUse = blockSelector\n\t\t\t\t\t\t\t\t.split( ',' ) // Selector can be \"h1, h2, h3\"\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t\t\t\t`${ selector }${ classSelectorToUse }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ',' );\n\t\t\t\t\t\t\tconst value = `var(--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) })`;\n\t\t\t\t\t\t\tdeclarations += `${ selectorToUse }{${ propertyName }: ${ value } !important;}`;\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\treturn declarations;\n\t\t},\n\t\t''\n\t);\n}\n\nfunction flattenTree( input = {}, prefix, token ) {\n\tlet result = [];\n\tObject.keys( input ).forEach( ( key ) => {\n\t\tconst newKey = prefix + kebabCase( key.replace( '/', '-' ) );\n\t\tconst newLeaf = input[ key ];\n\n\t\tif ( newLeaf instanceof Object ) {\n\t\t\tconst newPrefix = newKey + token;\n\t\t\tresult = [ ...result, ...flattenTree( newLeaf, newPrefix, token ) ];\n\t\t} else {\n\t\t\tresult.push( `${ newKey }: ${ newLeaf }` );\n\t\t}\n\t} );\n\treturn result;\n}\n\n/**\n * Transform given style tree into a set of style declarations.\n *\n * @param {Object} blockStyles Block styles.\n *\n * @return {Array} An array of style declarations.\n */\nfunction getStylesDeclarations( blockStyles = {} ) {\n\treturn reduce(\n\t\tSTYLE_PROPERTY,\n\t\t( declarations, { value, properties }, key ) => {\n\t\t\tconst pathToValue = value;\n\t\t\tif ( first( pathToValue ) === 'elements' ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst styleValue = get( blockStyles, pathToValue );\n\n\t\t\tif ( !! properties && ! isString( styleValue ) ) {\n\t\t\t\tObject.entries( properties ).forEach( ( entry ) => {\n\t\t\t\t\tconst [ name, prop ] = entry;\n\n\t\t\t\t\tif ( ! get( styleValue, [ prop ], false ) ) {\n\t\t\t\t\t\t// Do not create a declaration\n\t\t\t\t\t\t// for sub-properties that don't have any value.\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cssProperty = kebabCase( name );\n\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\t\tget( styleValue, [ prop ] )\n\t\t\t\t\t\t) }`\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else if ( get( blockStyles, pathToValue, false ) ) {\n\t\t\t\tconst cssProperty = key.startsWith( '--' )\n\t\t\t\t\t? key\n\t\t\t\t\t: kebabCase( key );\n\t\t\t\tdeclarations.push(\n\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\tget( blockStyles, pathToValue )\n\t\t\t\t\t) }`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\nexport const getNodesWithStyles = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.styles ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickStyleKeys = ( treeToPickFrom ) =>\n\t\tpickBy( treeToPickFrom, ( value, key ) =>\n\t\t\t[ 'border', 'color', 'spacing', 'typography' ].includes( key )\n\t\t);\n\n\t// Top-level.\n\tconst styles = pickStyleKeys( tree.styles );\n\tif ( !! styles ) {\n\t\tnodes.push( {\n\t\t\tstyles,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\tforEach( tree.styles?.elements, ( value, key ) => {\n\t\tif ( !! value && !! ELEMENTS[ key ] ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: value,\n\t\t\t\tselector: ELEMENTS[ key ],\n\t\t\t} );\n\t\t}\n\t} );\n\n\t// Iterate over blocks: they can have styles & elements.\n\tforEach( tree.styles?.blocks, ( node, blockName ) => {\n\t\tconst blockStyles = pickStyleKeys( node );\n\t\tif ( !! blockStyles && !! blockSelectors?.[ blockName ]?.selector ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: blockStyles,\n\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t} );\n\t\t}\n\n\t\tforEach( node?.elements, ( value, elementName ) => {\n\t\t\tif (\n\t\t\t\t!! value &&\n\t\t\t\t!! blockSelectors?.[ blockName ] &&\n\t\t\t\t!! ELEMENTS?.[ elementName ]\n\t\t\t) {\n\t\t\t\tnodes.push( {\n\t\t\t\t\tstyles: value,\n\t\t\t\t\tselector: blockSelectors[ blockName ].selector\n\t\t\t\t\t\t.split( ',' )\n\t\t\t\t\t\t.map( ( sel ) => sel + ' ' + ELEMENTS[ elementName ] )\n\t\t\t\t\t\t.join( ',' ),\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n\n\treturn nodes;\n};\n\nexport const getNodesWithSettings = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.settings ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickPresets = ( treeToPickFrom ) => {\n\t\tconst presets = {};\n\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\tconst value = get( treeToPickFrom, path, false );\n\t\t\tif ( value !== false ) {\n\t\t\t\tset( presets, path, value );\n\t\t\t}\n\t\t} );\n\t\treturn presets;\n\t};\n\n\t// Top-level.\n\tconst presets = pickPresets( tree.settings );\n\tconst custom = tree.settings?.custom;\n\tif ( ! isEmpty( presets ) || !! custom ) {\n\t\tnodes.push( {\n\t\t\tpresets,\n\t\t\tcustom,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\n\t// Blocks.\n\tforEach( tree.settings?.blocks, ( node, blockName ) => {\n\t\tconst blockPresets = pickPresets( node );\n\t\tconst blockCustom = node.custom;\n\t\tif ( ! isEmpty( blockPresets ) || !! blockCustom ) {\n\t\t\tnodes.push( {\n\t\t\t\tpresets: blockPresets,\n\t\t\t\tcustom: blockCustom,\n\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn nodes;\n};\n\nexport const toCustomProperties = ( tree, blockSelectors ) => {\n\tconst settings = getNodesWithSettings( tree, blockSelectors );\n\n\tlet ruleset = '';\n\tsettings.forEach( ( { presets, custom, selector } ) => {\n\t\tconst declarations = getPresetsDeclarations( presets );\n\t\tconst customProps = flattenTree( custom, '--wp--custom--', '--' );\n\t\tif ( customProps.length > 0 ) {\n\t\t\tdeclarations.push( ...customProps );\n\t\t}\n\n\t\tif ( declarations.length > 0 ) {\n\t\t\truleset = ruleset + `${ selector }{${ declarations.join( ';' ) };}`;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nexport const toStyles = ( tree, blockSelectors ) => {\n\tconst nodesWithStyles = getNodesWithStyles( tree, blockSelectors );\n\tconst nodesWithSettings = getNodesWithSettings( tree, blockSelectors );\n\n\tlet ruleset =\n\t\t'.wp-site-blocks > * { margin-top: 0; margin-bottom: 0; }.wp-site-blocks > * + * { margin-top: var( --wp--style--block-gap ); }';\n\tnodesWithStyles.forEach( ( { selector, styles } ) => {\n\t\tconst declarations = getStylesDeclarations( styles );\n\t\tif ( declarations.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\t\truleset = ruleset + `${ selector }{${ declarations.join( ';' ) };}`;\n\t} );\n\n\tnodesWithSettings.forEach( ( { selector, presets } ) => {\n\t\tif ( ROOT_BLOCK_SELECTOR === selector ) {\n\t\t\t// Do not add extra specificity for top-level classes.\n\t\t\tselector = '';\n\t\t}\n\n\t\tconst classes = getPresetsClasses( selector, presets );\n\t\tif ( ! isEmpty( classes ) ) {\n\t\t\truleset = ruleset + classes;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nconst getBlockSelectors = ( blockTypes ) => {\n\tconst result = {};\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nexport function useGlobalStylesOutput() {\n\tconst [ stylesheets, setStylesheets ] = useState( [] );\n\tconst [ settings, setSettings ] = useState( {} );\n\tconst { merged: mergedConfig } = useContext( GlobalStylesContext );\n\n\tuseEffect( () => {\n\t\tif ( ! mergedConfig?.styles || ! mergedConfig?.settings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst blockSelectors = getBlockSelectors( getBlockTypes() );\n\t\tconst customProperties = toCustomProperties(\n\t\t\tmergedConfig,\n\t\t\tblockSelectors\n\t\t);\n\t\tconst globalStyles = toStyles( mergedConfig, blockSelectors );\n\t\tsetStylesheets( [\n\t\t\t{\n\t\t\t\tcss: customProperties,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t\t__experimentalNoWrapper: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcss: globalStyles,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t] );\n\t\tsetSettings( mergedConfig.settings );\n\t}, [ mergedConfig ] );\n\n\treturn [ stylesheets, settings ];\n}\n"]}
@@ -76,7 +76,7 @@ function findInPresetsBy(features, blockName, presetPath, presetProperty, preset
76
76
  for (const presetByOrigin of orderedPresetsByOrigin) {
77
77
  if (presetByOrigin) {
78
78
  // Preset origins ordered by priority.
79
- const origins = ['user', 'theme', 'default'];
79
+ const origins = ['custom', 'theme', 'default'];
80
80
 
81
81
  for (const origin of origins) {
82
82
  const presets = presetByOrigin[origin];
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/utils.js"],"names":["ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","PRESET_METADATA","path","valueKey","cssVarInfix","classes","classSuffix","propertyName","STYLE_PATH_TO_CSS_VAR_INFIX","findInPresetsBy","features","blockName","presetPath","presetProperty","presetValueValue","orderedPresetsByOrigin","presetByOrigin","origins","origin","presets","presetObject","preset","highestPresetObjectWithSameSlug","slug","undefined","getPresetVariableFromValue","variableStylePath","presetPropertyValue","metadata","getValueFromPresetVariable","variable","presetType","result","getValueFromVariable","getValueFromCustomVariable","USER_VALUE_PREFIX","THEME_VALUE_PREFIX","THEME_VALUE_SUFFIX","parsedVar","startsWith","slice","length","split","endsWith","type"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, find, isString } from 'lodash';\n\n/* Supporting data */\nexport const ROOT_BLOCK_NAME = 'root';\nexport const ROOT_BLOCK_SELECTOR = 'body';\nexport const ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n\t'padding',\n];\n\nexport const PRESET_METADATA = [\n\t{\n\t\tpath: [ 'color', 'palette' ],\n\t\tvalueKey: 'color',\n\t\tcssVarInfix: 'color',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'color', propertyName: 'color' },\n\t\t\t{\n\t\t\t\tclassSuffix: 'background-color',\n\t\t\t\tpropertyName: 'background-color',\n\t\t\t},\n\t\t\t{\n\t\t\t\tclassSuffix: 'border-color',\n\t\t\t\tpropertyName: 'border-color',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'color', 'gradients' ],\n\t\tvalueKey: 'gradient',\n\t\tcssVarInfix: 'gradient',\n\t\tclasses: [\n\t\t\t{\n\t\t\t\tclassSuffix: 'gradient-background',\n\t\t\t\tpropertyName: 'background',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontSizes' ],\n\t\tvalueKey: 'size',\n\t\tcssVarInfix: 'font-size',\n\t\tclasses: [ { classSuffix: 'font-size', propertyName: 'font-size' } ],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontFamilies' ],\n\t\tvalueKey: 'fontFamily',\n\t\tcssVarInfix: 'font-family',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'font-family', propertyName: 'font-family' },\n\t\t],\n\t},\n];\n\nconst STYLE_PATH_TO_CSS_VAR_INFIX = {\n\t'color.background': 'color',\n\t'color.text': 'color',\n\t'elements.link.color.text': 'color',\n\t'color.gradient': 'gradient',\n\t'typography.fontSize': 'font-size',\n\t'typography.fontFamily': 'font-family',\n};\n\nfunction findInPresetsBy(\n\tfeatures,\n\tblockName,\n\tpresetPath,\n\tpresetProperty,\n\tpresetValueValue\n) {\n\t// Block presets take priority above root level presets.\n\tconst orderedPresetsByOrigin = [\n\t\tget( features, [ 'blocks', blockName, ...presetPath ] ),\n\t\tget( features, presetPath ),\n\t];\n\n\tfor ( const presetByOrigin of orderedPresetsByOrigin ) {\n\t\tif ( presetByOrigin ) {\n\t\t\t// Preset origins ordered by priority.\n\t\t\tconst origins = [ 'user', 'theme', 'default' ];\n\t\t\tfor ( const origin of origins ) {\n\t\t\t\tconst presets = presetByOrigin[ origin ];\n\t\t\t\tif ( presets ) {\n\t\t\t\t\tconst presetObject = find(\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\t( preset ) =>\n\t\t\t\t\t\t\tpreset[ presetProperty ] === presetValueValue\n\t\t\t\t\t);\n\t\t\t\t\tif ( presetObject ) {\n\t\t\t\t\t\tif ( presetProperty === 'slug' ) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// if there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.\n\t\t\t\t\t\tconst highestPresetObjectWithSameSlug = findInPresetsBy(\n\t\t\t\t\t\t\tfeatures,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpresetPath,\n\t\t\t\t\t\t\t'slug',\n\t\t\t\t\t\t\tpresetObject.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thighestPresetObjectWithSameSlug[\n\t\t\t\t\t\t\t\tpresetProperty\n\t\t\t\t\t\t\t] === presetObject[ presetProperty ]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function getPresetVariableFromValue(\n\tfeatures,\n\tblockName,\n\tvariableStylePath,\n\tpresetPropertyValue\n) {\n\tif ( ! presetPropertyValue ) {\n\t\treturn presetPropertyValue;\n\t}\n\n\tconst cssVarInfix = STYLE_PATH_TO_CSS_VAR_INFIX[ variableStylePath ];\n\n\tconst metadata = find( PRESET_METADATA, [ 'cssVarInfix', cssVarInfix ] );\n\n\tif ( ! metadata ) {\n\t\t// The property doesn't have preset data\n\t\t// so the value should be returned as it is.\n\t\treturn presetPropertyValue;\n\t}\n\tconst { valueKey, path } = metadata;\n\n\tconst presetObject = findInPresetsBy(\n\t\tfeatures,\n\t\tblockName,\n\t\tpath,\n\t\tvalueKey,\n\t\tpresetPropertyValue\n\t);\n\n\tif ( ! presetObject ) {\n\t\t// Value wasn't found in the presets,\n\t\t// so it must be a custom value.\n\t\treturn presetPropertyValue;\n\t}\n\n\treturn `var:preset|${ cssVarInfix }|${ presetObject.slug }`;\n}\n\nfunction getValueFromPresetVariable(\n\tfeatures,\n\tblockName,\n\tvariable,\n\t[ presetType, slug ]\n) {\n\tconst metadata = find( PRESET_METADATA, [ 'cssVarInfix', presetType ] );\n\tif ( ! metadata ) {\n\t\treturn variable;\n\t}\n\n\tconst presetObject = findInPresetsBy(\n\t\tfeatures,\n\t\tblockName,\n\t\tmetadata.path,\n\t\t'slug',\n\t\tslug\n\t);\n\n\tif ( presetObject ) {\n\t\tconst { valueKey } = metadata;\n\t\tconst result = presetObject[ valueKey ];\n\t\treturn getValueFromVariable( features, blockName, result );\n\t}\n\n\treturn variable;\n}\n\nfunction getValueFromCustomVariable( features, blockName, variable, path ) {\n\tconst result =\n\t\tget( features, [ 'blocks', blockName, 'custom', ...path ] ) ??\n\t\tget( features, [ 'custom', ...path ] );\n\tif ( ! result ) {\n\t\treturn variable;\n\t}\n\t// A variable may reference another variable so we need recursion until we find the value.\n\treturn getValueFromVariable( features, blockName, result );\n}\n\nexport function getValueFromVariable( features, blockName, variable ) {\n\tif ( ! variable || ! isString( variable ) ) {\n\t\treturn variable;\n\t}\n\tconst USER_VALUE_PREFIX = 'var:';\n\tconst THEME_VALUE_PREFIX = 'var(--wp--';\n\tconst THEME_VALUE_SUFFIX = ')';\n\n\tlet parsedVar;\n\n\tif ( variable.startsWith( USER_VALUE_PREFIX ) ) {\n\t\tparsedVar = variable.slice( USER_VALUE_PREFIX.length ).split( '|' );\n\t} else if (\n\t\tvariable.startsWith( THEME_VALUE_PREFIX ) &&\n\t\tvariable.endsWith( THEME_VALUE_SUFFIX )\n\t) {\n\t\tparsedVar = variable\n\t\t\t.slice( THEME_VALUE_PREFIX.length, -THEME_VALUE_SUFFIX.length )\n\t\t\t.split( '--' );\n\t} else {\n\t\t// We don't know how to parse the value: either is raw of uses complex CSS such as `calc(1px * var(--wp--variable) )`\n\t\treturn variable;\n\t}\n\n\tconst [ type, ...path ] = parsedVar;\n\tif ( type === 'preset' ) {\n\t\treturn getValueFromPresetVariable(\n\t\t\tfeatures,\n\t\t\tblockName,\n\t\t\tvariable,\n\t\t\tpath\n\t\t);\n\t}\n\tif ( type === 'custom' ) {\n\t\treturn getValueFromCustomVariable(\n\t\t\tfeatures,\n\t\t\tblockName,\n\t\t\tvariable,\n\t\t\tpath\n\t\t);\n\t}\n\treturn variable;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/utils.js"],"names":["ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","PRESET_METADATA","path","valueKey","cssVarInfix","classes","classSuffix","propertyName","STYLE_PATH_TO_CSS_VAR_INFIX","findInPresetsBy","features","blockName","presetPath","presetProperty","presetValueValue","orderedPresetsByOrigin","presetByOrigin","origins","origin","presets","presetObject","preset","highestPresetObjectWithSameSlug","slug","undefined","getPresetVariableFromValue","variableStylePath","presetPropertyValue","metadata","getValueFromPresetVariable","variable","presetType","result","getValueFromVariable","getValueFromCustomVariable","USER_VALUE_PREFIX","THEME_VALUE_PREFIX","THEME_VALUE_SUFFIX","parsedVar","startsWith","slice","length","split","endsWith","type"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, find, isString } from 'lodash';\n\n/* Supporting data */\nexport const ROOT_BLOCK_NAME = 'root';\nexport const ROOT_BLOCK_SELECTOR = 'body';\nexport const ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n\t'padding',\n];\n\nexport const PRESET_METADATA = [\n\t{\n\t\tpath: [ 'color', 'palette' ],\n\t\tvalueKey: 'color',\n\t\tcssVarInfix: 'color',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'color', propertyName: 'color' },\n\t\t\t{\n\t\t\t\tclassSuffix: 'background-color',\n\t\t\t\tpropertyName: 'background-color',\n\t\t\t},\n\t\t\t{\n\t\t\t\tclassSuffix: 'border-color',\n\t\t\t\tpropertyName: 'border-color',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'color', 'gradients' ],\n\t\tvalueKey: 'gradient',\n\t\tcssVarInfix: 'gradient',\n\t\tclasses: [\n\t\t\t{\n\t\t\t\tclassSuffix: 'gradient-background',\n\t\t\t\tpropertyName: 'background',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontSizes' ],\n\t\tvalueKey: 'size',\n\t\tcssVarInfix: 'font-size',\n\t\tclasses: [ { classSuffix: 'font-size', propertyName: 'font-size' } ],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontFamilies' ],\n\t\tvalueKey: 'fontFamily',\n\t\tcssVarInfix: 'font-family',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'font-family', propertyName: 'font-family' },\n\t\t],\n\t},\n];\n\nconst STYLE_PATH_TO_CSS_VAR_INFIX = {\n\t'color.background': 'color',\n\t'color.text': 'color',\n\t'elements.link.color.text': 'color',\n\t'color.gradient': 'gradient',\n\t'typography.fontSize': 'font-size',\n\t'typography.fontFamily': 'font-family',\n};\n\nfunction findInPresetsBy(\n\tfeatures,\n\tblockName,\n\tpresetPath,\n\tpresetProperty,\n\tpresetValueValue\n) {\n\t// Block presets take priority above root level presets.\n\tconst orderedPresetsByOrigin = [\n\t\tget( features, [ 'blocks', blockName, ...presetPath ] ),\n\t\tget( features, presetPath ),\n\t];\n\n\tfor ( const presetByOrigin of orderedPresetsByOrigin ) {\n\t\tif ( presetByOrigin ) {\n\t\t\t// Preset origins ordered by priority.\n\t\t\tconst origins = [ 'custom', 'theme', 'default' ];\n\t\t\tfor ( const origin of origins ) {\n\t\t\t\tconst presets = presetByOrigin[ origin ];\n\t\t\t\tif ( presets ) {\n\t\t\t\t\tconst presetObject = find(\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\t( preset ) =>\n\t\t\t\t\t\t\tpreset[ presetProperty ] === presetValueValue\n\t\t\t\t\t);\n\t\t\t\t\tif ( presetObject ) {\n\t\t\t\t\t\tif ( presetProperty === 'slug' ) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// if there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.\n\t\t\t\t\t\tconst highestPresetObjectWithSameSlug = findInPresetsBy(\n\t\t\t\t\t\t\tfeatures,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpresetPath,\n\t\t\t\t\t\t\t'slug',\n\t\t\t\t\t\t\tpresetObject.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thighestPresetObjectWithSameSlug[\n\t\t\t\t\t\t\t\tpresetProperty\n\t\t\t\t\t\t\t] === presetObject[ presetProperty ]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function getPresetVariableFromValue(\n\tfeatures,\n\tblockName,\n\tvariableStylePath,\n\tpresetPropertyValue\n) {\n\tif ( ! presetPropertyValue ) {\n\t\treturn presetPropertyValue;\n\t}\n\n\tconst cssVarInfix = STYLE_PATH_TO_CSS_VAR_INFIX[ variableStylePath ];\n\n\tconst metadata = find( PRESET_METADATA, [ 'cssVarInfix', cssVarInfix ] );\n\n\tif ( ! metadata ) {\n\t\t// The property doesn't have preset data\n\t\t// so the value should be returned as it is.\n\t\treturn presetPropertyValue;\n\t}\n\tconst { valueKey, path } = metadata;\n\n\tconst presetObject = findInPresetsBy(\n\t\tfeatures,\n\t\tblockName,\n\t\tpath,\n\t\tvalueKey,\n\t\tpresetPropertyValue\n\t);\n\n\tif ( ! presetObject ) {\n\t\t// Value wasn't found in the presets,\n\t\t// so it must be a custom value.\n\t\treturn presetPropertyValue;\n\t}\n\n\treturn `var:preset|${ cssVarInfix }|${ presetObject.slug }`;\n}\n\nfunction getValueFromPresetVariable(\n\tfeatures,\n\tblockName,\n\tvariable,\n\t[ presetType, slug ]\n) {\n\tconst metadata = find( PRESET_METADATA, [ 'cssVarInfix', presetType ] );\n\tif ( ! metadata ) {\n\t\treturn variable;\n\t}\n\n\tconst presetObject = findInPresetsBy(\n\t\tfeatures,\n\t\tblockName,\n\t\tmetadata.path,\n\t\t'slug',\n\t\tslug\n\t);\n\n\tif ( presetObject ) {\n\t\tconst { valueKey } = metadata;\n\t\tconst result = presetObject[ valueKey ];\n\t\treturn getValueFromVariable( features, blockName, result );\n\t}\n\n\treturn variable;\n}\n\nfunction getValueFromCustomVariable( features, blockName, variable, path ) {\n\tconst result =\n\t\tget( features, [ 'blocks', blockName, 'custom', ...path ] ) ??\n\t\tget( features, [ 'custom', ...path ] );\n\tif ( ! result ) {\n\t\treturn variable;\n\t}\n\t// A variable may reference another variable so we need recursion until we find the value.\n\treturn getValueFromVariable( features, blockName, result );\n}\n\nexport function getValueFromVariable( features, blockName, variable ) {\n\tif ( ! variable || ! isString( variable ) ) {\n\t\treturn variable;\n\t}\n\tconst USER_VALUE_PREFIX = 'var:';\n\tconst THEME_VALUE_PREFIX = 'var(--wp--';\n\tconst THEME_VALUE_SUFFIX = ')';\n\n\tlet parsedVar;\n\n\tif ( variable.startsWith( USER_VALUE_PREFIX ) ) {\n\t\tparsedVar = variable.slice( USER_VALUE_PREFIX.length ).split( '|' );\n\t} else if (\n\t\tvariable.startsWith( THEME_VALUE_PREFIX ) &&\n\t\tvariable.endsWith( THEME_VALUE_SUFFIX )\n\t) {\n\t\tparsedVar = variable\n\t\t\t.slice( THEME_VALUE_PREFIX.length, -THEME_VALUE_SUFFIX.length )\n\t\t\t.split( '--' );\n\t} else {\n\t\t// We don't know how to parse the value: either is raw of uses complex CSS such as `calc(1px * var(--wp--variable) )`\n\t\treturn variable;\n\t}\n\n\tconst [ type, ...path ] = parsedVar;\n\tif ( type === 'preset' ) {\n\t\treturn getValueFromPresetVariable(\n\t\t\tfeatures,\n\t\t\tblockName,\n\t\t\tvariable,\n\t\t\tpath\n\t\t);\n\t}\n\tif ( type === 'custom' ) {\n\t\treturn getValueFromCustomVariable(\n\t\t\tfeatures,\n\t\t\tblockName,\n\t\t\tvariable,\n\t\t\tpath\n\t\t);\n\t}\n\treturn variable;\n}\n"]}
@@ -139,6 +139,32 @@ function KeyboardShortcutsRegister() {
139
139
  character: ','
140
140
  }
141
141
  });
142
+ registerShortcut({
143
+ name: 'core/edit-site/next-region',
144
+ category: 'global',
145
+ description: (0, _i18n.__)('Navigate to the next part of the editor.'),
146
+ keyCombination: {
147
+ modifier: 'ctrl',
148
+ character: '`'
149
+ },
150
+ aliases: [{
151
+ modifier: 'access',
152
+ character: 'n'
153
+ }]
154
+ });
155
+ registerShortcut({
156
+ name: 'core/edit-site/previous-region',
157
+ category: 'global',
158
+ description: (0, _i18n.__)('Navigate to the previous part of the editor.'),
159
+ keyCombination: {
160
+ modifier: 'ctrlShift',
161
+ character: '`'
162
+ },
163
+ aliases: [{
164
+ modifier: 'access',
165
+ character: 'p'
166
+ }]
167
+ });
142
168
  }, [registerShortcut]);
143
169
  return null;
144
170
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/keyboard-shortcuts/index.js"],"names":["KeyboardShortcuts","openEntitiesSavedStates","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","coreStore","isListViewOpen","select","editSiteStore","isListViewOpened","isBlockInspectorOpen","interfaceStore","getActiveComplementaryArea","name","SIDEBAR_BLOCK","redo","undo","setIsListViewOpened","enableComplementaryArea","disableComplementaryArea","event","preventDefault","dirtyEntityRecords","isDirty","length","isSaving","some","record","kind","key","STORE_NAME","KeyboardShortcutsRegister","registerShortcut","keyboardShortcutsStore","category","description","keyCombination","modifier","character","Register"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { SIDEBAR_BLOCK } from '../sidebar/constants';\nimport { STORE_NAME } from '../../store/constants';\n\nfunction KeyboardShortcuts( { openEntitiesSavedStates } ) {\n\tconst {\n\t\t__experimentalGetDirtyEntityRecords,\n\t\tisSavingEntityRecord,\n\t} = useSelect( coreStore );\n\tconst isListViewOpen = useSelect(\n\t\t( select ) => select( editSiteStore ).isListViewOpened(),\n\t\t[]\n\t);\n\tconst isBlockInspectorOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t) === SIDEBAR_BLOCK,\n\t\t[]\n\t);\n\tconst { redo, undo } = useDispatch( coreStore );\n\tconst { setIsListViewOpened } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea, disableComplementaryArea } = useDispatch(\n\t\tinterfaceStore\n\t);\n\n\tuseShortcut( 'core/edit-site/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst isDirty = !! dirtyEntityRecords.length;\n\t\tconst isSaving = dirtyEntityRecords.some( ( record ) =>\n\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t);\n\n\t\tif ( ! isSaving && isDirty ) {\n\t\t\topenEntitiesSavedStates();\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-site/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-site/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-list-view', () => {\n\t\tsetIsListViewOpened( ! isListViewOpen );\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-block-settings-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isBlockInspectorOpen ) {\n\t\t\tdisableComplementaryArea( STORE_NAME );\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t}\n\t} );\n\n\treturn null;\n}\n\nfunction KeyboardShortcutsRegister() {\n\t// Registering the shortcuts\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/toggle-block-settings-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the block settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nKeyboardShortcuts.Register = KeyboardShortcutsRegister;\nexport default KeyboardShortcuts;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/keyboard-shortcuts/index.js"],"names":["KeyboardShortcuts","openEntitiesSavedStates","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","coreStore","isListViewOpen","select","editSiteStore","isListViewOpened","isBlockInspectorOpen","interfaceStore","getActiveComplementaryArea","name","SIDEBAR_BLOCK","redo","undo","setIsListViewOpened","enableComplementaryArea","disableComplementaryArea","event","preventDefault","dirtyEntityRecords","isDirty","length","isSaving","some","record","kind","key","STORE_NAME","KeyboardShortcutsRegister","registerShortcut","keyboardShortcutsStore","category","description","keyCombination","modifier","character","aliases","Register"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { SIDEBAR_BLOCK } from '../sidebar/constants';\nimport { STORE_NAME } from '../../store/constants';\n\nfunction KeyboardShortcuts( { openEntitiesSavedStates } ) {\n\tconst {\n\t\t__experimentalGetDirtyEntityRecords,\n\t\tisSavingEntityRecord,\n\t} = useSelect( coreStore );\n\tconst isListViewOpen = useSelect(\n\t\t( select ) => select( editSiteStore ).isListViewOpened(),\n\t\t[]\n\t);\n\tconst isBlockInspectorOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t) === SIDEBAR_BLOCK,\n\t\t[]\n\t);\n\tconst { redo, undo } = useDispatch( coreStore );\n\tconst { setIsListViewOpened } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea, disableComplementaryArea } = useDispatch(\n\t\tinterfaceStore\n\t);\n\n\tuseShortcut( 'core/edit-site/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst isDirty = !! dirtyEntityRecords.length;\n\t\tconst isSaving = dirtyEntityRecords.some( ( record ) =>\n\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t);\n\n\t\tif ( ! isSaving && isDirty ) {\n\t\t\topenEntitiesSavedStates();\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-site/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-site/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-list-view', () => {\n\t\tsetIsListViewOpened( ! isListViewOpen );\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-block-settings-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isBlockInspectorOpen ) {\n\t\t\tdisableComplementaryArea( STORE_NAME );\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t}\n\t} );\n\n\treturn null;\n}\n\nfunction KeyboardShortcutsRegister() {\n\t// Registering the shortcuts\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/toggle-block-settings-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the block settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nKeyboardShortcuts.Register = KeyboardShortcutsRegister;\nexport default KeyboardShortcuts;\n"]}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = Actions;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _data = require("@wordpress/data");
13
+
14
+ var _coreData = require("@wordpress/core-data");
15
+
16
+ var _i18n = require("@wordpress/i18n");
17
+
18
+ var _components = require("@wordpress/components");
19
+
20
+ var _icons = require("@wordpress/icons");
21
+
22
+ var _notices = require("@wordpress/notices");
23
+
24
+ var _store = require("../../../store");
25
+
26
+ var _isTemplateRemovable = _interopRequireDefault(require("../../../utils/is-template-removable"));
27
+
28
+ var _isTemplateRevertable = _interopRequireDefault(require("../../../utils/is-template-revertable"));
29
+
30
+ var _renameMenuItem = _interopRequireDefault(require("./rename-menu-item"));
31
+
32
+ /**
33
+ * WordPress dependencies
34
+ */
35
+
36
+ /**
37
+ * Internal dependencies
38
+ */
39
+ function Actions(_ref) {
40
+ let {
41
+ template
42
+ } = _ref;
43
+ const {
44
+ removeTemplate,
45
+ revertTemplate
46
+ } = (0, _data.useDispatch)(_store.store);
47
+ const {
48
+ saveEditedEntityRecord
49
+ } = (0, _data.useDispatch)(_coreData.store);
50
+ const {
51
+ createSuccessNotice,
52
+ createErrorNotice
53
+ } = (0, _data.useDispatch)(_notices.store);
54
+ const isRemovable = (0, _isTemplateRemovable.default)(template);
55
+ const isRevertable = (0, _isTemplateRevertable.default)(template);
56
+
57
+ if (!isRemovable && !isRevertable) {
58
+ return null;
59
+ }
60
+
61
+ async function revertAndSaveTemplate() {
62
+ try {
63
+ await revertTemplate(template, {
64
+ allowUndo: false
65
+ });
66
+ await saveEditedEntityRecord('postType', template.type, template.id);
67
+ createSuccessNotice((0, _i18n.__)('Template reverted.'), {
68
+ type: 'snackbar'
69
+ });
70
+ } catch (error) {
71
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while reverting the template.');
72
+ createErrorNotice(errorMessage, {
73
+ type: 'snackbar'
74
+ });
75
+ }
76
+ }
77
+
78
+ return (0, _element.createElement)(_components.DropdownMenu, {
79
+ icon: _icons.moreVertical,
80
+ label: (0, _i18n.__)('Actions'),
81
+ className: "edit-site-list-table__actions"
82
+ }, _ref2 => {
83
+ let {
84
+ onClose
85
+ } = _ref2;
86
+ return (0, _element.createElement)(_components.MenuGroup, null, isRemovable && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_renameMenuItem.default, {
87
+ template: template,
88
+ onClose: onClose
89
+ }), (0, _element.createElement)(_components.MenuItem, {
90
+ isDestructive: true,
91
+ onClick: () => {
92
+ removeTemplate(template);
93
+ onClose();
94
+ }
95
+ }, (0, _i18n.__)('Delete template'))), isRevertable && (0, _element.createElement)(_components.MenuItem, {
96
+ info: (0, _i18n.__)('Restore template to default state'),
97
+ onClick: () => {
98
+ revertAndSaveTemplate();
99
+ onClose();
100
+ }
101
+ }, (0, _i18n.__)('Clear customizations')));
102
+ });
103
+ }
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/list/actions/index.js"],"names":["Actions","template","removeTemplate","revertTemplate","editSiteStore","saveEditedEntityRecord","coreStore","createSuccessNotice","createErrorNotice","noticesStore","isRemovable","isRevertable","revertAndSaveTemplate","allowUndo","type","id","error","errorMessage","message","code","moreVertical","onClose"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAQA;AACA;AACA;AAMe,SAASA,OAAT,OAAiC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AAC/C,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAqC,uBAAaC,YAAb,CAA3C;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA6B,uBAAaC,eAAb,CAAnC;AACA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAA6C,uBAClDC,cADkD,CAAnD;AAIA,QAAMC,WAAW,GAAG,kCAAqBT,QAArB,CAApB;AACA,QAAMU,YAAY,GAAG,mCAAsBV,QAAtB,CAArB;;AAEA,MAAK,CAAES,WAAF,IAAiB,CAAEC,YAAxB,EAAuC;AACtC,WAAO,IAAP;AACA;;AAED,iBAAeC,qBAAf,GAAuC;AACtC,QAAI;AACH,YAAMT,cAAc,CAAEF,QAAF,EAAY;AAAEY,QAAAA,SAAS,EAAE;AAAb,OAAZ,CAApB;AACA,YAAMR,sBAAsB,CAC3B,UAD2B,EAE3BJ,QAAQ,CAACa,IAFkB,EAG3Bb,QAAQ,CAACc,EAHkB,CAA5B;AAMAR,MAAAA,mBAAmB,CAAE,cAAI,oBAAJ,CAAF,EAA8B;AAChDO,QAAAA,IAAI,EAAE;AAD0C,OAA9B,CAAnB;AAGA,KAXD,CAWE,OAAQE,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEG,cAAI,iDAAJ,CAHJ;AAKAV,MAAAA,iBAAiB,CAAES,YAAF,EAAgB;AAAEH,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AACA;AACD;;AAED,SACC,4BAAC,wBAAD;AACC,IAAA,IAAI,EAAGM,mBADR;AAEC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAFT;AAGC,IAAA,SAAS,EAAC;AAHX,KAKG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACD,4BAAC,qBAAD,QACGX,WAAW,IACZ,qDACC,4BAAC,uBAAD;AACC,MAAA,QAAQ,EAAGT,QADZ;AAEC,MAAA,OAAO,EAAGoB;AAFX,MADD,EAKC,4BAAC,oBAAD;AACC,MAAA,aAAa,MADd;AAEC,MAAA,OAAO,EAAG,MAAM;AACfnB,QAAAA,cAAc,CAAED,QAAF,CAAd;AACAoB,QAAAA,OAAO;AACP;AALF,OAOG,cAAI,iBAAJ,CAPH,CALD,CAFF,EAkBGV,YAAY,IACb,4BAAC,oBAAD;AACC,MAAA,IAAI,EAAG,cAAI,mCAAJ,CADR;AAEC,MAAA,OAAO,EAAG,MAAM;AACfC,QAAAA,qBAAqB;AACrBS,QAAAA,OAAO;AACP;AALF,OAOG,cAAI,sBAAJ,CAPH,CAnBF,CADC;AAAA,GALH,CADD;AAwCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport isTemplateRemovable from '../../../utils/is-template-removable';\nimport isTemplateRevertable from '../../../utils/is-template-revertable';\nimport RenameMenuItem from './rename-menu-item';\n\nexport default function Actions( { template } ) {\n\tconst { removeTemplate, revertTemplate } = useDispatch( editSiteStore );\n\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } = useDispatch(\n\t\tnoticesStore\n\t);\n\n\tconst isRemovable = isTemplateRemovable( template );\n\tconst isRevertable = isTemplateRevertable( template );\n\n\tif ( ! isRemovable && ! isRevertable ) {\n\t\treturn null;\n\t}\n\n\tasync function revertAndSaveTemplate() {\n\t\ttry {\n\t\t\tawait revertTemplate( template, { allowUndo: false } );\n\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\ttemplate.type,\n\t\t\t\ttemplate.id\n\t\t\t);\n\n\t\t\tcreateSuccessNotice( __( 'Template reverted.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while reverting the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ __( 'Actions' ) }\n\t\t\tclassName=\"edit-site-list-table__actions\"\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t{ isRemovable && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<RenameMenuItem\n\t\t\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tremoveTemplate( template );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Delete template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isRevertable && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tinfo={ __( 'Restore template to default state' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\trevertAndSaveTemplate();\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Clear customizations' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"]}