@wordpress/block-library 9.15.1 → 9.16.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 (260) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +2 -1
  3. package/build/button/edit.js.map +1 -1
  4. package/build/columns/edit.js +1 -1
  5. package/build/columns/edit.js.map +1 -1
  6. package/build/columns/edit.native.js +1 -1
  7. package/build/columns/edit.native.js.map +1 -1
  8. package/build/comment-template/edit.js +2 -2
  9. package/build/comment-template/edit.js.map +1 -1
  10. package/build/comments-pagination-next/index.js +7 -6
  11. package/build/comments-pagination-next/index.js.map +1 -1
  12. package/build/comments-pagination-previous/index.js +7 -6
  13. package/build/comments-pagination-previous/index.js.map +1 -1
  14. package/build/cover/deprecated.js +1 -1
  15. package/build/cover/deprecated.js.map +1 -1
  16. package/build/details/edit.js +12 -17
  17. package/build/details/edit.js.map +1 -1
  18. package/build/details/index.js +3 -0
  19. package/build/details/index.js.map +1 -1
  20. package/build/embed/util.js +1 -1
  21. package/build/embed/util.js.map +1 -1
  22. package/build/file/edit.js +7 -4
  23. package/build/file/edit.js.map +1 -1
  24. package/build/file/transforms.js +1 -1
  25. package/build/file/transforms.js.map +1 -1
  26. package/build/file/utils/index.js +1 -1
  27. package/build/file/utils/index.js.map +1 -1
  28. package/build/form-input/edit.js +1 -1
  29. package/build/form-input/edit.js.map +1 -1
  30. package/build/gallery/edit.js +1 -1
  31. package/build/gallery/edit.js.map +1 -1
  32. package/build/gallery/transforms.js +2 -2
  33. package/build/gallery/transforms.js.map +1 -1
  34. package/build/gallery/use-get-new-images.js +1 -1
  35. package/build/gallery/use-get-new-images.js.map +1 -1
  36. package/build/list-item/edit.native.js +2 -2
  37. package/build/list-item/edit.native.js.map +1 -1
  38. package/build/media-text/edit.native.js +2 -2
  39. package/build/media-text/edit.native.js.map +1 -1
  40. package/build/media-text/media-container.native.js +4 -4
  41. package/build/media-text/media-container.native.js.map +1 -1
  42. package/build/navigation/edit/index.js +8 -4
  43. package/build/navigation/edit/index.js.map +1 -1
  44. package/build/navigation/index.js +15 -0
  45. package/build/navigation/index.js.map +1 -1
  46. package/build/navigation-link/edit.js +1 -1
  47. package/build/navigation-link/edit.js.map +1 -1
  48. package/build/navigation-link/link-ui.js +9 -18
  49. package/build/navigation-link/link-ui.js.map +1 -1
  50. package/build/navigation-submenu/edit.js +1 -1
  51. package/build/navigation-submenu/edit.js.map +1 -1
  52. package/build/page-list/index.js +11 -0
  53. package/build/page-list/index.js.map +1 -1
  54. package/build/post-author-name/edit.js +41 -12
  55. package/build/post-author-name/edit.js.map +1 -1
  56. package/build/post-comments-link/index.js +7 -1
  57. package/build/post-comments-link/index.js.map +1 -1
  58. package/build/post-featured-image/overlay-controls.js +2 -1
  59. package/build/post-featured-image/overlay-controls.js.map +1 -1
  60. package/build/query/edit/inspector-controls/author-control.js +1 -1
  61. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  62. package/build/query/edit/inspector-controls/index.js +110 -61
  63. package/build/query/edit/inspector-controls/index.js.map +1 -1
  64. package/build/query/utils.js +1 -1
  65. package/build/query/utils.js.map +1 -1
  66. package/build/query-title/edit.js +39 -14
  67. package/build/query-title/edit.js.map +1 -1
  68. package/build/query-total/index.js +7 -1
  69. package/build/query-total/index.js.map +1 -1
  70. package/build/quote/transforms.js +1 -1
  71. package/build/quote/transforms.js.map +1 -1
  72. package/build/rss/edit.js +1 -0
  73. package/build/rss/edit.js.map +1 -1
  74. package/build/rss/index.js +6 -0
  75. package/build/rss/index.js.map +1 -1
  76. package/build/search/edit.js +2 -1
  77. package/build/search/edit.js.map +1 -1
  78. package/build/site-logo/edit.js +26 -35
  79. package/build/site-logo/edit.js.map +1 -1
  80. package/build/social-links/edit.js +2 -1
  81. package/build/social-links/edit.js.map +1 -1
  82. package/build/table-of-contents/edit.js +24 -8
  83. package/build/table-of-contents/edit.js.map +1 -1
  84. package/build/video/edit.native.js +3 -3
  85. package/build/video/edit.native.js.map +1 -1
  86. package/build-module/button/edit.js +3 -2
  87. package/build-module/button/edit.js.map +1 -1
  88. package/build-module/columns/edit.js +1 -1
  89. package/build-module/columns/edit.js.map +1 -1
  90. package/build-module/columns/edit.native.js +1 -1
  91. package/build-module/columns/edit.native.js.map +1 -1
  92. package/build-module/comment-template/edit.js +2 -2
  93. package/build-module/comment-template/edit.js.map +1 -1
  94. package/build-module/comments-pagination-next/index.js +7 -6
  95. package/build-module/comments-pagination-next/index.js.map +1 -1
  96. package/build-module/comments-pagination-previous/index.js +7 -6
  97. package/build-module/comments-pagination-previous/index.js.map +1 -1
  98. package/build-module/cover/deprecated.js +1 -1
  99. package/build-module/cover/deprecated.js.map +1 -1
  100. package/build-module/details/edit.js +13 -18
  101. package/build-module/details/edit.js.map +1 -1
  102. package/build-module/details/index.js +3 -0
  103. package/build-module/details/index.js.map +1 -1
  104. package/build-module/embed/util.js +1 -1
  105. package/build-module/embed/util.js.map +1 -1
  106. package/build-module/file/edit.js +7 -4
  107. package/build-module/file/edit.js.map +1 -1
  108. package/build-module/file/transforms.js +1 -1
  109. package/build-module/file/transforms.js.map +1 -1
  110. package/build-module/file/utils/index.js +1 -1
  111. package/build-module/file/utils/index.js.map +1 -1
  112. package/build-module/form-input/edit.js +1 -1
  113. package/build-module/form-input/edit.js.map +1 -1
  114. package/build-module/gallery/edit.js +1 -1
  115. package/build-module/gallery/edit.js.map +1 -1
  116. package/build-module/gallery/transforms.js +2 -2
  117. package/build-module/gallery/transforms.js.map +1 -1
  118. package/build-module/gallery/use-get-new-images.js +1 -1
  119. package/build-module/gallery/use-get-new-images.js.map +1 -1
  120. package/build-module/list-item/edit.native.js +2 -2
  121. package/build-module/list-item/edit.native.js.map +1 -1
  122. package/build-module/media-text/edit.native.js +2 -2
  123. package/build-module/media-text/edit.native.js.map +1 -1
  124. package/build-module/media-text/media-container.native.js +4 -4
  125. package/build-module/media-text/media-container.native.js.map +1 -1
  126. package/build-module/navigation/edit/index.js +8 -4
  127. package/build-module/navigation/edit/index.js.map +1 -1
  128. package/build-module/navigation/index.js +15 -0
  129. package/build-module/navigation/index.js.map +1 -1
  130. package/build-module/navigation-link/edit.js +1 -1
  131. package/build-module/navigation-link/edit.js.map +1 -1
  132. package/build-module/navigation-link/link-ui.js +9 -18
  133. package/build-module/navigation-link/link-ui.js.map +1 -1
  134. package/build-module/navigation-submenu/edit.js +1 -1
  135. package/build-module/navigation-submenu/edit.js.map +1 -1
  136. package/build-module/page-list/index.js +11 -0
  137. package/build-module/page-list/index.js.map +1 -1
  138. package/build-module/post-author-name/edit.js +42 -13
  139. package/build-module/post-author-name/edit.js.map +1 -1
  140. package/build-module/post-comments-link/index.js +7 -1
  141. package/build-module/post-comments-link/index.js.map +1 -1
  142. package/build-module/post-featured-image/overlay-controls.js +2 -1
  143. package/build-module/post-featured-image/overlay-controls.js.map +1 -1
  144. package/build-module/query/edit/inspector-controls/author-control.js +1 -1
  145. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  146. package/build-module/query/edit/inspector-controls/index.js +111 -62
  147. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  148. package/build-module/query/utils.js +1 -1
  149. package/build-module/query/utils.js.map +1 -1
  150. package/build-module/query-title/edit.js +40 -15
  151. package/build-module/query-title/edit.js.map +1 -1
  152. package/build-module/query-total/index.js +7 -1
  153. package/build-module/query-total/index.js.map +1 -1
  154. package/build-module/quote/transforms.js +1 -1
  155. package/build-module/quote/transforms.js.map +1 -1
  156. package/build-module/rss/edit.js +1 -0
  157. package/build-module/rss/edit.js.map +1 -1
  158. package/build-module/rss/index.js +6 -0
  159. package/build-module/rss/index.js.map +1 -1
  160. package/build-module/search/edit.js +3 -2
  161. package/build-module/search/edit.js.map +1 -1
  162. package/build-module/site-logo/edit.js +27 -36
  163. package/build-module/site-logo/edit.js.map +1 -1
  164. package/build-module/social-links/edit.js +2 -1
  165. package/build-module/social-links/edit.js.map +1 -1
  166. package/build-module/table-of-contents/edit.js +25 -9
  167. package/build-module/table-of-contents/edit.js.map +1 -1
  168. package/build-module/video/edit.native.js +3 -3
  169. package/build-module/video/edit.native.js.map +1 -1
  170. package/build-style/editor-rtl.css +6 -43
  171. package/build-style/editor.css +6 -43
  172. package/build-style/freeform/editor-rtl.css +2 -4
  173. package/build-style/freeform/editor.css +2 -4
  174. package/build-style/gallery/editor-rtl.css +2 -4
  175. package/build-style/gallery/editor.css +2 -4
  176. package/build-style/image/style-rtl.css +24 -10
  177. package/build-style/image/style.css +24 -10
  178. package/build-style/navigation/style-rtl.css +8 -6
  179. package/build-style/navigation/style.css +8 -6
  180. package/build-style/query/editor-rtl.css +0 -27
  181. package/build-style/query/editor.css +0 -27
  182. package/build-style/site-logo/editor-rtl.css +2 -8
  183. package/build-style/site-logo/editor.css +2 -8
  184. package/build-style/social-links/style-rtl.css +2 -5
  185. package/build-style/social-links/style.css +2 -5
  186. package/build-style/style-rtl.css +34 -21
  187. package/build-style/style.css +34 -21
  188. package/package.json +35 -35
  189. package/src/audio/test/transforms.native.js +4 -3
  190. package/src/button/edit.js +6 -2
  191. package/src/columns/edit.js +1 -1
  192. package/src/columns/edit.native.js +1 -1
  193. package/src/comment-template/edit.js +2 -2
  194. package/src/comments-pagination-next/block.json +0 -5
  195. package/src/comments-pagination-next/index.js +6 -0
  196. package/src/comments-pagination-previous/block.json +0 -5
  197. package/src/comments-pagination-previous/index.js +6 -0
  198. package/src/cover/deprecated.js +1 -1
  199. package/src/cover/test/__snapshots__/edit.native.js.snap +1 -1
  200. package/src/cover/test/edit.js +7 -7
  201. package/src/cover/test/edit.native.js +2 -2
  202. package/src/cover/test/transforms.native.js +9 -5
  203. package/src/details/block.json +3 -0
  204. package/src/details/edit.js +12 -23
  205. package/src/editor.scss +1 -1
  206. package/src/embed/test/index.js +1 -1
  207. package/src/embed/util.js +1 -1
  208. package/src/file/edit.js +4 -3
  209. package/src/file/test/transforms.native.js +4 -3
  210. package/src/file/transforms.js +1 -1
  211. package/src/file/utils/index.js +1 -1
  212. package/src/form-input/edit.js +1 -1
  213. package/src/freeform/editor.scss +4 -3
  214. package/src/gallery/edit.js +1 -1
  215. package/src/gallery/editor.scss +4 -2
  216. package/src/gallery/test/transforms.native.js +4 -3
  217. package/src/gallery/transforms.js +2 -2
  218. package/src/gallery/use-get-new-images.js +1 -1
  219. package/src/image/block.json +8 -1
  220. package/src/image/editor.scss +1 -1
  221. package/src/image/index.php +9 -13
  222. package/src/image/style.scss +17 -7
  223. package/src/image/test/edit.native.js +1 -1
  224. package/src/image/test/transforms.native.js +4 -3
  225. package/src/list/test/edit.native.js +1 -1
  226. package/src/list-item/edit.native.js +2 -2
  227. package/src/media-text/edit.native.js +2 -2
  228. package/src/media-text/media-container.native.js +4 -4
  229. package/src/media-text/test/transforms.native.js +9 -5
  230. package/src/navigation/edit/index.js +4 -0
  231. package/src/navigation/index.js +20 -0
  232. package/src/navigation/style.scss +7 -4
  233. package/src/navigation-link/edit.js +1 -1
  234. package/src/navigation-link/link-ui.js +7 -13
  235. package/src/navigation-submenu/edit.js +1 -1
  236. package/src/page-list/block.json +11 -0
  237. package/src/paragraph/style.scss +1 -1
  238. package/src/post-author-name/edit.js +53 -15
  239. package/src/post-comments-link/block.json +7 -1
  240. package/src/post-content/block.json +1 -1
  241. package/src/post-featured-image/overlay-controls.js +1 -0
  242. package/src/query/edit/inspector-controls/author-control.js +1 -1
  243. package/src/query/edit/inspector-controls/index.js +148 -88
  244. package/src/query/editor.scss +0 -31
  245. package/src/query/utils.js +1 -1
  246. package/src/query-title/edit.js +60 -19
  247. package/src/query-total/block.json +7 -1
  248. package/src/quote/transforms.js +1 -1
  249. package/src/rss/block.json +6 -0
  250. package/src/rss/edit.js +1 -0
  251. package/src/search/edit.js +6 -2
  252. package/src/separator/deprecated.scss +1 -1
  253. package/src/site-logo/edit.js +34 -47
  254. package/src/site-logo/editor.scss +3 -6
  255. package/src/social-link/index.php +2 -2
  256. package/src/social-links/edit.js +1 -0
  257. package/src/social-links/style.scss +3 -3
  258. package/src/table-of-contents/edit.js +38 -19
  259. package/src/video/edit.native.js +3 -3
  260. package/src/video/test/transforms.native.js +4 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.16.0 (2025-01-15)
6
+
5
7
  ## 9.15.0 (2025-01-02)
6
8
 
7
9
  ## 9.14.0 (2024-12-11)
@@ -115,7 +115,8 @@ function WidthPanel({
115
115
  children: [25, 50, 75, 100].map(widthValue => {
116
116
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
117
117
  value: widthValue,
118
- label: `${widthValue}%`
118
+ label: (0, _i18n.sprintf)(/* translators: Percentage value. */
119
+ (0, _i18n.__)('%d%%'), widthValue)
119
120
  }, widthValue);
120
121
  })
121
122
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_constants","_getUpdatedLinkAttributes","_removeAnchorTag","_hooks","_i18n","_element","_components","_blockEditor","_keycodes","_icons","_blocks","_compose","_data","_jsxRuntime","LINK_SETTINGS","LinkControl","DEFAULT_LINK_SETTINGS","id","title","__","useEnter","props","replaceBlocks","selectionChange","useDispatch","blockEditorStore","getBlock","getBlockRootClientId","getBlockIndex","useSelect","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","cloneBlock","innerBlocks","slice","middle","createBlock","getDefaultBlockName","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","dropdownMenuProps","useToolsPanelDropdownMenuProps","jsx","__experimentalToolsPanel","label","resetAll","width","undefined","children","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","__experimentalToggleGroupControl","value","onChange","newWidth","isBlock","__next40pxDefaultSize","map","widthValue","__experimentalToggleGroupControlOption","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","context","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","useState","borderProps","useBorderProps","colorProps","useColorProps","spacingProps","useSpacingProps","shadowProps","useShadowProps","ref","blockProps","useBlockProps","useMergeRefs","blockEditingMode","useBlockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","NEW_TAB_TARGET","nofollow","includes","NOFOLLOW_REL","isLinkTag","useEffect","linkValue","useMemo","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","fluidTypographySettings","layout","useSettings","typographyProps","useTypographyProps","typography","fluid","wideSize","jsxs","Fragment","clsx","RichText","removeAnchorTag","withoutInteractiveFormatting","border","radius","fontSize","__experimentalGetElementClassName","writingMode","onMerge","identifier","BlockControls","group","AlignmentControl","nextAlign","ToolbarButton","name","icon","link","shortcut","displayShortcut","onClick","linkOff","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","InspectorControls","TextControl","newRel","_default","exports","default"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tLinkControl,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tgetBlockBindingsSource,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => setAttributes( { width: undefined } ) }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! selectedWidth }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t<ToggleGroupControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tvalue={ selectedWidth }\n\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t}\n\t\t\t\t\tisBlock\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t>\n\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\tlabel={ `${ widthValue }%` }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ToggleGroupControl>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSelected, metadata?.bindings?.url ]\n\t);\n\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\ttypographyProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\t\t\t\tblockProps.style.fontSize,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t\t...typographyProps.style,\n\t\t\t\t\t\twritingMode: undefined,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_constants","_getUpdatedLinkAttributes","_removeAnchorTag","_hooks","_i18n","_element","_components","_blockEditor","_keycodes","_icons","_blocks","_compose","_data","_jsxRuntime","LINK_SETTINGS","LinkControl","DEFAULT_LINK_SETTINGS","id","title","__","useEnter","props","replaceBlocks","selectionChange","useDispatch","blockEditorStore","getBlock","getBlockRootClientId","getBlockIndex","useSelect","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","cloneBlock","innerBlocks","slice","middle","createBlock","getDefaultBlockName","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","dropdownMenuProps","useToolsPanelDropdownMenuProps","jsx","__experimentalToolsPanel","label","resetAll","width","undefined","children","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","__experimentalToggleGroupControl","value","onChange","newWidth","isBlock","__next40pxDefaultSize","map","widthValue","__experimentalToggleGroupControlOption","sprintf","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","context","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","useState","borderProps","useBorderProps","colorProps","useColorProps","spacingProps","useSpacingProps","shadowProps","useShadowProps","ref","blockProps","useBlockProps","useMergeRefs","blockEditingMode","useBlockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","NEW_TAB_TARGET","nofollow","includes","NOFOLLOW_REL","isLinkTag","useEffect","linkValue","useMemo","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","fluidTypographySettings","layout","useSettings","typographyProps","useTypographyProps","typography","fluid","wideSize","jsxs","Fragment","clsx","RichText","removeAnchorTag","withoutInteractiveFormatting","border","radius","fontSize","__experimentalGetElementClassName","writingMode","onMerge","identifier","BlockControls","group","AlignmentControl","nextAlign","ToolbarButton","name","icon","link","shortcut","displayShortcut","onClick","linkOff","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","InspectorControls","TextControl","newRel","_default","exports","default"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tLinkControl,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tgetBlockBindingsSource,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => setAttributes( { width: undefined } ) }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! selectedWidth }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t<ToggleGroupControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tvalue={ selectedWidth }\n\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t}\n\t\t\t\t\tisBlock\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t>\n\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: Percentage value. */\n\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\twidthValue\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ToggleGroupControl>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSelected, metadata?.bindings?.url ]\n\t);\n\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\ttypographyProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\t\t\t\tblockProps.style.fontSize,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t\t...typographyProps.style,\n\t\t\t\t\t\twritingMode: undefined,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -198,7 +198,7 @@ function ColumnsEditContainer({
198
198
  /**
199
199
  * Update all child Column blocks with a new vertical alignment setting
200
200
  * based on whatever alignment is passed in. This allows change to parent
201
- * to overide anything set on a individual column basis.
201
+ * to override anything set on a individual column basis.
202
202
  *
203
203
  * @param {string} newVerticalAlignment The vertical alignment setting.
204
204
  */
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_blockEditor","_data","_blocks","_utils","_hooks","_jsxRuntime","DEFAULT_BLOCK","name","ColumnInspectorControls","clientId","setAttributes","isStackedOnMobile","count","canInsertColumnBlock","minCount","useSelect","select","canInsertBlockType","canRemoveBlock","getBlockOrder","blockEditorStore","blockOrder","preventRemovalBlockIndexes","reduce","acc","blockId","index","push","length","Math","max","getBlocks","replaceInnerBlocks","useDispatch","updateColumns","previousColumns","newColumns","innerBlocks","hasExplicitWidths","hasExplicitPercentColumnWidths","isAddingColumn","newColumnWidth","toWidthPrecision","newlyAddedColumns","widths","getRedistributedColumnWidths","getMappedColumnWidths","Array","from","map","createBlock","width","slice","dropdownMenuProps","useToolsPanelDropdownMenuProps","jsxs","__experimentalToolsPanel","label","__","resetAll","children","jsx","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","__experimentalVStack","spacing","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","min","Notice","status","isDismissible","ToggleControl","checked","ColumnsEditContainer","attributes","verticalAlignment","templateLock","registry","useRegistry","updateBlockAttributes","classes","clsx","blockProps","useBlockProps","className","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","Fragment","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","Placeholder","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","blocksStore","__experimentalBlockVariationPicker","icon","src","title","instructions","onSelect","nextVariation","createBlocksFromInnerBlocksTemplate","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component","_default","exports","default"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tRangeControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnInspectorControls( {\n\tclientId,\n\tsetAttributes,\n\tisStackedOnMobile,\n} ) {\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, canRemoveBlock, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = blockOrder.reduce(\n\t\t\t\t( acc, blockId, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( blockId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: blockOrder.length,\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\t\t\tconst newlyAddedColumns = newColumns - previousColumns;\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth * newlyAddedColumns\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newlyAddedColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tupdateColumns( count, minCount );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => count }\n\t\t\t\t\tonDeselect={ () => updateColumns( count, minCount ) }\n\t\t\t\t>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateColumns(\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tMath.max( minCount, value )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => isStackedOnMobile !== true }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst registry = useRegistry();\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst classes = clsx( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to overide anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ColumnInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tinstructions={ __( 'Divide into columns. Select a layout:' ) }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_blockEditor","_data","_blocks","_utils","_hooks","_jsxRuntime","DEFAULT_BLOCK","name","ColumnInspectorControls","clientId","setAttributes","isStackedOnMobile","count","canInsertColumnBlock","minCount","useSelect","select","canInsertBlockType","canRemoveBlock","getBlockOrder","blockEditorStore","blockOrder","preventRemovalBlockIndexes","reduce","acc","blockId","index","push","length","Math","max","getBlocks","replaceInnerBlocks","useDispatch","updateColumns","previousColumns","newColumns","innerBlocks","hasExplicitWidths","hasExplicitPercentColumnWidths","isAddingColumn","newColumnWidth","toWidthPrecision","newlyAddedColumns","widths","getRedistributedColumnWidths","getMappedColumnWidths","Array","from","map","createBlock","width","slice","dropdownMenuProps","useToolsPanelDropdownMenuProps","jsxs","__experimentalToolsPanel","label","__","resetAll","children","jsx","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","__experimentalVStack","spacing","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","min","Notice","status","isDismissible","ToggleControl","checked","ColumnsEditContainer","attributes","verticalAlignment","templateLock","registry","useRegistry","updateBlockAttributes","classes","clsx","blockProps","useBlockProps","className","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","Fragment","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","Placeholder","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","blocksStore","__experimentalBlockVariationPicker","icon","src","title","instructions","onSelect","nextVariation","createBlocksFromInnerBlocksTemplate","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component","_default","exports","default"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tRangeControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnInspectorControls( {\n\tclientId,\n\tsetAttributes,\n\tisStackedOnMobile,\n} ) {\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, canRemoveBlock, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = blockOrder.reduce(\n\t\t\t\t( acc, blockId, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( blockId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: blockOrder.length,\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\t\t\tconst newlyAddedColumns = newColumns - previousColumns;\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth * newlyAddedColumns\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newlyAddedColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tupdateColumns( count, minCount );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => count }\n\t\t\t\t\tonDeselect={ () => updateColumns( count, minCount ) }\n\t\t\t\t>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateColumns(\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tMath.max( minCount, value )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => isStackedOnMobile !== true }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst registry = useRegistry();\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst classes = clsx( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to override anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ColumnInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tinstructions={ __( 'Divide into columns. Select a layout:' ) }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -198,7 +198,7 @@ const ColumnsEditContainerWrapper = (0, _data.withDispatch)((dispatch, ownProps,
198
198
  /**
199
199
  * Update all child Column blocks with a new vertical alignment setting
200
200
  * based on whatever alignment is passed in. This allows change to parent
201
- * to overide anything set on a individual column basis.
201
+ * to override anything set on a individual column basis.
202
202
  *
203
203
  * @param {string} verticalAlignment the vertical alignment setting
204
204
  */
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_i18n","_components","_blockEditor","_data","_element","_compose","_blocks","_icons","_variations","_interopRequireDefault","_editor","_utils","_columnCalculations","_columnPreview","_jsxRuntime","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","alignmentHelpers","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","useResizeObserver","columnsInRow","setColumnsInRow","useState","screenWidth","Math","floor","Dimensions","get","width","globalStyles","useGlobalStyles","verticalAlignment","align","availableUnits","useSettings","units","useCustomUnits","useEffect","newColumnCount","getColumnsInRow","renderAppender","jsx","View","style","styles","columnAppender","children","InnerBlocks","ButtonBlockAppender","onAddBlock","contentWidths","useMemo","getContentWidths","useCallback","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","getWidthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","getWidths","onChange","isPercentageUnit","getColumnsSliders","map","column","getValueAndUnit","label","sprintf","__","UnitControl","settingLabel","min","max","undefined","value","clientId","onUnitChange","onComplete","unit","preview","default","columnWidths","selectedColumnIndex","length","onChangeColumnsNum","jsxs","Fragment","InspectorControls","PanelBody","title","RangeControl","icon","columns","type","FooterMessageControl","BlockControls","BlockVerticalAlignmentToolbar","innerBlocksSelected","orientation","horizontal","contentResizeMode","blockWidth","contentStyle","parentWidth","calculateContainerWidth","ColumnsEditContainerWrapper","withDispatch","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","blockEditorStore","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","hasExplicitPercentColumnWidths","isAddingColumn","newColumnWidth","toWidthPrecision","widths","getRedistributedColumnWidths","getMappedColumnWidths","Array","from","createBlock","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","memo","ColumnsEdit","props","isDefaultColumns","hasParents","parentBlockAlignment","useSelect","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose","BlockVariationPicker","variations","_default","exports"],"sources":["@wordpress/block-library/src/columns/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSettings,\n\tstore as blockEditorStore,\n\tuseGlobalStyles,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\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 * 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 = useGlobalStyles();\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\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\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\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...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\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...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\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\tinnerBlocks,\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\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\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,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\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 innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.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[ innerBlocks ]\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={ innerWidths }\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_i18n","_components","_blockEditor","_data","_element","_compose","_blocks","_icons","_variations","_interopRequireDefault","_editor","_utils","_columnCalculations","_columnPreview","_jsxRuntime","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","alignmentHelpers","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","useResizeObserver","columnsInRow","setColumnsInRow","useState","screenWidth","Math","floor","Dimensions","get","width","globalStyles","useGlobalStyles","verticalAlignment","align","availableUnits","useSettings","units","useCustomUnits","useEffect","newColumnCount","getColumnsInRow","renderAppender","jsx","View","style","styles","columnAppender","children","InnerBlocks","ButtonBlockAppender","onAddBlock","contentWidths","useMemo","getContentWidths","useCallback","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","getWidthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","getWidths","onChange","isPercentageUnit","getColumnsSliders","map","column","getValueAndUnit","label","sprintf","__","UnitControl","settingLabel","min","max","undefined","value","clientId","onUnitChange","onComplete","unit","preview","default","columnWidths","selectedColumnIndex","length","onChangeColumnsNum","jsxs","Fragment","InspectorControls","PanelBody","title","RangeControl","icon","columns","type","FooterMessageControl","BlockControls","BlockVerticalAlignmentToolbar","innerBlocksSelected","orientation","horizontal","contentResizeMode","blockWidth","contentStyle","parentWidth","calculateContainerWidth","ColumnsEditContainerWrapper","withDispatch","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","blockEditorStore","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","hasExplicitPercentColumnWidths","isAddingColumn","newColumnWidth","toWidthPrecision","widths","getRedistributedColumnWidths","getMappedColumnWidths","Array","from","createBlock","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","memo","ColumnsEdit","props","isDefaultColumns","hasParents","parentBlockAlignment","useSelect","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose","BlockVariationPicker","variations","_default","exports"],"sources":["@wordpress/block-library/src/columns/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSettings,\n\tstore as blockEditorStore,\n\tuseGlobalStyles,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\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 * 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 = useGlobalStyles();\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\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\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 override 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\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...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\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...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\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\tinnerBlocks,\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\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\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,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\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 innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.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[ innerBlocks ]\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={ innerWidths }\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"],"mappings":"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","ignoreList":[]}
@@ -140,7 +140,7 @@ const CommentTemplatePreview = ({
140
140
  };
141
141
 
142
142
  // We have to hide the preview block if the `comment` props points to
143
- // the curently active block!
143
+ // the currently active block!
144
144
 
145
145
  // Or, to put it differently, every preview block is visible unless it is the
146
146
  // currently active block - in this case we render its inner blocks.
@@ -191,7 +191,7 @@ const CommentsList = ({
191
191
  // "placeholder" and that the block is most likely being used in the
192
192
  // site editor. In this case, we have to set the commentId to `null`
193
193
  // because otherwise the (non-existent) comment with a negative ID
194
- // would be reqested from the REST API.
194
+ // would be requested from the REST API.
195
195
  commentId: commentId < 0 ? null : commentId
196
196
  },
197
197
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CommentTemplateInnerBlocks, {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_i18n","_blockEditor","_components","_coreData","_hooks","_jsxRuntime","TEMPLATE","getCommentsPlaceholder","perPage","pageComments","threadComments","threadCommentsDepth","commentsDepth","Math","min","buildChildrenComment","commentsLevel","nextLevel","commentId","children","placeholderComments","push","CommentTemplateInnerBlocks","comment","activeCommentId","setActiveCommentId","firstCommentId","blocks","innerBlocksProps","useInnerBlocksProps","template","jsxs","jsx","MemoizedCommentTemplatePreview","isHidden","length","CommentsList","comments","CommentTemplatePreview","blockPreviewProps","useBlockPreview","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","memo","blockProps","map","index","BlockContextProvider","value","CommentTemplateEdit","clientId","context","postId","useBlockProps","useState","commentOrder","commentsPerPage","useSelect","select","getSettings","blockEditorStore","__experimentalDiscussionSettings","commentQuery","useCommentQueryArgs","topLevelComments","getEntityRecords","coreStore","getBlocks","commentTree","useCommentTree","reverse","Spinner","__"],"sources":["@wordpress/block-library/src/comment-template/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCommentQueryArgs, useCommentTree } from './hooks';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\n/**\n * Function that returns a comment structure that will be rendered with default placehoders.\n *\n * Each comment has a `commentId` property that is always a negative number in\n * case of the placeholders. This is to ensure that the comment does not\n * conflict with the actual (real) comments.\n *\n * @param {Object} settings Discussion Settings.\n * @param {number} [settings.perPage] - Comments per page setting or block attribute.\n * @param {boolean} [settings.pageComments] - Enable break comments into pages setting.\n * @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting.\n * @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments.\n *\n * @typedef {{id: null, children: EmptyComment[]}} EmptyComment\n * @return {EmptyComment[]} \t\tInner blocks of the Comment Template\n */\nconst getCommentsPlaceholder = ( {\n\tperPage,\n\tpageComments,\n\tthreadComments,\n\tthreadCommentsDepth,\n} ) => {\n\t// Limit commentsDepth to 3\n\tconst commentsDepth = ! threadComments\n\t\t? 1\n\t\t: Math.min( threadCommentsDepth, 3 );\n\n\tconst buildChildrenComment = ( commentsLevel ) => {\n\t\t// Render children comments until commentsDepth is reached\n\t\tif ( commentsLevel < commentsDepth ) {\n\t\t\tconst nextLevel = commentsLevel + 1;\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tcommentId: -( commentsLevel + 3 ),\n\t\t\t\t\tchildren: buildChildrenComment( nextLevel ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t};\n\n\t// Add the first comment and its children\n\tconst placeholderComments = [\n\t\t{ commentId: -1, children: buildChildrenComment( 1 ) },\n\t];\n\n\t// Add a second comment unless the break comments setting is active and set to less than 2, and there is one nested comment max\n\tif ( ( ! pageComments || perPage >= 2 ) && commentsDepth < 3 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -2,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// Add a third comment unless the break comments setting is active and set to less than 3, and there aren't nested comments\n\tif ( ( ! pageComments || perPage >= 3 ) && commentsDepth < 2 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -3,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// In case that the value is set but larger than 3 we truncate it to 3.\n\treturn placeholderComments;\n};\n\n/**\n * Component which renders the inner blocks of the Comment Template.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comment] - A comment object.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.firstCommentId] - ID of the first comment in the array.\n * @param {Array} [props.blocks] - Array of blocks returned from\n * getBlocks() in parent .\n * @return {Element} \t\tInner blocks of the Comment Template\n */\nfunction CommentTemplateInnerBlocks( {\n\tcomment,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tfirstCommentId,\n\tblocks,\n} ) {\n\tconst { children, ...innerBlocksProps } = useInnerBlocksProps(\n\t\t{},\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<li { ...innerBlocksProps }>\n\t\t\t{ comment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t? children\n\t\t\t\t: null }\n\n\t\t\t{ /* To avoid flicker when switching active block contexts, a preview\n\t\t\t is ALWAYS rendered and the preview for the active block is hidden.\n\t\t\t This ensures that when switching the active block, the component is not\n\t\t\t mounted again but rather it only toggles the `isHidden` prop.\n\t\t\t The same strategy is used for preventing the flicker in the Post Template\n\t\t\t block. */ }\n\t\t\t<MemoizedCommentTemplatePreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\tcommentId={ comment.commentId }\n\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\tisHidden={\n\t\t\t\t\tcomment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ comment?.children?.length > 0 ? (\n\t\t\t\t<CommentsList\n\t\t\t\t\tcomments={ comment.children }\n\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t/>\n\t\t\t) : null }\n\t\t</li>\n\t);\n}\n\nconst CommentTemplatePreview = ( {\n\tblocks,\n\tcommentId,\n\tsetActiveCommentId,\n\tisHidden,\n} ) => {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveCommentId( commentId );\n\t};\n\n\t// We have to hide the preview block if the `comment` props points to\n\t// the curently active block!\n\n\t// Or, to put it differently, every preview block is visible unless it is the\n\t// currently active block - in this case we render its inner blocks.\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\tstyle={ style }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t/>\n\t);\n};\n\nconst MemoizedCommentTemplatePreview = memo( CommentTemplatePreview );\n\n/**\n * Component that renders a list of (nested) comments. It is called recursively.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comments] - Array of comment objects.\n * @param {Array} [props.blockProps] - Props from parent's `useBlockProps()`.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.blocks] - Array of blocks returned from getBlocks() in parent.\n * @param {Object} [props.firstCommentId] - The ID of the first comment in the array of\n * comment objects.\n * @return {Element} \t\tList of comments.\n */\nconst CommentsList = ( {\n\tcomments,\n\tblockProps,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tblocks,\n\tfirstCommentId,\n} ) => (\n\t<ol { ...blockProps }>\n\t\t{ comments &&\n\t\t\tcomments.map( ( { commentId, ...comment }, index ) => (\n\t\t\t\t<BlockContextProvider\n\t\t\t\t\tkey={ comment.commentId || index }\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t// If the commentId is negative it means that this comment is a\n\t\t\t\t\t\t// \"placeholder\" and that the block is most likely being used in the\n\t\t\t\t\t\t// site editor. In this case, we have to set the commentId to `null`\n\t\t\t\t\t\t// because otherwise the (non-existent) comment with a negative ID\n\t\t\t\t\t\t// would be reqested from the REST API.\n\t\t\t\t\t\tcommentId: commentId < 0 ? null : commentId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<CommentTemplateInnerBlocks\n\t\t\t\t\t\tcomment={ { commentId, ...comment } }\n\t\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t) ) }\n\t</ol>\n);\n\nexport default function CommentTemplateEdit( {\n\tclientId,\n\tcontext: { postId },\n} ) {\n\tconst blockProps = useBlockProps();\n\n\tconst [ activeCommentId, setActiveCommentId ] = useState();\n\tconst {\n\t\tcommentOrder,\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings;\n\t} );\n\n\tconst commentQuery = useCommentQueryArgs( {\n\t\tpostId,\n\t} );\n\n\tconst { topLevelComments, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\t// Request only top-level comments. Replies are embedded.\n\t\t\t\ttopLevelComments: commentQuery\n\t\t\t\t\t? getEntityRecords( 'root', 'comment', commentQuery )\n\t\t\t\t\t: null,\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, commentQuery ]\n\t);\n\n\t// Generate a tree structure of comment IDs.\n\tlet commentTree = useCommentTree(\n\t\t// Reverse the order of top comments if needed.\n\t\tcommentOrder === 'desc' && topLevelComments\n\t\t\t? [ ...topLevelComments ].reverse()\n\t\t\t: topLevelComments\n\t);\n\n\tif ( ! topLevelComments ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! postId ) {\n\t\tcommentTree = getCommentsPlaceholder( {\n\t\t\tperPage: commentsPerPage,\n\t\t\tpageComments,\n\t\t\tthreadComments,\n\t\t\tthreadCommentsDepth,\n\t\t} );\n\t}\n\n\tif ( ! commentTree.length ) {\n\t\treturn <p { ...blockProps }>{ __( 'No results found.' ) }</p>;\n\t}\n\n\treturn (\n\t\t<CommentsList\n\t\t\tcomments={ commentTree }\n\t\t\tblockProps={ blockProps }\n\t\t\tblocks={ blocks }\n\t\t\tactiveCommentId={ activeCommentId }\n\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\tfirstCommentId={ commentTree[ 0 ]?.commentId }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_data","_i18n","_blockEditor","_components","_coreData","_hooks","_jsxRuntime","TEMPLATE","getCommentsPlaceholder","perPage","pageComments","threadComments","threadCommentsDepth","commentsDepth","Math","min","buildChildrenComment","commentsLevel","nextLevel","commentId","children","placeholderComments","push","CommentTemplateInnerBlocks","comment","activeCommentId","setActiveCommentId","firstCommentId","blocks","innerBlocksProps","useInnerBlocksProps","template","jsxs","jsx","MemoizedCommentTemplatePreview","isHidden","length","CommentsList","comments","CommentTemplatePreview","blockPreviewProps","useBlockPreview","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","memo","blockProps","map","index","BlockContextProvider","value","CommentTemplateEdit","clientId","context","postId","useBlockProps","useState","commentOrder","commentsPerPage","useSelect","select","getSettings","blockEditorStore","__experimentalDiscussionSettings","commentQuery","useCommentQueryArgs","topLevelComments","getEntityRecords","coreStore","getBlocks","commentTree","useCommentTree","reverse","Spinner","__"],"sources":["@wordpress/block-library/src/comment-template/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCommentQueryArgs, useCommentTree } from './hooks';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\n/**\n * Function that returns a comment structure that will be rendered with default placehoders.\n *\n * Each comment has a `commentId` property that is always a negative number in\n * case of the placeholders. This is to ensure that the comment does not\n * conflict with the actual (real) comments.\n *\n * @param {Object} settings Discussion Settings.\n * @param {number} [settings.perPage] - Comments per page setting or block attribute.\n * @param {boolean} [settings.pageComments] - Enable break comments into pages setting.\n * @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting.\n * @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments.\n *\n * @typedef {{id: null, children: EmptyComment[]}} EmptyComment\n * @return {EmptyComment[]} \t\tInner blocks of the Comment Template\n */\nconst getCommentsPlaceholder = ( {\n\tperPage,\n\tpageComments,\n\tthreadComments,\n\tthreadCommentsDepth,\n} ) => {\n\t// Limit commentsDepth to 3\n\tconst commentsDepth = ! threadComments\n\t\t? 1\n\t\t: Math.min( threadCommentsDepth, 3 );\n\n\tconst buildChildrenComment = ( commentsLevel ) => {\n\t\t// Render children comments until commentsDepth is reached\n\t\tif ( commentsLevel < commentsDepth ) {\n\t\t\tconst nextLevel = commentsLevel + 1;\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tcommentId: -( commentsLevel + 3 ),\n\t\t\t\t\tchildren: buildChildrenComment( nextLevel ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t};\n\n\t// Add the first comment and its children\n\tconst placeholderComments = [\n\t\t{ commentId: -1, children: buildChildrenComment( 1 ) },\n\t];\n\n\t// Add a second comment unless the break comments setting is active and set to less than 2, and there is one nested comment max\n\tif ( ( ! pageComments || perPage >= 2 ) && commentsDepth < 3 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -2,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// Add a third comment unless the break comments setting is active and set to less than 3, and there aren't nested comments\n\tif ( ( ! pageComments || perPage >= 3 ) && commentsDepth < 2 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -3,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// In case that the value is set but larger than 3 we truncate it to 3.\n\treturn placeholderComments;\n};\n\n/**\n * Component which renders the inner blocks of the Comment Template.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comment] - A comment object.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.firstCommentId] - ID of the first comment in the array.\n * @param {Array} [props.blocks] - Array of blocks returned from\n * getBlocks() in parent .\n * @return {Element} \t\tInner blocks of the Comment Template\n */\nfunction CommentTemplateInnerBlocks( {\n\tcomment,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tfirstCommentId,\n\tblocks,\n} ) {\n\tconst { children, ...innerBlocksProps } = useInnerBlocksProps(\n\t\t{},\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<li { ...innerBlocksProps }>\n\t\t\t{ comment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t? children\n\t\t\t\t: null }\n\n\t\t\t{ /* To avoid flicker when switching active block contexts, a preview\n\t\t\t is ALWAYS rendered and the preview for the active block is hidden.\n\t\t\t This ensures that when switching the active block, the component is not\n\t\t\t mounted again but rather it only toggles the `isHidden` prop.\n\t\t\t The same strategy is used for preventing the flicker in the Post Template\n\t\t\t block. */ }\n\t\t\t<MemoizedCommentTemplatePreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\tcommentId={ comment.commentId }\n\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\tisHidden={\n\t\t\t\t\tcomment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ comment?.children?.length > 0 ? (\n\t\t\t\t<CommentsList\n\t\t\t\t\tcomments={ comment.children }\n\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t/>\n\t\t\t) : null }\n\t\t</li>\n\t);\n}\n\nconst CommentTemplatePreview = ( {\n\tblocks,\n\tcommentId,\n\tsetActiveCommentId,\n\tisHidden,\n} ) => {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveCommentId( commentId );\n\t};\n\n\t// We have to hide the preview block if the `comment` props points to\n\t// the currently active block!\n\n\t// Or, to put it differently, every preview block is visible unless it is the\n\t// currently active block - in this case we render its inner blocks.\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\tstyle={ style }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t/>\n\t);\n};\n\nconst MemoizedCommentTemplatePreview = memo( CommentTemplatePreview );\n\n/**\n * Component that renders a list of (nested) comments. It is called recursively.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comments] - Array of comment objects.\n * @param {Array} [props.blockProps] - Props from parent's `useBlockProps()`.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.blocks] - Array of blocks returned from getBlocks() in parent.\n * @param {Object} [props.firstCommentId] - The ID of the first comment in the array of\n * comment objects.\n * @return {Element} \t\tList of comments.\n */\nconst CommentsList = ( {\n\tcomments,\n\tblockProps,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tblocks,\n\tfirstCommentId,\n} ) => (\n\t<ol { ...blockProps }>\n\t\t{ comments &&\n\t\t\tcomments.map( ( { commentId, ...comment }, index ) => (\n\t\t\t\t<BlockContextProvider\n\t\t\t\t\tkey={ comment.commentId || index }\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t// If the commentId is negative it means that this comment is a\n\t\t\t\t\t\t// \"placeholder\" and that the block is most likely being used in the\n\t\t\t\t\t\t// site editor. In this case, we have to set the commentId to `null`\n\t\t\t\t\t\t// because otherwise the (non-existent) comment with a negative ID\n\t\t\t\t\t\t// would be requested from the REST API.\n\t\t\t\t\t\tcommentId: commentId < 0 ? null : commentId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<CommentTemplateInnerBlocks\n\t\t\t\t\t\tcomment={ { commentId, ...comment } }\n\t\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t) ) }\n\t</ol>\n);\n\nexport default function CommentTemplateEdit( {\n\tclientId,\n\tcontext: { postId },\n} ) {\n\tconst blockProps = useBlockProps();\n\n\tconst [ activeCommentId, setActiveCommentId ] = useState();\n\tconst {\n\t\tcommentOrder,\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings;\n\t} );\n\n\tconst commentQuery = useCommentQueryArgs( {\n\t\tpostId,\n\t} );\n\n\tconst { topLevelComments, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\t// Request only top-level comments. Replies are embedded.\n\t\t\t\ttopLevelComments: commentQuery\n\t\t\t\t\t? getEntityRecords( 'root', 'comment', commentQuery )\n\t\t\t\t\t: null,\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, commentQuery ]\n\t);\n\n\t// Generate a tree structure of comment IDs.\n\tlet commentTree = useCommentTree(\n\t\t// Reverse the order of top comments if needed.\n\t\tcommentOrder === 'desc' && topLevelComments\n\t\t\t? [ ...topLevelComments ].reverse()\n\t\t\t: topLevelComments\n\t);\n\n\tif ( ! topLevelComments ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! postId ) {\n\t\tcommentTree = getCommentsPlaceholder( {\n\t\t\tperPage: commentsPerPage,\n\t\t\tpageComments,\n\t\t\tthreadComments,\n\t\t\tthreadCommentsDepth,\n\t\t} );\n\t}\n\n\tif ( ! commentTree.length ) {\n\t\treturn <p { ...blockProps }>{ __( 'No results found.' ) }</p>;\n\t}\n\n\treturn (\n\t\t<CommentsList\n\t\t\tcomments={ commentTree }\n\t\t\tblockProps={ blockProps }\n\t\t\tblocks={ blocks }\n\t\t\tactiveCommentId={ activeCommentId }\n\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\tfirstCommentId={ commentTree[ 0 ]?.commentId }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.settings = exports.name = exports.metadata = exports.init = void 0;
8
+ var _i18n = require("@wordpress/i18n");
8
9
  var _icons = require("@wordpress/icons");
9
10
  var _initBlock = _interopRequireDefault(require("../utils/init-block"));
10
11
  var _edit = _interopRequireDefault(require("./edit"));
@@ -28,11 +29,6 @@ const metadata = exports.metadata = {
28
29
  type: "string"
29
30
  }
30
31
  },
31
- example: {
32
- attributes: {
33
- label: "Comments Next Page"
34
- }
35
- },
36
32
  usesContext: ["postId", "comments/paginationArrow"],
37
33
  supports: {
38
34
  reusable: false,
@@ -68,7 +64,12 @@ const {
68
64
  exports.name = name;
69
65
  const settings = exports.settings = {
70
66
  icon: _icons.queryPaginationNext,
71
- edit: _edit.default
67
+ edit: _edit.default,
68
+ example: {
69
+ attributes: {
70
+ label: (0, _i18n.__)('Newer Comments')
71
+ }
72
+ }
72
73
  };
73
74
  const init = () => (0, _initBlock.default)({
74
75
  name,
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","label","type","example","usesContext","supports","reusable","html","color","gradients","text","__experimentalDefaultControls","background","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","settings","icon","edit","init","initBlock"],"sources":["@wordpress/block-library/src/comments-pagination-next/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { queryPaginationNext as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;IAAA;EAAA;EAAAC,OAAA;IAAAH,UAAA;MAAAC,KAAA;IAAA;EAAA;EAAAG,WAAA;EAAAC,QAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAV,6BAAA;QAAAG,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;AAAA;AAOA,MAAM;EAAE7B;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAM8B,QAAQ,GAAAjC,OAAA,CAAAiC,QAAA,GAAG;EACvBC,IAAI,EAAJA,0BAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAElC,IAAI;EAAEJ,QAAQ;EAAEkC;AAAS,CAAE,CAAC;AAACjC,OAAA,CAAAoC,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","label","type","usesContext","supports","reusable","html","color","gradients","text","__experimentalDefaultControls","background","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","settings","icon","edit","example","__","init","initBlock"],"sources":["@wordpress/block-library/src/comments-pagination-next/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { queryPaginationNext as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: __( 'Newer Comments' ),\n\t\t},\n\t},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,KAAA,GAAAD,sBAAA,CAAAH,OAAA;AAXA;AACA;AACA;AAIA;AACA;AACA;AAFA,MAAAK,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,QAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAV,6BAAA;QAAAG,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;AAAA;AAOA,MAAM;EAAE5B;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAM6B,QAAQ,GAAAhC,OAAA,CAAAgC,QAAA,GAAG;EACvBC,IAAI,EAAJA,0BAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,OAAO,EAAE;IACR1B,UAAU,EAAE;MACXC,KAAK,EAAE,IAAA0B,QAAE,EAAE,gBAAiB;IAC7B;EACD;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEnC,IAAI;EAAEJ,QAAQ;EAAEiC;AAAS,CAAE,CAAC;AAAChC,OAAA,CAAAqC,IAAA,GAAAA,IAAA","ignoreList":[]}