@wordpress/block-editor 11.3.2 → 11.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +4 -4
  3. package/build/components/block-actions/index.js +2 -7
  4. package/build/components/block-actions/index.js.map +1 -1
  5. package/build/components/block-alignment-control/use-available-alignments.js +5 -3
  6. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  7. package/build/components/block-popover/inbetween.js +10 -33
  8. package/build/components/block-popover/inbetween.js.map +1 -1
  9. package/build/components/block-tools/selected-block-popover.js +2 -2
  10. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  11. package/build/components/block-types-list/index.native.js +2 -0
  12. package/build/components/block-types-list/index.native.js.map +1 -1
  13. package/build/components/colors-gradients/control.js +6 -3
  14. package/build/components/colors-gradients/control.js.map +1 -1
  15. package/build/components/font-appearance-control/index.js +0 -3
  16. package/build/components/font-appearance-control/index.js.map +1 -1
  17. package/build/components/global-styles/hooks.js +106 -45
  18. package/build/components/global-styles/hooks.js.map +1 -1
  19. package/build/components/global-styles/index.js +24 -0
  20. package/build/components/global-styles/index.js.map +1 -1
  21. package/build/components/global-styles/typography-panel.js +421 -0
  22. package/build/components/global-styles/typography-panel.js.map +1 -0
  23. package/build/components/global-styles/use-global-styles-output.js +6 -2
  24. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  25. package/build/components/iframe/index.js +17 -11
  26. package/build/components/iframe/index.js.map +1 -1
  27. package/build/components/image-editor/aspect-ratio-dropdown.js +2 -1
  28. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  29. package/build/components/image-size-control/index.js +6 -11
  30. package/build/components/image-size-control/index.js.map +1 -1
  31. package/build/components/inserter/block-patterns-tab.js +9 -15
  32. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  33. package/build/components/inserter/block-types-tab.native.js +4 -1
  34. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  35. package/build/components/inserter/reusable-blocks-tab.native.js +4 -1
  36. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  37. package/build/components/inserter/search-results.native.js +4 -1
  38. package/build/components/inserter/search-results.native.js.map +1 -1
  39. package/build/components/link-control/index.js +15 -15
  40. package/build/components/link-control/index.js.map +1 -1
  41. package/build/components/link-control/settings-drawer.js +72 -30
  42. package/build/components/link-control/settings-drawer.js.map +1 -1
  43. package/build/components/link-control/settings.js +52 -0
  44. package/build/components/link-control/settings.js.map +1 -0
  45. package/build/components/list-view/index.js +6 -1
  46. package/build/components/list-view/index.js.map +1 -1
  47. package/build/components/off-canvas-editor/block-contents.js +5 -4
  48. package/build/components/off-canvas-editor/block-contents.js.map +1 -1
  49. package/build/components/off-canvas-editor/leaf-more-menu.js +116 -0
  50. package/build/components/off-canvas-editor/leaf-more-menu.js.map +1 -0
  51. package/build/components/off-canvas-editor/link-ui.js +1 -0
  52. package/build/components/off-canvas-editor/link-ui.js.map +1 -1
  53. package/build/components/provider/index.js +2 -2
  54. package/build/components/provider/index.js.map +1 -1
  55. package/build/components/rich-text/index.js +0 -2
  56. package/build/components/rich-text/index.js.map +1 -1
  57. package/build/components/url-input/index.js +2 -2
  58. package/build/components/url-input/index.js.map +1 -1
  59. package/build/components/url-popover/index.js +6 -1
  60. package/build/components/url-popover/index.js.map +1 -1
  61. package/build/hooks/dimensions.js +8 -2
  62. package/build/hooks/dimensions.js.map +1 -1
  63. package/build/hooks/font-family.js +2 -76
  64. package/build/hooks/font-family.js.map +1 -1
  65. package/build/hooks/font-size.js +3 -51
  66. package/build/hooks/font-size.js.map +1 -1
  67. package/build/hooks/gap.js +2 -1
  68. package/build/hooks/gap.js.map +1 -1
  69. package/build/hooks/index.js +2 -0
  70. package/build/hooks/index.js.map +1 -1
  71. package/build/hooks/line-height.js +0 -42
  72. package/build/hooks/line-height.js.map +1 -1
  73. package/build/hooks/metadata.js +6 -0
  74. package/build/hooks/metadata.js.map +1 -1
  75. package/build/hooks/position.js +6 -1
  76. package/build/hooks/position.js.map +1 -1
  77. package/build/hooks/typography.js +112 -127
  78. package/build/hooks/typography.js.map +1 -1
  79. package/build/index.js +6 -6
  80. package/build/index.js.map +1 -1
  81. package/build/layouts/flow.js +23 -2
  82. package/build/layouts/flow.js.map +1 -1
  83. package/build/lock-unlock.js +19 -0
  84. package/build/lock-unlock.js.map +1 -0
  85. package/build/{experiments.js → private-apis.js} +12 -19
  86. package/build/private-apis.js.map +1 -0
  87. package/build/{experiments.native.js → private-apis.native.js} +9 -19
  88. package/build/private-apis.native.js.map +1 -0
  89. package/build/store/index.js +3 -3
  90. package/build/store/index.js.map +1 -1
  91. package/build/store/selectors.js +18 -1
  92. package/build/store/selectors.js.map +1 -1
  93. package/build-module/components/block-actions/index.js +2 -7
  94. package/build-module/components/block-actions/index.js.map +1 -1
  95. package/build-module/components/block-alignment-control/use-available-alignments.js +5 -3
  96. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  97. package/build-module/components/block-popover/inbetween.js +10 -33
  98. package/build-module/components/block-popover/inbetween.js.map +1 -1
  99. package/build-module/components/block-tools/selected-block-popover.js +1 -1
  100. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  101. package/build-module/components/block-types-list/index.native.js +2 -0
  102. package/build-module/components/block-types-list/index.native.js.map +1 -1
  103. package/build-module/components/colors-gradients/control.js +6 -3
  104. package/build-module/components/colors-gradients/control.js.map +1 -1
  105. package/build-module/components/font-appearance-control/index.js +2 -1
  106. package/build-module/components/font-appearance-control/index.js.map +1 -1
  107. package/build-module/components/global-styles/hooks.js +100 -46
  108. package/build-module/components/global-styles/hooks.js.map +1 -1
  109. package/build-module/components/global-styles/index.js +2 -1
  110. package/build-module/components/global-styles/index.js.map +1 -1
  111. package/build-module/components/global-styles/typography-panel.js +400 -0
  112. package/build-module/components/global-styles/typography-panel.js.map +1 -0
  113. package/build-module/components/global-styles/use-global-styles-output.js +6 -2
  114. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  115. package/build-module/components/iframe/index.js +17 -11
  116. package/build-module/components/iframe/index.js.map +1 -1
  117. package/build-module/components/image-editor/aspect-ratio-dropdown.js +2 -1
  118. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  119. package/build-module/components/image-size-control/index.js +7 -12
  120. package/build-module/components/image-size-control/index.js.map +1 -1
  121. package/build-module/components/inserter/block-patterns-tab.js +9 -15
  122. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  123. package/build-module/components/inserter/block-types-tab.native.js +3 -1
  124. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  125. package/build-module/components/inserter/reusable-blocks-tab.native.js +3 -1
  126. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  127. package/build-module/components/inserter/search-results.native.js +3 -1
  128. package/build-module/components/inserter/search-results.native.js.map +1 -1
  129. package/build-module/components/link-control/index.js +16 -16
  130. package/build-module/components/link-control/index.js.map +1 -1
  131. package/build-module/components/link-control/settings-drawer.js +68 -30
  132. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  133. package/build-module/components/link-control/settings.js +43 -0
  134. package/build-module/components/link-control/settings.js.map +1 -0
  135. package/build-module/components/list-view/index.js +6 -1
  136. package/build-module/components/list-view/index.js.map +1 -1
  137. package/build-module/components/off-canvas-editor/block-contents.js +4 -3
  138. package/build-module/components/off-canvas-editor/block-contents.js.map +1 -1
  139. package/build-module/components/off-canvas-editor/leaf-more-menu.js +99 -0
  140. package/build-module/components/off-canvas-editor/leaf-more-menu.js.map +1 -0
  141. package/build-module/components/off-canvas-editor/link-ui.js +1 -0
  142. package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
  143. package/build-module/components/provider/index.js +1 -1
  144. package/build-module/components/provider/index.js.map +1 -1
  145. package/build-module/components/rich-text/index.js +0 -2
  146. package/build-module/components/rich-text/index.js.map +1 -1
  147. package/build-module/components/url-input/index.js +2 -2
  148. package/build-module/components/url-input/index.js.map +1 -1
  149. package/build-module/components/url-popover/index.js +6 -2
  150. package/build-module/components/url-popover/index.js.map +1 -1
  151. package/build-module/hooks/dimensions.js +7 -1
  152. package/build-module/hooks/dimensions.js.map +1 -1
  153. package/build-module/hooks/font-family.js +3 -69
  154. package/build-module/hooks/font-family.js.map +1 -1
  155. package/build-module/hooks/font-size.js +6 -47
  156. package/build-module/hooks/font-size.js.map +1 -1
  157. package/build-module/hooks/gap.js +3 -2
  158. package/build-module/hooks/gap.js.map +1 -1
  159. package/build-module/hooks/index.js +1 -0
  160. package/build-module/hooks/index.js.map +1 -1
  161. package/build-module/hooks/line-height.js +0 -38
  162. package/build-module/hooks/line-height.js.map +1 -1
  163. package/build-module/hooks/metadata.js +6 -0
  164. package/build-module/hooks/metadata.js.map +1 -1
  165. package/build-module/hooks/position.js +5 -1
  166. package/build-module/hooks/position.js.map +1 -1
  167. package/build-module/hooks/typography.js +110 -123
  168. package/build-module/hooks/typography.js.map +1 -1
  169. package/build-module/index.js +1 -1
  170. package/build-module/index.js.map +1 -1
  171. package/build-module/layouts/flow.js +23 -2
  172. package/build-module/layouts/flow.js.map +1 -1
  173. package/build-module/lock-unlock.js +9 -0
  174. package/build-module/lock-unlock.js.map +1 -0
  175. package/build-module/private-apis.js +19 -0
  176. package/build-module/private-apis.js.map +1 -0
  177. package/build-module/private-apis.native.js +15 -0
  178. package/build-module/private-apis.native.js.map +1 -0
  179. package/build-module/store/index.js +1 -1
  180. package/build-module/store/index.js.map +1 -1
  181. package/build-module/store/selectors.js +18 -1
  182. package/build-module/store/selectors.js.map +1 -1
  183. package/build-style/style-rtl.css +35 -22
  184. package/build-style/style.css +35 -22
  185. package/package.json +31 -31
  186. package/src/components/block-actions/index.js +0 -9
  187. package/src/components/block-alignment-control/use-available-alignments.js +17 -12
  188. package/src/components/block-popover/inbetween.js +21 -53
  189. package/src/components/block-tools/selected-block-popover.js +1 -1
  190. package/src/components/block-types-list/index.native.js +2 -0
  191. package/src/components/colors-gradients/control.js +3 -0
  192. package/src/components/font-appearance-control/index.js +1 -1
  193. package/src/components/global-styles/hooks.js +186 -66
  194. package/src/components/global-styles/index.js +5 -0
  195. package/src/components/global-styles/typography-panel.js +403 -0
  196. package/src/components/global-styles/use-global-styles-output.js +6 -2
  197. package/src/components/iframe/index.js +20 -18
  198. package/src/components/image-editor/aspect-ratio-dropdown.js +1 -0
  199. package/src/components/image-size-control/index.js +10 -12
  200. package/src/components/image-size-control/style.scss +3 -21
  201. package/src/components/inserter/block-patterns-tab.js +9 -23
  202. package/src/components/inserter/block-types-tab.native.js +2 -0
  203. package/src/components/inserter/reusable-blocks-tab.native.js +2 -0
  204. package/src/components/inserter/search-results.native.js +2 -0
  205. package/src/components/link-control/index.js +22 -22
  206. package/src/components/link-control/settings-drawer.js +85 -30
  207. package/src/components/link-control/settings.js +41 -0
  208. package/src/components/link-control/style.scss +39 -7
  209. package/src/components/link-control/test/index.js +213 -4
  210. package/src/components/list-view/index.js +5 -0
  211. package/src/components/off-canvas-editor/block-contents.js +3 -2
  212. package/src/components/off-canvas-editor/leaf-more-menu.js +115 -0
  213. package/src/components/off-canvas-editor/link-ui.js +1 -0
  214. package/src/components/provider/index.js +1 -1
  215. package/src/components/rich-text/index.js +0 -2
  216. package/src/components/url-input/index.js +3 -2
  217. package/src/components/url-popover/index.js +8 -2
  218. package/src/hooks/dimensions.js +13 -1
  219. package/src/hooks/font-family.js +0 -58
  220. package/src/hooks/font-size.js +1 -36
  221. package/src/hooks/gap.js +9 -2
  222. package/src/hooks/index.js +1 -0
  223. package/src/hooks/line-height.js +0 -33
  224. package/src/hooks/metadata.js +4 -0
  225. package/src/hooks/position.js +7 -1
  226. package/src/hooks/typography.js +133 -212
  227. package/src/index.js +1 -1
  228. package/src/layouts/flow.js +16 -1
  229. package/src/lock-unlock.js +10 -0
  230. package/src/private-apis.js +19 -0
  231. package/src/private-apis.native.js +15 -0
  232. package/src/store/index.js +1 -1
  233. package/src/store/selectors.js +16 -1
  234. package/tsconfig.json +20 -1
  235. package/build/experiments.js.map +0 -1
  236. package/build/experiments.native.js.map +0 -1
  237. package/build/hooks/font-appearance.js +0 -188
  238. package/build/hooks/font-appearance.js.map +0 -1
  239. package/build/hooks/letter-spacing.js +0 -129
  240. package/build/hooks/letter-spacing.js.map +0 -1
  241. package/build/hooks/text-decoration.js +0 -130
  242. package/build/hooks/text-decoration.js.map +0 -1
  243. package/build/hooks/text-transform.js +0 -130
  244. package/build/hooks/text-transform.js.map +0 -1
  245. package/build-module/experiments.js +0 -25
  246. package/build-module/experiments.js.map +0 -1
  247. package/build-module/experiments.native.js +0 -23
  248. package/build-module/experiments.native.js.map +0 -1
  249. package/build-module/hooks/font-appearance.js +0 -161
  250. package/build-module/hooks/font-appearance.js.map +0 -1
  251. package/build-module/hooks/letter-spacing.js +0 -107
  252. package/build-module/hooks/letter-spacing.js.map +0 -1
  253. package/build-module/hooks/text-decoration.js +0 -108
  254. package/build-module/hooks/text-decoration.js.map +0 -1
  255. package/build-module/hooks/text-transform.js +0 -108
  256. package/build-module/hooks/text-transform.js.map +0 -1
  257. package/src/experiments.js +0 -27
  258. package/src/experiments.native.js +0 -25
  259. package/src/hooks/font-appearance.js +0 -146
  260. package/src/hooks/letter-spacing.js +0 -101
  261. package/src/hooks/text-decoration.js +0 -102
  262. package/src/hooks/text-transform.js +0 -101
@@ -13,27 +13,25 @@ var _element = require("@wordpress/element");
13
13
 
14
14
  var _blocks = require("@wordpress/blocks");
15
15
 
16
- var _components = require("@wordpress/components");
17
-
18
- var _i18n = require("@wordpress/i18n");
19
-
20
16
  var _inspectorControls = _interopRequireDefault(require("../components/inspector-controls"));
21
17
 
22
- var _fontAppearanceControl = require("../components/font-appearance-control");
18
+ var _typographyPanel = _interopRequireWildcard(require("../components/global-styles/typography-panel"));
23
19
 
24
20
  var _lineHeight = require("./line-height");
25
21
 
26
- var _fontAppearance = require("./font-appearance");
27
-
28
22
  var _fontFamily = require("./font-family");
29
23
 
30
24
  var _fontSize = require("./font-size");
31
25
 
32
- var _textDecoration = require("./text-decoration");
26
+ var _components = require("../components");
33
27
 
34
- var _textTransform = require("./text-transform");
28
+ var _utils = require("./utils");
35
29
 
36
- var _letterSpacing = require("./letter-spacing");
30
+ var _hooks = require("../components/global-styles/hooks");
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
35
 
38
36
  /**
39
37
  * WordPress dependencies
@@ -42,125 +40,118 @@ var _letterSpacing = require("./letter-spacing");
42
40
  /**
43
41
  * Internal dependencies
44
42
  */
43
+ function omit(object, keys) {
44
+ return Object.fromEntries(Object.entries(object).filter(_ref => {
45
+ let [key] = _ref;
46
+ return !keys.includes(key);
47
+ }));
48
+ }
49
+
50
+ const LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing';
51
+ const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform';
52
+ const TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration';
53
+ const FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';
54
+ const FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';
45
55
  const TYPOGRAPHY_SUPPORT_KEY = 'typography';
46
56
  exports.TYPOGRAPHY_SUPPORT_KEY = TYPOGRAPHY_SUPPORT_KEY;
47
- const TYPOGRAPHY_SUPPORT_KEYS = [_lineHeight.LINE_HEIGHT_SUPPORT_KEY, _fontSize.FONT_SIZE_SUPPORT_KEY, _fontAppearance.FONT_STYLE_SUPPORT_KEY, _fontAppearance.FONT_WEIGHT_SUPPORT_KEY, _fontFamily.FONT_FAMILY_SUPPORT_KEY, _textDecoration.TEXT_DECORATION_SUPPORT_KEY, _textTransform.TEXT_TRANSFORM_SUPPORT_KEY, _letterSpacing.LETTER_SPACING_SUPPORT_KEY];
57
+ const TYPOGRAPHY_SUPPORT_KEYS = [_lineHeight.LINE_HEIGHT_SUPPORT_KEY, _fontSize.FONT_SIZE_SUPPORT_KEY, FONT_STYLE_SUPPORT_KEY, FONT_WEIGHT_SUPPORT_KEY, _fontFamily.FONT_FAMILY_SUPPORT_KEY, TEXT_DECORATION_SUPPORT_KEY, TEXT_TRANSFORM_SUPPORT_KEY, LETTER_SPACING_SUPPORT_KEY];
48
58
  exports.TYPOGRAPHY_SUPPORT_KEYS = TYPOGRAPHY_SUPPORT_KEYS;
49
59
 
50
- function TypographyPanel(props) {
51
- const {
52
- clientId
53
- } = props;
54
- const isFontFamilyDisabled = (0, _fontFamily.useIsFontFamilyDisabled)(props);
55
- const isFontSizeDisabled = (0, _fontSize.useIsFontSizeDisabled)(props);
56
- const isFontAppearanceDisabled = (0, _fontAppearance.useIsFontAppearanceDisabled)(props);
57
- const isLineHeightDisabled = (0, _lineHeight.useIsLineHeightDisabled)(props);
58
- const isTextDecorationDisabled = (0, _textDecoration.useIsTextDecorationDisabled)(props);
59
- const isTextTransformDisabled = (0, _textTransform.useIsTextTransformDisabled)(props);
60
- const isLetterSpacingDisabled = (0, _letterSpacing.useIsLetterSpacingDisabled)(props);
61
- const hasFontStyles = !(0, _fontAppearance.useIsFontStyleDisabled)(props);
62
- const hasFontWeights = !(0, _fontAppearance.useIsFontWeightDisabled)(props);
63
- const isDisabled = useIsTypographyDisabled(props);
64
- const isSupported = hasTypographySupport(props.name);
65
- if (isDisabled || !isSupported) return null;
66
- const defaultControls = (0, _blocks.getBlockSupport)(props.name, [TYPOGRAPHY_SUPPORT_KEY, '__experimentalDefaultControls']);
67
-
68
- const createResetAllFilter = attribute => newAttributes => {
69
- var _newAttributes$style;
70
-
71
- return { ...newAttributes,
72
- style: { ...newAttributes.style,
73
- typography: { ...((_newAttributes$style = newAttributes.style) === null || _newAttributes$style === void 0 ? void 0 : _newAttributes$style.typography),
74
- [attribute]: undefined
75
- }
60
+ function TypographyInspectorControl(_ref2) {
61
+ let {
62
+ children
63
+ } = _ref2;
64
+ return (0, _element.createElement)(_inspectorControls.default, {
65
+ group: "typography"
66
+ }, children);
67
+ }
68
+
69
+ function useBlockSettings(name) {
70
+ const fontFamilies = (0, _components.useSetting)('typography.fontFamilies');
71
+ const fontSizes = (0, _components.useSetting)('typography.fontSizes');
72
+ const customFontSize = (0, _components.useSetting)('typography.customFontSize');
73
+ const fontStyle = (0, _components.useSetting)('typography.fontStyle');
74
+ const fontWeight = (0, _components.useSetting)('typography.fontWeight');
75
+ const lineHeight = (0, _components.useSetting)('typography.lineHeight');
76
+ const textDecoration = (0, _components.useSetting)('typography.textDecoration');
77
+ const textTransform = (0, _components.useSetting)('typography.textTransform');
78
+ const letterSpacing = (0, _components.useSetting)('typography.letterSpacing');
79
+ const supports = (0, _hooks.useSupportedStyles)(name, null);
80
+ return (0, _element.useMemo)(() => {
81
+ const rawSettings = {
82
+ typography: {
83
+ fontFamilies: {
84
+ custom: fontFamilies
85
+ },
86
+ fontSizes: {
87
+ custom: fontSizes
88
+ },
89
+ customFontSize,
90
+ fontStyle,
91
+ fontWeight,
92
+ lineHeight,
93
+ textDecoration,
94
+ textTransform,
95
+ letterSpacing
76
96
  }
77
97
  };
98
+ return (0, _hooks.overrideSettingsWithSupports)(rawSettings, supports);
99
+ }, [fontFamilies, fontSizes, customFontSize, fontStyle, fontWeight, lineHeight, textDecoration, textTransform, letterSpacing, supports]);
100
+ }
101
+
102
+ function TypographyPanel(_ref3) {
103
+ let {
104
+ clientId,
105
+ name,
106
+ attributes,
107
+ setAttributes
108
+ } = _ref3;
109
+ const settings = useBlockSettings(name);
110
+ const isEnabled = (0, _typographyPanel.useHasTypographyPanel)(settings);
111
+ const value = (0, _element.useMemo)(() => {
112
+ var _attributes$style, _attributes$style2, _attributes$style2$ty;
113
+
114
+ return { ...attributes.style,
115
+ typography: { ...((_attributes$style = attributes.style) === null || _attributes$style === void 0 ? void 0 : _attributes$style.typography),
116
+ fontFamily: attributes.fontFamily ? 'var:preset|font-family|' + attributes.fontFamily : undefined,
117
+ fontSize: attributes.fontSize ? 'var:preset|font-size|' + attributes.fontSize : (_attributes$style2 = attributes.style) === null || _attributes$style2 === void 0 ? void 0 : (_attributes$style2$ty = _attributes$style2.typography) === null || _attributes$style2$ty === void 0 ? void 0 : _attributes$style2$ty.fontSize
118
+ }
119
+ };
120
+ }, [attributes.style, attributes.fontSize, attributes.fontFamily]);
121
+
122
+ const onChange = newStyle => {
123
+ var _newStyle$typography, _newStyle$typography2;
124
+
125
+ const updatedStyle = { ...omit(newStyle, ['fontFamily'])
126
+ };
127
+ const fontSizeValue = newStyle === null || newStyle === void 0 ? void 0 : (_newStyle$typography = newStyle.typography) === null || _newStyle$typography === void 0 ? void 0 : _newStyle$typography.fontSize;
128
+ const fontFamilyValue = newStyle === null || newStyle === void 0 ? void 0 : (_newStyle$typography2 = newStyle.typography) === null || _newStyle$typography2 === void 0 ? void 0 : _newStyle$typography2.fontFamily;
129
+ const fontSizeSlug = fontSizeValue !== null && fontSizeValue !== void 0 && fontSizeValue.startsWith('var:preset|font-size|') ? fontSizeValue.substring('var:preset|font-size|'.length) : undefined;
130
+ const fontFamilySlug = fontFamilyValue !== null && fontFamilyValue !== void 0 && fontFamilyValue.startsWith('var:preset|font-family|') ? fontFamilyValue.substring('var:preset|font-family|'.length) : undefined;
131
+ updatedStyle.typography = { ...omit(updatedStyle.typography, ['fontFamily']),
132
+ fontSize: fontSizeSlug ? undefined : fontSizeValue
133
+ };
134
+ setAttributes({
135
+ style: (0, _utils.cleanEmptyObject)(updatedStyle),
136
+ fontFamily: fontFamilySlug,
137
+ fontSize: fontSizeSlug
138
+ });
78
139
  };
79
140
 
80
- return (0, _element.createElement)(_inspectorControls.default, {
81
- group: "typography"
82
- }, !isFontFamilyDisabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
83
- hasValue: () => (0, _fontFamily.hasFontFamilyValue)(props),
84
- label: (0, _i18n.__)('Font family'),
85
- onDeselect: () => (0, _fontFamily.resetFontFamily)(props),
86
- isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.fontFamily,
87
- resetAllFilter: newAttributes => ({ ...newAttributes,
88
- fontFamily: undefined
89
- }),
90
- panelId: clientId
91
- }, (0, _element.createElement)(_fontFamily.FontFamilyEdit, props)), !isFontSizeDisabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
92
- hasValue: () => (0, _fontSize.hasFontSizeValue)(props)
93
- /* translators: Ensure translation is distinct from "Letter case" */
94
- ,
95
- label: (0, _i18n.__)('Font size'),
96
- onDeselect: () => (0, _fontSize.resetFontSize)(props),
97
- isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.fontSize,
98
- resetAllFilter: newAttributes => {
99
- var _newAttributes$style2;
100
-
101
- return { ...newAttributes,
102
- fontSize: undefined,
103
- style: { ...newAttributes.style,
104
- typography: { ...((_newAttributes$style2 = newAttributes.style) === null || _newAttributes$style2 === void 0 ? void 0 : _newAttributes$style2.typography),
105
- fontSize: undefined
106
- }
107
- }
108
- };
109
- },
110
- panelId: clientId
111
- }, (0, _element.createElement)(_fontSize.FontSizeEdit, props)), !isFontAppearanceDisabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
112
- className: "single-column",
113
- hasValue: () => (0, _fontAppearance.hasFontAppearanceValue)(props),
114
- label: (0, _fontAppearanceControl.getFontAppearanceLabel)(hasFontStyles, hasFontWeights),
115
- onDeselect: () => (0, _fontAppearance.resetFontAppearance)(props),
116
- isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.fontAppearance,
117
- resetAllFilter: newAttributes => {
118
- var _newAttributes$style3;
119
-
120
- return { ...newAttributes,
121
- style: { ...newAttributes.style,
122
- typography: { ...((_newAttributes$style3 = newAttributes.style) === null || _newAttributes$style3 === void 0 ? void 0 : _newAttributes$style3.typography),
123
- fontStyle: undefined,
124
- fontWeight: undefined
125
- }
126
- }
127
- };
128
- },
129
- panelId: clientId
130
- }, (0, _element.createElement)(_fontAppearance.FontAppearanceEdit, props)), !isLineHeightDisabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
131
- className: "single-column",
132
- hasValue: () => (0, _lineHeight.hasLineHeightValue)(props),
133
- label: (0, _i18n.__)('Line height'),
134
- onDeselect: () => (0, _lineHeight.resetLineHeight)(props),
135
- isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.lineHeight,
136
- resetAllFilter: createResetAllFilter('lineHeight'),
137
- panelId: clientId
138
- }, (0, _element.createElement)(_lineHeight.LineHeightEdit, props)), !isLetterSpacingDisabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
139
- className: "single-column",
140
- hasValue: () => (0, _letterSpacing.hasLetterSpacingValue)(props),
141
- label: (0, _i18n.__)('Letter spacing'),
142
- onDeselect: () => (0, _letterSpacing.resetLetterSpacing)(props),
143
- isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.letterSpacing,
144
- resetAllFilter: createResetAllFilter('letterSpacing'),
145
- panelId: clientId
146
- }, (0, _element.createElement)(_letterSpacing.LetterSpacingEdit, props)), !isTextDecorationDisabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
147
- className: "single-column",
148
- hasValue: () => (0, _textDecoration.hasTextDecorationValue)(props),
149
- label: (0, _i18n.__)('Decoration'),
150
- onDeselect: () => (0, _textDecoration.resetTextDecoration)(props),
151
- isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.textDecoration,
152
- resetAllFilter: createResetAllFilter('textDecoration'),
153
- panelId: clientId
154
- }, (0, _element.createElement)(_textDecoration.TextDecorationEdit, props)), !isTextTransformDisabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
155
- hasValue: () => (0, _textTransform.hasTextTransformValue)(props)
156
- /* translators: Ensure translation is distinct from "Font size" */
157
- ,
158
- label: (0, _i18n.__)('Letter case'),
159
- onDeselect: () => (0, _textTransform.resetTextTransform)(props),
160
- isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.textTransform,
161
- resetAllFilter: createResetAllFilter('textTransform'),
162
- panelId: clientId
163
- }, (0, _element.createElement)(_textTransform.TextTransformEdit, props)));
141
+ if (!isEnabled) {
142
+ return null;
143
+ }
144
+
145
+ const defaultControls = (0, _blocks.getBlockSupport)(name, [TYPOGRAPHY_SUPPORT_KEY, '__experimentalDefaultControls']);
146
+ return (0, _element.createElement)(_typographyPanel.default, {
147
+ as: TypographyInspectorControl,
148
+ panelId: clientId,
149
+ name: name,
150
+ settings: settings,
151
+ value: value,
152
+ onChange: onChange,
153
+ defaultControls: defaultControls
154
+ });
164
155
  }
165
156
 
166
157
  const hasTypographySupport = blockName => {
@@ -168,10 +159,4 @@ const hasTypographySupport = blockName => {
168
159
  };
169
160
 
170
161
  exports.hasTypographySupport = hasTypographySupport;
171
-
172
- function useIsTypographyDisabled() {
173
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
174
- const configs = [(0, _fontAppearance.useIsFontAppearanceDisabled)(props), (0, _fontSize.useIsFontSizeDisabled)(props), (0, _lineHeight.useIsLineHeightDisabled)(props), (0, _fontFamily.useIsFontFamilyDisabled)(props), (0, _textDecoration.useIsTextDecorationDisabled)(props), (0, _textTransform.useIsTextTransformDisabled)(props), (0, _letterSpacing.useIsLetterSpacingDisabled)(props)];
175
- return configs.filter(Boolean).length === configs.length;
176
- }
177
162
  //# sourceMappingURL=typography.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/typography.js"],"names":["TYPOGRAPHY_SUPPORT_KEY","TYPOGRAPHY_SUPPORT_KEYS","LINE_HEIGHT_SUPPORT_KEY","FONT_SIZE_SUPPORT_KEY","FONT_STYLE_SUPPORT_KEY","FONT_WEIGHT_SUPPORT_KEY","FONT_FAMILY_SUPPORT_KEY","TEXT_DECORATION_SUPPORT_KEY","TEXT_TRANSFORM_SUPPORT_KEY","LETTER_SPACING_SUPPORT_KEY","TypographyPanel","props","clientId","isFontFamilyDisabled","isFontSizeDisabled","isFontAppearanceDisabled","isLineHeightDisabled","isTextDecorationDisabled","isTextTransformDisabled","isLetterSpacingDisabled","hasFontStyles","hasFontWeights","isDisabled","useIsTypographyDisabled","isSupported","hasTypographySupport","name","defaultControls","createResetAllFilter","attribute","newAttributes","style","typography","undefined","fontFamily","fontSize","fontAppearance","fontStyle","fontWeight","lineHeight","letterSpacing","textDecoration","textTransform","blockName","some","key","configs","filter","Boolean","length"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport { getFontAppearanceLabel } from '../components/font-appearance-control';\n\nimport {\n\tLINE_HEIGHT_SUPPORT_KEY,\n\tLineHeightEdit,\n\thasLineHeightValue,\n\tresetLineHeight,\n\tuseIsLineHeightDisabled,\n} from './line-height';\nimport {\n\tFONT_STYLE_SUPPORT_KEY,\n\tFONT_WEIGHT_SUPPORT_KEY,\n\tFontAppearanceEdit,\n\thasFontAppearanceValue,\n\tresetFontAppearance,\n\tuseIsFontAppearanceDisabled,\n\tuseIsFontStyleDisabled,\n\tuseIsFontWeightDisabled,\n} from './font-appearance';\nimport {\n\tFONT_FAMILY_SUPPORT_KEY,\n\tFontFamilyEdit,\n\thasFontFamilyValue,\n\tresetFontFamily,\n\tuseIsFontFamilyDisabled,\n} from './font-family';\nimport {\n\tFONT_SIZE_SUPPORT_KEY,\n\tFontSizeEdit,\n\thasFontSizeValue,\n\tresetFontSize,\n\tuseIsFontSizeDisabled,\n} from './font-size';\nimport {\n\tTEXT_DECORATION_SUPPORT_KEY,\n\tTextDecorationEdit,\n\thasTextDecorationValue,\n\tresetTextDecoration,\n\tuseIsTextDecorationDisabled,\n} from './text-decoration';\nimport {\n\tTEXT_TRANSFORM_SUPPORT_KEY,\n\tTextTransformEdit,\n\thasTextTransformValue,\n\tresetTextTransform,\n\tuseIsTextTransformDisabled,\n} from './text-transform';\nimport {\n\tLETTER_SPACING_SUPPORT_KEY,\n\tLetterSpacingEdit,\n\thasLetterSpacingValue,\n\tresetLetterSpacing,\n\tuseIsLetterSpacingDisabled,\n} from './letter-spacing';\n\nexport const TYPOGRAPHY_SUPPORT_KEY = 'typography';\nexport const TYPOGRAPHY_SUPPORT_KEYS = [\n\tLINE_HEIGHT_SUPPORT_KEY,\n\tFONT_SIZE_SUPPORT_KEY,\n\tFONT_STYLE_SUPPORT_KEY,\n\tFONT_WEIGHT_SUPPORT_KEY,\n\tFONT_FAMILY_SUPPORT_KEY,\n\tTEXT_DECORATION_SUPPORT_KEY,\n\tTEXT_TRANSFORM_SUPPORT_KEY,\n\tLETTER_SPACING_SUPPORT_KEY,\n];\n\nexport function TypographyPanel( props ) {\n\tconst { clientId } = props;\n\tconst isFontFamilyDisabled = useIsFontFamilyDisabled( props );\n\tconst isFontSizeDisabled = useIsFontSizeDisabled( props );\n\tconst isFontAppearanceDisabled = useIsFontAppearanceDisabled( props );\n\tconst isLineHeightDisabled = useIsLineHeightDisabled( props );\n\tconst isTextDecorationDisabled = useIsTextDecorationDisabled( props );\n\tconst isTextTransformDisabled = useIsTextTransformDisabled( props );\n\tconst isLetterSpacingDisabled = useIsLetterSpacingDisabled( props );\n\n\tconst hasFontStyles = ! useIsFontStyleDisabled( props );\n\tconst hasFontWeights = ! useIsFontWeightDisabled( props );\n\n\tconst isDisabled = useIsTypographyDisabled( props );\n\tconst isSupported = hasTypographySupport( props.name );\n\n\tif ( isDisabled || ! isSupported ) return null;\n\n\tconst defaultControls = getBlockSupport( props.name, [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\tconst createResetAllFilter = ( attribute ) => ( newAttributes ) => ( {\n\t\t...newAttributes,\n\t\tstyle: {\n\t\t\t...newAttributes.style,\n\t\t\ttypography: {\n\t\t\t\t...newAttributes.style?.typography,\n\t\t\t\t[ attribute ]: undefined,\n\t\t\t},\n\t\t},\n\t} );\n\n\treturn (\n\t\t<InspectorControls group=\"typography\">\n\t\t\t{ ! isFontFamilyDisabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => hasFontFamilyValue( props ) }\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\tonDeselect={ () => resetFontFamily( props ) }\n\t\t\t\t\tisShownByDefault={ defaultControls?.fontFamily }\n\t\t\t\t\tresetAllFilter={ ( newAttributes ) => ( {\n\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t\tfontFamily: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyEdit { ...props } />\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ ! isFontSizeDisabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => hasFontSizeValue( props ) }\n\t\t\t\t\t/* translators: Ensure translation is distinct from \"Letter case\" */\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\tonDeselect={ () => resetFontSize( props ) }\n\t\t\t\t\tisShownByDefault={ defaultControls?.fontSize }\n\t\t\t\t\tresetAllFilter={ ( newAttributes ) => ( {\n\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t\tfontSize: undefined,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...newAttributes.style,\n\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t...newAttributes.style?.typography,\n\t\t\t\t\t\t\t\tfontSize: undefined,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizeEdit { ...props } />\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ ! isFontAppearanceDisabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\thasValue={ () => hasFontAppearanceValue( props ) }\n\t\t\t\t\tlabel={ getFontAppearanceLabel(\n\t\t\t\t\t\thasFontStyles,\n\t\t\t\t\t\thasFontWeights\n\t\t\t\t\t) }\n\t\t\t\t\tonDeselect={ () => resetFontAppearance( props ) }\n\t\t\t\t\tisShownByDefault={ defaultControls?.fontAppearance }\n\t\t\t\t\tresetAllFilter={ ( newAttributes ) => ( {\n\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...newAttributes.style,\n\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t...newAttributes.style?.typography,\n\t\t\t\t\t\t\t\tfontStyle: undefined,\n\t\t\t\t\t\t\t\tfontWeight: undefined,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceEdit { ...props } />\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ ! isLineHeightDisabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\thasValue={ () => hasLineHeightValue( props ) }\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\tonDeselect={ () => resetLineHeight( props ) }\n\t\t\t\t\tisShownByDefault={ defaultControls?.lineHeight }\n\t\t\t\t\tresetAllFilter={ createResetAllFilter( 'lineHeight' ) }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightEdit { ...props } />\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ ! isLetterSpacingDisabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\thasValue={ () => hasLetterSpacingValue( props ) }\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\tonDeselect={ () => resetLetterSpacing( props ) }\n\t\t\t\t\tisShownByDefault={ defaultControls?.letterSpacing }\n\t\t\t\t\tresetAllFilter={ createResetAllFilter( 'letterSpacing' ) }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingEdit { ...props } />\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ ! isTextDecorationDisabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\thasValue={ () => hasTextDecorationValue( props ) }\n\t\t\t\t\tlabel={ __( 'Decoration' ) }\n\t\t\t\t\tonDeselect={ () => resetTextDecoration( props ) }\n\t\t\t\t\tisShownByDefault={ defaultControls?.textDecoration }\n\t\t\t\t\tresetAllFilter={ createResetAllFilter( 'textDecoration' ) }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationEdit { ...props } />\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ ! isTextTransformDisabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => hasTextTransformValue( props ) }\n\t\t\t\t\t/* translators: Ensure translation is distinct from \"Font size\" */\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\tonDeselect={ () => resetTextTransform( props ) }\n\t\t\t\t\tisShownByDefault={ defaultControls?.textTransform }\n\t\t\t\t\tresetAllFilter={ createResetAllFilter( 'textTransform' ) }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformEdit { ...props } />\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n\nexport const hasTypographySupport = ( blockName ) => {\n\treturn TYPOGRAPHY_SUPPORT_KEYS.some( ( key ) =>\n\t\thasBlockSupport( blockName, key )\n\t);\n};\n\nfunction useIsTypographyDisabled( props = {} ) {\n\tconst configs = [\n\t\tuseIsFontAppearanceDisabled( props ),\n\t\tuseIsFontSizeDisabled( props ),\n\t\tuseIsLineHeightDisabled( props ),\n\t\tuseIsFontFamilyDisabled( props ),\n\t\tuseIsTextDecorationDisabled( props ),\n\t\tuseIsTextTransformDisabled( props ),\n\t\tuseIsLetterSpacingDisabled( props ),\n\t];\n\n\treturn configs.filter( Boolean ).length === configs.length;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/typography.js"],"names":["omit","object","keys","Object","fromEntries","entries","filter","key","includes","LETTER_SPACING_SUPPORT_KEY","TEXT_TRANSFORM_SUPPORT_KEY","TEXT_DECORATION_SUPPORT_KEY","FONT_STYLE_SUPPORT_KEY","FONT_WEIGHT_SUPPORT_KEY","TYPOGRAPHY_SUPPORT_KEY","TYPOGRAPHY_SUPPORT_KEYS","LINE_HEIGHT_SUPPORT_KEY","FONT_SIZE_SUPPORT_KEY","FONT_FAMILY_SUPPORT_KEY","TypographyInspectorControl","children","useBlockSettings","name","fontFamilies","fontSizes","customFontSize","fontStyle","fontWeight","lineHeight","textDecoration","textTransform","letterSpacing","supports","rawSettings","typography","custom","TypographyPanel","clientId","attributes","setAttributes","settings","isEnabled","value","style","fontFamily","undefined","fontSize","onChange","newStyle","updatedStyle","fontSizeValue","fontFamilyValue","fontSizeSlug","startsWith","substring","length","fontFamilySlug","defaultControls","hasTypographySupport","blockName","some"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tdefault as StylesTypographyPanel,\n\tuseHasTypographyPanel,\n} from '../components/global-styles/typography-panel';\n\nimport { LINE_HEIGHT_SUPPORT_KEY } from './line-height';\nimport { FONT_FAMILY_SUPPORT_KEY } from './font-family';\nimport { FONT_SIZE_SUPPORT_KEY } from './font-size';\nimport { useSetting } from '../components';\nimport { cleanEmptyObject } from './utils';\nimport {\n\toverrideSettingsWithSupports,\n\tuseSupportedStyles,\n} from '../components/global-styles/hooks';\n\nfunction omit( object, keys ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( object ).filter( ( [ key ] ) => ! keys.includes( key ) )\n\t);\n}\n\nconst LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing';\nconst TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform';\nconst TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration';\nconst FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';\nconst FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';\nexport const TYPOGRAPHY_SUPPORT_KEY = 'typography';\nexport const TYPOGRAPHY_SUPPORT_KEYS = [\n\tLINE_HEIGHT_SUPPORT_KEY,\n\tFONT_SIZE_SUPPORT_KEY,\n\tFONT_STYLE_SUPPORT_KEY,\n\tFONT_WEIGHT_SUPPORT_KEY,\n\tFONT_FAMILY_SUPPORT_KEY,\n\tTEXT_DECORATION_SUPPORT_KEY,\n\tTEXT_TRANSFORM_SUPPORT_KEY,\n\tLETTER_SPACING_SUPPORT_KEY,\n];\n\nfunction TypographyInspectorControl( { children } ) {\n\treturn (\n\t\t<InspectorControls group=\"typography\">{ children }</InspectorControls>\n\t);\n}\n\nfunction useBlockSettings( name ) {\n\tconst fontFamilies = useSetting( 'typography.fontFamilies' );\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst customFontSize = useSetting( 'typography.customFontSize' );\n\tconst fontStyle = useSetting( 'typography.fontStyle' );\n\tconst fontWeight = useSetting( 'typography.fontWeight' );\n\tconst lineHeight = useSetting( 'typography.lineHeight' );\n\tconst textDecoration = useSetting( 'typography.textDecoration' );\n\tconst textTransform = useSetting( 'typography.textTransform' );\n\tconst letterSpacing = useSetting( 'typography.letterSpacing' );\n\tconst supports = useSupportedStyles( name, null );\n\n\treturn useMemo( () => {\n\t\tconst rawSettings = {\n\t\t\ttypography: {\n\t\t\t\tfontFamilies: {\n\t\t\t\t\tcustom: fontFamilies,\n\t\t\t\t},\n\t\t\t\tfontSizes: {\n\t\t\t\t\tcustom: fontSizes,\n\t\t\t\t},\n\t\t\t\tcustomFontSize,\n\t\t\t\tfontStyle,\n\t\t\t\tfontWeight,\n\t\t\t\tlineHeight,\n\t\t\t\ttextDecoration,\n\t\t\t\ttextTransform,\n\t\t\t\tletterSpacing,\n\t\t\t},\n\t\t};\n\t\treturn overrideSettingsWithSupports( rawSettings, supports );\n\t}, [\n\t\tfontFamilies,\n\t\tfontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextDecoration,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\tsupports,\n\t] );\n}\n\nexport function TypographyPanel( {\n\tclientId,\n\tname,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst settings = useBlockSettings( name );\n\tconst isEnabled = useHasTypographyPanel( settings );\n\tconst value = useMemo( () => {\n\t\treturn {\n\t\t\t...attributes.style,\n\t\t\ttypography: {\n\t\t\t\t...attributes.style?.typography,\n\t\t\t\tfontFamily: attributes.fontFamily\n\t\t\t\t\t? 'var:preset|font-family|' + attributes.fontFamily\n\t\t\t\t\t: undefined,\n\t\t\t\tfontSize: attributes.fontSize\n\t\t\t\t\t? 'var:preset|font-size|' + attributes.fontSize\n\t\t\t\t\t: attributes.style?.typography?.fontSize,\n\t\t\t},\n\t\t};\n\t}, [ attributes.style, attributes.fontSize, attributes.fontFamily ] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tconst updatedStyle = { ...omit( newStyle, [ 'fontFamily' ] ) };\n\t\tconst fontSizeValue = newStyle?.typography?.fontSize;\n\t\tconst fontFamilyValue = newStyle?.typography?.fontFamily;\n\t\tconst fontSizeSlug = fontSizeValue?.startsWith(\n\t\t\t'var:preset|font-size|'\n\t\t)\n\t\t\t? fontSizeValue.substring( 'var:preset|font-size|'.length )\n\t\t\t: undefined;\n\t\tconst fontFamilySlug = fontFamilyValue?.startsWith(\n\t\t\t'var:preset|font-family|'\n\t\t)\n\t\t\t? fontFamilyValue.substring( 'var:preset|font-family|'.length )\n\t\t\t: undefined;\n\t\tupdatedStyle.typography = {\n\t\t\t...omit( updatedStyle.typography, [ 'fontFamily' ] ),\n\t\t\tfontSize: fontSizeSlug ? undefined : fontSizeValue,\n\t\t};\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\t\tfontFamily: fontFamilySlug,\n\t\t\tfontSize: fontSizeSlug,\n\t\t} );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = getBlockSupport( name, [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\treturn (\n\t\t<StylesTypographyPanel\n\t\t\tas={ TypographyInspectorControl }\n\t\t\tpanelId={ clientId }\n\t\t\tname={ name }\n\t\t\tsettings={ settings }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t/>\n\t);\n}\n\nexport const hasTypographySupport = ( blockName ) => {\n\treturn TYPOGRAPHY_SUPPORT_KEYS.some( ( key ) =>\n\t\thasBlockSupport( blockName, key )\n\t);\n};\n"]}
package/build/index.js CHANGED
@@ -18,7 +18,7 @@ var _exportNames = {
18
18
  storeConfig: true,
19
19
  store: true,
20
20
  SETTINGS_DEFAULTS: true,
21
- experiments: true
21
+ privateApis: true
22
22
  };
23
23
  Object.defineProperty(exports, "SETTINGS_DEFAULTS", {
24
24
  enumerable: true,
@@ -80,16 +80,16 @@ Object.defineProperty(exports, "__experimentaluseLayoutStyles", {
80
80
  return _hooks.useLayoutStyles;
81
81
  }
82
82
  });
83
- Object.defineProperty(exports, "experiments", {
83
+ Object.defineProperty(exports, "getTypographyClassesAndStyles", {
84
84
  enumerable: true,
85
85
  get: function () {
86
- return _experiments.experiments;
86
+ return _hooks.getTypographyClassesAndStyles;
87
87
  }
88
88
  });
89
- Object.defineProperty(exports, "getTypographyClassesAndStyles", {
89
+ Object.defineProperty(exports, "privateApis", {
90
90
  enumerable: true,
91
91
  get: function () {
92
- return _hooks.getTypographyClassesAndStyles;
92
+ return _privateApis.privateApis;
93
93
  }
94
94
  });
95
95
  Object.defineProperty(exports, "store", {
@@ -159,5 +159,5 @@ var _store = require("./store");
159
159
 
160
160
  var _defaults = require("./store/defaults");
161
161
 
162
- var _experiments = require("./experiments");
162
+ var _privateApis = require("./private-apis");
163
163
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAcA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport './hooks';\nexport {\n\tgetBorderClassesAndStyles as __experimentalGetBorderClassesAndStyles,\n\tuseBorderProps as __experimentalUseBorderProps,\n\tgetColorClassesAndStyles as __experimentalGetColorClassesAndStyles,\n\tgetTypographyClassesAndStyles,\n\tuseColorProps as __experimentalUseColorProps,\n\tuseCustomSides as __experimentalUseCustomSides,\n\tgetSpacingClassesAndStyles as __experimentalGetSpacingClassesAndStyles,\n\tgetGapCSSValue as __experimentalGetGapCSSValue,\n\tuseCachedTruthy,\n\tuseLayoutClasses as __experimentaluseLayoutClasses,\n\tuseLayoutStyles as __experimentaluseLayoutStyles,\n} from './hooks';\nexport * from './components';\nexport * from './elements';\nexport * from './utils';\nexport { storeConfig, store } from './store';\nexport { SETTINGS_DEFAULTS } from './store/defaults';\nexport { experiments } from './experiments';\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAcA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport './hooks';\nexport {\n\tgetBorderClassesAndStyles as __experimentalGetBorderClassesAndStyles,\n\tuseBorderProps as __experimentalUseBorderProps,\n\tgetColorClassesAndStyles as __experimentalGetColorClassesAndStyles,\n\tgetTypographyClassesAndStyles,\n\tuseColorProps as __experimentalUseColorProps,\n\tuseCustomSides as __experimentalUseCustomSides,\n\tgetSpacingClassesAndStyles as __experimentalGetSpacingClassesAndStyles,\n\tgetGapCSSValue as __experimentalGetGapCSSValue,\n\tuseCachedTruthy,\n\tuseLayoutClasses as __experimentaluseLayoutClasses,\n\tuseLayoutStyles as __experimentaluseLayoutStyles,\n} from './hooks';\nexport * from './components';\nexport * from './elements';\nexport * from './utils';\nexport { storeConfig, store } from './store';\nexport { SETTINGS_DEFAULTS } from './store/defaults';\nexport { privateApis } from './private-apis';\n"]}
@@ -66,7 +66,7 @@ var _default = {
66
66
  return 'vertical';
67
67
  },
68
68
 
69
- getAlignments(layout) {
69
+ getAlignments(layout, isBlockBasedTheme) {
70
70
  const alignmentInfo = (0, _utils.getAlignmentsInfo)(layout);
71
71
 
72
72
  if (layout.alignments !== undefined) {
@@ -86,7 +86,28 @@ var _default = {
86
86
  name: 'center'
87
87
  }, {
88
88
  name: 'right'
89
- }];
89
+ }]; // This is for backwards compatibility with hybrid themes.
90
+
91
+ if (!isBlockBasedTheme) {
92
+ const {
93
+ contentSize,
94
+ wideSize
95
+ } = layout;
96
+
97
+ if (contentSize) {
98
+ alignments.unshift({
99
+ name: 'full'
100
+ });
101
+ }
102
+
103
+ if (wideSize) {
104
+ alignments.unshift({
105
+ name: 'wide',
106
+ info: alignmentInfo.wide
107
+ });
108
+ }
109
+ }
110
+
90
111
  alignments.unshift({
91
112
  name: 'none',
92
113
  info: alignmentInfo.none
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/layouts/flow.js"],"names":["name","label","inspectorControls","DefaultLayoutInspectorControls","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","output","getOrientation","getAlignments","layout","alignmentInfo","alignments","undefined","includes","unshift","map","alignment","info","none"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;eAKe;AACdA,EAAAA,IAAI,EAAE,SADQ;AAEdC,EAAAA,KAAK,EAAE,cAAI,MAAJ,CAFO;AAGdC,EAAAA,iBAAiB,EAAE,SAASC,8BAAT,GAA0C;AAC5D,WAAO,IAAP;AACA,GALa;AAMdC,EAAAA,eAAe,EAAE,SAASC,4BAAT,GAAwC;AACxD,WAAO,IAAP;AACA,GARa;AASdC,EAAAA,cAAc,EAAE,SAASA,cAAT,OAMZ;AAAA;;AAAA,QANqC;AACxCC,MAAAA,QADwC;AAExCC,MAAAA,KAFwC;AAGxCC,MAAAA,SAHwC;AAIxCC,MAAAA,kBAJwC;AAKxCC,MAAAA;AALwC,KAMrC;AACH,UAAMC,kBAAkB,GAAG,yBAAgBJ,KAAhB,aAAgBA,KAAhB,yCAAgBA,KAAK,CAAEK,OAAvB,mDAAgB,eAAgBC,QAAhC,CAA3B,CADG,CAGH;AACA;;AACA,QAAIC,aAAa,GAAG,EAApB;;AACA,QAAK,CAAE,qCAAyBN,SAAzB,EAAoC,SAApC,EAA+C,UAA/C,CAAP,EAAqE;AACpE;AACA,UAAKG,kBAAL,aAAKA,kBAAL,eAAKA,kBAAkB,CAAEI,GAAzB,EAA+B;AAC9BD,QAAAA,aAAa,GAAG,yBAAgBH,kBAAhB,aAAgBA,kBAAhB,uBAAgBA,kBAAkB,CAAEI,GAApC,CAAhB;AACA,OAFD,MAEO,IAAK,OAAOJ,kBAAP,KAA8B,QAAnC,EAA8C;AACpDG,QAAAA,aAAa,GAAG,yBAAgBH,kBAAhB,CAAhB;AACA;AACD;;AAED,QAAIK,MAAM,GAAG,EAAb,CAfG,CAiBH;;AACA,QAAKP,kBAAkB,IAAIK,aAA3B,EAA2C;AAC1CE,MAAAA,MAAM,IAAI,2BACTV,QADS,EAETI,iBAFS,EAGT,SAHS,EAITI,aAJS,CAAV;AAMA;;AACD,WAAOE,MAAP;AACA,GA1Ca;;AA2CdC,EAAAA,cAAc,GAAG;AAChB,WAAO,UAAP;AACA,GA7Ca;;AA8CdC,EAAAA,aAAa,CAAEC,MAAF,EAAW;AACvB,UAAMC,aAAa,GAAG,8BAAmBD,MAAnB,CAAtB;;AACA,QAAKA,MAAM,CAACE,UAAP,KAAsBC,SAA3B,EAAuC;AACtC,UAAK,CAAEH,MAAM,CAACE,UAAP,CAAkBE,QAAlB,CAA4B,MAA5B,CAAP,EAA8C;AAC7CJ,QAAAA,MAAM,CAACE,UAAP,CAAkBG,OAAlB,CAA2B,MAA3B;AACA;;AACD,aAAOL,MAAM,CAACE,UAAP,CAAkBI,GAAlB,CAAyBC,SAAF,KAAmB;AAChD3B,QAAAA,IAAI,EAAE2B,SAD0C;AAEhDC,QAAAA,IAAI,EAAEP,aAAa,CAAEM,SAAF;AAF6B,OAAnB,CAAvB,CAAP;AAIA;;AAED,UAAML,UAAU,GAAG,CAClB;AAAEtB,MAAAA,IAAI,EAAE;AAAR,KADkB,EAElB;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAFkB,EAGlB;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAHkB,CAAnB;AAMAsB,IAAAA,UAAU,CAACG,OAAX,CAAoB;AAAEzB,MAAAA,IAAI,EAAE,MAAR;AAAgB4B,MAAAA,IAAI,EAAEP,aAAa,CAACQ;AAApC,KAApB;AAEA,WAAOP,UAAP;AACA;;AAnEa,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\n\nexport default {\n\tname: 'default',\n\tlabel: __( 'Flow' ),\n\tinspectorControls: function DefaultLayoutInspectorControls() {\n\t\treturn null;\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions,\n\t} ) {\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tlet output = '';\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'default',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/layouts/flow.js"],"names":["name","label","inspectorControls","DefaultLayoutInspectorControls","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","output","getOrientation","getAlignments","layout","isBlockBasedTheme","alignmentInfo","alignments","undefined","includes","unshift","map","alignment","info","contentSize","wideSize","wide","none"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\n\nexport default {\n\tname: 'default',\n\tlabel: __( 'Flow' ),\n\tinspectorControls: function DefaultLayoutInspectorControls() {\n\t\treturn null;\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions,\n\t} ) {\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tlet output = '';\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'default',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout, isBlockBasedTheme ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\t// This is for backwards compatibility with hybrid themes.\n\t\tif ( ! isBlockBasedTheme ) {\n\t\t\tconst { contentSize, wideSize } = layout;\n\t\t\tif ( contentSize ) {\n\t\t\t\talignments.unshift( { name: 'full' } );\n\t\t\t}\n\n\t\t\tif ( wideSize ) {\n\t\t\t\talignments.unshift( {\n\t\t\t\t\tname: 'wide',\n\t\t\t\t\tinfo: alignmentInfo.wide,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n"]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.unlock = exports.lock = void 0;
7
+
8
+ var _privateApis = require("@wordpress/private-apis");
9
+
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+ const {
14
+ lock,
15
+ unlock
16
+ } = (0, _privateApis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.', '@wordpress/block-editor');
17
+ exports.unlock = unlock;
18
+ exports.lock = lock;
19
+ //# sourceMappingURL=lock-unlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/lock-unlock.js"],"names":["lock","unlock"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,MAAM;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IACZ,mEACC,8GADD,EAEC,yBAFD,CADM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.',\n\t\t'@wordpress/block-editor'\n\t);\n"]}
@@ -5,41 +5,34 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.unlock = exports.lock = exports.experiments = void 0;
9
-
10
- var _experiments = require("@wordpress/experiments");
8
+ exports.privateApis = void 0;
11
9
 
12
10
  var globalStyles = _interopRequireWildcard(require("./components/global-styles"));
13
11
 
14
12
  var _provider = require("./components/provider");
15
13
 
14
+ var _lockUnlock = require("./lock-unlock");
15
+
16
16
  var _offCanvasEditor = _interopRequireDefault(require("./components/off-canvas-editor"));
17
17
 
18
+ var _leafMoreMenu = _interopRequireDefault(require("./components/off-canvas-editor/leaf-more-menu"));
19
+
18
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
21
 
20
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
23
 
22
- /**
23
- * WordPress dependencies
24
- */
25
-
26
24
  /**
27
25
  * Internal dependencies
28
26
  */
29
- const {
30
- lock,
31
- unlock
32
- } = (0, _experiments.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.', '@wordpress/block-editor');
27
+
33
28
  /**
34
- * Experimental @wordpress/block-editor APIs.
29
+ * Private @wordpress/block-editor APIs.
35
30
  */
36
-
37
- exports.unlock = unlock;
38
- exports.lock = lock;
39
- const experiments = {};
40
- exports.experiments = experiments;
41
- lock(experiments, { ...globalStyles,
31
+ const privateApis = {};
32
+ exports.privateApis = privateApis;
33
+ (0, _lockUnlock.lock)(privateApis, { ...globalStyles,
42
34
  ExperimentalBlockEditorProvider: _provider.ExperimentalBlockEditorProvider,
35
+ LeafMoreMenu: _leafMoreMenu.default,
43
36
  OffCanvasEditor: _offCanvasEditor.default
44
37
  });
45
- //# sourceMappingURL=experiments.js.map
38
+ //# sourceMappingURL=private-apis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/private-apis.js"],"names":["privateApis","globalStyles","ExperimentalBlockEditorProvider","LeafMoreMenu","OffCanvasEditor"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;;;;;AAPA;AACA;AACA;;AAOA;AACA;AACA;AACO,MAAMA,WAAW,GAAG,EAApB;;AACP,sBAAMA,WAAN,EAAmB,EAClB,GAAGC,YADe;AAElBC,EAAAA,+BAA+B,EAA/BA,yCAFkB;AAGlBC,EAAAA,YAAY,EAAZA,qBAHkB;AAIlBC,EAAAA,eAAe,EAAfA;AAJkB,CAAnB","sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport OffCanvasEditor from './components/off-canvas-editor';\nimport LeafMoreMenu from './components/off-canvas-editor/leaf-more-menu';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockEditorProvider,\n\tLeafMoreMenu,\n\tOffCanvasEditor,\n} );\n"]}
@@ -3,38 +3,28 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.unlock = exports.lock = exports.experiments = void 0;
7
-
8
- var _experiments = require("@wordpress/experiments");
6
+ exports.privateApis = void 0;
9
7
 
10
8
  var globalStyles = _interopRequireWildcard(require("./components/global-styles"));
11
9
 
12
10
  var _provider = require("./components/provider");
13
11
 
12
+ var _lockUnlock = require("./lock-unlock");
13
+
14
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
15
 
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
17
 
18
- /**
19
- * WordPress dependencies
20
- */
21
-
22
18
  /**
23
19
  * Internal dependencies
24
20
  */
25
- const {
26
- lock,
27
- unlock
28
- } = (0, _experiments.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.', '@wordpress/block-editor');
21
+
29
22
  /**
30
- * Experimental @wordpress/block-editor APIs.
23
+ * Private @wordpress/block-editor APIs.
31
24
  */
32
-
33
- exports.unlock = unlock;
34
- exports.lock = lock;
35
- const experiments = {};
36
- exports.experiments = experiments;
37
- lock(experiments, { ...globalStyles,
25
+ const privateApis = {};
26
+ exports.privateApis = privateApis;
27
+ (0, _lockUnlock.lock)(privateApis, { ...globalStyles,
38
28
  ExperimentalBlockEditorProvider: _provider.ExperimentalBlockEditorProvider
39
29
  });
40
- //# sourceMappingURL=experiments.native.js.map
30
+ //# sourceMappingURL=private-apis.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/private-apis.native.js"],"names":["privateApis","globalStyles","ExperimentalBlockEditorProvider"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;;;;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACO,MAAMA,WAAW,GAAG,EAApB;;AACP,sBAAMA,WAAN,EAAmB,EAClB,GAAGC,YADe;AAElBC,EAAAA,+BAA+B,EAA/BA;AAFkB,CAAnB","sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockEditorProvider,\n} );\n"]}
@@ -21,7 +21,7 @@ var actions = _interopRequireWildcard(require("./actions"));
21
21
 
22
22
  var _constants = require("./constants");
23
23
 
24
- var _experiments = require("../experiments");
24
+ var _lockUnlock = require("../lock-unlock");
25
25
 
26
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
27
 
@@ -61,6 +61,6 @@ exports.store = store;
61
61
  const registeredStore = (0, _data.registerStore)(_constants.STORE_NAME, { ...storeConfig,
62
62
  persist: ['preferences']
63
63
  });
64
- (0, _experiments.unlock)(registeredStore).registerPrivateActions(privateActions);
65
- (0, _experiments.unlock)(registeredStore).registerPrivateSelectors(privateSelectors);
64
+ (0, _lockUnlock.unlock)(registeredStore).registerPrivateActions(privateActions);
65
+ (0, _lockUnlock.unlock)(registeredStore).registerPrivateSelectors(privateSelectors);
66
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/store/index.js"],"names":["storeConfig","reducer","selectors","actions","store","STORE_NAME","persist","registeredStore","registerPrivateActions","privateActions","registerPrivateSelectors","privateSelectors"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAdA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACO,MAAMA,WAAW,GAAG;AAC1BC,EAAAA,OAAO,EAAPA,gBAD0B;AAE1BC,EAAAA,SAF0B;AAG1BC,EAAAA;AAH0B,CAApB;AAMP;AACA;AACA;AACA;AACA;;;AACO,MAAMC,KAAK,GAAG,4BAAkBC,qBAAlB,EAA8B,EAClD,GAAGL,WAD+C;AAElDM,EAAAA,OAAO,EAAE,CAAE,aAAF;AAFyC,CAA9B,CAAd,C,CAKP;AACA;;;AACA,MAAMC,eAAe,GAAG,yBAAeF,qBAAf,EAA2B,EAClD,GAAGL,WAD+C;AAElDM,EAAAA,OAAO,EAAE,CAAE,aAAF;AAFyC,CAA3B,CAAxB;AAIA,yBAAQC,eAAR,EAA0BC,sBAA1B,CAAkDC,cAAlD;AACA,yBAAQF,eAAR,EAA0BG,wBAA1B,CAAoDC,gBAApD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createReduxStore, registerStore } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as selectors from './selectors';\nimport * as privateActions from './private-actions';\nimport * as privateSelectors from './private-selectors';\nimport * as actions from './actions';\nimport { STORE_NAME } from './constants';\nimport { unlock } from '../experiments';\n\n/**\n * Block editor data store configuration.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore\n */\nexport const storeConfig = {\n\treducer,\n\tselectors,\n\tactions,\n};\n\n/**\n * Store definition for the block editor namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n */\nexport const store = createReduxStore( STORE_NAME, {\n\t...storeConfig,\n\tpersist: [ 'preferences' ],\n} );\n\n// We will be able to use the `register` function once we switch\n// the \"preferences\" persistence to use the new preferences package.\nconst registeredStore = registerStore( STORE_NAME, {\n\t...storeConfig,\n\tpersist: [ 'preferences' ],\n} );\nunlock( registeredStore ).registerPrivateActions( privateActions );\nunlock( registeredStore ).registerPrivateSelectors( privateSelectors );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/store/index.js"],"names":["storeConfig","reducer","selectors","actions","store","STORE_NAME","persist","registeredStore","registerPrivateActions","privateActions","registerPrivateSelectors","privateSelectors"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAdA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACO,MAAMA,WAAW,GAAG;AAC1BC,EAAAA,OAAO,EAAPA,gBAD0B;AAE1BC,EAAAA,SAF0B;AAG1BC,EAAAA;AAH0B,CAApB;AAMP;AACA;AACA;AACA;AACA;;;AACO,MAAMC,KAAK,GAAG,4BAAkBC,qBAAlB,EAA8B,EAClD,GAAGL,WAD+C;AAElDM,EAAAA,OAAO,EAAE,CAAE,aAAF;AAFyC,CAA9B,CAAd,C,CAKP;AACA;;;AACA,MAAMC,eAAe,GAAG,yBAAeF,qBAAf,EAA2B,EAClD,GAAGL,WAD+C;AAElDM,EAAAA,OAAO,EAAE,CAAE,aAAF;AAFyC,CAA3B,CAAxB;AAIA,wBAAQC,eAAR,EAA0BC,sBAA1B,CAAkDC,cAAlD;AACA,wBAAQF,eAAR,EAA0BG,wBAA1B,CAAoDC,gBAApD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createReduxStore, registerStore } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as selectors from './selectors';\nimport * as privateActions from './private-actions';\nimport * as privateSelectors from './private-selectors';\nimport * as actions from './actions';\nimport { STORE_NAME } from './constants';\nimport { unlock } from '../lock-unlock';\n\n/**\n * Block editor data store configuration.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore\n */\nexport const storeConfig = {\n\treducer,\n\tselectors,\n\tactions,\n};\n\n/**\n * Store definition for the block editor namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n */\nexport const store = createReduxStore( STORE_NAME, {\n\t...storeConfig,\n\tpersist: [ 'preferences' ],\n} );\n\n// We will be able to use the `register` function once we switch\n// the \"preferences\" persistence to use the new preferences package.\nconst registeredStore = registerStore( STORE_NAME, {\n\t...storeConfig,\n\tpersist: [ 'preferences' ],\n} );\nunlock( registeredStore ).registerPrivateActions( privateActions );\nunlock( registeredStore ).registerPrivateSelectors( privateSelectors );\n"]}