@wordpress/block-library 7.1.1 → 7.2.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 (304) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/build/avatar/edit.js +205 -0
  3. package/build/avatar/edit.js.map +1 -0
  4. package/build/avatar/hooks.js +111 -0
  5. package/build/avatar/hooks.js.map +1 -0
  6. package/build/avatar/index.js +83 -0
  7. package/build/avatar/index.js.map +1 -0
  8. package/build/avatar/user-control.js +63 -0
  9. package/build/avatar/user-control.js.map +1 -0
  10. package/build/column/index.js +2 -1
  11. package/build/column/index.js.map +1 -1
  12. package/build/comment-author-avatar/index.js +1 -0
  13. package/build/comment-author-avatar/index.js.map +1 -1
  14. package/build/comment-date/edit.js +10 -25
  15. package/build/comment-date/edit.js.map +1 -1
  16. package/build/comment-template/edit.js +79 -52
  17. package/build/comment-template/edit.js.map +1 -1
  18. package/build/cover/edit.js +23 -33
  19. package/build/cover/edit.js.map +1 -1
  20. package/build/embed/variations.js +2 -2
  21. package/build/embed/variations.js.map +1 -1
  22. package/build/gallery/edit.js +18 -5
  23. package/build/gallery/edit.js.map +1 -1
  24. package/build/gallery/gallery.js +1 -1
  25. package/build/gallery/gallery.js.map +1 -1
  26. package/build/gallery/gap-styles.js +29 -0
  27. package/build/gallery/gap-styles.js.map +1 -0
  28. package/build/gallery/index.js +17 -1
  29. package/build/gallery/index.js.map +1 -1
  30. package/build/group/index.js +3 -1
  31. package/build/group/index.js.map +1 -1
  32. package/build/group/variations.js +1 -2
  33. package/build/group/variations.js.map +1 -1
  34. package/build/image/image.js +3 -1
  35. package/build/image/image.js.map +1 -1
  36. package/build/index.js +8 -2
  37. package/build/index.js.map +1 -1
  38. package/build/list/index.js +5 -7
  39. package/build/list/index.js.map +1 -1
  40. package/build/list/v2/edit.js +85 -0
  41. package/build/list/v2/edit.js.map +1 -0
  42. package/build/list/v2/index.js +33 -0
  43. package/build/list/v2/index.js.map +1 -0
  44. package/build/list/v2/save.js +34 -0
  45. package/build/list/v2/save.js.map +1 -0
  46. package/build/list/v2/transforms.js +121 -0
  47. package/build/list/v2/transforms.js.map +1 -0
  48. package/build/list-item/edit.js +47 -0
  49. package/build/list-item/edit.js.map +1 -0
  50. package/build/list-item/index.js +67 -0
  51. package/build/list-item/index.js.map +1 -0
  52. package/build/list-item/save.js +23 -0
  53. package/build/list-item/save.js.map +1 -0
  54. package/build/media-text/edit.js +3 -1
  55. package/build/media-text/edit.js.map +1 -1
  56. package/build/navigation/use-navigation-entities.js +26 -54
  57. package/build/navigation/use-navigation-entities.js.map +1 -1
  58. package/build/navigation-link/edit.js +88 -34
  59. package/build/navigation-link/edit.js.map +1 -1
  60. package/build/post-date/edit.js +31 -37
  61. package/build/post-date/edit.js.map +1 -1
  62. package/build/post-featured-image/edit.js +2 -1
  63. package/build/post-featured-image/edit.js.map +1 -1
  64. package/build/pullquote/edit.js +5 -3
  65. package/build/pullquote/edit.js.map +1 -1
  66. package/build/query/variations.js +4 -4
  67. package/build/query/variations.js.map +1 -1
  68. package/build/query-no-results/edit.js +28 -0
  69. package/build/query-no-results/edit.js.map +1 -0
  70. package/build/query-no-results/index.js +54 -0
  71. package/build/query-no-results/index.js.map +1 -0
  72. package/build/query-no-results/save.js +18 -0
  73. package/build/query-no-results/save.js.map +1 -0
  74. package/build/search/edit.js +2 -3
  75. package/build/search/edit.js.map +1 -1
  76. package/build/separator/deprecated.js +83 -0
  77. package/build/separator/deprecated.js.map +1 -0
  78. package/build/separator/edit.js +31 -23
  79. package/build/separator/edit.js.map +1 -1
  80. package/build/separator/index.js +17 -7
  81. package/build/separator/index.js.map +1 -1
  82. package/build/separator/save.js +18 -13
  83. package/build/separator/save.js.map +1 -1
  84. package/build/separator/use-deprecated-opacity.js +39 -0
  85. package/build/separator/use-deprecated-opacity.js.map +1 -0
  86. package/build/social-links/edit.js +14 -3
  87. package/build/social-links/edit.js.map +1 -1
  88. package/build/social-links/index.js +1 -1
  89. package/build/spacer/controls.js +6 -16
  90. package/build/spacer/controls.js.map +1 -1
  91. package/build/spacer/controls.native.js +3 -1
  92. package/build/spacer/controls.native.js.map +1 -1
  93. package/build/spacer/edit.js +4 -5
  94. package/build/spacer/edit.js.map +1 -1
  95. package/build/table/deprecated.js +1 -1
  96. package/build/table/deprecated.js.map +1 -1
  97. package/build/tag-cloud/edit.js +58 -2
  98. package/build/tag-cloud/edit.js.map +1 -1
  99. package/build/tag-cloud/index.js +8 -0
  100. package/build/tag-cloud/index.js.map +1 -1
  101. package/build-module/avatar/edit.js +190 -0
  102. package/build-module/avatar/edit.js.map +1 -0
  103. package/build-module/avatar/hooks.js +99 -0
  104. package/build-module/avatar/hooks.js.map +1 -0
  105. package/build-module/avatar/index.js +70 -0
  106. package/build-module/avatar/index.js.map +1 -0
  107. package/build-module/avatar/user-control.js +52 -0
  108. package/build-module/avatar/user-control.js.map +1 -0
  109. package/build-module/column/index.js +2 -1
  110. package/build-module/column/index.js.map +1 -1
  111. package/build-module/comment-author-avatar/index.js +1 -0
  112. package/build-module/comment-author-avatar/index.js.map +1 -1
  113. package/build-module/comment-date/edit.js +13 -30
  114. package/build-module/comment-date/edit.js.map +1 -1
  115. package/build-module/comment-template/edit.js +79 -52
  116. package/build-module/comment-template/edit.js.map +1 -1
  117. package/build-module/cover/edit.js +23 -34
  118. package/build-module/cover/edit.js.map +1 -1
  119. package/build-module/embed/variations.js +2 -2
  120. package/build-module/embed/variations.js.map +1 -1
  121. package/build-module/gallery/edit.js +17 -5
  122. package/build-module/gallery/edit.js.map +1 -1
  123. package/build-module/gallery/gallery.js +1 -1
  124. package/build-module/gallery/gallery.js.map +1 -1
  125. package/build-module/gallery/gap-styles.js +22 -0
  126. package/build-module/gallery/gap-styles.js.map +1 -0
  127. package/build-module/gallery/index.js +17 -1
  128. package/build-module/gallery/index.js.map +1 -1
  129. package/build-module/group/index.js +3 -1
  130. package/build-module/group/index.js.map +1 -1
  131. package/build-module/group/variations.js +1 -2
  132. package/build-module/group/variations.js.map +1 -1
  133. package/build-module/image/image.js +3 -1
  134. package/build-module/image/image.js.map +1 -1
  135. package/build-module/index.js +5 -2
  136. package/build-module/index.js.map +1 -1
  137. package/build-module/list/index.js +5 -1
  138. package/build-module/list/index.js.map +1 -1
  139. package/build-module/list/v2/edit.js +69 -0
  140. package/build-module/list/v2/edit.js.map +1 -0
  141. package/build-module/list/v2/index.js +19 -0
  142. package/build-module/list/v2/index.js.map +1 -0
  143. package/build-module/list/v2/save.js +23 -0
  144. package/build-module/list/v2/save.js.map +1 -0
  145. package/build-module/list/v2/transforms.js +111 -0
  146. package/build-module/list/v2/transforms.js.map +1 -0
  147. package/build-module/list-item/edit.js +37 -0
  148. package/build-module/list-item/edit.js.map +1 -0
  149. package/build-module/list-item/index.js +53 -0
  150. package/build-module/list-item/index.js.map +1 -0
  151. package/build-module/list-item/save.js +15 -0
  152. package/build-module/list-item/save.js.map +1 -0
  153. package/build-module/media-text/edit.js +3 -1
  154. package/build-module/media-text/edit.js.map +1 -1
  155. package/build-module/navigation/use-navigation-entities.js +27 -54
  156. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  157. package/build-module/navigation-link/edit.js +88 -33
  158. package/build-module/navigation-link/edit.js.map +1 -1
  159. package/build-module/post-date/edit.js +32 -43
  160. package/build-module/post-date/edit.js.map +1 -1
  161. package/build-module/post-featured-image/edit.js +2 -1
  162. package/build-module/post-featured-image/edit.js.map +1 -1
  163. package/build-module/pullquote/edit.js +6 -3
  164. package/build-module/pullquote/edit.js.map +1 -1
  165. package/build-module/query/variations.js +4 -4
  166. package/build-module/query/variations.js.map +1 -1
  167. package/build-module/query-no-results/edit.js +18 -0
  168. package/build-module/query-no-results/edit.js.map +1 -0
  169. package/build-module/query-no-results/index.js +40 -0
  170. package/build-module/query-no-results/index.js.map +1 -0
  171. package/build-module/query-no-results/save.js +10 -0
  172. package/build-module/query-no-results/save.js.map +1 -0
  173. package/build-module/search/edit.js +2 -3
  174. package/build-module/search/edit.js.map +1 -1
  175. package/build-module/separator/deprecated.js +70 -0
  176. package/build-module/separator/deprecated.js.map +1 -0
  177. package/build-module/separator/edit.js +31 -22
  178. package/build-module/separator/edit.js.map +1 -1
  179. package/build-module/separator/index.js +16 -7
  180. package/build-module/separator/index.js.map +1 -1
  181. package/build-module/separator/save.js +19 -14
  182. package/build-module/separator/save.js.map +1 -1
  183. package/build-module/separator/use-deprecated-opacity.js +30 -0
  184. package/build-module/separator/use-deprecated-opacity.js.map +1 -0
  185. package/build-module/social-links/edit.js +15 -4
  186. package/build-module/social-links/edit.js.map +1 -1
  187. package/build-module/social-links/index.js +1 -1
  188. package/build-module/spacer/controls.js +8 -19
  189. package/build-module/spacer/controls.js.map +1 -1
  190. package/build-module/spacer/controls.native.js +2 -1
  191. package/build-module/spacer/controls.native.js.map +1 -1
  192. package/build-module/spacer/edit.js +3 -3
  193. package/build-module/spacer/edit.js.map +1 -1
  194. package/build-module/table/deprecated.js +1 -1
  195. package/build-module/table/deprecated.js.map +1 -1
  196. package/build-module/tag-cloud/edit.js +60 -4
  197. package/build-module/tag-cloud/edit.js.map +1 -1
  198. package/build-module/tag-cloud/index.js +8 -0
  199. package/build-module/tag-cloud/index.js.map +1 -1
  200. package/build-style/avatar/editor-rtl.css +79 -0
  201. package/build-style/avatar/editor.css +79 -0
  202. package/build-style/editor-rtl.css +23 -2
  203. package/build-style/editor.css +23 -2
  204. package/build-style/gallery/editor-rtl.css +0 -1
  205. package/build-style/gallery/editor.css +0 -1
  206. package/build-style/gallery/style-rtl.css +102 -169
  207. package/build-style/gallery/style.css +102 -169
  208. package/build-style/image/style-rtl.css +2 -0
  209. package/build-style/image/style.css +2 -0
  210. package/build-style/navigation-link/editor-rtl.css +13 -0
  211. package/build-style/navigation-link/editor.css +13 -0
  212. package/build-style/pullquote/style-rtl.css +0 -4
  213. package/build-style/pullquote/style.css +0 -4
  214. package/build-style/separator/editor-rtl.css +3 -0
  215. package/build-style/separator/editor.css +3 -0
  216. package/build-style/separator/theme-rtl.css +7 -1
  217. package/build-style/separator/theme.css +7 -1
  218. package/build-style/site-logo/editor-rtl.css +3 -1
  219. package/build-style/site-logo/editor.css +3 -1
  220. package/build-style/style-rtl.css +104 -173
  221. package/build-style/style.css +104 -173
  222. package/build-style/theme-rtl.css +7 -1
  223. package/build-style/theme.css +7 -1
  224. package/package.json +28 -28
  225. package/src/avatar/block.json +53 -0
  226. package/src/avatar/edit.js +222 -0
  227. package/src/avatar/editor.scss +3 -0
  228. package/src/avatar/hooks.js +96 -0
  229. package/src/avatar/index.js +18 -0
  230. package/src/avatar/index.php +146 -0
  231. package/src/avatar/user-control.js +56 -0
  232. package/src/column/block.json +2 -1
  233. package/src/comment-author-avatar/block.json +1 -0
  234. package/src/comment-date/edit.js +20 -30
  235. package/src/comment-template/edit.js +65 -44
  236. package/src/cover/edit.js +26 -31
  237. package/src/editor.scss +1 -0
  238. package/src/embed/variations.js +2 -2
  239. package/src/gallery/block.json +17 -1
  240. package/src/gallery/deprecated.scss +2 -2
  241. package/src/gallery/edit.js +15 -8
  242. package/src/gallery/editor.scss +0 -1
  243. package/src/gallery/gallery.js +8 -7
  244. package/src/gallery/gap-styles.js +21 -0
  245. package/src/gallery/index.php +42 -1
  246. package/src/gallery/style.scss +11 -44
  247. package/src/group/block.json +3 -1
  248. package/src/group/variations.js +1 -1
  249. package/src/image/image.js +4 -1
  250. package/src/image/style.scss +3 -0
  251. package/src/index.js +6 -1
  252. package/src/list/index.js +6 -1
  253. package/src/list/v2/edit.js +77 -0
  254. package/src/list/v2/index.js +20 -0
  255. package/src/list/v2/save.js +18 -0
  256. package/src/list/v2/transforms.js +116 -0
  257. package/src/list-item/block.json +26 -0
  258. package/src/list-item/edit.js +47 -0
  259. package/src/list-item/index.js +27 -0
  260. package/src/list-item/save.js +13 -0
  261. package/src/media-text/edit.js +1 -1
  262. package/src/navigation/index.php +22 -2
  263. package/src/navigation/use-navigation-entities.js +37 -73
  264. package/src/navigation-link/edit.js +145 -61
  265. package/src/navigation-link/editor.scss +11 -0
  266. package/src/post-date/edit.js +63 -52
  267. package/src/post-date/index.php +1 -1
  268. package/src/post-date/test/edit.js +17 -0
  269. package/src/post-featured-image/edit.js +9 -1
  270. package/src/post-featured-image/index.php +2 -1
  271. package/src/pullquote/edit.js +4 -3
  272. package/src/pullquote/style.scss +0 -5
  273. package/src/query/variations.js +4 -0
  274. package/src/query-no-results/block.json +20 -0
  275. package/src/query-no-results/edit.js +28 -0
  276. package/src/query-no-results/index.js +20 -0
  277. package/src/query-no-results/index.php +59 -0
  278. package/src/query-no-results/save.js +8 -0
  279. package/src/search/edit.js +1 -2
  280. package/src/separator/block.json +13 -6
  281. package/src/separator/deprecated.js +57 -0
  282. package/src/separator/deprecated.scss +6 -0
  283. package/src/separator/edit.js +36 -14
  284. package/src/separator/editor.scss +6 -0
  285. package/src/separator/index.js +2 -0
  286. package/src/separator/save.js +22 -14
  287. package/src/separator/test/edit.js +113 -0
  288. package/src/separator/theme.scss +7 -1
  289. package/src/separator/use-deprecated-opacity.js +41 -0
  290. package/src/site-logo/editor.scss +3 -1
  291. package/src/social-links/block.json +1 -1
  292. package/src/social-links/edit.js +15 -5
  293. package/src/spacer/controls.js +12 -18
  294. package/src/spacer/controls.native.js +2 -1
  295. package/src/spacer/edit.js +3 -6
  296. package/src/table/deprecated.js +5 -1
  297. package/src/tag-cloud/block.json +8 -0
  298. package/src/tag-cloud/edit.js +82 -2
  299. package/src/tag-cloud/index.php +6 -0
  300. package/build/separator/separator-settings.js +0 -36
  301. package/build/separator/separator-settings.js.map +0 -1
  302. package/build-module/separator/separator-settings.js +0 -27
  303. package/build-module/separator/separator-settings.js.map +0 -1
  304. package/src/separator/separator-settings.js +0 -24
@@ -9,7 +9,7 @@ import classNames from 'classnames';
9
9
  */
10
10
 
11
11
  import { getBlockSupport } from '@wordpress/blocks';
12
- import { Fragment, useEffect } from '@wordpress/element';
12
+ import { Fragment, useEffect, useRef } from '@wordpress/element';
13
13
  import { BlockControls, useInnerBlocksProps, useBlockProps, InspectorControls, ContrastChecker, PanelColorSettings, withColors } from '@wordpress/block-editor';
14
14
  import { MenuGroup, MenuItem, PanelBody, ToggleControl, ToolbarDropdownMenu } from '@wordpress/components';
15
15
  import { __ } from '@wordpress/i18n';
@@ -49,24 +49,35 @@ export function SocialLinksEdit(props) {
49
49
  } = props;
50
50
  const {
51
51
  iconBackgroundColorValue,
52
+ customIconBackgroundColor,
52
53
  iconColorValue,
53
54
  openInNewTab,
54
55
  showLabels,
55
56
  size,
56
57
  layout
57
58
  } = attributes;
58
- const usedLayout = layout || getDefaultBlockLayout(name); // Remove icon background color if logos only style selected.
59
+ const usedLayout = layout || getDefaultBlockLayout(name);
60
+ const logosOnly = (_attributes$className = attributes.className) === null || _attributes$className === void 0 ? void 0 : _attributes$className.includes('is-style-logos-only'); // Remove icon background color when logos only style is selected or
61
+ // restore it when any other style is selected.
59
62
 
60
- const logosOnly = ((_attributes$className = attributes.className) === null || _attributes$className === void 0 ? void 0 : _attributes$className.indexOf('is-style-logos-only')) >= 0;
63
+ const backgroundBackup = useRef({});
61
64
  useEffect(() => {
62
65
  if (logosOnly) {
66
+ backgroundBackup.current = {
67
+ iconBackgroundColor,
68
+ iconBackgroundColorValue,
69
+ customIconBackgroundColor
70
+ };
63
71
  setAttributes({
64
72
  iconBackgroundColor: undefined,
65
73
  customIconBackgroundColor: undefined,
66
74
  iconBackgroundColorValue: undefined
67
75
  });
76
+ } else {
77
+ setAttributes({ ...backgroundBackup.current
78
+ });
68
79
  }
69
- }, [logosOnly, setAttributes]);
80
+ }, [logosOnly]);
70
81
  const SocialPlaceholder = createElement("li", {
71
82
  className: "wp-block-social-links__social-placeholder"
72
83
  }, createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/social-links/edit.js"],"names":["classNames","getBlockSupport","Fragment","useEffect","BlockControls","useInnerBlocksProps","useBlockProps","InspectorControls","ContrastChecker","PanelColorSettings","withColors","MenuGroup","MenuItem","PanelBody","ToggleControl","ToolbarDropdownMenu","__","check","ALLOWED_BLOCKS","sizeOptions","name","value","getDefaultBlockLayout","blockTypeOrName","layoutBlockSupportConfig","default","SocialLinksEdit","props","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","iconColorValue","openInNewTab","showLabels","size","layout","usedLayout","logosOnly","className","indexOf","undefined","customIconBackgroundColor","SocialPlaceholder","SelectedSocialPlaceholder","color","blockProps","innerBlocksProps","allowedBlocks","placeholder","templateLock","__experimentalAppenderTagName","__experimentalLayout","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","push","onClose","map","entry","textColor","backgroundColor","iconColorAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { Fragment, useEffect } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\tPanelColorSettings,\n\twithColors,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPanelBody,\n\tToggleControl,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\n\nconst ALLOWED_BLOCKS = [ 'core/social-link' ];\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nconst getDefaultBlockLayout = ( blockTypeOrName ) => {\n\tconst layoutBlockSupportConfig = getBlockSupport(\n\t\tblockTypeOrName,\n\t\t'__experimentalLayout'\n\t);\n\treturn layoutBlockSupportConfig?.default;\n};\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tname,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t\tlayout,\n\t} = attributes;\n\tconst usedLayout = layout || getDefaultBlockLayout( name );\n\n\t// Remove icon background color if logos only style selected.\n\tconst logosOnly =\n\t\tattributes.className?.indexOf( 'is-style-logos-only' ) >= 0;\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tsetAttributes( {\n\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ logosOnly, setAttributes ] );\n\n\tconst SocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-placeholder\">\n\t\t\t<div className=\"wp-block-social-links__social-placeholder-icons\">\n\t\t\t\t<div className=\"wp-social-link wp-social-link-twitter\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-facebook\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-instagram\"></div>\n\t\t\t</div>\n\t\t</li>\n\t);\n\n\tconst SelectedSocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-prompt\">\n\t\t\t{ __( 'Click plus to add' ) }\n\t\t</li>\n\t);\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = classNames( size, {\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\tplaceholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder,\n\t\ttemplateLock: false,\n\t\t__experimentalAppenderTagName: 'li',\n\t\t__experimentalLayout: usedLayout,\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tsize: entry.value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: ! openInNewTab } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show labels' ) }\n\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tcolorSettings={ colorSettings }\n\t\t\t\t/>\n\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</Fragment>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/social-links/edit.js"],"names":["classNames","getBlockSupport","Fragment","useEffect","useRef","BlockControls","useInnerBlocksProps","useBlockProps","InspectorControls","ContrastChecker","PanelColorSettings","withColors","MenuGroup","MenuItem","PanelBody","ToggleControl","ToolbarDropdownMenu","__","check","ALLOWED_BLOCKS","sizeOptions","name","value","getDefaultBlockLayout","blockTypeOrName","layoutBlockSupportConfig","default","SocialLinksEdit","props","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","customIconBackgroundColor","iconColorValue","openInNewTab","showLabels","size","layout","usedLayout","logosOnly","className","includes","backgroundBackup","current","undefined","SocialPlaceholder","SelectedSocialPlaceholder","color","blockProps","innerBlocksProps","allowedBlocks","placeholder","templateLock","__experimentalAppenderTagName","__experimentalLayout","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","push","onClose","map","entry","textColor","backgroundColor","iconColorAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { Fragment, useEffect, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\tPanelColorSettings,\n\twithColors,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPanelBody,\n\tToggleControl,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\n\nconst ALLOWED_BLOCKS = [ 'core/social-link' ];\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nconst getDefaultBlockLayout = ( blockTypeOrName ) => {\n\tconst layoutBlockSupportConfig = getBlockSupport(\n\t\tblockTypeOrName,\n\t\t'__experimentalLayout'\n\t);\n\treturn layoutBlockSupportConfig?.default;\n};\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tname,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\tcustomIconBackgroundColor,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t\tlayout,\n\t} = attributes;\n\tconst usedLayout = layout || getDefaultBlockLayout( name );\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tconst backgroundBackup = useRef( {} );\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tbackgroundBackup.current = {\n\t\t\t\ticonBackgroundColor,\n\t\t\t\ticonBackgroundColorValue,\n\t\t\t\tcustomIconBackgroundColor,\n\t\t\t};\n\t\t\tsetAttributes( {\n\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( { ...backgroundBackup.current } );\n\t\t}\n\t}, [ logosOnly ] );\n\n\tconst SocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-placeholder\">\n\t\t\t<div className=\"wp-block-social-links__social-placeholder-icons\">\n\t\t\t\t<div className=\"wp-social-link wp-social-link-twitter\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-facebook\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-instagram\"></div>\n\t\t\t</div>\n\t\t</li>\n\t);\n\n\tconst SelectedSocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-prompt\">\n\t\t\t{ __( 'Click plus to add' ) }\n\t\t</li>\n\t);\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = classNames( size, {\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\tplaceholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder,\n\t\ttemplateLock: false,\n\t\t__experimentalAppenderTagName: 'li',\n\t\t__experimentalLayout: usedLayout,\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tsize: entry.value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: ! openInNewTab } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show labels' ) }\n\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tcolorSettings={ colorSettings }\n\t\t\t\t/>\n\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</Fragment>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"]}
@@ -66,7 +66,7 @@ const metadata = {
66
66
  }
67
67
  },
68
68
  spacing: {
69
- blockGap: true,
69
+ blockGap: ["horizontal", "vertical"],
70
70
  margin: ["top", "bottom"],
71
71
  units: ["px", "em", "rem", "vh", "vw"],
72
72
  __experimentalDefaultControls: {
@@ -5,14 +5,13 @@ import { createElement } from "@wordpress/element";
5
5
  */
6
6
  import { __ } from '@wordpress/i18n';
7
7
  import { InspectorControls, useSetting } from '@wordpress/block-editor';
8
- import { BaseControl, PanelBody, __experimentalUseCustomUnits as useCustomUnits, __experimentalUnitControl as UnitControl } from '@wordpress/components';
8
+ import { BaseControl, PanelBody, __experimentalUseCustomUnits as useCustomUnits, __experimentalUnitControl as UnitControl, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';
9
9
  import { useInstanceId } from '@wordpress/compose';
10
- import { useState } from '@wordpress/element';
11
10
  /**
12
11
  * Internal dependencies
13
12
  */
14
13
 
15
- import { MAX_SPACER_SIZE } from './edit';
14
+ import { MIN_SPACER_SIZE } from './edit';
16
15
 
17
16
  function DimensionInput(_ref) {
18
17
  var _ref2;
@@ -23,7 +22,6 @@ function DimensionInput(_ref) {
23
22
  isResizing,
24
23
  value = ''
25
24
  } = _ref;
26
- const [temporaryInput, setTemporaryInput] = useState(null);
27
25
  const inputId = useInstanceId(UnitControl, 'block-spacer-height-input'); // In most contexts the spacer size cannot meaningfully be set to a
28
26
  // percentage, since this is relative to the parent container. This
29
27
  // unit is disabled from the UI.
@@ -41,34 +39,25 @@ function DimensionInput(_ref) {
41
39
  });
42
40
 
43
41
  const handleOnChange = unprocessedValue => {
44
- setTemporaryInput(null);
45
42
  onChange(unprocessedValue);
46
- };
43
+ }; // Force the unit to update to `px` when the Spacer is being resized.
47
44
 
48
- const handleOnBlur = () => {
49
- if (temporaryInput !== null) {
50
- setTemporaryInput(null);
51
- }
52
- };
53
45
 
54
- const inputValue = temporaryInput !== null ? temporaryInput : value;
46
+ const [parsedQuantity, parsedUnit] = parseQuantityAndUnitFromRawValue(value);
47
+ const computedValue = [parsedQuantity, isResizing ? 'px' : parsedUnit].join('');
55
48
  return createElement(BaseControl, {
56
49
  label: label,
57
50
  id: inputId
58
51
  }, createElement(UnitControl, {
59
52
  id: inputId,
60
53
  isResetValueOnUnitChange: true,
61
- min: 0,
62
- max: MAX_SPACER_SIZE,
63
- onBlur: handleOnBlur,
54
+ min: MIN_SPACER_SIZE,
64
55
  onChange: handleOnChange,
65
56
  style: {
66
57
  maxWidth: 80
67
58
  },
68
- value: inputValue,
69
- units: units // Force the unit to update to `px` when the Spacer is being resized.
70
- ,
71
- unit: isResizing ? 'px' : undefined
59
+ value: computedValue,
60
+ units: units
72
61
  }));
73
62
  }
74
63
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/spacer/controls.js"],"names":["__","InspectorControls","useSetting","BaseControl","PanelBody","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","useInstanceId","useState","MAX_SPACER_SIZE","DimensionInput","label","onChange","isResizing","value","temporaryInput","setTemporaryInput","inputId","availableUnitSettings","undefined","filter","availableUnit","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","handleOnBlur","inputValue","maxWidth","SpacerControls","setAttributes","orientation","height","width","nextWidth","nextHeight"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,iBAAT,EAA4BC,UAA5B,QAA8C,yBAA9C;AACA,SACCC,WADD,EAECC,SAFD,EAGCC,4BAA4B,IAAIC,cAHjC,EAICC,yBAAyB,IAAIC,WAJ9B,QAKO,uBALP;AAMA,SAASC,aAAT,QAA8B,oBAA9B;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,SAASC,eAAT,QAAgC,QAAhC;;AAEA,SAASC,cAAT,OAAuE;AAAA;;AAAA,MAA9C;AAAEC,IAAAA,KAAF;AAASC,IAAAA,QAAT;AAAmBC,IAAAA,UAAnB;AAA+BC,IAAAA,KAAK,GAAG;AAAvC,GAA8C;AACtE,QAAM,CAAEC,cAAF,EAAkBC,iBAAlB,IAAwCR,QAAQ,CAAE,IAAF,CAAtD;AAEA,QAAMS,OAAO,GAAGV,aAAa,CAAED,WAAF,EAAe,2BAAf,CAA7B,CAHsE,CAKtE;AACA;AACA;;AACA,QAAMY,qBAAqB,YAC1BlB,UAAU,CAAE,eAAF,CAAV,IAAiCmB,SADP,0CAAG,MAE3BC,MAF2B,CAEjBC,aAAF,IAAqBA,aAAa,KAAK,GAFpB,CAA9B;AAIA,QAAMC,KAAK,GAAGlB,cAAc,CAAE;AAC7BmB,IAAAA,cAAc,EAAEL,qBAAqB,IAAI,CACxC,IADwC,EAExC,IAFwC,EAGxC,KAHwC,EAIxC,IAJwC,EAKxC,IALwC,CADZ;AAQ7BM,IAAAA,aAAa,EAAE;AAAEC,MAAAA,EAAE,EAAE,GAAN;AAAWC,MAAAA,EAAE,EAAE,EAAf;AAAmBC,MAAAA,GAAG,EAAE,EAAxB;AAA4BC,MAAAA,EAAE,EAAE,EAAhC;AAAoCC,MAAAA,EAAE,EAAE;AAAxC;AARc,GAAF,CAA5B;;AAWA,QAAMC,cAAc,GAAKC,gBAAF,IAAwB;AAC9Cf,IAAAA,iBAAiB,CAAE,IAAF,CAAjB;AACAJ,IAAAA,QAAQ,CAAEmB,gBAAF,CAAR;AACA,GAHD;;AAKA,QAAMC,YAAY,GAAG,MAAM;AAC1B,QAAKjB,cAAc,KAAK,IAAxB,EAA+B;AAC9BC,MAAAA,iBAAiB,CAAE,IAAF,CAAjB;AACA;AACD,GAJD;;AAMA,QAAMiB,UAAU,GAAGlB,cAAc,KAAK,IAAnB,GAA0BA,cAA1B,GAA2CD,KAA9D;AAEA,SACC,cAAC,WAAD;AAAa,IAAA,KAAK,EAAGH,KAArB;AAA6B,IAAA,EAAE,EAAGM;AAAlC,KACC,cAAC,WAAD;AACC,IAAA,EAAE,EAAGA,OADN;AAEC,IAAA,wBAAwB,MAFzB;AAGC,IAAA,GAAG,EAAG,CAHP;AAIC,IAAA,GAAG,EAAGR,eAJP;AAKC,IAAA,MAAM,EAAGuB,YALV;AAMC,IAAA,QAAQ,EAAGF,cANZ;AAOC,IAAA,KAAK,EAAG;AAAEI,MAAAA,QAAQ,EAAE;AAAZ,KAPT;AAQC,IAAA,KAAK,EAAGD,UART;AASC,IAAA,KAAK,EAAGX,KATT,CAUC;AAVD;AAWC,IAAA,IAAI,EAAGT,UAAU,GAAG,IAAH,GAAUM;AAX5B,IADD,CADD;AAiBA;;AAED,eAAe,SAASgB,cAAT,QAMX;AAAA,MANoC;AACvCC,IAAAA,aADuC;AAEvCC,IAAAA,WAFuC;AAGvCC,IAAAA,MAHuC;AAIvCC,IAAAA,KAJuC;AAKvC1B,IAAAA;AALuC,GAMpC;AACH,SACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGf,EAAE,CAAE,iBAAF;AAArB,KACGuC,WAAW,KAAK,YAAhB,IACD,cAAC,cAAD;AACC,IAAA,KAAK,EAAGvC,EAAE,CAAE,OAAF,CADX;AAEC,IAAA,KAAK,EAAGyC,KAFT;AAGC,IAAA,QAAQ,EAAKC,SAAF,IACVJ,aAAa,CAAE;AAAEG,MAAAA,KAAK,EAAEC;AAAT,KAAF,CAJf;AAMC,IAAA,UAAU,EAAG3B;AANd,IAFF,EAWGwB,WAAW,KAAK,YAAhB,IACD,cAAC,cAAD;AACC,IAAA,KAAK,EAAGvC,EAAE,CAAE,QAAF,CADX;AAEC,IAAA,KAAK,EAAGwC,MAFT;AAGC,IAAA,QAAQ,EAAKG,UAAF,IACVL,aAAa,CAAE;AAAEE,MAAAA,MAAM,EAAEG;AAAV,KAAF,CAJf;AAMC,IAAA,UAAU,EAAG5B;AANd,IAZF,CADD,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\nimport {\n\tBaseControl,\n\tPanelBody,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { MAX_SPACER_SIZE } from './edit';\n\nfunction DimensionInput( { label, onChange, isResizing, value = '' } ) {\n\tconst [ temporaryInput, setTemporaryInput ] = useState( null );\n\n\tconst inputId = useInstanceId( UnitControl, 'block-spacer-height-input' );\n\n\t// In most contexts the spacer size cannot meaningfully be set to a\n\t// percentage, since this is relative to the parent container. This\n\t// unit is disabled from the UI.\n\tconst availableUnitSettings = (\n\t\tuseSetting( 'spacing.units' ) || undefined\n\t)?.filter( ( availableUnit ) => availableUnit !== '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnitSettings || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 100, em: 10, rem: 10, vw: 10, vh: 25 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tsetTemporaryInput( null );\n\t\tonChange( unprocessedValue );\n\t};\n\n\tconst handleOnBlur = () => {\n\t\tif ( temporaryInput !== null ) {\n\t\t\tsetTemporaryInput( null );\n\t\t}\n\t};\n\n\tconst inputValue = temporaryInput !== null ? temporaryInput : value;\n\n\treturn (\n\t\t<BaseControl label={ label } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ 0 }\n\t\t\t\tmax={ MAX_SPACER_SIZE }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tvalue={ inputValue }\n\t\t\t\tunits={ units }\n\t\t\t\t// Force the unit to update to `px` when the Spacer is being resized.\n\t\t\t\tunit={ isResizing ? 'px' : undefined }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default function SpacerControls( {\n\tsetAttributes,\n\torientation,\n\theight,\n\twidth,\n\tisResizing,\n} ) {\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Spacer settings' ) }>\n\t\t\t\t{ orientation === 'horizontal' && (\n\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ width }\n\t\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ orientation !== 'horizontal' && (\n\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\tvalue={ height }\n\t\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { height: nextHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/spacer/controls.js"],"names":["__","InspectorControls","useSetting","BaseControl","PanelBody","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","MIN_SPACER_SIZE","DimensionInput","label","onChange","isResizing","value","inputId","availableUnitSettings","undefined","filter","availableUnit","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","parsedQuantity","parsedUnit","computedValue","join","maxWidth","SpacerControls","setAttributes","orientation","height","width","nextWidth","nextHeight"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\nimport {\n\tBaseControl,\n\tPanelBody,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SPACER_SIZE } from './edit';\n\nfunction DimensionInput( { label, onChange, isResizing, value = '' } ) {\n\tconst inputId = useInstanceId( UnitControl, 'block-spacer-height-input' );\n\n\t// In most contexts the spacer size cannot meaningfully be set to a\n\t// percentage, since this is relative to the parent container. This\n\t// unit is disabled from the UI.\n\tconst availableUnitSettings = (\n\t\tuseSetting( 'spacing.units' ) || undefined\n\t)?.filter( ( availableUnit ) => availableUnit !== '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnitSettings || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 100, em: 10, rem: 10, vw: 10, vh: 25 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tonChange( unprocessedValue );\n\t};\n\n\t// Force the unit to update to `px` when the Spacer is being resized.\n\tconst [ parsedQuantity, parsedUnit ] = parseQuantityAndUnitFromRawValue(\n\t\tvalue\n\t);\n\tconst computedValue = [\n\t\tparsedQuantity,\n\t\tisResizing ? 'px' : parsedUnit,\n\t].join( '' );\n\n\treturn (\n\t\t<BaseControl label={ label } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ MIN_SPACER_SIZE }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tvalue={ computedValue }\n\t\t\t\tunits={ units }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default function SpacerControls( {\n\tsetAttributes,\n\torientation,\n\theight,\n\twidth,\n\tisResizing,\n} ) {\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Spacer settings' ) }>\n\t\t\t\t{ orientation === 'horizontal' && (\n\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ width }\n\t\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ orientation !== 'horizontal' && (\n\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\tvalue={ height }\n\t\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { height: nextHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n"]}
@@ -11,6 +11,7 @@ import { __ } from '@wordpress/i18n';
11
11
  * Internal dependencies
12
12
  */
13
13
 
14
+ import { MIN_SPACER_SIZE } from './edit';
14
15
  import styles from './style.scss';
15
16
  const DEFAULT_VALUES = {
16
17
  px: 100,
@@ -68,7 +69,7 @@ function Controls(_ref) {
68
69
  title: __('Dimensions')
69
70
  }, createElement(UnitControl, {
70
71
  label: label,
71
- min: 1,
72
+ min: MIN_SPACER_SIZE,
72
73
  value: value,
73
74
  onChange: handleChange,
74
75
  onUnitChange: handleUnitChange,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/spacer/controls.native.js"],"names":["PanelBody","UnitControl","getValueAndUnit","__experimentalUseCustomUnits","useCustomUnits","useCallback","useSetting","__","styles","DEFAULT_VALUES","px","em","rem","vw","vh","Controls","attributes","context","setAttributes","orientation","label","height","width","valueToConvert","valueUnit","unit","value","Number","setNewDimensions","nextValue","nextUnit","valueWithUnit","handleChange","handleUnitChange","units","availableUnits","defaultValues","rangeCellContainer"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,WAFD,EAGCC,eAHD,EAICC,4BAA4B,IAAIC,cAJjC,QAKO,uBALP;AAMA,SAASC,WAAT,QAA4B,oBAA5B;AACA,SAASC,UAAT,QAA2B,yBAA3B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AAEA,MAAMC,cAAc,GAAG;AAAEC,EAAAA,EAAE,EAAE,GAAN;AAAWC,EAAAA,EAAE,EAAE,EAAf;AAAmBC,EAAAA,GAAG,EAAE,EAAxB;AAA4BC,EAAAA,EAAE,EAAE,EAAhC;AAAoCC,EAAAA,EAAE,EAAE;AAAxC,CAAvB;;AAEA,SAASC,QAAT,OAA4D;AAAA,MAAzC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,OAAd;AAAuBC,IAAAA;AAAvB,GAAyC;AAC3D,QAAM;AAAEC,IAAAA;AAAF,MAAkBF,OAAxB;AACA,QAAMG,KAAK,GAAGD,WAAW,KAAK,YAAhB,GAA+BZ,EAAE,CAAE,QAAF,CAAjC,GAAgDA,EAAE,CAAE,OAAF,CAAhE;AAEA,QAAM;AAAEc,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAoBN,UAA1B;AACA,QAAM;AAAEO,IAAAA,cAAF;AAAkBC,IAAAA,SAAS,EAAEC;AAA7B,MACLvB,eAAe,CAAEiB,WAAW,KAAK,YAAhB,GAA+BE,MAA/B,GAAwCC,KAA1C,CAAf,IAAoE,EADrE;AAEA,QAAMI,KAAK,GAAGC,MAAM,CAAEJ,cAAF,CAApB;;AAEA,QAAMK,gBAAgB,GAAG,CAAEC,SAAF,EAAaC,QAAb,KAA2B;AACnD,UAAMC,aAAa,GAAI,GAAGF,SAAW,GAAGC,QAAU,EAAlD;;AACA,QAAKX,WAAW,KAAK,YAArB,EAAoC;AACnCD,MAAAA,aAAa,CAAE;AAAEI,QAAAA,KAAK,EAAES;AAAT,OAAF,CAAb;AACA,KAFD,MAEO;AACNb,MAAAA,aAAa,CAAE;AAAEG,QAAAA,MAAM,EAAEU;AAAV,OAAF,CAAb;AACA;AACD,GAPD;;AASA,QAAMC,YAAY,GAAG3B,WAAW,CAC7BwB,SAAF,IAAiB;AAChBD,IAAAA,gBAAgB,CAAEC,SAAF,EAAaJ,IAAb,CAAhB;AACA,GAH8B,EAI/B,CAAEJ,MAAF,EAAUC,KAAV,CAJ+B,CAAhC;AAOA,QAAMW,gBAAgB,GAAG5B,WAAW,CACjCyB,QAAF,IAAgB;AACfF,IAAAA,gBAAgB,CAAEF,KAAF,EAASI,QAAT,CAAhB;AACA,GAHkC,EAInC,CAAET,MAAF,EAAUC,KAAV,CAJmC,CAApC;AAOA,QAAMY,KAAK,GAAG9B,cAAc,CAAE;AAC7B+B,IAAAA,cAAc,EAAE7B,UAAU,CAAE,eAAF,CAAV,IAAiC,CAChD,IADgD,EAEhD,IAFgD,EAGhD,KAHgD,EAIhD,IAJgD,EAKhD,IALgD,CADpB;AAQ7B8B,IAAAA,aAAa,EAAE3B;AARc,GAAF,CAA5B;AAWA,SACC,8BACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGF,EAAE,CAAE,YAAF;AAArB,KACC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGa,KADT;AAEC,IAAA,GAAG,EAAG,CAFP;AAGC,IAAA,KAAK,EAAGM,KAHT;AAIC,IAAA,QAAQ,EAAGM,YAJZ;AAKC,IAAA,YAAY,EAAGC,gBALhB;AAMC,IAAA,KAAK,EAAGC,KANT;AAOC,IAAA,IAAI,EAAGT,IAPR;AAQC,IAAA,KAAK,EAAGjB,MAAM,CAAC6B;AARhB,IADD,CADD,CADD;AAgBA;;AAED,eAAetB,QAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { useSetting } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst DEFAULT_VALUES = { px: 100, em: 10, rem: 10, vw: 10, vh: 25 };\n\nfunction Controls( { attributes, context, setAttributes } ) {\n\tconst { orientation } = context;\n\tconst label = orientation !== 'horizontal' ? __( 'Height' ) : __( 'Width' );\n\n\tconst { height, width } = attributes;\n\tconst { valueToConvert, valueUnit: unit } =\n\t\tgetValueAndUnit( orientation !== 'horizontal' ? height : width ) || {};\n\tconst value = Number( valueToConvert );\n\n\tconst setNewDimensions = ( nextValue, nextUnit ) => {\n\t\tconst valueWithUnit = `${ nextValue }${ nextUnit }`;\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tsetAttributes( { width: valueWithUnit } );\n\t\t} else {\n\t\t\tsetAttributes( { height: valueWithUnit } );\n\t\t}\n\t};\n\n\tconst handleChange = useCallback(\n\t\t( nextValue ) => {\n\t\t\tsetNewDimensions( nextValue, unit );\n\t\t},\n\t\t[ height, width ]\n\t);\n\n\tconst handleUnitChange = useCallback(\n\t\t( nextUnit ) => {\n\t\t\tsetNewDimensions( value, nextUnit );\n\t\t},\n\t\t[ height, width ]\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: DEFAULT_VALUES,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tunit={ unit }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/spacer/controls.native.js"],"names":["PanelBody","UnitControl","getValueAndUnit","__experimentalUseCustomUnits","useCustomUnits","useCallback","useSetting","__","MIN_SPACER_SIZE","styles","DEFAULT_VALUES","px","em","rem","vw","vh","Controls","attributes","context","setAttributes","orientation","label","height","width","valueToConvert","valueUnit","unit","value","Number","setNewDimensions","nextValue","nextUnit","valueWithUnit","handleChange","handleUnitChange","units","availableUnits","defaultValues","rangeCellContainer"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { useSetting } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SPACER_SIZE } from './edit';\nimport styles from './style.scss';\n\nconst DEFAULT_VALUES = { px: 100, em: 10, rem: 10, vw: 10, vh: 25 };\n\nfunction Controls( { attributes, context, setAttributes } ) {\n\tconst { orientation } = context;\n\tconst label = orientation !== 'horizontal' ? __( 'Height' ) : __( 'Width' );\n\n\tconst { height, width } = attributes;\n\tconst { valueToConvert, valueUnit: unit } =\n\t\tgetValueAndUnit( orientation !== 'horizontal' ? height : width ) || {};\n\tconst value = Number( valueToConvert );\n\n\tconst setNewDimensions = ( nextValue, nextUnit ) => {\n\t\tconst valueWithUnit = `${ nextValue }${ nextUnit }`;\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tsetAttributes( { width: valueWithUnit } );\n\t\t} else {\n\t\t\tsetAttributes( { height: valueWithUnit } );\n\t\t}\n\t};\n\n\tconst handleChange = useCallback(\n\t\t( nextValue ) => {\n\t\t\tsetNewDimensions( nextValue, unit );\n\t\t},\n\t\t[ height, width ]\n\t);\n\n\tconst handleUnitChange = useCallback(\n\t\t( nextUnit ) => {\n\t\t\tsetNewDimensions( value, nextUnit );\n\t\t},\n\t\t[ height, width ]\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: DEFAULT_VALUES,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tmin={ MIN_SPACER_SIZE }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tunit={ unit }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"]}
@@ -18,8 +18,7 @@ import { View } from '@wordpress/primitives';
18
18
  */
19
19
 
20
20
  import SpacerControls from './controls';
21
- export const MIN_SPACER_SIZE = 1;
22
- export const MAX_SPACER_SIZE = 500;
21
+ export const MIN_SPACER_SIZE = 0;
23
22
 
24
23
  const ResizableSpacer = _ref => {
25
24
  let {
@@ -60,7 +59,7 @@ const ResizableSpacer = _ref => {
60
59
  }
61
60
  },
62
61
  onResizeStop: (_event, _direction, elt) => {
63
- const nextVal = Math.min(MAX_SPACER_SIZE, getCurrentSize(elt));
62
+ const nextVal = getCurrentSize(elt);
64
63
  onResizeStop(`${nextVal}px`);
65
64
  setIsResizing(false);
66
65
  },
@@ -143,6 +142,7 @@ const SpacerEdit = _ref2 => {
143
142
  }
144
143
 
145
144
  return createElement(Fragment, null, createElement(ResizableSpacer, {
145
+ minHeight: MIN_SPACER_SIZE,
146
146
  enable: {
147
147
  top: false,
148
148
  right: false,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/spacer/edit.js"],"names":["classnames","useBlockProps","ResizableBox","useState","useEffect","View","SpacerControls","MIN_SPACER_SIZE","MAX_SPACER_SIZE","ResizableSpacer","orientation","onResizeStart","onResize","onResizeStop","isSelected","isResizing","setIsResizing","props","getCurrentSize","elt","clientWidth","clientHeight","getNextVal","_event","_direction","nextVal","Math","min","axis","position","isVisible","SpacerEdit","attributes","setAttributes","toggleSelection","context","height","width","temporaryHeight","setTemporaryHeight","temporaryWidth","setTemporaryWidth","handleOnVerticalResizeStop","newHeight","handleOnHorizontalResizeStop","newWidth","style","undefined","resizableBoxWithOrientation","blockOrientation","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { View } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport SpacerControls from './controls';\n\nexport const MIN_SPACER_SIZE = 1;\nexport const MAX_SPACER_SIZE = 500;\n\nconst ResizableSpacer = ( {\n\torientation,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\tisSelected,\n\tisResizing,\n\tsetIsResizing,\n\t...props\n} ) => {\n\tconst getCurrentSize = ( elt ) => {\n\t\treturn orientation === 'horizontal'\n\t\t\t? elt.clientWidth\n\t\t\t: elt.clientHeight;\n\t};\n\n\tconst getNextVal = ( elt ) => {\n\t\treturn `${ getCurrentSize( elt ) }px`;\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( 'block-library-spacer__resize-container', {\n\t\t\t\t'resize-horizontal': orientation === 'horizontal',\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getNextVal( elt );\n\t\t\t\tonResizeStart( nextVal );\n\t\t\t\tonResize( nextVal );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( getNextVal( elt ) );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = Math.min(\n\t\t\t\t\tMAX_SPACER_SIZE,\n\t\t\t\t\tgetCurrentSize( elt )\n\t\t\t\t);\n\t\t\t\tonResizeStop( `${ nextVal }px` );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip={ true }\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t\tposition: 'corner',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n\nconst SpacerEdit = ( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\ttoggleSelection,\n\tcontext,\n} ) => {\n\tconst { orientation } = context;\n\tconst { height, width } = attributes;\n\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ temporaryHeight, setTemporaryHeight ] = useState( null );\n\tconst [ temporaryWidth, setTemporaryWidth ] = useState( null );\n\n\tconst onResizeStart = () => toggleSelection( false );\n\tconst onResizeStop = () => toggleSelection( true );\n\n\tconst handleOnVerticalResizeStop = ( newHeight ) => {\n\t\tonResizeStop();\n\n\t\tsetAttributes( { height: newHeight } );\n\t\tsetTemporaryHeight( null );\n\t};\n\n\tconst handleOnHorizontalResizeStop = ( newWidth ) => {\n\t\tonResizeStop();\n\t\tsetAttributes( { width: newWidth } );\n\t\tsetTemporaryWidth( null );\n\t};\n\n\tconst style = {\n\t\theight:\n\t\t\torientation === 'horizontal'\n\t\t\t\t? 24\n\t\t\t\t: temporaryHeight || height || undefined,\n\t\twidth:\n\t\t\torientation === 'horizontal'\n\t\t\t\t? temporaryWidth || width || undefined\n\t\t\t\t: undefined,\n\t};\n\n\tconst resizableBoxWithOrientation = ( blockOrientation ) => {\n\t\tif ( blockOrientation === 'horizontal' ) {\n\t\t\treturn (\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminWidth={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryWidth }\n\t\t\t\t\tonResizeStop={ handleOnHorizontalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: false,\n\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryHeight }\n\t\t\t\t\tonResizeStop={ handleOnVerticalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tif ( orientation === 'horizontal' && ! width ) {\n\t\t\tsetAttributes( {\n\t\t\t\theight: '0px',\n\t\t\t\twidth: '72px',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<View { ...useBlockProps( { style } ) }>\n\t\t\t\t{ resizableBoxWithOrientation( orientation ) }\n\t\t\t</View>\n\t\t\t<SpacerControls\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\theight={ temporaryHeight || height }\n\t\t\t\twidth={ temporaryWidth || width }\n\t\t\t\torientation={ orientation }\n\t\t\t\tisResizing={ isResizing }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default SpacerEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/spacer/edit.js"],"names":["classnames","useBlockProps","ResizableBox","useState","useEffect","View","SpacerControls","MIN_SPACER_SIZE","ResizableSpacer","orientation","onResizeStart","onResize","onResizeStop","isSelected","isResizing","setIsResizing","props","getCurrentSize","elt","clientWidth","clientHeight","getNextVal","_event","_direction","nextVal","axis","position","isVisible","SpacerEdit","attributes","setAttributes","toggleSelection","context","height","width","temporaryHeight","setTemporaryHeight","temporaryWidth","setTemporaryWidth","handleOnVerticalResizeStop","newHeight","handleOnHorizontalResizeStop","newWidth","style","undefined","resizableBoxWithOrientation","blockOrientation","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { View } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport SpacerControls from './controls';\n\nexport const MIN_SPACER_SIZE = 0;\n\nconst ResizableSpacer = ( {\n\torientation,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\tisSelected,\n\tisResizing,\n\tsetIsResizing,\n\t...props\n} ) => {\n\tconst getCurrentSize = ( elt ) => {\n\t\treturn orientation === 'horizontal'\n\t\t\t? elt.clientWidth\n\t\t\t: elt.clientHeight;\n\t};\n\n\tconst getNextVal = ( elt ) => {\n\t\treturn `${ getCurrentSize( elt ) }px`;\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( 'block-library-spacer__resize-container', {\n\t\t\t\t'resize-horizontal': orientation === 'horizontal',\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getNextVal( elt );\n\t\t\t\tonResizeStart( nextVal );\n\t\t\t\tonResize( nextVal );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( getNextVal( elt ) );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getCurrentSize( elt );\n\t\t\t\tonResizeStop( `${ nextVal }px` );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip={ true }\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t\tposition: 'corner',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n\nconst SpacerEdit = ( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\ttoggleSelection,\n\tcontext,\n} ) => {\n\tconst { orientation } = context;\n\tconst { height, width } = attributes;\n\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ temporaryHeight, setTemporaryHeight ] = useState( null );\n\tconst [ temporaryWidth, setTemporaryWidth ] = useState( null );\n\n\tconst onResizeStart = () => toggleSelection( false );\n\tconst onResizeStop = () => toggleSelection( true );\n\n\tconst handleOnVerticalResizeStop = ( newHeight ) => {\n\t\tonResizeStop();\n\n\t\tsetAttributes( { height: newHeight } );\n\t\tsetTemporaryHeight( null );\n\t};\n\n\tconst handleOnHorizontalResizeStop = ( newWidth ) => {\n\t\tonResizeStop();\n\t\tsetAttributes( { width: newWidth } );\n\t\tsetTemporaryWidth( null );\n\t};\n\n\tconst style = {\n\t\theight:\n\t\t\torientation === 'horizontal'\n\t\t\t\t? 24\n\t\t\t\t: temporaryHeight || height || undefined,\n\t\twidth:\n\t\t\torientation === 'horizontal'\n\t\t\t\t? temporaryWidth || width || undefined\n\t\t\t\t: undefined,\n\t};\n\n\tconst resizableBoxWithOrientation = ( blockOrientation ) => {\n\t\tif ( blockOrientation === 'horizontal' ) {\n\t\t\treturn (\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminWidth={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryWidth }\n\t\t\t\t\tonResizeStop={ handleOnHorizontalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminHeight={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: false,\n\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryHeight }\n\t\t\t\t\tonResizeStop={ handleOnVerticalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tif ( orientation === 'horizontal' && ! width ) {\n\t\t\tsetAttributes( {\n\t\t\t\theight: '0px',\n\t\t\t\twidth: '72px',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<View { ...useBlockProps( { style } ) }>\n\t\t\t\t{ resizableBoxWithOrientation( orientation ) }\n\t\t\t</View>\n\t\t\t<SpacerControls\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\theight={ temporaryHeight || height }\n\t\t\t\twidth={ temporaryWidth || width }\n\t\t\t\torientation={ orientation }\n\t\t\t\tisResizing={ isResizing }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default SpacerEdit;\n"]}
@@ -229,7 +229,7 @@ const deprecated = [// Deprecation migrating table block to use colors block sup
229
229
  }));
230
230
  },
231
231
  isEligible: attributes => {
232
- return attributes.backgroundColor && !attributes.style;
232
+ return attributes.backgroundColor && attributes.backgroundColor in oldColors && !attributes.style;
233
233
  },
234
234
  // This version is the first to introduce the style attribute to the
235
235
  // table block. As a result, we'll explicitly override that.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table/deprecated.js"],"names":["classnames","RichText","getColorClassName","useBlockProps","supports","align","oldColors","deprecated","attributes","hasFixedLayout","type","default","backgroundColor","caption","source","selector","head","query","cells","content","tag","scope","attribute","body","foot","anchor","__experimentalSelector","save","isEmpty","length","backgroundClass","classes","hasCaption","Section","rows","Tag","map","rowIndex","cellIndex","cellClasses","undefined","isEligible","style","migrate","color","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\nconst supports = {\n\talign: true,\n};\n\n// As the previous arbitrary colors won't match theme color palettes, the hex\n// value will be mapped to the style.color.background attribute as if it was\n// a custom color selection.\nconst oldColors = {\n\t'subtle-light-gray': '#f3f4f5',\n\t'subtle-pale-green': '#e9fbe5',\n\t'subtle-pale-blue': '#e7f5fe',\n\t'subtle-pale-pink': '#fcf0ef',\n};\n\nconst deprecated = [\n\t// Deprecation migrating table block to use colors block support feature.\n\t{\n\t\tattributes: {\n\t\t\thasFixedLayout: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcaption: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'html',\n\t\t\t\tselector: 'figcaption',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\thead: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'thead tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\t},\n\t\t\tbody: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tbody tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\t},\n\t\t\tfoot: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tfoot tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\t__experimentalSelector: '.wp-block-table > table',\n\t\t},\n\t\tsave: ( { attributes } ) => {\n\t\t\tconst {\n\t\t\t\thasFixedLayout,\n\t\t\t\thead,\n\t\t\t\tbody,\n\t\t\t\tfoot,\n\t\t\t\tbackgroundColor,\n\t\t\t\tcaption,\n\t\t\t} = attributes;\n\t\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\t\tif ( isEmpty ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst classes = classnames( backgroundClass, {\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t'has-background': !! backgroundClass,\n\t\t\t} );\n\n\t\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\t\tconst Section = ( { type, rows } ) => {\n\t\t\t\tif ( ! rows.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst Tag = `t${ type }`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tag>\n\t\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? scope\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tag>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t\t</table>\n\t\t\t\t\t{ hasCaption && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t\tisEligible: ( attributes ) => {\n\t\t\treturn attributes.backgroundColor && ! attributes.style;\n\t\t},\n\n\t\t// This version is the first to introduce the style attribute to the\n\t\t// table block. As a result, we'll explicitly override that.\n\t\tmigrate: ( attributes ) => {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tbackgroundColor: undefined,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\thasFixedLayout: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\thead: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'thead tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\t},\n\t\t\tbody: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tbody tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\t},\n\t\t\tfoot: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tfoot tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\t},\n\t\t},\n\t\tsupports,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\thasFixedLayout,\n\t\t\t\thead,\n\t\t\t\tbody,\n\t\t\t\tfoot,\n\t\t\t\tbackgroundColor,\n\t\t\t} = attributes;\n\t\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\t\tif ( isEmpty ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst classes = classnames( backgroundClass, {\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t'has-background': !! backgroundClass,\n\t\t\t} );\n\n\t\t\tconst Section = ( { type, rows } ) => {\n\t\t\t\tif ( ! rows.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst Tag = `t${ type }`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tag>\n\t\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tag>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<table className={ classes }>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table/deprecated.js"],"names":["classnames","RichText","getColorClassName","useBlockProps","supports","align","oldColors","deprecated","attributes","hasFixedLayout","type","default","backgroundColor","caption","source","selector","head","query","cells","content","tag","scope","attribute","body","foot","anchor","__experimentalSelector","save","isEmpty","length","backgroundClass","classes","hasCaption","Section","rows","Tag","map","rowIndex","cellIndex","cellClasses","undefined","isEligible","style","migrate","color","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\nconst supports = {\n\talign: true,\n};\n\n// As the previous arbitrary colors won't match theme color palettes, the hex\n// value will be mapped to the style.color.background attribute as if it was\n// a custom color selection.\nconst oldColors = {\n\t'subtle-light-gray': '#f3f4f5',\n\t'subtle-pale-green': '#e9fbe5',\n\t'subtle-pale-blue': '#e7f5fe',\n\t'subtle-pale-pink': '#fcf0ef',\n};\n\nconst deprecated = [\n\t// Deprecation migrating table block to use colors block support feature.\n\t{\n\t\tattributes: {\n\t\t\thasFixedLayout: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcaption: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'html',\n\t\t\t\tselector: 'figcaption',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\thead: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'thead tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\t},\n\t\t\tbody: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tbody tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\t},\n\t\t\tfoot: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tfoot tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\t__experimentalSelector: '.wp-block-table > table',\n\t\t},\n\t\tsave: ( { attributes } ) => {\n\t\t\tconst {\n\t\t\t\thasFixedLayout,\n\t\t\t\thead,\n\t\t\t\tbody,\n\t\t\t\tfoot,\n\t\t\t\tbackgroundColor,\n\t\t\t\tcaption,\n\t\t\t} = attributes;\n\t\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\t\tif ( isEmpty ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst classes = classnames( backgroundClass, {\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t'has-background': !! backgroundClass,\n\t\t\t} );\n\n\t\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\t\tconst Section = ( { type, rows } ) => {\n\t\t\t\tif ( ! rows.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst Tag = `t${ type }`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tag>\n\t\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? scope\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tag>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t\t</table>\n\t\t\t\t\t{ hasCaption && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t\tisEligible: ( attributes ) => {\n\t\t\treturn (\n\t\t\t\tattributes.backgroundColor &&\n\t\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t\t! attributes.style\n\t\t\t);\n\t\t},\n\n\t\t// This version is the first to introduce the style attribute to the\n\t\t// table block. As a result, we'll explicitly override that.\n\t\tmigrate: ( attributes ) => {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tbackgroundColor: undefined,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\thasFixedLayout: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\thead: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'thead tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\t},\n\t\t\tbody: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tbody tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\t},\n\t\t\tfoot: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tfoot tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\t},\n\t\t},\n\t\tsupports,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\thasFixedLayout,\n\t\t\t\thead,\n\t\t\t\tbody,\n\t\t\t\tfoot,\n\t\t\t\tbackgroundColor,\n\t\t\t} = attributes;\n\t\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\t\tif ( isEmpty ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst classes = classnames( backgroundClass, {\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t'has-background': !! backgroundClass,\n\t\t\t} );\n\n\t\t\tconst Section = ( { type, rows } ) => {\n\t\t\t\tif ( ! rows.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst Tag = `t${ type }`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tag>\n\t\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tag>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<table className={ classes }>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -8,10 +8,10 @@ import { map, filter } from 'lodash';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { PanelBody, ToggleControl, SelectControl, RangeControl } from '@wordpress/components';
11
+ import { Flex, FlexItem, PanelBody, ToggleControl, SelectControl, RangeControl, __experimentalUnitControl as UnitControl, __experimentalUseCustomUnits as useCustomUnits, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';
12
12
  import { withSelect } from '@wordpress/data';
13
13
  import { __ } from '@wordpress/i18n';
14
- import { InspectorControls, useBlockProps } from '@wordpress/block-editor';
14
+ import { InspectorControls, useBlockProps, useSetting } from '@wordpress/block-editor';
15
15
  import ServerSideRender from '@wordpress/server-side-render';
16
16
  import { store as coreStore } from '@wordpress/core-data';
17
17
  /**
@@ -28,6 +28,8 @@ const MIN_TAGS = 1;
28
28
  */
29
29
 
30
30
  const MAX_TAGS = 100;
31
+ const MIN_FONT_SIZE = 0.1;
32
+ const MAX_FONT_SIZE = 100;
31
33
 
32
34
  function TagCloudEdit(_ref) {
33
35
  let {
@@ -38,8 +40,13 @@ function TagCloudEdit(_ref) {
38
40
  const {
39
41
  taxonomy,
40
42
  showTagCounts,
41
- numberOfTags
43
+ numberOfTags,
44
+ smallestFontSize,
45
+ largestFontSize
42
46
  } = attributes;
47
+ const units = useCustomUnits({
48
+ availableUnits: useSetting('spacing.units') || ['%', 'px', 'em', 'rem']
49
+ });
43
50
 
44
51
  const getTaxonomyOptions = () => {
45
52
  const selectOption = {
@@ -56,6 +63,33 @@ function TagCloudEdit(_ref) {
56
63
  return [selectOption, ...taxonomyOptions];
57
64
  };
58
65
 
66
+ const onFontSizeChange = (fontSizeLabel, newValue) => {
67
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
68
+ const [quantity, newUnit] = parseQuantityAndUnitFromRawValue(newValue);
69
+
70
+ if (!Number.isFinite(quantity)) {
71
+ return;
72
+ }
73
+
74
+ const updateObj = {
75
+ [fontSizeLabel]: newValue
76
+ }; // We need to keep in sync the `unit` changes to both `smallestFontSize`
77
+ // and `largestFontSize` attributes.
78
+
79
+ Object.entries({
80
+ smallestFontSize,
81
+ largestFontSize
82
+ }).forEach(_ref2 => {
83
+ let [attribute, currentValue] = _ref2;
84
+ const [currentQuantity, currentUnit] = parseQuantityAndUnitFromRawValue(currentValue); // Only add an update if the other font size attribute has a different unit.
85
+
86
+ if (attribute !== fontSizeLabel && currentUnit !== newUnit) {
87
+ updateObj[attribute] = `${currentQuantity}${newUnit}`;
88
+ }
89
+ });
90
+ setAttributes(updateObj);
91
+ };
92
+
59
93
  const inspectorControls = createElement(InspectorControls, null, createElement(PanelBody, {
60
94
  title: __('Tag Cloud settings')
61
95
  }, createElement(SelectControl, {
@@ -80,7 +114,29 @@ function TagCloudEdit(_ref) {
80
114
  min: MIN_TAGS,
81
115
  max: MAX_TAGS,
82
116
  required: true
83
- })));
117
+ }), createElement(Flex, null, createElement(FlexItem, {
118
+ isBlock: true
119
+ }, createElement(UnitControl, {
120
+ label: __('Smallest size'),
121
+ value: smallestFontSize,
122
+ onChange: value => {
123
+ onFontSizeChange('smallestFontSize', value);
124
+ },
125
+ units: units,
126
+ min: MIN_FONT_SIZE,
127
+ max: MAX_FONT_SIZE
128
+ })), createElement(FlexItem, {
129
+ isBlock: true
130
+ }, createElement(UnitControl, {
131
+ label: __('Largest size'),
132
+ value: largestFontSize,
133
+ onChange: value => {
134
+ onFontSizeChange('largestFontSize', value);
135
+ },
136
+ units: units,
137
+ min: MIN_FONT_SIZE,
138
+ max: MAX_FONT_SIZE
139
+ })))));
84
140
  return createElement(Fragment, null, inspectorControls, createElement("div", useBlockProps(), createElement(ServerSideRender, {
85
141
  key: "tag-cloud",
86
142
  block: "core/tag-cloud",