@wordpress/block-editor 11.5.0 → 11.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-list/block-invalid-warning.js +63 -80
  3. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  4. package/build/components/block-settings-menu-controls/index.js +1 -1
  5. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  6. package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
  7. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  8. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
  9. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  10. package/build/components/global-styles/border-panel.js +306 -0
  11. package/build/components/global-styles/border-panel.js.map +1 -0
  12. package/build/components/global-styles/hooks.js +57 -3
  13. package/build/components/global-styles/hooks.js.map +1 -1
  14. package/build/components/global-styles/index.js +20 -0
  15. package/build/components/global-styles/index.js.map +1 -1
  16. package/build/components/global-styles/typography-panel.js +62 -15
  17. package/build/components/global-styles/typography-panel.js.map +1 -1
  18. package/build/components/global-styles/use-global-styles-output.js +20 -13
  19. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  20. package/build/components/inserter/index.js +29 -17
  21. package/build/components/inserter/index.js.map +1 -1
  22. package/build/components/inserter/menu.js +1 -1
  23. package/build/components/inserter/menu.js.map +1 -1
  24. package/build/components/inserter/quick-inserter.js +4 -2
  25. package/build/components/inserter/quick-inserter.js.map +1 -1
  26. package/build/components/inserter/search-results.js +10 -3
  27. package/build/components/inserter/search-results.js.map +1 -1
  28. package/build/components/inserter/tabs.js +1 -1
  29. package/build/components/inserter/tabs.js.map +1 -1
  30. package/build/components/link-control/index.js +1 -1
  31. package/build/components/link-control/index.js.map +1 -1
  32. package/build/components/link-control/search-item.js +5 -2
  33. package/build/components/link-control/search-item.js.map +1 -1
  34. package/build/components/list-view/use-block-selection.js +1 -2
  35. package/build/components/list-view/use-block-selection.js.map +1 -1
  36. package/build/components/off-canvas-editor/appender.js +28 -3
  37. package/build/components/off-canvas-editor/appender.js.map +1 -1
  38. package/build/components/off-canvas-editor/branch.js +5 -3
  39. package/build/components/off-canvas-editor/branch.js.map +1 -1
  40. package/build/components/off-canvas-editor/index.js +9 -7
  41. package/build/components/off-canvas-editor/index.js.map +1 -1
  42. package/build/components/off-canvas-editor/link-ui.js +0 -1
  43. package/build/components/off-canvas-editor/link-ui.js.map +1 -1
  44. package/build/components/provider/use-block-sync.js +17 -3
  45. package/build/components/provider/use-block-sync.js.map +1 -1
  46. package/build/components/rich-text/format-toolbar-container.js +0 -3
  47. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  48. package/build/hooks/border.js +91 -240
  49. package/build/hooks/border.js.map +1 -1
  50. package/build/hooks/custom-class-name.js +4 -4
  51. package/build/hooks/custom-class-name.js.map +1 -1
  52. package/build/hooks/custom-class-name.native.js +3 -4
  53. package/build/hooks/custom-class-name.native.js.map +1 -1
  54. package/build/hooks/layout.js +19 -22
  55. package/build/hooks/layout.js.map +1 -1
  56. package/build/hooks/supports.js +7 -1
  57. package/build/hooks/supports.js.map +1 -1
  58. package/build/hooks/typography.js +2 -1
  59. package/build/hooks/typography.js.map +1 -1
  60. package/build/hooks/utils.js +27 -1
  61. package/build/hooks/utils.js.map +1 -1
  62. package/build/layouts/constrained.js +6 -2
  63. package/build/layouts/constrained.js.map +1 -1
  64. package/build/private-apis.js +4 -1
  65. package/build/private-apis.js.map +1 -1
  66. package/build/store/actions.js +10 -8
  67. package/build/store/actions.js.map +1 -1
  68. package/build/store/selectors.js +19 -3
  69. package/build/store/selectors.js.map +1 -1
  70. package/build/utils/parse-css-unit-to-px.js +15 -9
  71. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  72. package/build-module/components/block-list/block-invalid-warning.js +66 -78
  73. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  74. package/build-module/components/block-settings-menu-controls/index.js +1 -1
  75. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  76. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
  77. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  78. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
  79. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  80. package/build-module/components/global-styles/border-panel.js +291 -0
  81. package/build-module/components/global-styles/border-panel.js.map +1 -0
  82. package/build-module/components/global-styles/hooks.js +54 -3
  83. package/build-module/components/global-styles/hooks.js.map +1 -1
  84. package/build-module/components/global-styles/index.js +2 -1
  85. package/build-module/components/global-styles/index.js.map +1 -1
  86. package/build-module/components/global-styles/typography-panel.js +62 -16
  87. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  88. package/build-module/components/global-styles/use-global-styles-output.js +20 -13
  89. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  90. package/build-module/components/inserter/index.js +28 -16
  91. package/build-module/components/inserter/index.js.map +1 -1
  92. package/build-module/components/inserter/menu.js +1 -1
  93. package/build-module/components/inserter/menu.js.map +1 -1
  94. package/build-module/components/inserter/quick-inserter.js +4 -2
  95. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  96. package/build-module/components/inserter/search-results.js +10 -3
  97. package/build-module/components/inserter/search-results.js.map +1 -1
  98. package/build-module/components/inserter/tabs.js +1 -1
  99. package/build-module/components/inserter/tabs.js.map +1 -1
  100. package/build-module/components/link-control/index.js +1 -1
  101. package/build-module/components/link-control/index.js.map +1 -1
  102. package/build-module/components/link-control/search-item.js +4 -2
  103. package/build-module/components/link-control/search-item.js.map +1 -1
  104. package/build-module/components/list-view/use-block-selection.js +1 -2
  105. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  106. package/build-module/components/off-canvas-editor/appender.js +28 -4
  107. package/build-module/components/off-canvas-editor/appender.js.map +1 -1
  108. package/build-module/components/off-canvas-editor/branch.js +5 -3
  109. package/build-module/components/off-canvas-editor/branch.js.map +1 -1
  110. package/build-module/components/off-canvas-editor/index.js +9 -7
  111. package/build-module/components/off-canvas-editor/index.js.map +1 -1
  112. package/build-module/components/off-canvas-editor/link-ui.js +0 -1
  113. package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
  114. package/build-module/components/provider/use-block-sync.js +17 -3
  115. package/build-module/components/provider/use-block-sync.js.map +1 -1
  116. package/build-module/components/rich-text/format-toolbar-container.js +0 -3
  117. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  118. package/build-module/hooks/border.js +93 -240
  119. package/build-module/hooks/border.js.map +1 -1
  120. package/build-module/hooks/custom-class-name.js +4 -4
  121. package/build-module/hooks/custom-class-name.js.map +1 -1
  122. package/build-module/hooks/custom-class-name.native.js +3 -4
  123. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  124. package/build-module/hooks/layout.js +19 -22
  125. package/build-module/hooks/layout.js.map +1 -1
  126. package/build-module/hooks/supports.js +7 -1
  127. package/build-module/hooks/supports.js.map +1 -1
  128. package/build-module/hooks/typography.js +2 -1
  129. package/build-module/hooks/typography.js.map +1 -1
  130. package/build-module/hooks/utils.js +27 -1
  131. package/build-module/hooks/utils.js.map +1 -1
  132. package/build-module/layouts/constrained.js +6 -2
  133. package/build-module/layouts/constrained.js.map +1 -1
  134. package/build-module/private-apis.js +3 -1
  135. package/build-module/private-apis.js.map +1 -1
  136. package/build-module/store/actions.js +10 -8
  137. package/build-module/store/actions.js.map +1 -1
  138. package/build-module/store/selectors.js +17 -3
  139. package/build-module/store/selectors.js.map +1 -1
  140. package/build-module/utils/parse-css-unit-to-px.js +15 -9
  141. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  142. package/build-style/style-rtl.css +6 -6
  143. package/build-style/style.css +6 -6
  144. package/package.json +31 -31
  145. package/src/components/block-inspector/style.scss +3 -0
  146. package/src/components/block-list/block-invalid-warning.js +72 -64
  147. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +20 -2
  148. package/src/components/block-preview/test/index.js +0 -2
  149. package/src/components/block-settings-menu-controls/index.js +2 -1
  150. package/src/components/block-styles/style.scss +2 -2
  151. package/src/components/block-switcher/block-transformations-menu.native.js +1 -0
  152. package/src/components/color-palette/test/__snapshots__/control.js.snap +16 -14
  153. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +48 -38
  154. package/src/components/global-styles/border-panel.js +285 -0
  155. package/src/components/global-styles/hooks.js +74 -1
  156. package/src/components/global-styles/index.js +2 -0
  157. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  158. package/src/components/global-styles/typography-panel.js +48 -1
  159. package/src/components/global-styles/use-global-styles-output.js +13 -13
  160. package/src/components/inserter/index.js +30 -11
  161. package/src/components/inserter/menu.js +0 -1
  162. package/src/components/inserter/quick-inserter.js +2 -0
  163. package/src/components/inserter/search-results.js +7 -1
  164. package/src/components/inserter/style.scss +3 -0
  165. package/src/components/inserter/tabs.js +1 -9
  166. package/src/components/link-control/index.js +1 -1
  167. package/src/components/link-control/search-item.js +3 -1
  168. package/src/components/link-control/style.scss +0 -4
  169. package/src/components/link-control/test/index.js +0 -2
  170. package/src/components/list-view/use-block-selection.js +0 -2
  171. package/src/components/off-canvas-editor/appender.js +31 -5
  172. package/src/components/off-canvas-editor/branch.js +3 -1
  173. package/src/components/off-canvas-editor/index.js +7 -7
  174. package/src/components/off-canvas-editor/link-ui.js +0 -1
  175. package/src/components/provider/use-block-sync.js +21 -4
  176. package/src/components/rich-text/format-toolbar-container.js +1 -7
  177. package/src/components/url-popover/test/index.js +0 -2
  178. package/src/hooks/border.js +94 -225
  179. package/src/hooks/custom-class-name.js +4 -4
  180. package/src/hooks/custom-class-name.native.js +3 -4
  181. package/src/hooks/layout.js +19 -16
  182. package/src/hooks/supports.js +6 -0
  183. package/src/hooks/test/style.js +2 -1
  184. package/src/hooks/test/use-typography-props.js +2 -0
  185. package/src/hooks/typography.js +2 -0
  186. package/src/hooks/utils.js +36 -0
  187. package/src/layouts/constrained.js +23 -17
  188. package/src/private-apis.js +2 -0
  189. package/src/store/actions.js +10 -8
  190. package/src/store/selectors.js +20 -3
  191. package/src/utils/parse-css-unit-to-px.js +14 -9
  192. package/src/utils/test/parse-css-unit-to-px.js +1 -2
  193. package/tsconfig.tsbuildinfo +1 -1
  194. package/build/hooks/border-radius.js +0 -100
  195. package/build/hooks/border-radius.js.map +0 -1
  196. package/build-module/hooks/border-radius.js +0 -84
  197. package/build-module/hooks/border-radius.js.map +0 -1
  198. package/src/hooks/border-radius.js +0 -70
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { FontSizePicker, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
6
+ import { FontSizePicker, __experimentalNumberControl as NumberControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
7
7
  import { __ } from '@wordpress/i18n';
8
8
  import { useCallback } from '@wordpress/element';
9
9
  /**
@@ -17,6 +17,8 @@ import LetterSpacingControl from '../letter-spacing-control';
17
17
  import TextTransformControl from '../text-transform-control';
18
18
  import TextDecorationControl from '../text-decoration-control';
19
19
  import { getValueFromVariable } from './utils';
20
+ const MIN_TEXT_COLUMNS = 1;
21
+ const MAX_TEXT_COLUMNS = 6;
20
22
  export function useHasTypographyPanel(settings) {
21
23
  const hasFontFamily = useHasFontFamilyControl(settings);
22
24
  const hasLineHeight = useHasLineHeightControl(settings);
@@ -24,8 +26,9 @@ export function useHasTypographyPanel(settings) {
24
26
  const hasLetterSpacing = useHasLetterSpacingControl(settings);
25
27
  const hasTextTransform = useHasTextTransformControl(settings);
26
28
  const hasTextDecoration = useHasTextDecorationControl(settings);
29
+ const hasTextColumns = useHasTextColumnsControl(settings);
27
30
  const hasFontSize = useHasFontSizeControl(settings);
28
- return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration;
31
+ return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasTextColumns;
29
32
  }
30
33
 
31
34
  function useHasFontSizeControl(settings) {
@@ -94,6 +97,12 @@ function useHasTextDecorationControl(settings) {
94
97
  return settings === null || settings === void 0 ? void 0 : (_settings$typography11 = settings.typography) === null || _settings$typography11 === void 0 ? void 0 : _settings$typography11.textDecoration;
95
98
  }
96
99
 
100
+ function useHasTextColumnsControl(settings) {
101
+ var _settings$typography12;
102
+
103
+ return settings === null || settings === void 0 ? void 0 : (_settings$typography12 = settings.typography) === null || _settings$typography12 === void 0 ? void 0 : _settings$typography12.textColumns;
104
+ }
105
+
97
106
  function TypographyToolsPanel(_ref3) {
98
107
  let {
99
108
  resetAllFilter,
@@ -122,10 +131,11 @@ const DEFAULT_CONTROLS = {
122
131
  lineHeight: true,
123
132
  letterSpacing: true,
124
133
  textTransform: true,
125
- textDecoration: true
134
+ textDecoration: true,
135
+ textColumns: true
126
136
  };
127
137
  export default function TypographyPanel(_ref4) {
128
- var _settings$typography12, _ref5, _fontFamiliesPerOrigi2, _inheritedValue$typog, _settings$typography13, _settings$typography$2, _settings$typography14, _ref7, _fontSizesPerOrigin$c2, _inheritedValue$typog2, _settings$typography15, _settings$typography16, _inheritedValue$typog3, _inheritedValue$typog4, _inheritedValue$typog5, _inheritedValue$typog6, _inheritedValue$typog7, _inheritedValue$typog8;
138
+ var _settings$typography13, _ref5, _fontFamiliesPerOrigi2, _inheritedValue$typog, _settings$typography14, _settings$typography$2, _settings$typography15, _ref7, _fontSizesPerOrigin$c2, _inheritedValue$typog2, _settings$typography16, _settings$typography17, _inheritedValue$typog3, _inheritedValue$typog4, _inheritedValue$typog5, _inheritedValue$typog6, _inheritedValue$typog7, _inheritedValue$typog8, _inheritedValue$typog9;
129
139
 
130
140
  let {
131
141
  as: Wrapper = TypographyToolsPanel,
@@ -143,7 +153,7 @@ export default function TypographyPanel(_ref4) {
143
153
 
144
154
 
145
155
  const hasFontFamilyEnabled = useHasFontFamilyControl(settings);
146
- const fontFamiliesPerOrigin = settings === null || settings === void 0 ? void 0 : (_settings$typography12 = settings.typography) === null || _settings$typography12 === void 0 ? void 0 : _settings$typography12.fontFamilies;
156
+ const fontFamiliesPerOrigin = settings === null || settings === void 0 ? void 0 : (_settings$typography13 = settings.typography) === null || _settings$typography13 === void 0 ? void 0 : _settings$typography13.fontFamilies;
147
157
  const fontFamilies = (_ref5 = (_fontFamiliesPerOrigi2 = fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.custom) !== null && _fontFamiliesPerOrigi2 !== void 0 ? _fontFamiliesPerOrigi2 : fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.theme) !== null && _ref5 !== void 0 ? _ref5 : fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.default;
148
158
  const fontFamily = decodeValue(inheritedValue === null || inheritedValue === void 0 ? void 0 : (_inheritedValue$typog = inheritedValue.typography) === null || _inheritedValue$typog === void 0 ? void 0 : _inheritedValue$typog.fontFamily);
149
159
 
@@ -173,8 +183,8 @@ export default function TypographyPanel(_ref4) {
173
183
 
174
184
 
175
185
  const hasFontSizeEnabled = useHasFontSizeControl(settings);
176
- const disableCustomFontSizes = !(settings !== null && settings !== void 0 && (_settings$typography13 = settings.typography) !== null && _settings$typography13 !== void 0 && _settings$typography13.customFontSize);
177
- const fontSizesPerOrigin = (_settings$typography$2 = settings === null || settings === void 0 ? void 0 : (_settings$typography14 = settings.typography) === null || _settings$typography14 === void 0 ? void 0 : _settings$typography14.fontSizes) !== null && _settings$typography$2 !== void 0 ? _settings$typography$2 : {};
186
+ const disableCustomFontSizes = !(settings !== null && settings !== void 0 && (_settings$typography14 = settings.typography) !== null && _settings$typography14 !== void 0 && _settings$typography14.customFontSize);
187
+ const fontSizesPerOrigin = (_settings$typography$2 = settings === null || settings === void 0 ? void 0 : (_settings$typography15 = settings.typography) === null || _settings$typography15 === void 0 ? void 0 : _settings$typography15.fontSizes) !== null && _settings$typography$2 !== void 0 ? _settings$typography$2 : {};
178
188
  const fontSizes = (_ref7 = (_fontSizesPerOrigin$c2 = fontSizesPerOrigin === null || fontSizesPerOrigin === void 0 ? void 0 : fontSizesPerOrigin.custom) !== null && _fontSizesPerOrigin$c2 !== void 0 ? _fontSizesPerOrigin$c2 : fontSizesPerOrigin === null || fontSizesPerOrigin === void 0 ? void 0 : fontSizesPerOrigin.theme) !== null && _ref7 !== void 0 ? _ref7 : fontSizesPerOrigin.default;
179
189
  const fontSize = decodeValue(inheritedValue === null || inheritedValue === void 0 ? void 0 : (_inheritedValue$typog2 = inheritedValue.typography) === null || _inheritedValue$typog2 === void 0 ? void 0 : _inheritedValue$typog2.fontSize);
180
190
 
@@ -198,8 +208,8 @@ export default function TypographyPanel(_ref4) {
198
208
 
199
209
  const hasAppearanceControl = useHasAppearanceControl(settings);
200
210
  const appearanceControlLabel = useAppearanceControlLabel(settings);
201
- const hasFontStyles = settings === null || settings === void 0 ? void 0 : (_settings$typography15 = settings.typography) === null || _settings$typography15 === void 0 ? void 0 : _settings$typography15.fontStyle;
202
- const hasFontWeights = settings === null || settings === void 0 ? void 0 : (_settings$typography16 = settings.typography) === null || _settings$typography16 === void 0 ? void 0 : _settings$typography16.fontWeight;
211
+ const hasFontStyles = settings === null || settings === void 0 ? void 0 : (_settings$typography16 = settings.typography) === null || _settings$typography16 === void 0 ? void 0 : _settings$typography16.fontStyle;
212
+ const hasFontWeights = settings === null || settings === void 0 ? void 0 : (_settings$typography17 = settings.typography) === null || _settings$typography17 === void 0 ? void 0 : _settings$typography17.fontWeight;
203
213
  const fontStyle = decodeValue(inheritedValue === null || inheritedValue === void 0 ? void 0 : (_inheritedValue$typog3 = inheritedValue.typography) === null || _inheritedValue$typog3 === void 0 ? void 0 : _inheritedValue$typog3.fontStyle);
204
214
  const fontWeight = decodeValue(inheritedValue === null || inheritedValue === void 0 ? void 0 : (_inheritedValue$typog4 = inheritedValue.typography) === null || _inheritedValue$typog4 === void 0 ? void 0 : _inheritedValue$typog4.fontWeight);
205
215
 
@@ -264,11 +274,31 @@ export default function TypographyPanel(_ref4) {
264
274
  return !!(value !== null && value !== void 0 && (_value$typography6 = value.typography) !== null && _value$typography6 !== void 0 && _value$typography6.letterSpacing);
265
275
  };
266
276
 
267
- const resetLetterSpacing = () => setLetterSpacing(undefined); // Text Transform
277
+ const resetLetterSpacing = () => setLetterSpacing(undefined); // Text Columns
278
+
279
+
280
+ const hasTextColumnsControl = useHasTextColumnsControl(settings);
281
+ const textColumns = decodeValue(inheritedValue === null || inheritedValue === void 0 ? void 0 : (_inheritedValue$typog7 = inheritedValue.typography) === null || _inheritedValue$typog7 === void 0 ? void 0 : _inheritedValue$typog7.textColumns);
282
+
283
+ const setTextColumns = newValue => {
284
+ onChange({ ...value,
285
+ typography: { ...(value === null || value === void 0 ? void 0 : value.typography),
286
+ textColumns: newValue
287
+ }
288
+ });
289
+ };
290
+
291
+ const hasTextColumns = () => {
292
+ var _value$typography7;
293
+
294
+ return !!(value !== null && value !== void 0 && (_value$typography7 = value.typography) !== null && _value$typography7 !== void 0 && _value$typography7.textColumns);
295
+ };
296
+
297
+ const resetTextColumns = () => setTextColumns(undefined); // Text Transform
268
298
 
269
299
 
270
300
  const hasTextTransformControl = useHasTextTransformControl(settings);
271
- const textTransform = decodeValue(inheritedValue === null || inheritedValue === void 0 ? void 0 : (_inheritedValue$typog7 = inheritedValue.typography) === null || _inheritedValue$typog7 === void 0 ? void 0 : _inheritedValue$typog7.textTransform);
301
+ const textTransform = decodeValue(inheritedValue === null || inheritedValue === void 0 ? void 0 : (_inheritedValue$typog8 = inheritedValue.typography) === null || _inheritedValue$typog8 === void 0 ? void 0 : _inheritedValue$typog8.textTransform);
272
302
 
273
303
  const setTextTransform = newValue => {
274
304
  onChange({ ...value,
@@ -279,16 +309,16 @@ export default function TypographyPanel(_ref4) {
279
309
  };
280
310
 
281
311
  const hasTextTransform = () => {
282
- var _value$typography7;
312
+ var _value$typography8;
283
313
 
284
- return !!(value !== null && value !== void 0 && (_value$typography7 = value.typography) !== null && _value$typography7 !== void 0 && _value$typography7.textTransform);
314
+ return !!(value !== null && value !== void 0 && (_value$typography8 = value.typography) !== null && _value$typography8 !== void 0 && _value$typography8.textTransform);
285
315
  };
286
316
 
287
317
  const resetTextTransform = () => setTextTransform(undefined); // Text Decoration
288
318
 
289
319
 
290
320
  const hasTextDecorationControl = useHasTextDecorationControl(settings);
291
- const textDecoration = decodeValue(inheritedValue === null || inheritedValue === void 0 ? void 0 : (_inheritedValue$typog8 = inheritedValue.typography) === null || _inheritedValue$typog8 === void 0 ? void 0 : _inheritedValue$typog8.textDecoration);
321
+ const textDecoration = decodeValue(inheritedValue === null || inheritedValue === void 0 ? void 0 : (_inheritedValue$typog9 = inheritedValue.typography) === null || _inheritedValue$typog9 === void 0 ? void 0 : _inheritedValue$typog9.textDecoration);
292
322
 
293
323
  const setTextDecoration = newValue => {
294
324
  onChange({ ...value,
@@ -299,9 +329,9 @@ export default function TypographyPanel(_ref4) {
299
329
  };
300
330
 
301
331
  const hasTextDecoration = () => {
302
- var _value$typography8;
332
+ var _value$typography9;
303
333
 
304
- return !!(value !== null && value !== void 0 && (_value$typography8 = value.typography) !== null && _value$typography8 !== void 0 && _value$typography8.textDecoration);
334
+ return !!(value !== null && value !== void 0 && (_value$typography9 = value.typography) !== null && _value$typography9 !== void 0 && _value$typography9.textDecoration);
305
335
  };
306
336
 
307
337
  const resetTextDecoration = () => setTextDecoration(undefined);
@@ -385,6 +415,22 @@ export default function TypographyPanel(_ref4) {
385
415
  onChange: setLetterSpacing,
386
416
  size: "__unstable-large",
387
417
  __unstableInputWidth: "auto"
418
+ })), hasTextColumnsControl && createElement(ToolsPanelItem, {
419
+ className: "single-column",
420
+ label: __('Text columns'),
421
+ hasValue: hasTextColumns,
422
+ onDeselect: resetTextColumns,
423
+ isShownByDefault: defaultControls.textColumns,
424
+ panelId: panelId
425
+ }, createElement(NumberControl, {
426
+ label: __('Text columns'),
427
+ max: MAX_TEXT_COLUMNS,
428
+ min: MIN_TEXT_COLUMNS,
429
+ onChange: setTextColumns,
430
+ size: "__unstable-large",
431
+ spinControls: "custom",
432
+ value: textColumns,
433
+ initialPosition: 1
388
434
  })), hasTextDecorationControl && createElement(ToolsPanelItem, {
389
435
  className: "single-column",
390
436
  label: __('Text decoration'),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["FontSizePicker","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","getValueFromVariable","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","slug","find","f","resetFontFamily","undefined","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","previousValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport { getValueFromVariable } from './utils';\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontFamily: slug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontSize: actualValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle,\n\t\t\t\tfontWeight: newFontWeight,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tlineHeight: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasLineHeight = () => !! value?.typography?.lineHeight;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tletterSpacing: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\ttextTransform: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\ttextDecoration: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["FontSizePicker","__experimentalNumberControl","NumberControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","getValueFromVariable","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","textColumns","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","slug","find","f","resetFontFamily","undefined","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","previousValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport { getValueFromVariable } from './utils';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontFamily: slug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontSize: actualValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle,\n\t\t\t\tfontWeight: newFontWeight,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tlineHeight: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasLineHeight = () => !! value?.typography?.lineHeight;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tletterSpacing: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\ttextColumns: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\ttextTransform: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\ttextDecoration: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"]}
@@ -84,13 +84,14 @@ function getPresetsDeclarations() {
84
84
  /**
85
85
  * Transform given preset tree into a set of preset class declarations.
86
86
  *
87
- * @param {string} blockSelector
88
- * @param {Object} blockPresets
87
+ * @param {?string} blockSelector
88
+ * @param {Object} blockPresets
89
89
  * @return {string} CSS declarations for the preset classes.
90
90
  */
91
91
 
92
92
 
93
- function getPresetsClasses(blockSelector) {
93
+ function getPresetsClasses() {
94
+ let blockSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '*';
94
95
  let blockPresets = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
95
96
  return PRESET_METADATA.reduce((declarations, _ref2) => {
96
97
  let {
@@ -357,7 +358,7 @@ export function getLayoutStyles(_ref6) {
357
358
  // For fallback gap styles, use lower specificity, to ensure styles do not unintentionally override theme styles.
358
359
  combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `:where(.${className}${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''})` : `:where(${selector}.${className}${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''})`;
359
360
  } else {
360
- combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `${selector} .${className}${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''}` : `${selector}.${className}${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''}`;
361
+ combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `${selector} .${className}${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''}` : `${selector}-${className}${selector}-${className}${(spacingStyle === null || spacingStyle === void 0 ? void 0 : spacingStyle.selector) || ''}`;
361
362
  }
362
363
 
363
364
  ruleset += `${combinedSelector} { ${declarations.join('; ')}; }`;
@@ -432,15 +433,15 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
432
433
  }
433
434
 
434
435
  Object.entries(ELEMENTS).forEach(_ref12 => {
435
- var _tree$styles;
436
+ var _tree$styles, _tree$styles$elements;
436
437
 
437
438
  let [name, selector] = _ref12;
438
439
 
439
- if (!!((_tree$styles = tree.styles) !== null && _tree$styles !== void 0 && _tree$styles.elements[name])) {
440
- var _tree$styles2;
440
+ if (!!((_tree$styles = tree.styles) !== null && _tree$styles !== void 0 && (_tree$styles$elements = _tree$styles.elements) !== null && _tree$styles$elements !== void 0 && _tree$styles$elements[name])) {
441
+ var _tree$styles2, _tree$styles2$element;
441
442
 
442
443
  nodes.push({
443
- styles: (_tree$styles2 = tree.styles) === null || _tree$styles2 === void 0 ? void 0 : _tree$styles2.elements[name],
444
+ styles: (_tree$styles2 = tree.styles) === null || _tree$styles2 === void 0 ? void 0 : (_tree$styles2$element = _tree$styles2.elements) === null || _tree$styles2$element === void 0 ? void 0 : _tree$styles2$element[name],
444
445
  selector
445
446
  });
446
447
  }
@@ -461,11 +462,13 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
461
462
  }
462
463
 
463
464
  if (!!blockStyles && !!(blockSelectors !== null && blockSelectors !== void 0 && (_blockSelectors$block = blockSelectors[blockName]) !== null && _blockSelectors$block !== void 0 && _blockSelectors$block.selector)) {
465
+ var _blockSelectors$block2;
466
+
464
467
  nodes.push({
465
468
  duotoneSelector: blockSelectors[blockName].duotoneSelector,
466
469
  fallbackGapValue: blockSelectors[blockName].fallbackGapValue,
467
470
  hasLayoutSupport: blockSelectors[blockName].hasLayoutSupport,
468
- selector: blockSelectors[blockName].selector,
471
+ selector: (_blockSelectors$block2 = blockSelectors[blockName]) === null || _blockSelectors$block2 === void 0 ? void 0 : _blockSelectors$block2.selector,
469
472
  styles: blockStyles,
470
473
  featureSelectors: blockSelectors[blockName].featureSelectors,
471
474
  styleVariationSelectors: blockSelectors[blockName].styleVariationSelectors
@@ -476,9 +479,11 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
476
479
  let [elementName, value] = _ref14;
477
480
 
478
481
  if (!!value && !!(blockSelectors !== null && blockSelectors !== void 0 && blockSelectors[blockName]) && !!(ELEMENTS !== null && ELEMENTS !== void 0 && ELEMENTS[elementName])) {
482
+ var _blockSelectors$block3;
483
+
479
484
  nodes.push({
480
485
  styles: value,
481
- selector: blockSelectors[blockName].selector.split(',').map(sel => {
486
+ selector: (_blockSelectors$block3 = blockSelectors[blockName]) === null || _blockSelectors$block3 === void 0 ? void 0 : _blockSelectors$block3.selector.split(',').map(sel => {
482
487
  const elementSelectors = ELEMENTS[elementName].split(',');
483
488
  return elementSelectors.map(elementSelector => sel + ' ' + elementSelector);
484
489
  }).join(',')
@@ -531,10 +536,12 @@ export const getNodesWithSettings = (tree, blockSelectors) => {
531
536
  const blockCustom = node.custom;
532
537
 
533
538
  if (!isEmpty(blockPresets) || !!blockCustom) {
539
+ var _blockSelectors$block4;
540
+
534
541
  nodes.push({
535
542
  presets: blockPresets,
536
543
  custom: blockCustom,
537
- selector: blockSelectors[blockName].selector
544
+ selector: (_blockSelectors$block4 = blockSelectors[blockName]) === null || _blockSelectors$block4 === void 0 ? void 0 : _blockSelectors$block4.selector
538
545
  });
539
546
  }
540
547
  });
@@ -838,9 +845,9 @@ export const getBlockSelectors = (blockTypes, getBlockStyles) => {
838
845
  */
839
846
 
840
847
  function updateConfigWithSeparator(config) {
841
- var _config$styles, _config$styles2, _config$styles2$block, _config$styles3, _config$styles3$block, _config$styles4, _config$styles4$block;
848
+ var _config$styles, _config$styles$blocks, _config$styles2, _config$styles2$block, _config$styles2$block2, _config$styles3, _config$styles3$block, _config$styles3$block2, _config$styles4, _config$styles4$block, _config$styles4$block2;
842
849
 
843
- const needsSeparatorStyleUpdate = ((_config$styles = config.styles) === null || _config$styles === void 0 ? void 0 : _config$styles.blocks['core/separator']) && ((_config$styles2 = config.styles) === null || _config$styles2 === void 0 ? void 0 : (_config$styles2$block = _config$styles2.blocks['core/separator'].color) === null || _config$styles2$block === void 0 ? void 0 : _config$styles2$block.background) && !((_config$styles3 = config.styles) !== null && _config$styles3 !== void 0 && (_config$styles3$block = _config$styles3.blocks['core/separator'].color) !== null && _config$styles3$block !== void 0 && _config$styles3$block.text) && !((_config$styles4 = config.styles) !== null && _config$styles4 !== void 0 && (_config$styles4$block = _config$styles4.blocks['core/separator'].border) !== null && _config$styles4$block !== void 0 && _config$styles4$block.color);
850
+ const needsSeparatorStyleUpdate = ((_config$styles = config.styles) === null || _config$styles === void 0 ? void 0 : (_config$styles$blocks = _config$styles.blocks) === null || _config$styles$blocks === void 0 ? void 0 : _config$styles$blocks['core/separator']) && ((_config$styles2 = config.styles) === null || _config$styles2 === void 0 ? void 0 : (_config$styles2$block = _config$styles2.blocks) === null || _config$styles2$block === void 0 ? void 0 : (_config$styles2$block2 = _config$styles2$block['core/separator'].color) === null || _config$styles2$block2 === void 0 ? void 0 : _config$styles2$block2.background) && !((_config$styles3 = config.styles) !== null && _config$styles3 !== void 0 && (_config$styles3$block = _config$styles3.blocks) !== null && _config$styles3$block !== void 0 && (_config$styles3$block2 = _config$styles3$block['core/separator'].color) !== null && _config$styles3$block2 !== void 0 && _config$styles3$block2.text) && !((_config$styles4 = config.styles) !== null && _config$styles4 !== void 0 && (_config$styles4$block = _config$styles4.blocks) !== null && _config$styles4$block !== void 0 && (_config$styles4$block2 = _config$styles4$block['core/separator'].border) !== null && _config$styles4$block2 !== void 0 && _config$styles4$block2.color);
844
851
 
845
852
  if (needsSeparatorStyleUpdate) {
846
853
  var _config$styles5;