@wordpress/block-library 7.11.0 → 7.12.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 (261) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/edit.js +7 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +4 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/block/edit.js +4 -2
  7. package/build/block/edit.js.map +1 -1
  8. package/build/block/edit.native.js +4 -2
  9. package/build/block/edit.native.js.map +1 -1
  10. package/build/calendar/edit.js +12 -5
  11. package/build/calendar/edit.js.map +1 -1
  12. package/build/columns/edit.native.js +2 -1
  13. package/build/columns/edit.native.js.map +1 -1
  14. package/build/cover/edit/resizable-cover.js +6 -0
  15. package/build/cover/edit/resizable-cover.js.map +1 -1
  16. package/build/group/transforms.js +5 -0
  17. package/build/group/transforms.js.map +1 -1
  18. package/build/index.native.js +17 -4
  19. package/build/index.native.js.map +1 -1
  20. package/build/list/index.js +6 -0
  21. package/build/list/index.js.map +1 -1
  22. package/build/list/v2/edit.js +16 -5
  23. package/build/list/v2/edit.js.map +1 -1
  24. package/build/list/v2/tag-name.js +31 -0
  25. package/build/list/v2/tag-name.js.map +1 -0
  26. package/build/list/v2/tag-name.native.js +32 -0
  27. package/build/list/v2/tag-name.native.js.map +1 -0
  28. package/build/list/v2/transforms.js +1 -11
  29. package/build/list/v2/transforms.js.map +1 -1
  30. package/build/list-item/edit.js +1 -0
  31. package/build/list-item/edit.js.map +1 -1
  32. package/build/list-item/edit.native.js +158 -0
  33. package/build/list-item/edit.native.js.map +1 -0
  34. package/build/list-item/icons.native.js +53 -0
  35. package/build/list-item/icons.native.js.map +1 -0
  36. package/build/list-item/list-style-type.native.js +136 -0
  37. package/build/list-item/list-style-type.native.js.map +1 -0
  38. package/build/media-text/deprecated.js +188 -66
  39. package/build/media-text/deprecated.js.map +1 -1
  40. package/build/media-text/edit.js +2 -1
  41. package/build/media-text/edit.js.map +1 -1
  42. package/build/media-text/media-container.js +1 -1
  43. package/build/media-text/media-container.js.map +1 -1
  44. package/build/navigation/edit/index.js +68 -123
  45. package/build/navigation/edit/index.js.map +1 -1
  46. package/build/navigation/edit/navigation-menu-selector.js +11 -14
  47. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  48. package/build/navigation/edit/placeholder/index.js +4 -2
  49. package/build/navigation/edit/placeholder/index.js.map +1 -1
  50. package/build/navigation/edit/responsive-wrapper.js +13 -3
  51. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  52. package/build/navigation/edit/use-create-navigation-menu.js +5 -1
  53. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  54. package/build/navigation/edit/use-inner-blocks.js +43 -0
  55. package/build/navigation/edit/use-inner-blocks.js.map +1 -0
  56. package/build/navigation/edit/utils.js +28 -0
  57. package/build/navigation/edit/utils.js.map +1 -0
  58. package/build/navigation/use-navigation-menu.js +7 -3
  59. package/build/navigation/use-navigation-menu.js.map +1 -1
  60. package/build/post-author/edit.js +5 -2
  61. package/build/post-author/edit.js.map +1 -1
  62. package/build/post-author-biography/edit.js +7 -1
  63. package/build/post-author-biography/edit.js.map +1 -1
  64. package/build/post-content/edit.js +4 -2
  65. package/build/post-content/edit.js.map +1 -1
  66. package/build/post-featured-image/edit.js +16 -2
  67. package/build/post-featured-image/edit.js.map +1 -1
  68. package/build/post-featured-image/index.js +9 -0
  69. package/build/post-featured-image/index.js.map +1 -1
  70. package/build/query/edit/inspector-controls/index.js +42 -9
  71. package/build/query/edit/inspector-controls/index.js.map +1 -1
  72. package/build/query/edit/inspector-controls/taxonomy-controls.js +21 -14
  73. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  74. package/build/query-title/edit.js +20 -7
  75. package/build/query-title/edit.js.map +1 -1
  76. package/build/query-title/index.js +4 -0
  77. package/build/query-title/index.js.map +1 -1
  78. package/build/query-title/variations.js +10 -0
  79. package/build/query-title/variations.js.map +1 -1
  80. package/build/quote/transforms.js +2 -2
  81. package/build/quote/transforms.js.map +1 -1
  82. package/build/separator/edit.js +1 -1
  83. package/build/separator/edit.js.map +1 -1
  84. package/build/social-links/edit.js +1 -0
  85. package/build/social-links/edit.js.map +1 -1
  86. package/build/template-part/edit/index.js +4 -2
  87. package/build/template-part/edit/index.js.map +1 -1
  88. package/build-module/archives/edit.js +7 -0
  89. package/build-module/archives/edit.js.map +1 -1
  90. package/build-module/archives/index.js +4 -0
  91. package/build-module/archives/index.js.map +1 -1
  92. package/build-module/block/edit.js +5 -3
  93. package/build-module/block/edit.js.map +1 -1
  94. package/build-module/block/edit.native.js +5 -3
  95. package/build-module/block/edit.native.js.map +1 -1
  96. package/build-module/calendar/edit.js +12 -4
  97. package/build-module/calendar/edit.js.map +1 -1
  98. package/build-module/columns/edit.native.js +3 -2
  99. package/build-module/columns/edit.native.js.map +1 -1
  100. package/build-module/cover/edit/resizable-cover.js +6 -0
  101. package/build-module/cover/edit/resizable-cover.js.map +1 -1
  102. package/build-module/group/transforms.js +5 -0
  103. package/build-module/group/transforms.js.map +1 -1
  104. package/build-module/index.native.js +16 -4
  105. package/build-module/index.native.js.map +1 -1
  106. package/build-module/list/index.js +1 -1
  107. package/build-module/list/index.js.map +1 -1
  108. package/build-module/list/v2/edit.js +15 -5
  109. package/build-module/list/v2/edit.js.map +1 -1
  110. package/build-module/list/v2/tag-name.js +21 -0
  111. package/build-module/list/v2/tag-name.js.map +1 -0
  112. package/build-module/list/v2/tag-name.native.js +21 -0
  113. package/build-module/list/v2/tag-name.native.js.map +1 -0
  114. package/build-module/list/v2/transforms.js +1 -10
  115. package/build-module/list/v2/transforms.js.map +1 -1
  116. package/build-module/list-item/edit.js +1 -3
  117. package/build-module/list-item/edit.js.map +1 -1
  118. package/build-module/list-item/edit.native.js +141 -0
  119. package/build-module/list-item/edit.native.js.map +1 -0
  120. package/build-module/list-item/icons.native.js +37 -0
  121. package/build-module/list-item/icons.native.js.map +1 -0
  122. package/build-module/list-item/list-style-type.native.js +124 -0
  123. package/build-module/list-item/list-style-type.native.js.map +1 -0
  124. package/build-module/media-text/deprecated.js +189 -65
  125. package/build-module/media-text/deprecated.js.map +1 -1
  126. package/build-module/media-text/edit.js +2 -1
  127. package/build-module/media-text/edit.js.map +1 -1
  128. package/build-module/media-text/media-container.js +1 -1
  129. package/build-module/media-text/media-container.js.map +1 -1
  130. package/build-module/navigation/edit/index.js +66 -122
  131. package/build-module/navigation/edit/index.js.map +1 -1
  132. package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
  133. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  134. package/build-module/navigation/edit/placeholder/index.js +4 -2
  135. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  136. package/build-module/navigation/edit/responsive-wrapper.js +12 -3
  137. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  138. package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
  139. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  140. package/build-module/navigation/edit/use-inner-blocks.js +33 -0
  141. package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
  142. package/build-module/navigation/edit/utils.js +21 -0
  143. package/build-module/navigation/edit/utils.js.map +1 -0
  144. package/build-module/navigation/use-navigation-menu.js +7 -3
  145. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  146. package/build-module/post-author/edit.js +5 -2
  147. package/build-module/post-author/edit.js.map +1 -1
  148. package/build-module/post-author-biography/edit.js +6 -1
  149. package/build-module/post-author-biography/edit.js.map +1 -1
  150. package/build-module/post-content/edit.js +5 -3
  151. package/build-module/post-content/edit.js.map +1 -1
  152. package/build-module/post-featured-image/edit.js +17 -3
  153. package/build-module/post-featured-image/edit.js.map +1 -1
  154. package/build-module/post-featured-image/index.js +9 -0
  155. package/build-module/post-featured-image/index.js.map +1 -1
  156. package/build-module/query/edit/inspector-controls/index.js +42 -9
  157. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  158. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +16 -12
  159. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  160. package/build-module/query-title/edit.js +20 -8
  161. package/build-module/query-title/edit.js.map +1 -1
  162. package/build-module/query-title/index.js +4 -0
  163. package/build-module/query-title/index.js.map +1 -1
  164. package/build-module/query-title/variations.js +10 -0
  165. package/build-module/query-title/variations.js.map +1 -1
  166. package/build-module/quote/transforms.js +3 -3
  167. package/build-module/quote/transforms.js.map +1 -1
  168. package/build-module/separator/edit.js +1 -1
  169. package/build-module/separator/edit.js.map +1 -1
  170. package/build-module/social-links/edit.js +1 -0
  171. package/build-module/social-links/edit.js.map +1 -1
  172. package/build-module/template-part/edit/index.js +5 -3
  173. package/build-module/template-part/edit/index.js.map +1 -1
  174. package/build-style/editor-rtl.css +10 -0
  175. package/build-style/editor.css +10 -0
  176. package/build-style/latest-posts/editor-rtl.css +3 -0
  177. package/build-style/latest-posts/editor.css +3 -0
  178. package/build-style/navigation/style-rtl.css +17 -19
  179. package/build-style/navigation/style.css +17 -19
  180. package/build-style/query/editor-rtl.css +7 -0
  181. package/build-style/query/editor.css +7 -0
  182. package/build-style/query-pagination/style-rtl.css +6 -0
  183. package/build-style/query-pagination/style.css +6 -0
  184. package/build-style/search/style-rtl.css +2 -0
  185. package/build-style/search/style.css +2 -0
  186. package/build-style/style-rtl.css +26 -19
  187. package/build-style/style.css +26 -19
  188. package/build-style/tag-cloud/style-rtl.css +1 -0
  189. package/build-style/tag-cloud/style.css +1 -0
  190. package/package.json +28 -29
  191. package/src/archives/block.json +4 -0
  192. package/src/archives/edit.js +12 -1
  193. package/src/archives/index.php +5 -3
  194. package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
  195. package/src/block/edit.js +4 -4
  196. package/src/block/edit.native.js +4 -4
  197. package/src/calendar/edit.js +11 -4
  198. package/src/columns/edit.native.js +4 -2
  199. package/src/cover/edit/resizable-cover.js +6 -0
  200. package/src/cover/index.php +2 -2
  201. package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
  202. package/src/group/transforms.js +7 -0
  203. package/src/home-link/index.php +8 -17
  204. package/src/image/test/edit.native.js +6 -10
  205. package/src/index.native.js +15 -2
  206. package/src/latest-posts/editor.scss +5 -0
  207. package/src/list/index.js +1 -1
  208. package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
  209. package/src/list/test/edit.native.js +511 -7
  210. package/src/list/v2/edit.js +12 -4
  211. package/src/list/v2/tag-name.js +13 -0
  212. package/src/list/v2/tag-name.native.js +12 -0
  213. package/src/list/v2/transforms.js +1 -9
  214. package/src/list-item/edit.js +1 -1
  215. package/src/list-item/edit.native.js +148 -0
  216. package/src/list-item/icons.native.js +34 -0
  217. package/src/list-item/list-style-type.native.js +139 -0
  218. package/src/list-item/style.native.scss +45 -0
  219. package/src/media-text/deprecated.js +561 -415
  220. package/src/media-text/edit.js +1 -0
  221. package/src/media-text/media-container.js +3 -1
  222. package/src/media-text/test/media-container.js +24 -0
  223. package/src/navigation/edit/index.js +83 -164
  224. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  225. package/src/navigation/edit/placeholder/index.js +4 -2
  226. package/src/navigation/edit/responsive-wrapper.js +24 -3
  227. package/src/navigation/edit/use-create-navigation-menu.js +4 -0
  228. package/src/navigation/edit/use-inner-blocks.js +39 -0
  229. package/src/navigation/edit/utils.js +30 -0
  230. package/src/navigation/index.php +6 -0
  231. package/src/navigation/style.scss +12 -22
  232. package/src/navigation/use-navigation-menu.js +9 -5
  233. package/src/navigation-link/index.php +1 -1
  234. package/src/navigation-submenu/index.php +1 -1
  235. package/src/page-list/index.php +4 -4
  236. package/src/post-author/edit.js +6 -3
  237. package/src/post-author-biography/edit.js +4 -1
  238. package/src/post-content/edit.js +4 -4
  239. package/src/post-featured-image/block.json +9 -0
  240. package/src/post-featured-image/edit.js +23 -1
  241. package/src/post-featured-image/index.php +3 -1
  242. package/src/post-title/index.php +2 -1
  243. package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
  244. package/src/query/edit/inspector-controls/index.js +129 -65
  245. package/src/query/edit/inspector-controls/taxonomy-controls.js +17 -10
  246. package/src/query/editor.scss +9 -0
  247. package/src/query-pagination/style.scss +14 -0
  248. package/src/query-title/block.json +4 -0
  249. package/src/query-title/edit.js +33 -6
  250. package/src/query-title/index.php +17 -1
  251. package/src/query-title/variations.js +13 -0
  252. package/src/quote/transforms.js +3 -7
  253. package/src/search/style.scss +2 -0
  254. package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
  255. package/src/separator/edit.js +1 -1
  256. package/src/separator/test/edit.js +5 -3
  257. package/src/site-title/index.php +8 -9
  258. package/src/social-link/index.php +1 -1
  259. package/src/social-links/edit.js +1 -0
  260. package/src/tag-cloud/style.scss +1 -0
  261. package/src/template-part/edit/index.js +4 -4
@@ -13,7 +13,7 @@ import { useEntityBlockEditor, useEntityProp, store as coreStore } from '@wordpr
13
13
  import { BottomSheet, Icon, Disabled, TextControl } from '@wordpress/components';
14
14
  import { useSelect, useDispatch } from '@wordpress/data';
15
15
  import { __, sprintf } from '@wordpress/i18n';
16
- import { __experimentalUseNoRecursiveRenders as useNoRecursiveRenders, InnerBlocks, Warning, store as blockEditorStore } from '@wordpress/block-editor';
16
+ import { __experimentalRecursionProvider as RecursionProvider, __experimentalUseHasRecursion as useHasRecursion, InnerBlocks, Warning, store as blockEditorStore } from '@wordpress/block-editor';
17
17
  import { usePreferredColorSchemeStyle } from '@wordpress/compose';
18
18
  import { help } from '@wordpress/icons';
19
19
  import { store as reusableBlocksStore } from '@wordpress/reusable-blocks';
@@ -32,7 +32,7 @@ export default function ReusableBlockEdit(_ref) {
32
32
  clientId,
33
33
  isSelected
34
34
  } = _ref;
35
- const [hasAlreadyRendered, RecursionProvider] = useNoRecursiveRenders(ref);
35
+ const hasAlreadyRendered = useHasRecursion(ref);
36
36
  const [showHelp, setShowHelp] = useState(false);
37
37
  const infoTextStyle = usePreferredColorSchemeStyle(styles.infoText, styles.infoTextDark);
38
38
  const infoTitleStyle = usePreferredColorSchemeStyle(styles.infoTitle, styles.infoTitleDark);
@@ -139,7 +139,9 @@ export default function ReusableBlockEdit(_ref) {
139
139
  element = createElement(Disabled, null, element);
140
140
  }
141
141
 
142
- return createElement(RecursionProvider, null, createElement(TouchableWithoutFeedback, {
142
+ return createElement(RecursionProvider, {
143
+ uniqueId: ref
144
+ }, createElement(TouchableWithoutFeedback, {
143
145
  disabled: !isSelected,
144
146
  accessibilityLabel: __('Help button'),
145
147
  accessibilityRole: 'button',
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/block/edit.native.js"],"names":["ActivityIndicator","Platform","Text","TouchableWithoutFeedback","View","useState","useCallback","useEntityBlockEditor","useEntityProp","store","coreStore","BottomSheet","Icon","Disabled","TextControl","useSelect","useDispatch","__","sprintf","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","InnerBlocks","Warning","blockEditorStore","usePreferredColorSchemeStyle","help","reusableBlocksStore","noticesStore","styles","EditTitle","ReusableBlockEdit","attributes","ref","clientId","isSelected","hasAlreadyRendered","RecursionProvider","showHelp","setShowHelp","infoTextStyle","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","actionButtonStyle","actionButton","actionButtonDark","spinnerStyle","spinner","spinnerDark","hasResolved","isEditing","isMissing","select","persistedBlock","getEntityRecord","hasResolvedBlock","hasFinishedResolution","__experimentalIsEditingReusableBlock","createSuccessNotice","__experimentalConvertBlockToStatic","convertBlockToStatic","clearSelectedBlock","blocks","onInput","onChange","id","title","openSheet","closeSheet","onConvertToRegularBlocks","setImmediate","renderSheet","OS","infoContainer","color","size","element"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tActivityIndicator,\n\tPlatform,\n\tText,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useCallback } from '@wordpress/element';\nimport {\n\tuseEntityBlockEditor,\n\tuseEntityProp,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBottomSheet,\n\tIcon,\n\tDisabled,\n\tTextControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tInnerBlocks,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { help } from '@wordpress/icons';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport EditTitle from './edit-title';\n\nexport default function ReusableBlockEdit( {\n\tattributes: { ref },\n\tclientId,\n\tisSelected,\n} ) {\n\tconst [ hasAlreadyRendered, RecursionProvider ] =\n\t\tuseNoRecursiveRenders( ref );\n\n\tconst [ showHelp, setShowHelp ] = useState( false );\n\tconst infoTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoText,\n\t\tstyles.infoTextDark\n\t);\n\tconst infoTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoTitle,\n\t\tstyles.infoTitleDark\n\t);\n\tconst infoSheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoSheetIcon,\n\t\tstyles.infoSheetIconDark\n\t);\n\tconst infoDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoDescription,\n\t\tstyles.infoDescriptionDark\n\t);\n\tconst actionButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.actionButton,\n\t\tstyles.actionButtonDark\n\t);\n\tconst spinnerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.spinner,\n\t\tstyles.spinnerDark\n\t);\n\n\tconst { hasResolved, isEditing, isMissing } = useSelect(\n\t\t( select ) => {\n\t\t\tconst persistedBlock = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\tref\n\t\t\t);\n\t\t\tconst hasResolvedBlock = select( coreStore ).hasFinishedResolution(\n\t\t\t\t'getEntityRecord',\n\t\t\t\t[ 'postType', 'wp_block', ref ]\n\t\t\t);\n\t\t\treturn {\n\t\t\t\thasResolved: hasResolvedBlock,\n\t\t\t\tisEditing:\n\t\t\t\t\tselect(\n\t\t\t\t\t\treusableBlocksStore\n\t\t\t\t\t).__experimentalIsEditingReusableBlock( clientId ),\n\t\t\t\tisMissing: hasResolvedBlock && ! persistedBlock,\n\t\t\t};\n\t\t},\n\t\t[ ref, clientId ]\n\t);\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ id: ref }\n\t);\n\n\tconst [ title ] = useEntityProp( 'postType', 'wp_block', 'title', ref );\n\n\tfunction openSheet() {\n\t\tsetShowHelp( true );\n\t}\n\n\tfunction closeSheet() {\n\t\tsetShowHelp( false );\n\t}\n\n\tconst onConvertToRegularBlocks = useCallback( () => {\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: name of the reusable block */\n\t\t\t\t__( '%s converted to regular blocks' ),\n\t\t\t\ttitle\n\t\t\t)\n\t\t);\n\n\t\tclearSelectedBlock();\n\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t// to prevent issues related to undo/redo actions.\n\t\tsetImmediate( () => convertBlockToStatic( clientId ) );\n\t}, [ title, clientId ] );\n\n\tfunction renderSheet() {\n\t\tconst infoTitle =\n\t\t\tPlatform.OS === 'android'\n\t\t\t\t? __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for Android'\n\t\t\t\t )\n\t\t\t\t: __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for iOS'\n\t\t\t\t );\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ closeSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoDescriptionStyle ] }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Alternatively, you can detach and edit these blocks separately by tapping \"Convert to regular blocks\".'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Convert to regular blocks' ) }\n\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\tonPress={ onConvertToRegularBlocks }\n\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\treturn (\n\t\t\t<View style={ spinnerStyle }>\n\t\t\t\t<ActivityIndicator animating />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tlet element = (\n\t\t<InnerBlocks\n\t\t\tvalue={ blocks }\n\t\t\tonChange={ onChange }\n\t\t\tonInput={ onInput }\n\t\t/>\n\t);\n\n\tif ( ! isEditing ) {\n\t\telement = <Disabled>{ element }</Disabled>;\n\t}\n\n\treturn (\n\t\t<RecursionProvider>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ openSheet }\n\t\t\t>\n\t\t\t\t<View>\n\t\t\t\t\t{ isSelected && <EditTitle title={ title } /> }\n\t\t\t\t\t{ element }\n\t\t\t\t\t{ renderSheet() }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</RecursionProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/block/edit.native.js"],"names":["ActivityIndicator","Platform","Text","TouchableWithoutFeedback","View","useState","useCallback","useEntityBlockEditor","useEntityProp","store","coreStore","BottomSheet","Icon","Disabled","TextControl","useSelect","useDispatch","__","sprintf","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","InnerBlocks","Warning","blockEditorStore","usePreferredColorSchemeStyle","help","reusableBlocksStore","noticesStore","styles","EditTitle","ReusableBlockEdit","attributes","ref","clientId","isSelected","hasAlreadyRendered","showHelp","setShowHelp","infoTextStyle","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","actionButtonStyle","actionButton","actionButtonDark","spinnerStyle","spinner","spinnerDark","hasResolved","isEditing","isMissing","select","persistedBlock","getEntityRecord","hasResolvedBlock","hasFinishedResolution","__experimentalIsEditingReusableBlock","createSuccessNotice","__experimentalConvertBlockToStatic","convertBlockToStatic","clearSelectedBlock","blocks","onInput","onChange","id","title","openSheet","closeSheet","onConvertToRegularBlocks","setImmediate","renderSheet","OS","infoContainer","color","size","element"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,iBADD,EAECC,QAFD,EAGCC,IAHD,EAICC,wBAJD,EAKCC,IALD,QAMO,cANP;AAQA;AACA;AACA;;AACA,SAASC,QAAT,EAAmBC,WAAnB,QAAsC,oBAAtC;AACA,SACCC,oBADD,EAECC,aAFD,EAGCC,KAAK,IAAIC,SAHV,QAIO,sBAJP;AAKA,SACCC,WADD,EAECC,IAFD,EAGCC,QAHD,EAICC,WAJD,QAKO,uBALP;AAMA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SACCC,+BAA+B,IAAIC,iBADpC,EAECC,6BAA6B,IAAIC,eAFlC,EAGCC,WAHD,EAICC,OAJD,EAKCf,KAAK,IAAIgB,gBALV,QAMO,yBANP;AAOA,SAASC,4BAAT,QAA6C,oBAA7C;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASlB,KAAK,IAAImB,mBAAlB,QAA6C,4BAA7C;AACA,SAASnB,KAAK,IAAIoB,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,eAAnB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AAEA,eAAe,SAASC,iBAAT,OAIX;AAAA,MAJuC;AAC1CC,IAAAA,UAAU,EAAE;AAAEC,MAAAA;AAAF,KAD8B;AAE1CC,IAAAA,QAF0C;AAG1CC,IAAAA;AAH0C,GAIvC;AACH,QAAMC,kBAAkB,GAAGf,eAAe,CAAEY,GAAF,CAA1C;AAEA,QAAM,CAAEI,QAAF,EAAYC,WAAZ,IAA4BlC,QAAQ,CAAE,KAAF,CAA1C;AACA,QAAMmC,aAAa,GAAGd,4BAA4B,CACjDI,MAAM,CAACW,QAD0C,EAEjDX,MAAM,CAACY,YAF0C,CAAlD;AAIA,QAAMC,cAAc,GAAGjB,4BAA4B,CAClDI,MAAM,CAACc,SAD2C,EAElDd,MAAM,CAACe,aAF2C,CAAnD;AAIA,QAAMC,kBAAkB,GAAGpB,4BAA4B,CACtDI,MAAM,CAACiB,aAD+C,EAEtDjB,MAAM,CAACkB,iBAF+C,CAAvD;AAIA,QAAMC,oBAAoB,GAAGvB,4BAA4B,CACxDI,MAAM,CAACoB,eADiD,EAExDpB,MAAM,CAACqB,mBAFiD,CAAzD;AAIA,QAAMC,iBAAiB,GAAG1B,4BAA4B,CACrDI,MAAM,CAACuB,YAD8C,EAErDvB,MAAM,CAACwB,gBAF8C,CAAtD;AAIA,QAAMC,YAAY,GAAG7B,4BAA4B,CAChDI,MAAM,CAAC0B,OADyC,EAEhD1B,MAAM,CAAC2B,WAFyC,CAAjD;AAKA,QAAM;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,SAAf;AAA0BC,IAAAA;AAA1B,MAAwC7C,SAAS,CACpD8C,MAAF,IAAc;AACb,UAAMC,cAAc,GAAGD,MAAM,CAAEnD,SAAF,CAAN,CAAoBqD,eAApB,CACtB,UADsB,EAEtB,UAFsB,EAGtB7B,GAHsB,CAAvB;AAKA,UAAM8B,gBAAgB,GAAGH,MAAM,CAAEnD,SAAF,CAAN,CAAoBuD,qBAApB,CACxB,iBADwB,EAExB,CAAE,UAAF,EAAc,UAAd,EAA0B/B,GAA1B,CAFwB,CAAzB;AAIA,WAAO;AACNwB,MAAAA,WAAW,EAAEM,gBADP;AAENL,MAAAA,SAAS,EACRE,MAAM,CACLjC,mBADK,CAAN,CAEEsC,oCAFF,CAEwC/B,QAFxC,CAHK;AAMNyB,MAAAA,SAAS,EAAEI,gBAAgB,IAAI,CAAEF;AAN3B,KAAP;AAQA,GAnBqD,EAoBtD,CAAE5B,GAAF,EAAOC,QAAP,CApBsD,CAAvD;AAuBA,QAAM;AAAEgC,IAAAA;AAAF,MAA0BnD,WAAW,CAAEa,YAAF,CAA3C;AACA,QAAM;AAAEuC,IAAAA,kCAAkC,EAAEC;AAAtC,MACLrD,WAAW,CAAEY,mBAAF,CADZ;AAEA,QAAM;AAAE0C,IAAAA;AAAF,MAAyBtD,WAAW,CAAES,gBAAF,CAA1C;AAEA,QAAM,CAAE8C,MAAF,EAAUC,OAAV,EAAmBC,QAAnB,IAAgClE,oBAAoB,CACzD,UADyD,EAEzD,UAFyD,EAGzD;AAAEmE,IAAAA,EAAE,EAAExC;AAAN,GAHyD,CAA1D;AAMA,QAAM,CAAEyC,KAAF,IAAYnE,aAAa,CAAE,UAAF,EAAc,UAAd,EAA0B,OAA1B,EAAmC0B,GAAnC,CAA/B;;AAEA,WAAS0C,SAAT,GAAqB;AACpBrC,IAAAA,WAAW,CAAE,IAAF,CAAX;AACA;;AAED,WAASsC,UAAT,GAAsB;AACrBtC,IAAAA,WAAW,CAAE,KAAF,CAAX;AACA;;AAED,QAAMuC,wBAAwB,GAAGxE,WAAW,CAAE,MAAM;AACnD6D,IAAAA,mBAAmB,CAClBjD,OAAO;AACN;AACAD,IAAAA,EAAE,CAAE,gCAAF,CAFI,EAGN0D,KAHM,CADW,CAAnB;AAQAL,IAAAA,kBAAkB,GATiC,CAUnD;AACA;;AACAS,IAAAA,YAAY,CAAE,MAAMV,oBAAoB,CAAElC,QAAF,CAA5B,CAAZ;AACA,GAb2C,EAazC,CAAEwC,KAAF,EAASxC,QAAT,CAbyC,CAA5C;;AAeA,WAAS6C,WAAT,GAAuB;AACtB,UAAMpC,SAAS,GACd3C,QAAQ,CAACgF,EAAT,KAAgB,SAAhB,GACGhE,EAAE,CACF,uEADE,CADL,GAIGA,EAAE,CACF,mEADE,CALN;AASA,WACC,cAAC,WAAD;AACC,MAAA,SAAS,EAAGqB,QADb;AAEC,MAAA,UAAU,MAFX;AAGC,MAAA,OAAO,EAAGuC;AAHX,OAKC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG/C,MAAM,CAACoD;AAArB,OACC,cAAC,IAAD;AACC,MAAA,IAAI,EAAGvD,IADR;AAEC,MAAA,KAAK,EAAGmB,kBAAkB,CAACqC,KAF5B;AAGC,MAAA,IAAI,EAAGrD,MAAM,CAACiB,aAAP,CAAqBqC;AAH7B,MADD,EAMC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG,CAAE5C,aAAF,EAAiBG,cAAjB;AAAd,OACGC,SADH,CAND,EASC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG,CAAEJ,aAAF,EAAiBS,oBAAjB;AAAd,OACGhC,EAAE,CACH,wGADG,CADL,CATD,EAcC,cAAC,WAAD;AACC,MAAA,KAAK,EAAGA,EAAE,CAAE,2BAAF,CADX;AAEC,MAAA,aAAa,EAAC,cAFf;AAGC,MAAA,OAAO,EAAG6D,wBAHX;AAIC,MAAA,UAAU,EAAG1B;AAJd,MAdD,CALD,CADD;AA6BA;;AAED,MAAKf,kBAAL,EAA0B;AACzB,WACC,cAAC,OAAD;AACC,MAAA,OAAO,EAAGpB,EAAE,CAAE,yCAAF;AADb,MADD;AAKA;;AAED,MAAK2C,SAAL,EAAiB;AAChB,WACC,cAAC,OAAD;AACC,MAAA,OAAO,EAAG3C,EAAE,CAAE,2CAAF;AADb,MADD;AAKA;;AAED,MAAK,CAAEyC,WAAP,EAAqB;AACpB,WACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGH;AAAd,OACC,cAAC,iBAAD;AAAmB,MAAA,SAAS;AAA5B,MADD,CADD;AAKA;;AAED,MAAI8B,OAAO,GACV,cAAC,WAAD;AACC,IAAA,KAAK,EAAGd,MADT;AAEC,IAAA,QAAQ,EAAGE,QAFZ;AAGC,IAAA,OAAO,EAAGD;AAHX,IADD;;AAQA,MAAK,CAAEb,SAAP,EAAmB;AAClB0B,IAAAA,OAAO,GAAG,cAAC,QAAD,QAAYA,OAAZ,CAAV;AACA;;AAED,SACC,cAAC,iBAAD;AAAmB,IAAA,QAAQ,EAAGnD;AAA9B,KACC,cAAC,wBAAD;AACC,IAAA,QAAQ,EAAG,CAAEE,UADd;AAEC,IAAA,kBAAkB,EAAGnB,EAAE,CAAE,aAAF,CAFxB;AAGC,IAAA,iBAAiB,EAAG,QAHrB;AAIC,IAAA,iBAAiB,EAAGA,EAAE,CAAE,uBAAF,CAJvB;AAKC,IAAA,OAAO,EAAG2D;AALX,KAOC,cAAC,IAAD,QACGxC,UAAU,IAAI,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGuC;AAAnB,IADjB,EAEGU,OAFH,EAGGL,WAAW,EAHd,CAPD,CADD,CADD;AAiBA","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tActivityIndicator,\n\tPlatform,\n\tText,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useCallback } from '@wordpress/element';\nimport {\n\tuseEntityBlockEditor,\n\tuseEntityProp,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBottomSheet,\n\tIcon,\n\tDisabled,\n\tTextControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tInnerBlocks,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { help } from '@wordpress/icons';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport EditTitle from './edit-title';\n\nexport default function ReusableBlockEdit( {\n\tattributes: { ref },\n\tclientId,\n\tisSelected,\n} ) {\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tconst [ showHelp, setShowHelp ] = useState( false );\n\tconst infoTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoText,\n\t\tstyles.infoTextDark\n\t);\n\tconst infoTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoTitle,\n\t\tstyles.infoTitleDark\n\t);\n\tconst infoSheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoSheetIcon,\n\t\tstyles.infoSheetIconDark\n\t);\n\tconst infoDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoDescription,\n\t\tstyles.infoDescriptionDark\n\t);\n\tconst actionButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.actionButton,\n\t\tstyles.actionButtonDark\n\t);\n\tconst spinnerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.spinner,\n\t\tstyles.spinnerDark\n\t);\n\n\tconst { hasResolved, isEditing, isMissing } = useSelect(\n\t\t( select ) => {\n\t\t\tconst persistedBlock = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\tref\n\t\t\t);\n\t\t\tconst hasResolvedBlock = select( coreStore ).hasFinishedResolution(\n\t\t\t\t'getEntityRecord',\n\t\t\t\t[ 'postType', 'wp_block', ref ]\n\t\t\t);\n\t\t\treturn {\n\t\t\t\thasResolved: hasResolvedBlock,\n\t\t\t\tisEditing:\n\t\t\t\t\tselect(\n\t\t\t\t\t\treusableBlocksStore\n\t\t\t\t\t).__experimentalIsEditingReusableBlock( clientId ),\n\t\t\t\tisMissing: hasResolvedBlock && ! persistedBlock,\n\t\t\t};\n\t\t},\n\t\t[ ref, clientId ]\n\t);\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ id: ref }\n\t);\n\n\tconst [ title ] = useEntityProp( 'postType', 'wp_block', 'title', ref );\n\n\tfunction openSheet() {\n\t\tsetShowHelp( true );\n\t}\n\n\tfunction closeSheet() {\n\t\tsetShowHelp( false );\n\t}\n\n\tconst onConvertToRegularBlocks = useCallback( () => {\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: name of the reusable block */\n\t\t\t\t__( '%s converted to regular blocks' ),\n\t\t\t\ttitle\n\t\t\t)\n\t\t);\n\n\t\tclearSelectedBlock();\n\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t// to prevent issues related to undo/redo actions.\n\t\tsetImmediate( () => convertBlockToStatic( clientId ) );\n\t}, [ title, clientId ] );\n\n\tfunction renderSheet() {\n\t\tconst infoTitle =\n\t\t\tPlatform.OS === 'android'\n\t\t\t\t? __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for Android'\n\t\t\t\t )\n\t\t\t\t: __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for iOS'\n\t\t\t\t );\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ closeSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoDescriptionStyle ] }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Alternatively, you can detach and edit these blocks separately by tapping \"Convert to regular blocks\".'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Convert to regular blocks' ) }\n\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\tonPress={ onConvertToRegularBlocks }\n\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\treturn (\n\t\t\t<View style={ spinnerStyle }>\n\t\t\t\t<ActivityIndicator animating />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tlet element = (\n\t\t<InnerBlocks\n\t\t\tvalue={ blocks }\n\t\t\tonChange={ onChange }\n\t\t\tonInput={ onInput }\n\t\t/>\n\t);\n\n\tif ( ! isEditing ) {\n\t\telement = <Disabled>{ element }</Disabled>;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ openSheet }\n\t\t\t>\n\t\t\t\t<View>\n\t\t\t\t\t{ isSelected && <EditTitle title={ title } /> }\n\t\t\t\t\t{ element }\n\t\t\t\t\t{ renderSheet() }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</RecursionProvider>\n\t);\n}\n"]}
@@ -3,7 +3,6 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * External dependencies
5
5
  */
6
- import moment from 'moment';
7
6
  import memoize from 'memize';
8
7
  /**
9
8
  * WordPress dependencies
@@ -16,15 +15,24 @@ import ServerSideRender from '@wordpress/server-side-render';
16
15
  import { useBlockProps } from '@wordpress/block-editor';
17
16
  import { store as coreStore } from '@wordpress/core-data';
18
17
  import { __ } from '@wordpress/i18n';
18
+ /**
19
+ * Returns the year and month of a specified date.
20
+ *
21
+ * @see `WP_REST_Posts_Controller::prepare_date_response()`.
22
+ *
23
+ * @param {string} date Date in `ISO8601/RFC3339` format.
24
+ * @return {Object} Year and date of the specified date.
25
+ */
26
+
19
27
  const getYearMonth = memoize(date => {
20
28
  if (!date) {
21
29
  return {};
22
30
  }
23
31
 
24
- const momentDate = moment(date);
32
+ const dateObj = new Date(date);
25
33
  return {
26
- year: momentDate.year(),
27
- month: momentDate.month() + 1
34
+ year: dateObj.getFullYear(),
35
+ month: dateObj.getMonth() + 1
28
36
  };
29
37
  });
30
38
  export default function CalendarEdit(_ref) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/calendar/edit.js"],"names":["moment","memoize","calendar","icon","Disabled","Placeholder","Spinner","useSelect","ServerSideRender","useBlockProps","store","coreStore","__","getYearMonth","date","momentDate","year","month","CalendarEdit","attributes","blockProps","hasPosts","hasPostsResolved","select","getEntityRecords","hasFinishedResolution","singlePublishedPostQuery","status","per_page","posts","postsResolved","_date","editorSelectors","postType","getEditedPostAttribute","length"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport moment from 'moment';\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { calendar as icon } from '@wordpress/icons';\nimport { Disabled, Placeholder, Spinner } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\nconst getYearMonth = memoize( ( date ) => {\n\tif ( ! date ) {\n\t\treturn {};\n\t}\n\tconst momentDate = moment( date );\n\treturn {\n\t\tyear: momentDate.year(),\n\t\tmonth: momentDate.month() + 1,\n\t};\n} );\n\nexport default function CalendarEdit( { attributes } ) {\n\tconst blockProps = useBlockProps();\n\tconst { date, hasPosts, hasPostsResolved } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, hasFinishedResolution } = select( coreStore );\n\n\t\tconst singlePublishedPostQuery = {\n\t\t\tstatus: 'publish',\n\t\t\tper_page: 1,\n\t\t};\n\t\tconst posts = getEntityRecords(\n\t\t\t'postType',\n\t\t\t'post',\n\t\t\tsinglePublishedPostQuery\n\t\t);\n\t\tconst postsResolved = hasFinishedResolution( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\t'post',\n\t\t\tsinglePublishedPostQuery,\n\t\t] );\n\n\t\tlet _date;\n\n\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\tconst editorSelectors = select( 'core/editor' );\n\t\tif ( editorSelectors ) {\n\t\t\tconst postType = editorSelectors.getEditedPostAttribute( 'type' );\n\t\t\t// Dates are used to overwrite year and month used on the calendar.\n\t\t\t// This overwrite should only happen for 'post' post types.\n\t\t\t// For other post types the calendar always displays the current month.\n\t\t\tif ( postType === 'post' ) {\n\t\t\t\t_date = editorSelectors.getEditedPostAttribute( 'date' );\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdate: _date,\n\t\t\thasPostsResolved: postsResolved,\n\t\t\thasPosts: postsResolved && posts?.length === 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder icon={ icon } label={ __( 'Calendar' ) }>\n\t\t\t\t\t{ ! hasPostsResolved ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No published posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/calendar\"\n\t\t\t\t\tattributes={ { ...attributes, ...getYearMonth( date ) } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/calendar/edit.js"],"names":["memoize","calendar","icon","Disabled","Placeholder","Spinner","useSelect","ServerSideRender","useBlockProps","store","coreStore","__","getYearMonth","date","dateObj","Date","year","getFullYear","month","getMonth","CalendarEdit","attributes","blockProps","hasPosts","hasPostsResolved","select","getEntityRecords","hasFinishedResolution","singlePublishedPostQuery","status","per_page","posts","postsResolved","_date","editorSelectors","postType","getEditedPostAttribute","length"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { calendar as icon } from '@wordpress/icons';\nimport { Disabled, Placeholder, Spinner } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Returns the year and month of a specified date.\n *\n * @see `WP_REST_Posts_Controller::prepare_date_response()`.\n *\n * @param {string} date Date in `ISO8601/RFC3339` format.\n * @return {Object} Year and date of the specified date.\n */\nconst getYearMonth = memoize( ( date ) => {\n\tif ( ! date ) {\n\t\treturn {};\n\t}\n\tconst dateObj = new Date( date );\n\treturn {\n\t\tyear: dateObj.getFullYear(),\n\t\tmonth: dateObj.getMonth() + 1,\n\t};\n} );\n\nexport default function CalendarEdit( { attributes } ) {\n\tconst blockProps = useBlockProps();\n\tconst { date, hasPosts, hasPostsResolved } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, hasFinishedResolution } = select( coreStore );\n\n\t\tconst singlePublishedPostQuery = {\n\t\t\tstatus: 'publish',\n\t\t\tper_page: 1,\n\t\t};\n\t\tconst posts = getEntityRecords(\n\t\t\t'postType',\n\t\t\t'post',\n\t\t\tsinglePublishedPostQuery\n\t\t);\n\t\tconst postsResolved = hasFinishedResolution( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\t'post',\n\t\t\tsinglePublishedPostQuery,\n\t\t] );\n\n\t\tlet _date;\n\n\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\tconst editorSelectors = select( 'core/editor' );\n\t\tif ( editorSelectors ) {\n\t\t\tconst postType = editorSelectors.getEditedPostAttribute( 'type' );\n\t\t\t// Dates are used to overwrite year and month used on the calendar.\n\t\t\t// This overwrite should only happen for 'post' post types.\n\t\t\t// For other post types the calendar always displays the current month.\n\t\t\tif ( postType === 'post' ) {\n\t\t\t\t_date = editorSelectors.getEditedPostAttribute( 'date' );\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdate: _date,\n\t\t\thasPostsResolved: postsResolved,\n\t\t\thasPosts: postsResolved && posts?.length === 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder icon={ icon } label={ __( 'Calendar' ) }>\n\t\t\t\t\t{ ! hasPostsResolved ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No published posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/calendar\"\n\t\t\t\t\tattributes={ { ...attributes, ...getYearMonth( date ) } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"]}
@@ -5,7 +5,7 @@ import { createElement, Fragment } from "@wordpress/element";
5
5
  * External dependencies
6
6
  */
7
7
  import { View, Dimensions } from 'react-native';
8
- import { times, map, delay } from 'lodash';
8
+ import { times, map } from 'lodash';
9
9
  /**
10
10
  * WordPress dependencies
11
11
  */
@@ -398,7 +398,8 @@ const ColumnsEdit = props => {
398
398
  const [isVisible, setIsVisible] = useState(false);
399
399
  useEffect(() => {
400
400
  if (isSelected && isDefaultColumns) {
401
- delay(() => setIsVisible(true), 100);
401
+ const revealTimeout = setTimeout(() => setIsVisible(true), 100);
402
+ return () => clearTimeout(revealTimeout);
402
403
  }
403
404
  }, []);
404
405
  const onClose = useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["View","Dimensions","times","map","delay","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSetting","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","column","label","clientId","length","undefined","onChangeColumnsNum","value","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","filter","Boolean","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { times, map, delay } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\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}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\tupdateBlockSettings( settings ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { updateBlockListSettings } = dispatch( blockEditorStore );\n\t\t\tupdateBlockListSettings( clientId, settings );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerWidths = [],\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = map(\n\t\t\t\tinnerBlocks,\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length\n\t\t\t);\n\n\t\t\tconst innerColumnsWidths = innerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) );\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: ! isContentEmpty.filter( Boolean ).length,\n\t\t\t\tinnerWidths: innerColumnsWidths,\n\t\t\t\thasParents: !! parents.length,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst memoizedInnerWidths = useMemo( () => {\n\t\treturn innerWidths;\n\t}, [\n\t\t// The JSON.stringify is used because innerWidth is always a new reference.\n\t\t// The innerBlocks is a new reference after each attribute change of any nested block.\n\t\tJSON.stringify( innerWidths ),\n\t] );\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tdelay( () => setIsVisible( true ), 100 );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ memoizedInnerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["View","Dimensions","times","map","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSetting","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","column","label","clientId","length","undefined","onChangeColumnsNum","value","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","filter","Boolean","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { times, map } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\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}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\tupdateBlockSettings( settings ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { updateBlockListSettings } = dispatch( blockEditorStore );\n\t\t\tupdateBlockListSettings( clientId, settings );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerWidths = [],\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = map(\n\t\t\t\tinnerBlocks,\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length\n\t\t\t);\n\n\t\t\tconst innerColumnsWidths = innerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) );\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: ! isContentEmpty.filter( Boolean ).length,\n\t\t\t\tinnerWidths: innerColumnsWidths,\n\t\t\t\thasParents: !! parents.length,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst memoizedInnerWidths = useMemo( () => {\n\t\treturn innerWidths;\n\t}, [\n\t\t// The JSON.stringify is used because innerWidth is always a new reference.\n\t\t// The innerBlocks is a new reference after each attribute change of any nested block.\n\t\tJSON.stringify( innerWidths ),\n\t] );\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ memoizedInnerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
@@ -49,6 +49,12 @@ export default function ResizableCover(_ref) {
49
49
  onResizeStop: (_event, _direction, elt) => {
50
50
  onResizeStop(elt.clientHeight);
51
51
  setIsResizing(false);
52
+ },
53
+ __experimentalShowTooltip: true,
54
+ __experimentalTooltipProps: {
55
+ axis: 'y',
56
+ position: 'bottom',
57
+ isVisible: isResizing
52
58
  }
53
59
  }, props));
54
60
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/edit/resizable-cover.js"],"names":["classnames","useState","ResizableBox","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,YAAT,QAA6B,uBAA7B;AAEA,MAAMC,2BAA2B,GAAG;AACnCC,EAAAA,GAAG,EAAE,KAD8B;AAEnCC,EAAAA,KAAK,EAAE,KAF4B;AAGnCC,EAAAA,MAAM,EAAE,IAH2B;AAInCC,EAAAA,IAAI,EAAE,KAJ6B;AAKnCC,EAAAA,QAAQ,EAAE,KALyB;AAMnCC,EAAAA,WAAW,EAAE,KANsB;AAOnCC,EAAAA,UAAU,EAAE,KAPuB;AAQnCC,EAAAA,OAAO,EAAE;AAR0B,CAApC;AAWA,eAAe,SAASC,cAAT,OAMX;AAAA,MANoC;AACvCC,IAAAA,SADuC;AAEvCC,IAAAA,aAFuC;AAGvCC,IAAAA,QAHuC;AAIvCC,IAAAA,YAJuC;AAKvC,OAAGC;AALoC,GAMpC;AACH,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgClB,QAAQ,CAAE,KAAF,CAA9C;AAEA,SACC,cAAC,YAAD;AACC,IAAA,SAAS,EAAGD,UAAU,CAAEa,SAAF,EAAa;AAClC,qBAAeK;AADmB,KAAb,CADvB;AAIC,IAAA,MAAM,EAAGf,2BAJV;AAKC,IAAA,aAAa,EAAG,CAAEiB,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AAC9CR,MAAAA,aAAa,CAAEQ,GAAG,CAACC,YAAN,CAAb;AACAR,MAAAA,QAAQ,CAAEO,GAAG,CAACC,YAAN,CAAR;AACA,KARF;AASC,IAAA,QAAQ,EAAG,CAAEH,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AACzCP,MAAAA,QAAQ,CAAEO,GAAG,CAACC,YAAN,CAAR;;AACA,UAAK,CAAEL,UAAP,EAAoB;AACnBC,QAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AACD,KAdF;AAeC,IAAA,YAAY,EAAG,CAAEC,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AAC7CN,MAAAA,YAAY,CAAEM,GAAG,CAACC,YAAN,CAAZ;AACAJ,MAAAA,aAAa,CAAE,KAAF,CAAb;AACA;AAlBF,KAmBMF,KAnBN,EADD;AAuBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { ResizableBox } from '@wordpress/components';\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nexport default function ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\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\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/edit/resizable-cover.js"],"names":["classnames","useState","ResizableBox","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight","axis","position","isVisible"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,YAAT,QAA6B,uBAA7B;AAEA,MAAMC,2BAA2B,GAAG;AACnCC,EAAAA,GAAG,EAAE,KAD8B;AAEnCC,EAAAA,KAAK,EAAE,KAF4B;AAGnCC,EAAAA,MAAM,EAAE,IAH2B;AAInCC,EAAAA,IAAI,EAAE,KAJ6B;AAKnCC,EAAAA,QAAQ,EAAE,KALyB;AAMnCC,EAAAA,WAAW,EAAE,KANsB;AAOnCC,EAAAA,UAAU,EAAE,KAPuB;AAQnCC,EAAAA,OAAO,EAAE;AAR0B,CAApC;AAWA,eAAe,SAASC,cAAT,OAMX;AAAA,MANoC;AACvCC,IAAAA,SADuC;AAEvCC,IAAAA,aAFuC;AAGvCC,IAAAA,QAHuC;AAIvCC,IAAAA,YAJuC;AAKvC,OAAGC;AALoC,GAMpC;AACH,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgClB,QAAQ,CAAE,KAAF,CAA9C;AAEA,SACC,cAAC,YAAD;AACC,IAAA,SAAS,EAAGD,UAAU,CAAEa,SAAF,EAAa;AAClC,qBAAeK;AADmB,KAAb,CADvB;AAIC,IAAA,MAAM,EAAGf,2BAJV;AAKC,IAAA,aAAa,EAAG,CAAEiB,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AAC9CR,MAAAA,aAAa,CAAEQ,GAAG,CAACC,YAAN,CAAb;AACAR,MAAAA,QAAQ,CAAEO,GAAG,CAACC,YAAN,CAAR;AACA,KARF;AASC,IAAA,QAAQ,EAAG,CAAEH,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AACzCP,MAAAA,QAAQ,CAAEO,GAAG,CAACC,YAAN,CAAR;;AACA,UAAK,CAAEL,UAAP,EAAoB;AACnBC,QAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AACD,KAdF;AAeC,IAAA,YAAY,EAAG,CAAEC,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AAC7CN,MAAAA,YAAY,CAAEM,GAAG,CAACC,YAAN,CAAZ;AACAJ,MAAAA,aAAa,CAAE,KAAF,CAAb;AACA,KAlBF;AAmBC,IAAA,yBAAyB,MAnB1B;AAoBC,IAAA,0BAA0B,EAAG;AAC5BK,MAAAA,IAAI,EAAE,GADsB;AAE5BC,MAAAA,QAAQ,EAAE,QAFkB;AAG5BC,MAAAA,SAAS,EAAER;AAHiB;AApB9B,KAyBMD,KAzBN,EADD;AA6BA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { ResizableBox } from '@wordpress/components';\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nexport default function ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\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\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: 'y',\n\t\t\t\tposition: 'bottom',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
@@ -30,6 +30,11 @@ const transforms = {
30
30
  }, groupInnerBlocks);
31
31
  }
32
32
 
33
+ }],
34
+ to: [{
35
+ type: 'block',
36
+ blocks: ['*'],
37
+ transform: (attributes, innerBlocks) => innerBlocks
33
38
  }]
34
39
  };
35
40
  export default transforms;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/transforms.js"],"names":["createBlock","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","alignments","widestAlignment","reduce","accumulator","block","align","attributes","indexOf","undefined","groupInnerBlocks","map","name","innerBlocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AAEA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,YAAY,EAAE,IAFf;AAGCC,IAAAA,MAAM,EAAE,CAAE,GAAF,CAHT;;AAICC,IAAAA,qBAAqB,CAAED,MAAF,EAAW;AAC/B,YAAME,UAAU,GAAG,CAAE,MAAF,EAAU,MAAV,CAAnB,CAD+B,CAG/B;;AACA,YAAMC,eAAe,GAAGH,MAAM,CAACI,MAAP,CACvB,CAAEC,WAAF,EAAeC,KAAf,KAA0B;AACzB,cAAM;AAAEC,UAAAA;AAAF,YAAYD,KAAK,CAACE,UAAxB;AACA,eAAON,UAAU,CAACO,OAAX,CAAoBF,KAApB,IACNL,UAAU,CAACO,OAAX,CAAoBJ,WAApB,CADM,GAEJE,KAFI,GAGJF,WAHH;AAIA,OAPsB,EAQvBK,SARuB,CAAxB,CAJ+B,CAe/B;AACA;AACA;AACA;AACA;;AACA,YAAMC,gBAAgB,GAAGX,MAAM,CAACY,GAAP,CAAcN,KAAF,IAAa;AACjD,eAAOX,WAAW,CACjBW,KAAK,CAACO,IADW,EAEjBP,KAAK,CAACE,UAFW,EAGjBF,KAAK,CAACQ,WAHW,CAAlB;AAKA,OANwB,CAAzB;AAQA,aAAOnB,WAAW,CACjB,YADiB,EAEjB;AACCY,QAAAA,KAAK,EAAEJ;AADR,OAFiB,EAKjBQ,gBALiB,CAAlB;AAOA;;AAvCF,GADK;AADY,CAAnB;AA8CA,eAAef,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\tconst alignments = [ 'wide', 'full' ];\n\n\t\t\t\t// Determine the widest setting of all the blocks to be grouped\n\t\t\t\tconst widestAlignment = blocks.reduce(\n\t\t\t\t\t( accumulator, block ) => {\n\t\t\t\t\t\tconst { align } = block.attributes;\n\t\t\t\t\t\treturn alignments.indexOf( align ) >\n\t\t\t\t\t\t\talignments.indexOf( accumulator )\n\t\t\t\t\t\t\t? align\n\t\t\t\t\t\t\t: accumulator;\n\t\t\t\t\t},\n\t\t\t\t\tundefined\n\t\t\t\t);\n\n\t\t\t\t// Clone the Blocks to be Grouped\n\t\t\t\t// Failing to create new block references causes the original blocks\n\t\t\t\t// to be replaced in the switchToBlockType call thereby meaning they\n\t\t\t\t// are removed both from their original location and within the\n\t\t\t\t// new group block.\n\t\t\t\tconst groupInnerBlocks = blocks.map( ( block ) => {\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\talign: widestAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tgroupInnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/transforms.js"],"names":["createBlock","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","alignments","widestAlignment","reduce","accumulator","block","align","attributes","indexOf","undefined","groupInnerBlocks","map","name","innerBlocks","to","transform"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AAEA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,YAAY,EAAE,IAFf;AAGCC,IAAAA,MAAM,EAAE,CAAE,GAAF,CAHT;;AAICC,IAAAA,qBAAqB,CAAED,MAAF,EAAW;AAC/B,YAAME,UAAU,GAAG,CAAE,MAAF,EAAU,MAAV,CAAnB,CAD+B,CAG/B;;AACA,YAAMC,eAAe,GAAGH,MAAM,CAACI,MAAP,CACvB,CAAEC,WAAF,EAAeC,KAAf,KAA0B;AACzB,cAAM;AAAEC,UAAAA;AAAF,YAAYD,KAAK,CAACE,UAAxB;AACA,eAAON,UAAU,CAACO,OAAX,CAAoBF,KAApB,IACNL,UAAU,CAACO,OAAX,CAAoBJ,WAApB,CADM,GAEJE,KAFI,GAGJF,WAHH;AAIA,OAPsB,EAQvBK,SARuB,CAAxB,CAJ+B,CAe/B;AACA;AACA;AACA;AACA;;AACA,YAAMC,gBAAgB,GAAGX,MAAM,CAACY,GAAP,CAAcN,KAAF,IAAa;AACjD,eAAOX,WAAW,CACjBW,KAAK,CAACO,IADW,EAEjBP,KAAK,CAACE,UAFW,EAGjBF,KAAK,CAACQ,WAHW,CAAlB;AAKA,OANwB,CAAzB;AAQA,aAAOnB,WAAW,CACjB,YADiB,EAEjB;AACCY,QAAAA,KAAK,EAAEJ;AADR,OAFiB,EAKjBQ,gBALiB,CAAlB;AAOA;;AAvCF,GADK,CADY;AA4ClBI,EAAAA,EAAE,EAAE,CACH;AACCjB,IAAAA,IAAI,EAAE,OADP;AAECE,IAAAA,MAAM,EAAE,CAAE,GAAF,CAFT;AAGCgB,IAAAA,SAAS,EAAE,CAAER,UAAF,EAAcM,WAAd,KAA+BA;AAH3C,GADG;AA5Cc,CAAnB;AAqDA,eAAelB,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\tconst alignments = [ 'wide', 'full' ];\n\n\t\t\t\t// Determine the widest setting of all the blocks to be grouped\n\t\t\t\tconst widestAlignment = blocks.reduce(\n\t\t\t\t\t( accumulator, block ) => {\n\t\t\t\t\t\tconst { align } = block.attributes;\n\t\t\t\t\t\treturn alignments.indexOf( align ) >\n\t\t\t\t\t\t\talignments.indexOf( accumulator )\n\t\t\t\t\t\t\t? align\n\t\t\t\t\t\t\t: accumulator;\n\t\t\t\t\t},\n\t\t\t\t\tundefined\n\t\t\t\t);\n\n\t\t\t\t// Clone the Blocks to be Grouped\n\t\t\t\t// Failing to create new block references causes the original blocks\n\t\t\t\t// to be replaced in the switchToBlockType call thereby meaning they\n\t\t\t\t// are removed both from their original location and within the\n\t\t\t\t// new group block.\n\t\t\t\tconst groupInnerBlocks = blocks.map( ( block ) => {\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\talign: widestAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tgroupInnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ '*' ],\n\t\t\ttransform: ( attributes, innerBlocks ) => innerBlocks,\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -34,6 +34,7 @@ import * as mediaText from './media-text';
34
34
  import * as latestComments from './latest-comments';
35
35
  import * as latestPosts from './latest-posts';
36
36
  import * as list from './list';
37
+ import * as listItem from './list-item';
37
38
  import * as missing from './missing';
38
39
  import * as more from './more';
39
40
  import * as nextpage from './nextpage';
@@ -59,7 +60,7 @@ import { transformationCategory } from './transformationCategories';
59
60
  const ALLOWED_BLOCKS_GRADIENT_SUPPORT = ['core/button'];
60
61
  export const coreBlocks = [// Common blocks are grouped at the top to prioritize their display
61
62
  // in various contexts — like the inserter and auto-complete components.
62
- paragraph, image, heading, gallery, list, quote, // Register all remaining core blocks.
63
+ paragraph, image, heading, gallery, list, listItem, quote, // Register all remaining core blocks.
63
64
  shortcode, archives, audio, button, calendar, categories, code, columns, column, cover, embed, file, html, mediaText, latestComments, latestPosts, missing, more, nextpage, preformatted, pullquote, rss, search, separator, reusableBlock, spacer, table, tagCloud, textColumns, verse, video, classic, buttons, socialLink, socialLinks].reduce((accumulator, block) => {
64
65
  accumulator[block.name] = block;
65
66
  return accumulator;
@@ -128,7 +129,16 @@ const registerBlockVariations = block => {
128
129
  const devOnly = block => !!__DEV__ ? block : null; // eslint-disable-next-line no-unused-vars
129
130
 
130
131
 
131
- const iOSOnly = block => Platform.OS === 'ios' ? block : devOnly(block); // Hide the Classic block and SocialLink block
132
+ const iOSOnly = block => Platform.OS === 'ios' ? block : devOnly(block); // To be removed once List V2 is released on the web editor.
133
+
134
+
135
+ function listCheck(listBlock, blocksFlags) {
136
+ if (blocksFlags !== null && blocksFlags !== void 0 && blocksFlags.__experimentalEnableListBlockV2) {
137
+ listBlock.settings = listBlock === null || listBlock === void 0 ? void 0 : listBlock.settingsV2;
138
+ }
139
+
140
+ return listBlock;
141
+ } // Hide the Classic block and SocialLink block
132
142
 
133
143
 
134
144
  addFilter('blocks.registerBlockType', 'core/react-native-editor', (settings, name) => {
@@ -166,12 +176,14 @@ addFilter('blocks.registerBlockType', 'core/react-native-editor', (settings, nam
166
176
  *
167
177
  * registerCoreBlocks();
168
178
  * ```
179
+ * @param {Object} [blocksFlags] Experimental flags
180
+ *
169
181
  *
170
182
  */
171
183
 
172
- export const registerCoreBlocks = () => {
184
+ export const registerCoreBlocks = blocksFlags => {
173
185
  // When adding new blocks to this list please also consider updating /src/block-support/supported-blocks.json in the Gutenberg-Mobile repo
174
- [paragraph, heading, devOnly(code), missing, more, image, video, nextpage, separator, list, quote, mediaText, preformatted, gallery, columns, column, group, classic, button, spacer, shortcode, buttons, latestPosts, verse, cover, socialLink, socialLinks, pullquote, file, audio, reusableBlock, search, embed].forEach(registerBlock);
186
+ [paragraph, heading, devOnly(code), missing, more, image, video, nextpage, separator, listCheck(list, blocksFlags), listItem, quote, mediaText, preformatted, gallery, columns, column, group, classic, button, spacer, shortcode, buttons, latestPosts, verse, cover, socialLink, socialLinks, pullquote, file, audio, reusableBlock, search, embed].forEach(registerBlock);
175
187
  registerBlockVariations(socialLink);
176
188
  setDefaultBlockName(paragraph.name);
177
189
  setFreeformContentHandlerName(classic.name);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/index.native.js"],"names":["Platform","sortBy","hasBlockSupport","registerBlockType","setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","addFilter","paragraph","image","heading","quote","gallery","archives","audio","button","calendar","categories","code","columns","column","cover","embed","file","html","mediaText","latestComments","latestPosts","list","missing","more","nextpage","preformatted","pullquote","reusableBlock","rss","search","separator","shortcode","spacer","table","textColumns","verse","video","tagCloud","classic","group","buttons","socialLink","socialLinks","transformationCategory","ALLOWED_BLOCKS_GRADIENT_SUPPORT","coreBlocks","reduce","accumulator","block","name","registerBlock","metadata","settings","supports","includes","color","gradients","registerBlockVariations","variations","forEach","v","icon","title","devOnly","__DEV__","iOSOnly","OS","hiddenBlocks","inserter","transforms","supportedMobileTransforms","registerCoreBlocks","NEW_BLOCK_TYPES"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tregisterBlockType,\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport * as paragraph from './paragraph';\nimport * as image from './image';\nimport * as heading from './heading';\nimport * as quote from './quote';\nimport * as gallery from './gallery';\nimport * as archives from './archives';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as code from './code';\nimport * as columns from './columns';\nimport * as column from './column';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as html from './html';\nimport * as mediaText from './media-text';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as nextpage from './nextpage';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as reusableBlock from './block';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as tagCloud from './tag-cloud';\nimport * as classic from './freeform';\nimport * as group from './group';\nimport * as buttons from './buttons';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\n\nimport { transformationCategory } from './transformationCategories';\n\nconst ALLOWED_BLOCKS_GRADIENT_SUPPORT = [ 'core/button' ];\n\nexport const coreBlocks = [\n\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tshortcode,\n\tarchives,\n\taudio,\n\tbutton,\n\tcalendar,\n\tcategories,\n\tcode,\n\tcolumns,\n\tcolumn,\n\tcover,\n\tembed,\n\tfile,\n\thtml,\n\tmediaText,\n\tlatestComments,\n\tlatestPosts,\n\tmissing,\n\tmore,\n\tnextpage,\n\tpreformatted,\n\tpullquote,\n\trss,\n\tsearch,\n\tseparator,\n\treusableBlock,\n\tspacer,\n\ttable,\n\ttagCloud,\n\ttextColumns,\n\tverse,\n\tvideo,\n\tclassic,\n\tbuttons,\n\tsocialLink,\n\tsocialLinks,\n].reduce( ( accumulator, block ) => {\n\taccumulator[ block.name ] = block;\n\treturn accumulator;\n}, {} );\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nexport const registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tconst { supports } = metadata;\n\n\tregisterBlockType(\n\t\t{\n\t\t\tname,\n\t\t\t...metadata,\n\t\t\t// Gradients support only available for blocks listed in ALLOWED_BLOCKS_GRADIENT_SUPPORT.\n\t\t\t...( ! ALLOWED_BLOCKS_GRADIENT_SUPPORT.includes( name ) &&\n\t\t\tsupports?.color?.gradients\n\t\t\t\t? {\n\t\t\t\t\t\tsupports: {\n\t\t\t\t\t\t\t...supports,\n\t\t\t\t\t\t\tcolor: { ...supports.color, gradients: false },\n\t\t\t\t\t\t},\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t},\n\t\tsettings\n\t);\n};\n\n/**\n * Function to register a block variations e.g. social icons different types.\n *\n * @param {Object} block The block which variations will be registered.\n *\n */\nconst registerBlockVariations = ( block ) => {\n\tconst { metadata, settings, name } = block;\n\n\tsortBy( settings.variations, 'title' ).forEach( ( v ) => {\n\t\tregisterBlockType( `${ name }-${ v.name }`, {\n\t\t\t...metadata,\n\t\t\tname: `${ name }-${ v.name }`,\n\t\t\t...settings,\n\t\t\ticon: v.icon(),\n\t\t\ttitle: v.title,\n\t\t\tvariations: [],\n\t\t} );\n\t} );\n};\n\n// Only enable code block for development\n// eslint-disable-next-line no-undef\nconst devOnly = ( block ) => ( !! __DEV__ ? block : null );\n\n// eslint-disable-next-line no-unused-vars\nconst iOSOnly = ( block ) =>\n\tPlatform.OS === 'ios' ? block : devOnly( block );\n\n// Hide the Classic block and SocialLink block\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tconst hiddenBlocks = [ 'core/freeform', 'core/social-link' ];\n\t\tif (\n\t\t\thiddenBlocks.includes( name ) &&\n\t\t\thasBlockSupport( settings, 'inserter', true )\n\t\t) {\n\t\t\tsettings.supports = {\n\t\t\t\t...settings.supports,\n\t\t\t\tinserter: false,\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tif ( ! settings.transforms ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tif ( ! settings.transforms.supportedMobileTransforms ) {\n\t\t\treturn {\n\t\t\t\t...settings,\n\t\t\t\ttransforms: {\n\t\t\t\t\t...settings.transforms,\n\t\t\t\t\tsupportedMobileTransforms: transformationCategory( name ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n *\n */\nexport const registerCoreBlocks = () => {\n\t// When adding new blocks to this list please also consider updating /src/block-support/supported-blocks.json in the Gutenberg-Mobile repo\n\t[\n\t\tparagraph,\n\t\theading,\n\t\tdevOnly( code ),\n\t\tmissing,\n\t\tmore,\n\t\timage,\n\t\tvideo,\n\t\tnextpage,\n\t\tseparator,\n\t\tlist,\n\t\tquote,\n\t\tmediaText,\n\t\tpreformatted,\n\t\tgallery,\n\t\tcolumns,\n\t\tcolumn,\n\t\tgroup,\n\t\tclassic,\n\t\tbutton,\n\t\tspacer,\n\t\tshortcode,\n\t\tbuttons,\n\t\tlatestPosts,\n\t\tverse,\n\t\tcover,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tpullquote,\n\t\tfile,\n\t\taudio,\n\t\treusableBlock,\n\t\tsearch,\n\t\tembed,\n\t].forEach( registerBlock );\n\n\tregisterBlockVariations( socialLink );\n\tsetDefaultBlockName( paragraph.name );\n\tsetFreeformContentHandlerName( classic.name );\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tif ( group ) {\n\t\tsetGroupingBlockName( group.name );\n\t}\n};\n\n/**\n * Dictates which block types are considered \"new.\" For each of the block types\n * below, if the native host app does not already have an impression count set,\n * an initial count will be set. When a block type's impression count is greater\n * than 0, a \"new\" badge is displayed on the block type within the block\n * inserter.\n *\n * @constant {{ string, number }}\n */\nexport const NEW_BLOCK_TYPES = {\n\t[ embed.name ]: 40,\n\t[ search.name ]: 40,\n\t[ audio.name ]: 40,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/index.native.js"],"names":["Platform","sortBy","hasBlockSupport","registerBlockType","setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","addFilter","paragraph","image","heading","quote","gallery","archives","audio","button","calendar","categories","code","columns","column","cover","embed","file","html","mediaText","latestComments","latestPosts","list","listItem","missing","more","nextpage","preformatted","pullquote","reusableBlock","rss","search","separator","shortcode","spacer","table","textColumns","verse","video","tagCloud","classic","group","buttons","socialLink","socialLinks","transformationCategory","ALLOWED_BLOCKS_GRADIENT_SUPPORT","coreBlocks","reduce","accumulator","block","name","registerBlock","metadata","settings","supports","includes","color","gradients","registerBlockVariations","variations","forEach","v","icon","title","devOnly","__DEV__","iOSOnly","OS","listCheck","listBlock","blocksFlags","__experimentalEnableListBlockV2","settingsV2","hiddenBlocks","inserter","transforms","supportedMobileTransforms","registerCoreBlocks","NEW_BLOCK_TYPES"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tregisterBlockType,\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport * as paragraph from './paragraph';\nimport * as image from './image';\nimport * as heading from './heading';\nimport * as quote from './quote';\nimport * as gallery from './gallery';\nimport * as archives from './archives';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as code from './code';\nimport * as columns from './columns';\nimport * as column from './column';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as html from './html';\nimport * as mediaText from './media-text';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as listItem from './list-item';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as nextpage from './nextpage';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as reusableBlock from './block';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as tagCloud from './tag-cloud';\nimport * as classic from './freeform';\nimport * as group from './group';\nimport * as buttons from './buttons';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\n\nimport { transformationCategory } from './transformationCategories';\n\nconst ALLOWED_BLOCKS_GRADIENT_SUPPORT = [ 'core/button' ];\n\nexport const coreBlocks = [\n\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tlistItem,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tshortcode,\n\tarchives,\n\taudio,\n\tbutton,\n\tcalendar,\n\tcategories,\n\tcode,\n\tcolumns,\n\tcolumn,\n\tcover,\n\tembed,\n\tfile,\n\thtml,\n\tmediaText,\n\tlatestComments,\n\tlatestPosts,\n\tmissing,\n\tmore,\n\tnextpage,\n\tpreformatted,\n\tpullquote,\n\trss,\n\tsearch,\n\tseparator,\n\treusableBlock,\n\tspacer,\n\ttable,\n\ttagCloud,\n\ttextColumns,\n\tverse,\n\tvideo,\n\tclassic,\n\tbuttons,\n\tsocialLink,\n\tsocialLinks,\n].reduce( ( accumulator, block ) => {\n\taccumulator[ block.name ] = block;\n\treturn accumulator;\n}, {} );\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nexport const registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tconst { supports } = metadata;\n\n\tregisterBlockType(\n\t\t{\n\t\t\tname,\n\t\t\t...metadata,\n\t\t\t// Gradients support only available for blocks listed in ALLOWED_BLOCKS_GRADIENT_SUPPORT.\n\t\t\t...( ! ALLOWED_BLOCKS_GRADIENT_SUPPORT.includes( name ) &&\n\t\t\tsupports?.color?.gradients\n\t\t\t\t? {\n\t\t\t\t\t\tsupports: {\n\t\t\t\t\t\t\t...supports,\n\t\t\t\t\t\t\tcolor: { ...supports.color, gradients: false },\n\t\t\t\t\t\t},\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t},\n\t\tsettings\n\t);\n};\n\n/**\n * Function to register a block variations e.g. social icons different types.\n *\n * @param {Object} block The block which variations will be registered.\n *\n */\nconst registerBlockVariations = ( block ) => {\n\tconst { metadata, settings, name } = block;\n\n\tsortBy( settings.variations, 'title' ).forEach( ( v ) => {\n\t\tregisterBlockType( `${ name }-${ v.name }`, {\n\t\t\t...metadata,\n\t\t\tname: `${ name }-${ v.name }`,\n\t\t\t...settings,\n\t\t\ticon: v.icon(),\n\t\t\ttitle: v.title,\n\t\t\tvariations: [],\n\t\t} );\n\t} );\n};\n\n// Only enable code block for development\n// eslint-disable-next-line no-undef\nconst devOnly = ( block ) => ( !! __DEV__ ? block : null );\n\n// eslint-disable-next-line no-unused-vars\nconst iOSOnly = ( block ) =>\n\tPlatform.OS === 'ios' ? block : devOnly( block );\n\n// To be removed once List V2 is released on the web editor.\nfunction listCheck( listBlock, blocksFlags ) {\n\tif ( blocksFlags?.__experimentalEnableListBlockV2 ) {\n\t\tlistBlock.settings = listBlock?.settingsV2;\n\t}\n\treturn listBlock;\n}\n\n// Hide the Classic block and SocialLink block\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tconst hiddenBlocks = [ 'core/freeform', 'core/social-link' ];\n\t\tif (\n\t\t\thiddenBlocks.includes( name ) &&\n\t\t\thasBlockSupport( settings, 'inserter', true )\n\t\t) {\n\t\t\tsettings.supports = {\n\t\t\t\t...settings.supports,\n\t\t\t\tinserter: false,\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tif ( ! settings.transforms ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tif ( ! settings.transforms.supportedMobileTransforms ) {\n\t\t\treturn {\n\t\t\t\t...settings,\n\t\t\t\ttransforms: {\n\t\t\t\t\t...settings.transforms,\n\t\t\t\t\tsupportedMobileTransforms: transformationCategory( name ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n * @param {Object} [blocksFlags] Experimental flags\n *\n *\n */\nexport const registerCoreBlocks = ( blocksFlags ) => {\n\t// When adding new blocks to this list please also consider updating /src/block-support/supported-blocks.json in the Gutenberg-Mobile repo\n\t[\n\t\tparagraph,\n\t\theading,\n\t\tdevOnly( code ),\n\t\tmissing,\n\t\tmore,\n\t\timage,\n\t\tvideo,\n\t\tnextpage,\n\t\tseparator,\n\t\tlistCheck( list, blocksFlags ),\n\t\tlistItem,\n\t\tquote,\n\t\tmediaText,\n\t\tpreformatted,\n\t\tgallery,\n\t\tcolumns,\n\t\tcolumn,\n\t\tgroup,\n\t\tclassic,\n\t\tbutton,\n\t\tspacer,\n\t\tshortcode,\n\t\tbuttons,\n\t\tlatestPosts,\n\t\tverse,\n\t\tcover,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tpullquote,\n\t\tfile,\n\t\taudio,\n\t\treusableBlock,\n\t\tsearch,\n\t\tembed,\n\t].forEach( registerBlock );\n\n\tregisterBlockVariations( socialLink );\n\tsetDefaultBlockName( paragraph.name );\n\tsetFreeformContentHandlerName( classic.name );\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tif ( group ) {\n\t\tsetGroupingBlockName( group.name );\n\t}\n};\n\n/**\n * Dictates which block types are considered \"new.\" For each of the block types\n * below, if the native host app does not already have an impression count set,\n * an initial count will be set. When a block type's impression count is greater\n * than 0, a \"new\" badge is displayed on the block type within the block\n * inserter.\n *\n * @constant {{ string, number }}\n */\nexport const NEW_BLOCK_TYPES = {\n\t[ embed.name ]: 40,\n\t[ search.name ]: 40,\n\t[ audio.name ]: 40,\n};\n"]}
@@ -81,7 +81,7 @@ import settingsV2 from './v2';
81
81
  const {
82
82
  name
83
83
  } = metadata;
84
- export { metadata, name };
84
+ export { metadata, name, settingsV2 };
85
85
  const settingsV1 = {
86
86
  icon,
87
87
  example: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list/index.js"],"names":["list","icon","deprecated","edit","save","transforms","settingsV2","name","metadata","settingsV1","example","attributes","values","merge","attributesToMerge","settings","process","env","IS_GUTENBERG_PLUGIN","window","__experimentalEnableListBlockV2"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,MAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,MAAME,UAAU,GAAG;AAClBR,EAAAA,IADkB;AAElBS,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,MAAM,EAAE;AADG;AADJ,GAFS;AAOlBP,EAAAA,UAPkB;;AAQlBQ,EAAAA,KAAK,CAAEF,UAAF,EAAcG,iBAAd,EAAkC;AACtC,UAAM;AAAEF,MAAAA;AAAF,QAAaE,iBAAnB;;AAEA,QAAK,CAAEF,MAAF,IAAYA,MAAM,KAAK,WAA5B,EAA0C;AACzC,aAAOD,UAAP;AACA;;AAED,WAAO,EACN,GAAGA,UADG;AAENC,MAAAA,MAAM,EAAED,UAAU,CAACC,MAAX,GAAoBA;AAFtB,KAAP;AAIA,GAnBiB;;AAoBlBT,EAAAA,IApBkB;AAqBlBC,EAAAA,IArBkB;AAsBlBF,EAAAA;AAtBkB,CAAnB;AAyBA,IAAIa,QAAQ,GAAGN,UAAf;;AACA,IAAKO,OAAO,CAACC,GAAR,CAAYC,mBAAjB,EAAuC;AAAA;;AACtCH,EAAAA,QAAQ,GAAG,WAAAI,MAAM,UAAN,kCAAQC,+BAAR,GACRd,UADQ,GAERG,UAFH;AAGA;;AACD,SAASM,QAAT","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { list as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport settingsV2 from './v2';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nconst settingsV1 = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tvalues: '<li>Alice.</li><li>The White Rabbit.</li><li>The Cheshire Cat.</li><li>The Mad Hatter.</li><li>The Queen of Hearts.</li>',\n\t\t},\n\t},\n\ttransforms,\n\tmerge( attributes, attributesToMerge ) {\n\t\tconst { values } = attributesToMerge;\n\n\t\tif ( ! values || values === '<li></li>' ) {\n\t\t\treturn attributes;\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tvalues: attributes.values + values,\n\t\t};\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nlet settings = settingsV1;\nif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\tsettings = window?.__experimentalEnableListBlockV2\n\t\t? settingsV2\n\t\t: settingsV1;\n}\nexport { settings };\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list/index.js"],"names":["list","icon","deprecated","edit","save","transforms","settingsV2","name","metadata","settingsV1","example","attributes","values","merge","attributesToMerge","settings","process","env","IS_GUTENBERG_PLUGIN","window","__experimentalEnableListBlockV2"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,MAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB,EAAyBD,UAAzB;AAEA,MAAMG,UAAU,GAAG;AAClBR,EAAAA,IADkB;AAElBS,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,MAAM,EAAE;AADG;AADJ,GAFS;AAOlBP,EAAAA,UAPkB;;AAQlBQ,EAAAA,KAAK,CAAEF,UAAF,EAAcG,iBAAd,EAAkC;AACtC,UAAM;AAAEF,MAAAA;AAAF,QAAaE,iBAAnB;;AAEA,QAAK,CAAEF,MAAF,IAAYA,MAAM,KAAK,WAA5B,EAA0C;AACzC,aAAOD,UAAP;AACA;;AAED,WAAO,EACN,GAAGA,UADG;AAENC,MAAAA,MAAM,EAAED,UAAU,CAACC,MAAX,GAAoBA;AAFtB,KAAP;AAIA,GAnBiB;;AAoBlBT,EAAAA,IApBkB;AAqBlBC,EAAAA,IArBkB;AAsBlBF,EAAAA;AAtBkB,CAAnB;AAyBA,IAAIa,QAAQ,GAAGN,UAAf;;AACA,IAAKO,OAAO,CAACC,GAAR,CAAYC,mBAAjB,EAAuC;AAAA;;AACtCH,EAAAA,QAAQ,GAAG,WAAAI,MAAM,UAAN,kCAAQC,+BAAR,GACRd,UADQ,GAERG,UAFH;AAGA;;AACD,SAASM,QAAT","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { list as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport settingsV2 from './v2';\n\nconst { name } = metadata;\n\nexport { metadata, name, settingsV2 };\n\nconst settingsV1 = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tvalues: '<li>Alice.</li><li>The White Rabbit.</li><li>The Cheshire Cat.</li><li>The Mad Hatter.</li><li>The Queen of Hearts.</li>',\n\t\t},\n\t},\n\ttransforms,\n\tmerge( attributes, attributesToMerge ) {\n\t\tconst { values } = attributesToMerge;\n\n\t\tif ( ! values || values === '<li></li>' ) {\n\t\t\treturn attributes;\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tvalues: attributes.values + values,\n\t\t};\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nlet settings = settingsV1;\nif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\tsettings = window?.__experimentalEnableListBlockV2\n\t\t? settingsV2\n\t\t: settingsV1;\n}\nexport { settings };\n"]}