@wordpress/block-library 7.17.0 → 7.18.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 (233) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/audio/edit.js +44 -4
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/button/edit.js +1 -1
  5. package/build/button/edit.js.map +1 -1
  6. package/build/buttons/edit.native.js +1 -1
  7. package/build/buttons/edit.native.js.map +1 -1
  8. package/build/comment-template/index.js +6 -2
  9. package/build/comment-template/index.js.map +1 -1
  10. package/build/cover/edit/inspector-controls.js +3 -7
  11. package/build/cover/edit/inspector-controls.js.map +1 -1
  12. package/build/embed/deprecated.js +43 -4
  13. package/build/embed/deprecated.js.map +1 -1
  14. package/build/file/deprecated.js +108 -4
  15. package/build/file/deprecated.js.map +1 -1
  16. package/build/file/transforms.js +3 -9
  17. package/build/file/transforms.js.map +1 -1
  18. package/build/gallery/deprecated.js +148 -23
  19. package/build/gallery/deprecated.js.map +1 -1
  20. package/build/gallery/gallery.js +3 -2
  21. package/build/gallery/gallery.js.map +1 -1
  22. package/build/gallery/use-image-sizes.js +2 -1
  23. package/build/gallery/use-image-sizes.js.map +1 -1
  24. package/build/gallery/v1/edit.js +2 -1
  25. package/build/gallery/v1/edit.js.map +1 -1
  26. package/build/group/edit.js +7 -3
  27. package/build/group/edit.js.map +1 -1
  28. package/build/image/edit.native.js +1 -1
  29. package/build/image/edit.native.js.map +1 -1
  30. package/build/image/image.js +6 -9
  31. package/build/image/image.js.map +1 -1
  32. package/build/latest-posts/edit.js +1 -1
  33. package/build/latest-posts/edit.js.map +1 -1
  34. package/build/list/utils.js +4 -8
  35. package/build/list/utils.js.map +1 -1
  36. package/build/list-item/hooks/use-outdent-list-item.js +5 -7
  37. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  38. package/build/navigation/edit/index.js +12 -11
  39. package/build/navigation/edit/index.js.map +1 -1
  40. package/build/navigation/edit/unsaved-inner-blocks.js +3 -1
  41. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  42. package/build/navigation-link/edit.js +4 -2
  43. package/build/navigation-link/edit.js.map +1 -1
  44. package/build/navigation-submenu/edit.js +4 -4
  45. package/build/navigation-submenu/edit.js.map +1 -1
  46. package/build/page-list/edit.js +29 -10
  47. package/build/page-list/edit.js.map +1 -1
  48. package/build/post-comments-count/index.js +4 -0
  49. package/build/post-comments-count/index.js.map +1 -1
  50. package/build/post-comments-form/index.js +4 -0
  51. package/build/post-comments-form/index.js.map +1 -1
  52. package/build/post-comments-link/index.js +4 -0
  53. package/build/post-comments-link/index.js.map +1 -1
  54. package/build/post-content/edit.js +14 -6
  55. package/build/post-content/edit.js.map +1 -1
  56. package/build/pullquote/deprecated.js +6 -6
  57. package/build/pullquote/deprecated.js.map +1 -1
  58. package/build/search/edit.js +1 -3
  59. package/build/search/edit.js.map +1 -1
  60. package/build/site-logo/edit.js +1 -1
  61. package/build/site-logo/edit.js.map +1 -1
  62. package/build/site-tagline/edit.js +21 -9
  63. package/build/site-tagline/edit.js.map +1 -1
  64. package/build/site-title/edit/index.js +20 -8
  65. package/build/site-title/edit/index.js.map +1 -1
  66. package/build/social-link/edit.js +11 -2
  67. package/build/social-link/edit.js.map +1 -1
  68. package/build/social-link/index.js +3 -0
  69. package/build/social-link/index.js.map +1 -1
  70. package/build/spacer/controls.js +3 -7
  71. package/build/spacer/controls.js.map +1 -1
  72. package/build/table/deprecated.js +282 -27
  73. package/build/table/deprecated.js.map +1 -1
  74. package/build/table/state.js +1 -1
  75. package/build/table/state.js.map +1 -1
  76. package/build/utils/clean-empty-object.js +5 -4
  77. package/build/utils/clean-empty-object.js.map +1 -1
  78. package/build/video/deprecated.js +159 -0
  79. package/build/video/deprecated.js.map +1 -0
  80. package/build/video/edit.js +41 -5
  81. package/build/video/edit.js.map +1 -1
  82. package/build/video/index.js +3 -0
  83. package/build/video/index.js.map +1 -1
  84. package/build/video/tracks-editor.js +3 -28
  85. package/build/video/tracks-editor.js.map +1 -1
  86. package/build-module/audio/edit.js +46 -7
  87. package/build-module/audio/edit.js.map +1 -1
  88. package/build-module/button/edit.js +1 -1
  89. package/build-module/button/edit.js.map +1 -1
  90. package/build-module/buttons/edit.native.js +1 -1
  91. package/build-module/buttons/edit.native.js.map +1 -1
  92. package/build-module/comment-template/index.js +6 -2
  93. package/build-module/comment-template/index.js.map +1 -1
  94. package/build-module/cover/edit/inspector-controls.js +4 -8
  95. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  96. package/build-module/embed/deprecated.js +44 -5
  97. package/build-module/embed/deprecated.js.map +1 -1
  98. package/build-module/file/deprecated.js +108 -4
  99. package/build-module/file/deprecated.js.map +1 -1
  100. package/build-module/file/transforms.js +3 -8
  101. package/build-module/file/transforms.js.map +1 -1
  102. package/build-module/gallery/deprecated.js +147 -25
  103. package/build-module/gallery/deprecated.js.map +1 -1
  104. package/build-module/gallery/gallery.js +3 -2
  105. package/build-module/gallery/gallery.js.map +1 -1
  106. package/build-module/gallery/use-image-sizes.js +3 -2
  107. package/build-module/gallery/use-image-sizes.js.map +1 -1
  108. package/build-module/gallery/v1/edit.js +3 -2
  109. package/build-module/gallery/v1/edit.js.map +1 -1
  110. package/build-module/group/edit.js +7 -3
  111. package/build-module/group/edit.js.map +1 -1
  112. package/build-module/image/edit.native.js +1 -1
  113. package/build-module/image/edit.native.js.map +1 -1
  114. package/build-module/image/image.js +8 -11
  115. package/build-module/image/image.js.map +1 -1
  116. package/build-module/latest-posts/edit.js +2 -2
  117. package/build-module/latest-posts/edit.js.map +1 -1
  118. package/build-module/list/utils.js +5 -9
  119. package/build-module/list/utils.js.map +1 -1
  120. package/build-module/list-item/hooks/use-outdent-list-item.js +5 -6
  121. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  122. package/build-module/navigation/edit/index.js +12 -11
  123. package/build-module/navigation/edit/index.js.map +1 -1
  124. package/build-module/navigation/edit/unsaved-inner-blocks.js +3 -1
  125. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  126. package/build-module/navigation-link/edit.js +4 -3
  127. package/build-module/navigation-link/edit.js.map +1 -1
  128. package/build-module/navigation-submenu/edit.js +4 -4
  129. package/build-module/navigation-submenu/edit.js.map +1 -1
  130. package/build-module/page-list/edit.js +29 -10
  131. package/build-module/page-list/edit.js.map +1 -1
  132. package/build-module/post-comments-count/index.js +4 -0
  133. package/build-module/post-comments-count/index.js.map +1 -1
  134. package/build-module/post-comments-form/index.js +4 -0
  135. package/build-module/post-comments-form/index.js.map +1 -1
  136. package/build-module/post-comments-link/index.js +4 -0
  137. package/build-module/post-comments-link/index.js.map +1 -1
  138. package/build-module/post-content/edit.js +14 -6
  139. package/build-module/post-content/edit.js.map +1 -1
  140. package/build-module/pullquote/deprecated.js +7 -7
  141. package/build-module/pullquote/deprecated.js.map +1 -1
  142. package/build-module/search/edit.js +1 -3
  143. package/build-module/search/edit.js.map +1 -1
  144. package/build-module/site-logo/edit.js +2 -2
  145. package/build-module/site-logo/edit.js.map +1 -1
  146. package/build-module/site-tagline/edit.js +23 -11
  147. package/build-module/site-tagline/edit.js.map +1 -1
  148. package/build-module/site-title/edit/index.js +22 -10
  149. package/build-module/site-title/edit/index.js.map +1 -1
  150. package/build-module/social-link/edit.js +11 -2
  151. package/build-module/social-link/edit.js.map +1 -1
  152. package/build-module/social-link/index.js +3 -0
  153. package/build-module/social-link/index.js.map +1 -1
  154. package/build-module/spacer/controls.js +4 -8
  155. package/build-module/spacer/controls.js.map +1 -1
  156. package/build-module/table/deprecated.js +282 -27
  157. package/build-module/table/deprecated.js.map +1 -1
  158. package/build-module/table/state.js +1 -1
  159. package/build-module/table/state.js.map +1 -1
  160. package/build-module/utils/clean-empty-object.js +5 -5
  161. package/build-module/utils/clean-empty-object.js.map +1 -1
  162. package/build-module/video/deprecated.js +147 -0
  163. package/build-module/video/deprecated.js.map +1 -0
  164. package/build-module/video/edit.js +45 -9
  165. package/build-module/video/edit.js.map +1 -1
  166. package/build-module/video/index.js +2 -0
  167. package/build-module/video/index.js.map +1 -1
  168. package/build-module/video/tracks-editor.js +4 -29
  169. package/build-module/video/tracks-editor.js.map +1 -1
  170. package/build-style/button/style-rtl.css +1 -0
  171. package/build-style/button/style.css +1 -0
  172. package/build-style/comment-template/style-rtl.css +1 -0
  173. package/build-style/comment-template/style.css +1 -0
  174. package/build-style/editor-rtl.css +4 -4
  175. package/build-style/editor.css +4 -4
  176. package/build-style/navigation/editor-rtl.css +4 -4
  177. package/build-style/navigation/editor.css +4 -4
  178. package/build-style/navigation/style-rtl.css +3 -1
  179. package/build-style/navigation/style.css +3 -1
  180. package/build-style/post-comments-form/style-rtl.css +3 -0
  181. package/build-style/post-comments-form/style.css +3 -0
  182. package/build-style/style-rtl.css +8 -1
  183. package/build-style/style.css +8 -1
  184. package/package.json +29 -28
  185. package/src/audio/edit.js +79 -24
  186. package/src/button/edit.js +1 -1
  187. package/src/button/style.scss +2 -0
  188. package/src/buttons/edit.native.js +1 -1
  189. package/src/comment-template/block.json +6 -2
  190. package/src/comment-template/style.scss +2 -0
  191. package/src/cover/edit/inspector-controls.js +11 -13
  192. package/src/embed/deprecated.js +53 -26
  193. package/src/file/deprecated.js +130 -2
  194. package/src/file/transforms.js +3 -8
  195. package/src/gallery/deprecated.js +129 -4
  196. package/src/gallery/gallery.js +2 -0
  197. package/src/gallery/index.php +19 -10
  198. package/src/gallery/use-image-sizes.js +3 -2
  199. package/src/gallery/v1/edit.js +3 -2
  200. package/src/group/edit.js +10 -2
  201. package/src/image/edit.native.js +1 -1
  202. package/src/image/image.js +22 -10
  203. package/src/latest-posts/edit.js +2 -2
  204. package/src/list/utils.js +3 -11
  205. package/src/list-item/hooks/use-outdent-list-item.js +3 -6
  206. package/src/navigation/edit/index.js +13 -15
  207. package/src/navigation/edit/unsaved-inner-blocks.js +9 -2
  208. package/src/navigation/editor.scss +4 -4
  209. package/src/navigation/style.scss +3 -1
  210. package/src/navigation-link/edit.js +5 -4
  211. package/src/navigation-submenu/edit.js +7 -5
  212. package/src/page-list/edit.js +36 -22
  213. package/src/post-comments-count/block.json +4 -0
  214. package/src/post-comments-form/block.json +4 -0
  215. package/src/post-comments-form/style.scss +3 -0
  216. package/src/post-comments-link/block.json +4 -0
  217. package/src/post-content/edit.js +8 -4
  218. package/src/pullquote/deprecated.js +7 -7
  219. package/src/search/edit.js +1 -1
  220. package/src/site-logo/edit.js +2 -2
  221. package/src/site-tagline/edit.js +25 -18
  222. package/src/site-title/edit/index.js +26 -12
  223. package/src/social-link/block.json +3 -0
  224. package/src/social-link/edit.js +8 -1
  225. package/src/social-link/index.php +11 -7
  226. package/src/spacer/controls.js +10 -12
  227. package/src/table/deprecated.js +587 -348
  228. package/src/table/state.js +1 -1
  229. package/src/utils/clean-empty-object.js +5 -6
  230. package/src/video/deprecated.js +57 -0
  231. package/src/video/edit.js +71 -23
  232. package/src/video/index.js +2 -0
  233. package/src/video/tracks-editor.js +12 -28
@@ -8,10 +8,7 @@ import classnames from 'classnames';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { RichText, getColorClassName, useBlockProps } from '@wordpress/block-editor';
12
- const supports = {
13
- align: true
14
- }; // As the previous arbitrary colors won't match theme color palettes, the hex
11
+ import { RichText, getColorClassName, useBlockProps, __experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles } from '@wordpress/block-editor'; // As the previous arbitrary colors won't match theme color palettes, the hex
15
12
  // value will be mapped to the style.color.background attribute as if it was
16
13
  // a custom color selection.
17
14
 
@@ -20,9 +17,255 @@ const oldColors = {
20
17
  'subtle-pale-green': '#e9fbe5',
21
18
  'subtle-pale-blue': '#e7f5fe',
22
19
  'subtle-pale-pink': '#fcf0ef'
23
- };
24
- const deprecated = [// Deprecation migrating table block to use colors block support feature.
25
- {
20
+ }; // In #41140 support was added to global styles for caption elements which
21
+ // added a `wp-element-caption` classname to the embed figcaption element.
22
+
23
+ const v3 = {
24
+ attributes: {
25
+ hasFixedLayout: {
26
+ type: 'boolean',
27
+ default: false
28
+ },
29
+ caption: {
30
+ type: 'string',
31
+ source: 'html',
32
+ selector: 'figcaption',
33
+ default: ''
34
+ },
35
+ head: {
36
+ type: 'array',
37
+ default: [],
38
+ source: 'query',
39
+ selector: 'thead tr',
40
+ query: {
41
+ cells: {
42
+ type: 'array',
43
+ default: [],
44
+ source: 'query',
45
+ selector: 'td,th',
46
+ query: {
47
+ content: {
48
+ type: 'string',
49
+ source: 'html'
50
+ },
51
+ tag: {
52
+ type: 'string',
53
+ default: 'td',
54
+ source: 'tag'
55
+ },
56
+ scope: {
57
+ type: 'string',
58
+ source: 'attribute',
59
+ attribute: 'scope'
60
+ },
61
+ align: {
62
+ type: 'string',
63
+ source: 'attribute',
64
+ attribute: 'data-align'
65
+ }
66
+ }
67
+ }
68
+ }
69
+ },
70
+ body: {
71
+ type: 'array',
72
+ default: [],
73
+ source: 'query',
74
+ selector: 'tbody tr',
75
+ query: {
76
+ cells: {
77
+ type: 'array',
78
+ default: [],
79
+ source: 'query',
80
+ selector: 'td,th',
81
+ query: {
82
+ content: {
83
+ type: 'string',
84
+ source: 'html'
85
+ },
86
+ tag: {
87
+ type: 'string',
88
+ default: 'td',
89
+ source: 'tag'
90
+ },
91
+ scope: {
92
+ type: 'string',
93
+ source: 'attribute',
94
+ attribute: 'scope'
95
+ },
96
+ align: {
97
+ type: 'string',
98
+ source: 'attribute',
99
+ attribute: 'data-align'
100
+ }
101
+ }
102
+ }
103
+ }
104
+ },
105
+ foot: {
106
+ type: 'array',
107
+ default: [],
108
+ source: 'query',
109
+ selector: 'tfoot tr',
110
+ query: {
111
+ cells: {
112
+ type: 'array',
113
+ default: [],
114
+ source: 'query',
115
+ selector: 'td,th',
116
+ query: {
117
+ content: {
118
+ type: 'string',
119
+ source: 'html'
120
+ },
121
+ tag: {
122
+ type: 'string',
123
+ default: 'td',
124
+ source: 'tag'
125
+ },
126
+ scope: {
127
+ type: 'string',
128
+ source: 'attribute',
129
+ attribute: 'scope'
130
+ },
131
+ align: {
132
+ type: 'string',
133
+ source: 'attribute',
134
+ attribute: 'data-align'
135
+ }
136
+ }
137
+ }
138
+ }
139
+ }
140
+ },
141
+ supports: {
142
+ anchor: true,
143
+ align: true,
144
+ color: {
145
+ __experimentalSkipSerialization: true,
146
+ gradients: true,
147
+ __experimentalDefaultControls: {
148
+ background: true,
149
+ text: true
150
+ }
151
+ },
152
+ spacing: {
153
+ margin: true,
154
+ padding: true
155
+ },
156
+ typography: {
157
+ fontSize: true,
158
+ lineHeight: true,
159
+ __experimentalFontFamily: true,
160
+ __experimentalFontStyle: true,
161
+ __experimentalFontWeight: true,
162
+ __experimentalLetterSpacing: true,
163
+ __experimentalTextTransform: true,
164
+ __experimentalTextDecoration: true,
165
+ __experimentalDefaultControls: {
166
+ fontSize: true
167
+ }
168
+ },
169
+ __experimentalBorder: {
170
+ __experimentalSkipSerialization: true,
171
+ color: true,
172
+ style: true,
173
+ width: true,
174
+ __experimentalDefaultControls: {
175
+ color: true,
176
+ style: true,
177
+ width: true
178
+ }
179
+ },
180
+ __experimentalSelector: '.wp-block-table > table'
181
+ },
182
+
183
+ save(_ref) {
184
+ let {
185
+ attributes
186
+ } = _ref;
187
+ const {
188
+ hasFixedLayout,
189
+ head,
190
+ body,
191
+ foot,
192
+ caption
193
+ } = attributes;
194
+ const isEmpty = !head.length && !body.length && !foot.length;
195
+
196
+ if (isEmpty) {
197
+ return null;
198
+ }
199
+
200
+ const colorProps = getColorClassesAndStyles(attributes);
201
+ const borderProps = getBorderClassesAndStyles(attributes);
202
+ const classes = classnames(colorProps.className, borderProps.className, {
203
+ 'has-fixed-layout': hasFixedLayout
204
+ });
205
+ const hasCaption = !RichText.isEmpty(caption);
206
+
207
+ const Section = _ref2 => {
208
+ let {
209
+ type,
210
+ rows
211
+ } = _ref2;
212
+
213
+ if (!rows.length) {
214
+ return null;
215
+ }
216
+
217
+ const Tag = `t${type}`;
218
+ return createElement(Tag, null, rows.map((_ref3, rowIndex) => {
219
+ let {
220
+ cells
221
+ } = _ref3;
222
+ return createElement("tr", {
223
+ key: rowIndex
224
+ }, cells.map((_ref4, cellIndex) => {
225
+ let {
226
+ content,
227
+ tag,
228
+ scope,
229
+ align
230
+ } = _ref4;
231
+ const cellClasses = classnames({
232
+ [`has-text-align-${align}`]: align
233
+ });
234
+ return createElement(RichText.Content, {
235
+ className: cellClasses ? cellClasses : undefined,
236
+ "data-align": align,
237
+ tagName: tag,
238
+ value: content,
239
+ key: cellIndex,
240
+ scope: tag === 'th' ? scope : undefined
241
+ });
242
+ }));
243
+ }));
244
+ };
245
+
246
+ return createElement("figure", useBlockProps.save(), createElement("table", {
247
+ className: classes === '' ? undefined : classes,
248
+ style: { ...colorProps.style,
249
+ ...borderProps.style
250
+ }
251
+ }, createElement(Section, {
252
+ type: "head",
253
+ rows: head
254
+ }), createElement(Section, {
255
+ type: "body",
256
+ rows: body
257
+ }), createElement(Section, {
258
+ type: "foot",
259
+ rows: foot
260
+ })), hasCaption && createElement(RichText.Content, {
261
+ tagName: "figcaption",
262
+ value: caption
263
+ }));
264
+ }
265
+
266
+ }; // Deprecation migrating table block to use colors block support feature.
267
+
268
+ const v2 = {
26
269
  attributes: {
27
270
  hasFixedLayout: {
28
271
  type: 'boolean',
@@ -148,10 +391,10 @@ const deprecated = [// Deprecation migrating table block to use colors block sup
148
391
  align: true,
149
392
  __experimentalSelector: '.wp-block-table > table'
150
393
  },
151
- save: _ref => {
394
+ save: _ref5 => {
152
395
  let {
153
396
  attributes
154
- } = _ref;
397
+ } = _ref5;
155
398
  const {
156
399
  hasFixedLayout,
157
400
  head,
@@ -173,30 +416,30 @@ const deprecated = [// Deprecation migrating table block to use colors block sup
173
416
  });
174
417
  const hasCaption = !RichText.isEmpty(caption);
175
418
 
176
- const Section = _ref2 => {
419
+ const Section = _ref6 => {
177
420
  let {
178
421
  type,
179
422
  rows
180
- } = _ref2;
423
+ } = _ref6;
181
424
 
182
425
  if (!rows.length) {
183
426
  return null;
184
427
  }
185
428
 
186
429
  const Tag = `t${type}`;
187
- return createElement(Tag, null, rows.map((_ref3, rowIndex) => {
430
+ return createElement(Tag, null, rows.map((_ref7, rowIndex) => {
188
431
  let {
189
432
  cells
190
- } = _ref3;
433
+ } = _ref7;
191
434
  return createElement("tr", {
192
435
  key: rowIndex
193
- }, cells.map((_ref4, cellIndex) => {
436
+ }, cells.map((_ref8, cellIndex) => {
194
437
  let {
195
438
  content,
196
439
  tag,
197
440
  scope,
198
441
  align
199
- } = _ref4;
442
+ } = _ref8;
200
443
  const cellClasses = classnames({
201
444
  [`has-text-align-${align}`]: align
202
445
  });
@@ -243,7 +486,8 @@ const deprecated = [// Deprecation migrating table block to use colors block sup
243
486
  }
244
487
  };
245
488
  }
246
- }, {
489
+ };
490
+ const v1 = {
247
491
  attributes: {
248
492
  hasFixedLayout: {
249
493
  type: 'boolean',
@@ -343,12 +587,14 @@ const deprecated = [// Deprecation migrating table block to use colors block sup
343
587
  }
344
588
  }
345
589
  },
346
- supports,
590
+ supports: {
591
+ align: true
592
+ },
347
593
 
348
- save(_ref5) {
594
+ save(_ref9) {
349
595
  let {
350
596
  attributes
351
- } = _ref5;
597
+ } = _ref9;
352
598
  const {
353
599
  hasFixedLayout,
354
600
  head,
@@ -368,29 +614,29 @@ const deprecated = [// Deprecation migrating table block to use colors block sup
368
614
  'has-background': !!backgroundClass
369
615
  });
370
616
 
371
- const Section = _ref6 => {
617
+ const Section = _ref10 => {
372
618
  let {
373
619
  type,
374
620
  rows
375
- } = _ref6;
621
+ } = _ref10;
376
622
 
377
623
  if (!rows.length) {
378
624
  return null;
379
625
  }
380
626
 
381
627
  const Tag = `t${type}`;
382
- return createElement(Tag, null, rows.map((_ref7, rowIndex) => {
628
+ return createElement(Tag, null, rows.map((_ref11, rowIndex) => {
383
629
  let {
384
630
  cells
385
- } = _ref7;
631
+ } = _ref11;
386
632
  return createElement("tr", {
387
633
  key: rowIndex
388
- }, cells.map((_ref8, cellIndex) => {
634
+ }, cells.map((_ref12, cellIndex) => {
389
635
  let {
390
636
  content,
391
637
  tag,
392
638
  scope
393
- } = _ref8;
639
+ } = _ref12;
394
640
  return createElement(RichText.Content, {
395
641
  tagName: tag,
396
642
  value: content,
@@ -415,6 +661,15 @@ const deprecated = [// Deprecation migrating table block to use colors block sup
415
661
  }));
416
662
  }
417
663
 
418
- }];
419
- export default deprecated;
664
+ };
665
+ /**
666
+ * New deprecations need to be placed first
667
+ * for them to have higher priority.
668
+ *
669
+ * Old deprecations may need to be updated as well.
670
+ *
671
+ * See block-deprecation.md
672
+ */
673
+
674
+ export default [v3, v2, v1];
420
675
  //# sourceMappingURL=deprecated.js.map
@@ -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 }` ]:\n\t\t\t\t\t\t\t\t\t\t\t\talign,\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 { hasFixedLayout, head, body, foot, backgroundColor } =\n\t\t\t\tattributes;\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","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","oldColors","v3","attributes","hasFixedLayout","type","default","caption","source","selector","head","query","cells","content","tag","scope","attribute","align","body","foot","supports","anchor","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalBorder","style","width","__experimentalSelector","save","isEmpty","length","colorProps","borderProps","classes","className","hasCaption","Section","rows","Tag","map","rowIndex","cellIndex","cellClasses","undefined","v2","backgroundColor","backgroundClass","isEligible","migrate","v1"],"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\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\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\n// In #41140 support was added to global styles for caption elements which\n// added a `wp-element-caption` classname to the embed figcaption element.\nconst v3 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\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} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\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? cellClasses\n\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}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\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) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\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\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// Deprecation migrating table block to use colors block support feature.\nconst v2 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave: ( { attributes } ) => {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor, caption } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\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} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\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? cellClasses\n\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}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\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) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table className={ classes === '' ? undefined : 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\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tisEligible: ( attributes ) => {\n\t\treturn (\n\t\t\tattributes.backgroundColor &&\n\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t! attributes.style\n\t\t);\n\t},\n\n\t// This version is the first to introduce the style attribute to the\n\t// table block. As a result, we'll explicitly override that.\n\tmigrate: ( attributes ) => {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tbackgroundColor: undefined,\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\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\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\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\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\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},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\tscope={\n\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}\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) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<table className={ classes }>\n\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t</table>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v3, v2, v1 ];\n"]}
@@ -264,7 +264,7 @@ export function deleteColumn(state, _ref5) {
264
264
  });
265
265
  }
266
266
  /**
267
- * Toggles the existance of a section.
267
+ * Toggles the existence of a section.
268
268
  *
269
269
  * @param {Object} state Current table state.
270
270
  * @param {string} sectionName Name of the section to toggle.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table/state.js"],"names":["get","mapValues","pick","INHERITED_COLUMN_ATTRIBUTES","createTable","rowCount","columnCount","body","Array","from","length","map","cells","content","tag","getFirstRow","state","isEmptyTableSection","head","foot","getCellAttribute","cellLocation","attributeName","sectionName","rowIndex","columnIndex","updateSelectedCell","selection","updateCell","tableSections","selectionSectionName","selectionRowIndex","section","row","cellAttributes","isCellSelected","type","insertRow","firstRow","cellCount","undefined","slice","_","index","firstCellInColumn","inheritedAttributes","deleteRow","filter","insertColumn","isEmptyRow","deleteColumn","cell","toggleSection","every"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, mapValues, pick } from 'lodash';\n\nconst INHERITED_COLUMN_ATTRIBUTES = [ 'align' ];\n\n/**\n * Creates a table state.\n *\n * @param {Object} options\n * @param {number} options.rowCount Row count for the table to create.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function createTable( { rowCount, columnCount } ) {\n\treturn {\n\t\tbody: Array.from( { length: rowCount } ).map( () => ( {\n\t\t\tcells: Array.from( { length: columnCount } ).map( () => ( {\n\t\t\t\tcontent: '',\n\t\t\t\ttag: 'td',\n\t\t\t} ) ),\n\t\t} ) ),\n\t};\n}\n\n/**\n * Returns the first row in the table.\n *\n * @param {Object} state Current table state.\n *\n * @return {Object} The first table row.\n */\nexport function getFirstRow( state ) {\n\tif ( ! isEmptyTableSection( state.head ) ) {\n\t\treturn state.head[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.body ) ) {\n\t\treturn state.body[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.foot ) ) {\n\t\treturn state.foot[ 0 ];\n\t}\n}\n\n/**\n * Gets an attribute for a cell.\n *\n * @param {Object} state Current table state.\n * @param {Object} cellLocation The location of the cell\n * @param {string} attributeName The name of the attribute to get the value of.\n *\n * @return {*} The attribute value.\n */\nexport function getCellAttribute( state, cellLocation, attributeName ) {\n\tconst { sectionName, rowIndex, columnIndex } = cellLocation;\n\treturn get( state, [\n\t\tsectionName,\n\t\trowIndex,\n\t\t'cells',\n\t\tcolumnIndex,\n\t\tattributeName,\n\t] );\n}\n\n/**\n * Returns updated cell attributes after applying the `updateCell` function to the selection.\n *\n * @param {Object} state The block attributes.\n * @param {Object} selection The selection of cells to update.\n * @param {Function} updateCell A function to update the selected cell attributes.\n *\n * @return {Object} New table state including the updated cells.\n */\nexport function updateSelectedCell( state, selection, updateCell ) {\n\tif ( ! selection ) {\n\t\treturn state;\n\t}\n\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\tconst { sectionName: selectionSectionName, rowIndex: selectionRowIndex } =\n\t\tselection;\n\n\treturn mapValues( tableSections, ( section, sectionName ) => {\n\t\tif ( selectionSectionName && selectionSectionName !== sectionName ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section.map( ( row, rowIndex ) => {\n\t\t\tif ( selectionRowIndex && selectionRowIndex !== rowIndex ) {\n\t\t\t\treturn row;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcells: row.cells.map( ( cellAttributes, columnIndex ) => {\n\t\t\t\t\tconst cellLocation = {\n\t\t\t\t\t\tsectionName,\n\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\trowIndex,\n\t\t\t\t\t};\n\n\t\t\t\t\tif ( ! isCellSelected( cellLocation, selection ) ) {\n\t\t\t\t\t\treturn cellAttributes;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn updateCell( cellAttributes );\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\t} );\n}\n\n/**\n * Returns whether the cell at `cellLocation` is included in the selection `selection`.\n *\n * @param {Object} cellLocation An object containing cell location properties.\n * @param {Object} selection An object containing selection properties.\n *\n * @return {boolean} True if the cell is selected, false otherwise.\n */\nexport function isCellSelected( cellLocation, selection ) {\n\tif ( ! cellLocation || ! selection ) {\n\t\treturn false;\n\t}\n\n\tswitch ( selection.type ) {\n\t\tcase 'column':\n\t\t\treturn (\n\t\t\t\tselection.type === 'column' &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex\n\t\t\t);\n\t\tcase 'cell':\n\t\t\treturn (\n\t\t\t\tselection.type === 'cell' &&\n\t\t\t\tcellLocation.sectionName === selection.sectionName &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex &&\n\t\t\t\tcellLocation.rowIndex === selection.rowIndex\n\t\t\t);\n\t}\n}\n\n/**\n * Inserts a row in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to insert the row.\n * @param {number} options.rowIndex Row index at which to insert the row.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function insertRow( state, { sectionName, rowIndex, columnCount } ) {\n\tconst firstRow = getFirstRow( state );\n\tconst cellCount =\n\t\tcolumnCount === undefined\n\t\t\t? get( firstRow, [ 'cells', 'length' ] )\n\t\t\t: columnCount;\n\n\t// Bail early if the function cannot determine how many cells to add.\n\tif ( ! cellCount ) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\t[ sectionName ]: [\n\t\t\t...state[ sectionName ].slice( 0, rowIndex ),\n\t\t\t{\n\t\t\t\tcells: Array.from( { length: cellCount } ).map(\n\t\t\t\t\t( _, index ) => {\n\t\t\t\t\t\tconst firstCellInColumn = get(\n\t\t\t\t\t\t\tfirstRow,\n\t\t\t\t\t\t\t[ 'cells', index ],\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst inheritedAttributes = pick(\n\t\t\t\t\t\t\tfirstCellInColumn,\n\t\t\t\t\t\t\tINHERITED_COLUMN_ATTRIBUTES\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...inheritedAttributes,\n\t\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\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\t...state[ sectionName ].slice( rowIndex ),\n\t\t],\n\t};\n}\n\n/**\n * Deletes a row from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to delete the row.\n * @param {number} options.rowIndex Row index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteRow( state, { sectionName, rowIndex } ) {\n\treturn {\n\t\t[ sectionName ]: state[ sectionName ].filter(\n\t\t\t( row, index ) => index !== rowIndex\n\t\t),\n\t};\n}\n\n/**\n * Inserts a column in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index at which to insert the column.\n *\n * @return {Object} New table state.\n */\nexport function insertColumn( state, { columnIndex } ) {\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\n\treturn mapValues( tableSections, ( section, sectionName ) => {\n\t\t// Bail early if the table section is empty.\n\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section.map( ( row ) => {\n\t\t\t// Bail early if the row is empty or it's an attempt to insert past\n\t\t\t// the last possible index of the array.\n\t\t\tif ( isEmptyRow( row ) || row.cells.length < columnIndex ) {\n\t\t\t\treturn row;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcells: [\n\t\t\t\t\t...row.cells.slice( 0, columnIndex ),\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t},\n\t\t\t\t\t...row.cells.slice( columnIndex ),\n\t\t\t\t],\n\t\t\t};\n\t\t} );\n\t} );\n}\n\n/**\n * Deletes a column from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteColumn( state, { columnIndex } ) {\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\n\treturn mapValues( tableSections, ( section ) => {\n\t\t// Bail early if the table section is empty.\n\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section\n\t\t\t.map( ( row ) => ( {\n\t\t\t\tcells:\n\t\t\t\t\trow.cells.length >= columnIndex\n\t\t\t\t\t\t? row.cells.filter(\n\t\t\t\t\t\t\t\t( cell, index ) => index !== columnIndex\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: row.cells,\n\t\t\t} ) )\n\t\t\t.filter( ( row ) => row.cells.length );\n\t} );\n}\n\n/**\n * Toggles the existance of a section.\n *\n * @param {Object} state Current table state.\n * @param {string} sectionName Name of the section to toggle.\n *\n * @return {Object} New table state.\n */\nexport function toggleSection( state, sectionName ) {\n\t// Section exists, replace it with an empty row to remove it.\n\tif ( ! isEmptyTableSection( state[ sectionName ] ) ) {\n\t\treturn { [ sectionName ]: [] };\n\t}\n\n\t// Get the length of the first row of the body to use when creating the header.\n\tconst columnCount = get( state, [ 'body', 0, 'cells', 'length' ], 1 );\n\n\t// Section doesn't exist, insert an empty row to create the section.\n\treturn insertRow( state, { sectionName, rowIndex: 0, columnCount } );\n}\n\n/**\n * Determines whether a table section is empty.\n *\n * @param {Object} section Table section state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyTableSection( section ) {\n\treturn ! section || ! section.length || section.every( isEmptyRow );\n}\n\n/**\n * Determines whether a table row is empty.\n *\n * @param {Object} row Table row state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyRow( row ) {\n\treturn ! ( row.cells && row.cells.length );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table/state.js"],"names":["get","mapValues","pick","INHERITED_COLUMN_ATTRIBUTES","createTable","rowCount","columnCount","body","Array","from","length","map","cells","content","tag","getFirstRow","state","isEmptyTableSection","head","foot","getCellAttribute","cellLocation","attributeName","sectionName","rowIndex","columnIndex","updateSelectedCell","selection","updateCell","tableSections","selectionSectionName","selectionRowIndex","section","row","cellAttributes","isCellSelected","type","insertRow","firstRow","cellCount","undefined","slice","_","index","firstCellInColumn","inheritedAttributes","deleteRow","filter","insertColumn","isEmptyRow","deleteColumn","cell","toggleSection","every"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, mapValues, pick } from 'lodash';\n\nconst INHERITED_COLUMN_ATTRIBUTES = [ 'align' ];\n\n/**\n * Creates a table state.\n *\n * @param {Object} options\n * @param {number} options.rowCount Row count for the table to create.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function createTable( { rowCount, columnCount } ) {\n\treturn {\n\t\tbody: Array.from( { length: rowCount } ).map( () => ( {\n\t\t\tcells: Array.from( { length: columnCount } ).map( () => ( {\n\t\t\t\tcontent: '',\n\t\t\t\ttag: 'td',\n\t\t\t} ) ),\n\t\t} ) ),\n\t};\n}\n\n/**\n * Returns the first row in the table.\n *\n * @param {Object} state Current table state.\n *\n * @return {Object} The first table row.\n */\nexport function getFirstRow( state ) {\n\tif ( ! isEmptyTableSection( state.head ) ) {\n\t\treturn state.head[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.body ) ) {\n\t\treturn state.body[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.foot ) ) {\n\t\treturn state.foot[ 0 ];\n\t}\n}\n\n/**\n * Gets an attribute for a cell.\n *\n * @param {Object} state Current table state.\n * @param {Object} cellLocation The location of the cell\n * @param {string} attributeName The name of the attribute to get the value of.\n *\n * @return {*} The attribute value.\n */\nexport function getCellAttribute( state, cellLocation, attributeName ) {\n\tconst { sectionName, rowIndex, columnIndex } = cellLocation;\n\treturn get( state, [\n\t\tsectionName,\n\t\trowIndex,\n\t\t'cells',\n\t\tcolumnIndex,\n\t\tattributeName,\n\t] );\n}\n\n/**\n * Returns updated cell attributes after applying the `updateCell` function to the selection.\n *\n * @param {Object} state The block attributes.\n * @param {Object} selection The selection of cells to update.\n * @param {Function} updateCell A function to update the selected cell attributes.\n *\n * @return {Object} New table state including the updated cells.\n */\nexport function updateSelectedCell( state, selection, updateCell ) {\n\tif ( ! selection ) {\n\t\treturn state;\n\t}\n\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\tconst { sectionName: selectionSectionName, rowIndex: selectionRowIndex } =\n\t\tselection;\n\n\treturn mapValues( tableSections, ( section, sectionName ) => {\n\t\tif ( selectionSectionName && selectionSectionName !== sectionName ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section.map( ( row, rowIndex ) => {\n\t\t\tif ( selectionRowIndex && selectionRowIndex !== rowIndex ) {\n\t\t\t\treturn row;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcells: row.cells.map( ( cellAttributes, columnIndex ) => {\n\t\t\t\t\tconst cellLocation = {\n\t\t\t\t\t\tsectionName,\n\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\trowIndex,\n\t\t\t\t\t};\n\n\t\t\t\t\tif ( ! isCellSelected( cellLocation, selection ) ) {\n\t\t\t\t\t\treturn cellAttributes;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn updateCell( cellAttributes );\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\t} );\n}\n\n/**\n * Returns whether the cell at `cellLocation` is included in the selection `selection`.\n *\n * @param {Object} cellLocation An object containing cell location properties.\n * @param {Object} selection An object containing selection properties.\n *\n * @return {boolean} True if the cell is selected, false otherwise.\n */\nexport function isCellSelected( cellLocation, selection ) {\n\tif ( ! cellLocation || ! selection ) {\n\t\treturn false;\n\t}\n\n\tswitch ( selection.type ) {\n\t\tcase 'column':\n\t\t\treturn (\n\t\t\t\tselection.type === 'column' &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex\n\t\t\t);\n\t\tcase 'cell':\n\t\t\treturn (\n\t\t\t\tselection.type === 'cell' &&\n\t\t\t\tcellLocation.sectionName === selection.sectionName &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex &&\n\t\t\t\tcellLocation.rowIndex === selection.rowIndex\n\t\t\t);\n\t}\n}\n\n/**\n * Inserts a row in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to insert the row.\n * @param {number} options.rowIndex Row index at which to insert the row.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function insertRow( state, { sectionName, rowIndex, columnCount } ) {\n\tconst firstRow = getFirstRow( state );\n\tconst cellCount =\n\t\tcolumnCount === undefined\n\t\t\t? get( firstRow, [ 'cells', 'length' ] )\n\t\t\t: columnCount;\n\n\t// Bail early if the function cannot determine how many cells to add.\n\tif ( ! cellCount ) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\t[ sectionName ]: [\n\t\t\t...state[ sectionName ].slice( 0, rowIndex ),\n\t\t\t{\n\t\t\t\tcells: Array.from( { length: cellCount } ).map(\n\t\t\t\t\t( _, index ) => {\n\t\t\t\t\t\tconst firstCellInColumn = get(\n\t\t\t\t\t\t\tfirstRow,\n\t\t\t\t\t\t\t[ 'cells', index ],\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst inheritedAttributes = pick(\n\t\t\t\t\t\t\tfirstCellInColumn,\n\t\t\t\t\t\t\tINHERITED_COLUMN_ATTRIBUTES\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...inheritedAttributes,\n\t\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\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\t...state[ sectionName ].slice( rowIndex ),\n\t\t],\n\t};\n}\n\n/**\n * Deletes a row from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to delete the row.\n * @param {number} options.rowIndex Row index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteRow( state, { sectionName, rowIndex } ) {\n\treturn {\n\t\t[ sectionName ]: state[ sectionName ].filter(\n\t\t\t( row, index ) => index !== rowIndex\n\t\t),\n\t};\n}\n\n/**\n * Inserts a column in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index at which to insert the column.\n *\n * @return {Object} New table state.\n */\nexport function insertColumn( state, { columnIndex } ) {\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\n\treturn mapValues( tableSections, ( section, sectionName ) => {\n\t\t// Bail early if the table section is empty.\n\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section.map( ( row ) => {\n\t\t\t// Bail early if the row is empty or it's an attempt to insert past\n\t\t\t// the last possible index of the array.\n\t\t\tif ( isEmptyRow( row ) || row.cells.length < columnIndex ) {\n\t\t\t\treturn row;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcells: [\n\t\t\t\t\t...row.cells.slice( 0, columnIndex ),\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t},\n\t\t\t\t\t...row.cells.slice( columnIndex ),\n\t\t\t\t],\n\t\t\t};\n\t\t} );\n\t} );\n}\n\n/**\n * Deletes a column from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteColumn( state, { columnIndex } ) {\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\n\treturn mapValues( tableSections, ( section ) => {\n\t\t// Bail early if the table section is empty.\n\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section\n\t\t\t.map( ( row ) => ( {\n\t\t\t\tcells:\n\t\t\t\t\trow.cells.length >= columnIndex\n\t\t\t\t\t\t? row.cells.filter(\n\t\t\t\t\t\t\t\t( cell, index ) => index !== columnIndex\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: row.cells,\n\t\t\t} ) )\n\t\t\t.filter( ( row ) => row.cells.length );\n\t} );\n}\n\n/**\n * Toggles the existence of a section.\n *\n * @param {Object} state Current table state.\n * @param {string} sectionName Name of the section to toggle.\n *\n * @return {Object} New table state.\n */\nexport function toggleSection( state, sectionName ) {\n\t// Section exists, replace it with an empty row to remove it.\n\tif ( ! isEmptyTableSection( state[ sectionName ] ) ) {\n\t\treturn { [ sectionName ]: [] };\n\t}\n\n\t// Get the length of the first row of the body to use when creating the header.\n\tconst columnCount = get( state, [ 'body', 0, 'cells', 'length' ], 1 );\n\n\t// Section doesn't exist, insert an empty row to create the section.\n\treturn insertRow( state, { sectionName, rowIndex: 0, columnCount } );\n}\n\n/**\n * Determines whether a table section is empty.\n *\n * @param {Object} section Table section state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyTableSection( section ) {\n\treturn ! section || ! section.length || section.every( isEmptyRow );\n}\n\n/**\n * Determines whether a table row is empty.\n *\n * @param {Object} row Table row state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyRow( row ) {\n\treturn ! ( row.cells && row.cells.length );\n}\n"]}
@@ -1,9 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { isEmpty, mapValues, pickBy } from 'lodash';
5
-
6
- const identity = x => x;
4
+ import { isEmpty, mapValues } from 'lodash';
7
5
  /**
8
6
  * Removed empty nodes from nested objects.
9
7
  *
@@ -11,13 +9,15 @@ const identity = x => x;
11
9
  * @return {Object} Object cleaned from empty nodes.
12
10
  */
13
11
 
14
-
15
12
  const cleanEmptyObject = object => {
16
13
  if (object === null || typeof object !== 'object' || Array.isArray(object)) {
17
14
  return object;
18
15
  }
19
16
 
20
- const cleanedNestedObjects = pickBy(mapValues(object, cleanEmptyObject), identity);
17
+ const cleanedNestedObjects = Object.fromEntries(Object.entries(mapValues(object, cleanEmptyObject)).filter(_ref => {
18
+ let [, value] = _ref;
19
+ return Boolean(value);
20
+ }));
21
21
  return isEmpty(cleanedNestedObjects) ? undefined : cleanedNestedObjects;
22
22
  };
23
23