@wordpress/block-library 9.24.0 → 9.25.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 (202) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +29 -17
  3. package/build/button/edit.js.map +1 -1
  4. package/build/columns/edit.js +18 -22
  5. package/build/columns/edit.js.map +1 -1
  6. package/build/comment-author-name/edit.js +41 -12
  7. package/build/comment-author-name/edit.js.map +1 -1
  8. package/build/comment-date/edit.js +41 -12
  9. package/build/comment-date/edit.js.map +1 -1
  10. package/build/comment-edit-link/edit.js +27 -7
  11. package/build/comment-edit-link/edit.js.map +1 -1
  12. package/build/comments/edit/comments-inspector-controls.js +1 -3
  13. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  14. package/build/comments-pagination/edit.js +23 -9
  15. package/build/comments-pagination/edit.js.map +1 -1
  16. package/build/comments-title/edit.js +41 -12
  17. package/build/comments-title/edit.js.map +1 -1
  18. package/build/details/edit.js +27 -3
  19. package/build/details/edit.js.map +1 -1
  20. package/build/embed/edit.js +2 -4
  21. package/build/embed/edit.js.map +1 -1
  22. package/build/embed/embed-controls.js +41 -22
  23. package/build/embed/embed-controls.js.map +1 -1
  24. package/build/file/inspector.js +73 -30
  25. package/build/file/inspector.js.map +1 -1
  26. package/build/form/edit.js +67 -37
  27. package/build/form/edit.js.map +1 -1
  28. package/build/form-input/edit.js +47 -18
  29. package/build/form-input/edit.js.map +1 -1
  30. package/build/latest-posts/edit.js +154 -82
  31. package/build/latest-posts/edit.js.map +1 -1
  32. package/build/list/ordered-list-settings.js +131 -52
  33. package/build/list/ordered-list-settings.js.map +1 -1
  34. package/build/navigation/edit/index.js +93 -51
  35. package/build/navigation/edit/index.js.map +1 -1
  36. package/build/navigation/edit/overlay-menu-preview.js +43 -27
  37. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  38. package/build/navigation-link/index.js +3 -0
  39. package/build/navigation-link/index.js.map +1 -1
  40. package/build/navigation-link/transforms.js +2 -0
  41. package/build/navigation-link/transforms.js.map +1 -1
  42. package/build/navigation-link/update-attributes.js +1 -0
  43. package/build/navigation-link/update-attributes.js.map +1 -1
  44. package/build/navigation-submenu/index.js +3 -0
  45. package/build/navigation-submenu/index.js.map +1 -1
  46. package/build/post-comments-count/index.js +3 -1
  47. package/build/post-comments-count/index.js.map +1 -1
  48. package/build/post-comments-count/transforms.js +26 -0
  49. package/build/post-comments-count/transforms.js.map +1 -0
  50. package/build/post-comments-link/index.js +3 -1
  51. package/build/post-comments-link/index.js.map +1 -1
  52. package/build/post-comments-link/transforms.js +26 -0
  53. package/build/post-comments-link/transforms.js.map +1 -0
  54. package/build/post-title/edit.js +56 -18
  55. package/build/post-title/edit.js.map +1 -1
  56. package/build/query/edit/enhanced-pagination-modal.js +1 -1
  57. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  58. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
  59. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  60. package/build/rss/edit.js +120 -46
  61. package/build/rss/edit.js.map +1 -1
  62. package/build/separator/edit.js +52 -20
  63. package/build/separator/edit.js.map +1 -1
  64. package/build/shortcode/index.js +2 -1
  65. package/build/shortcode/index.js.map +1 -1
  66. package/build/social-link/variations.js +53 -48
  67. package/build/social-link/variations.js.map +1 -1
  68. package/build/social-links/edit.js +35 -45
  69. package/build/social-links/edit.js.map +1 -1
  70. package/build/video/tracks-editor.js +40 -12
  71. package/build/video/tracks-editor.js.map +1 -1
  72. package/build-module/button/edit.js +30 -18
  73. package/build-module/button/edit.js.map +1 -1
  74. package/build-module/columns/edit.js +18 -22
  75. package/build-module/columns/edit.js.map +1 -1
  76. package/build-module/comment-author-name/edit.js +42 -13
  77. package/build-module/comment-author-name/edit.js.map +1 -1
  78. package/build-module/comment-date/edit.js +42 -13
  79. package/build-module/comment-date/edit.js.map +1 -1
  80. package/build-module/comment-edit-link/edit.js +28 -8
  81. package/build-module/comment-edit-link/edit.js.map +1 -1
  82. package/build-module/comments/edit/comments-inspector-controls.js +1 -3
  83. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  84. package/build-module/comments-pagination/edit.js +24 -10
  85. package/build-module/comments-pagination/edit.js.map +1 -1
  86. package/build-module/comments-title/edit.js +42 -13
  87. package/build-module/comments-title/edit.js.map +1 -1
  88. package/build-module/details/edit.js +29 -5
  89. package/build-module/details/edit.js.map +1 -1
  90. package/build-module/embed/edit.js +2 -4
  91. package/build-module/embed/edit.js.map +1 -1
  92. package/build-module/embed/embed-controls.js +42 -23
  93. package/build-module/embed/embed-controls.js.map +1 -1
  94. package/build-module/file/inspector.js +74 -31
  95. package/build-module/file/inspector.js.map +1 -1
  96. package/build-module/form/edit.js +68 -38
  97. package/build-module/form/edit.js.map +1 -1
  98. package/build-module/form-input/edit.js +48 -19
  99. package/build-module/form-input/edit.js.map +1 -1
  100. package/build-module/latest-posts/edit.js +155 -83
  101. package/build-module/latest-posts/edit.js.map +1 -1
  102. package/build-module/list/ordered-list-settings.js +132 -53
  103. package/build-module/list/ordered-list-settings.js.map +1 -1
  104. package/build-module/navigation/edit/index.js +94 -52
  105. package/build-module/navigation/edit/index.js.map +1 -1
  106. package/build-module/navigation/edit/overlay-menu-preview.js +44 -28
  107. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  108. package/build-module/navigation-link/index.js +3 -0
  109. package/build-module/navigation-link/index.js.map +1 -1
  110. package/build-module/navigation-link/transforms.js +2 -0
  111. package/build-module/navigation-link/transforms.js.map +1 -1
  112. package/build-module/navigation-link/update-attributes.js +1 -0
  113. package/build-module/navigation-link/update-attributes.js.map +1 -1
  114. package/build-module/navigation-submenu/index.js +3 -0
  115. package/build-module/navigation-submenu/index.js.map +1 -1
  116. package/build-module/post-comments-count/index.js +3 -1
  117. package/build-module/post-comments-count/index.js.map +1 -1
  118. package/build-module/post-comments-count/transforms.js +19 -0
  119. package/build-module/post-comments-count/transforms.js.map +1 -0
  120. package/build-module/post-comments-link/index.js +3 -1
  121. package/build-module/post-comments-link/index.js.map +1 -1
  122. package/build-module/post-comments-link/transforms.js +19 -0
  123. package/build-module/post-comments-link/transforms.js.map +1 -0
  124. package/build-module/post-title/edit.js +57 -19
  125. package/build-module/post-title/edit.js.map +1 -1
  126. package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
  127. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  128. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
  129. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  130. package/build-module/rss/edit.js +121 -47
  131. package/build-module/rss/edit.js.map +1 -1
  132. package/build-module/separator/edit.js +54 -22
  133. package/build-module/separator/edit.js.map +1 -1
  134. package/build-module/shortcode/index.js +2 -1
  135. package/build-module/shortcode/index.js.map +1 -1
  136. package/build-module/social-link/variations.js +53 -48
  137. package/build-module/social-link/variations.js.map +1 -1
  138. package/build-module/social-links/edit.js +37 -47
  139. package/build-module/social-links/edit.js.map +1 -1
  140. package/build-module/video/tracks-editor.js +41 -13
  141. package/build-module/video/tracks-editor.js.map +1 -1
  142. package/build-style/editor-rtl.css +9 -4
  143. package/build-style/editor.css +9 -4
  144. package/build-style/gallery/style-rtl.css +1 -0
  145. package/build-style/gallery/style.css +1 -0
  146. package/build-style/navigation/editor-rtl.css +8 -3
  147. package/build-style/navigation/editor.css +8 -3
  148. package/build-style/pullquote/editor-rtl.css +1 -1
  149. package/build-style/pullquote/editor.css +1 -1
  150. package/build-style/pullquote/style-rtl.css +2 -3
  151. package/build-style/pullquote/style.css +2 -3
  152. package/build-style/pullquote/theme-rtl.css +2 -2
  153. package/build-style/pullquote/theme.css +2 -2
  154. package/build-style/style-rtl.css +3 -3
  155. package/build-style/style.css +3 -3
  156. package/build-style/theme-rtl.css +2 -2
  157. package/build-style/theme.css +2 -2
  158. package/package.json +35 -35
  159. package/src/button/edit.js +44 -29
  160. package/src/columns/edit.js +20 -31
  161. package/src/comment-author-name/edit.js +54 -13
  162. package/src/comment-date/edit.js +50 -15
  163. package/src/comment-edit-link/edit.js +39 -11
  164. package/src/comments/edit/comments-inspector-controls.js +0 -2
  165. package/src/comments-pagination/edit.js +29 -9
  166. package/src/comments-title/edit.js +53 -15
  167. package/src/details/edit.js +36 -4
  168. package/src/embed/edit.js +3 -5
  169. package/src/embed/embed-controls.js +55 -33
  170. package/src/file/inspector.js +99 -45
  171. package/src/form/edit.js +91 -46
  172. package/src/form-input/edit.js +56 -18
  173. package/src/gallery/style.scss +1 -0
  174. package/src/latest-posts/edit.js +206 -98
  175. package/src/list/ordered-list-settings.js +172 -62
  176. package/src/navigation/edit/index.js +127 -64
  177. package/src/navigation/edit/overlay-menu-preview.js +43 -26
  178. package/src/navigation/editor.scss +8 -4
  179. package/src/navigation-link/block.json +3 -0
  180. package/src/navigation-link/index.php +4 -0
  181. package/src/navigation-link/transforms.js +2 -1
  182. package/src/navigation-link/update-attributes.js +1 -0
  183. package/src/navigation-submenu/block.json +3 -0
  184. package/src/navigation-submenu/index.php +4 -0
  185. package/src/post-comments-count/index.js +2 -0
  186. package/src/post-comments-count/transforms.js +20 -0
  187. package/src/post-comments-link/index.js +2 -0
  188. package/src/post-comments-link/transforms.js +20 -0
  189. package/src/post-title/edit.js +76 -24
  190. package/src/pullquote/editor.scss +1 -1
  191. package/src/pullquote/style.scss +2 -3
  192. package/src/pullquote/theme.scss +2 -2
  193. package/src/query/edit/enhanced-pagination-modal.js +1 -5
  194. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -13
  195. package/src/rss/edit.js +141 -55
  196. package/src/separator/edit.js +66 -21
  197. package/src/shortcode/block.json +2 -1
  198. package/src/site-title/index.php +1 -1
  199. package/src/social-link/index.php +49 -49
  200. package/src/social-link/variations.js +53 -48
  201. package/src/social-links/edit.js +39 -60
  202. package/src/video/tracks-editor.js +57 -16
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.25.0 (2025-06-04)
6
+
5
7
  ## 9.24.0 (2025-05-22)
6
8
 
7
9
  ## 9.23.0 (2025-05-07)
@@ -10,6 +10,7 @@ var _constants = require("./constants");
10
10
  var _getUpdatedLinkAttributes = require("./get-updated-link-attributes");
11
11
  var _removeAnchorTag = _interopRequireDefault(require("../utils/remove-anchor-tag"));
12
12
  var _hooks = require("../utils/hooks");
13
+ var _lockUnlock = require("../lock-unlock");
13
14
  var _i18n = require("@wordpress/i18n");
14
15
  var _element = require("@wordpress/element");
15
16
  var _components = require("@wordpress/components");
@@ -32,6 +33,9 @@ var _jsxRuntime = require("react/jsx-runtime");
32
33
  * WordPress dependencies
33
34
  */
34
35
 
36
+ const {
37
+ HTMLElementControl
38
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
35
39
  const LINK_SETTINGS = [..._blockEditor.LinkControl.DEFAULT_LINK_SETTINGS, {
36
40
  id: 'nofollow',
37
41
  title: (0, _i18n.__)('Mark as nofollow')
@@ -253,6 +257,8 @@ function ButtonEdit(props) {
253
257
  wideSize: layout?.wideSize
254
258
  }
255
259
  });
260
+ const hasNonContentControls = blockEditingMode === 'default';
261
+ const hasBlockControls = hasNonContentControls || isLinkTag && !lockUrlControls;
256
262
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
257
263
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
258
264
  ...blockProps,
@@ -287,28 +293,22 @@ function ButtonEdit(props) {
287
293
  onMerge: mergeBlocks,
288
294
  identifier: "text"
289
295
  })
290
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.BlockControls, {
296
+ }), hasBlockControls && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.BlockControls, {
291
297
  group: "block",
292
- children: [blockEditingMode === 'default' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.AlignmentControl, {
298
+ children: [hasNonContentControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.AlignmentControl, {
293
299
  value: textAlign,
294
300
  onChange: nextAlign => {
295
301
  setAttributes({
296
302
  textAlign: nextAlign
297
303
  });
298
304
  }
299
- }), !isURLSet && isLinkTag && !lockUrlControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
305
+ }), isLinkTag && !lockUrlControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
300
306
  name: "link",
301
- icon: _icons.link,
302
- title: (0, _i18n.__)('Link'),
303
- shortcut: _keycodes.displayShortcut.primary('k'),
304
- onClick: startEditing
305
- }), isURLSet && isLinkTag && !lockUrlControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
306
- name: "link",
307
- icon: _icons.linkOff,
308
- title: (0, _i18n.__)('Unlink'),
309
- shortcut: _keycodes.displayShortcut.primaryShift('k'),
310
- onClick: unlink,
311
- isActive: true
307
+ icon: !isURLSet ? _icons.link : _icons.linkOff,
308
+ title: !isURLSet ? (0, _i18n.__)('Link') : (0, _i18n.__)('Unlink'),
309
+ shortcut: !isURLSet ? _keycodes.displayShortcut.primary('k') : _keycodes.displayShortcut.primaryShift('k'),
310
+ onClick: !isURLSet ? startEditing : unlink,
311
+ isActive: isURLSet
312
312
  })]
313
313
  }), isLinkTag && isSelected && (isEditingURL || isURLSet) && !lockUrlControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Popover, {
314
314
  placement: "bottom",
@@ -347,9 +347,21 @@ function ButtonEdit(props) {
347
347
  selectedWidth: width,
348
348
  setAttributes: setAttributes
349
349
  })
350
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
350
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.InspectorControls, {
351
351
  group: "advanced",
352
- children: isLinkTag && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
352
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(HTMLElementControl, {
353
+ tagName: tagName,
354
+ onChange: value => setAttributes({
355
+ tagName: value
356
+ }),
357
+ options: [{
358
+ label: (0, _i18n.__)('Default (<a>)'),
359
+ value: 'a'
360
+ }, {
361
+ label: '<button>',
362
+ value: 'button'
363
+ }]
364
+ }), isLinkTag && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
353
365
  __next40pxDefaultSize: true,
354
366
  __nextHasNoMarginBottom: true,
355
367
  label: (0, _i18n.__)('Link rel'),
@@ -357,7 +369,7 @@ function ButtonEdit(props) {
357
369
  onChange: newRel => setAttributes({
358
370
  rel: newRel
359
371
  })
360
- })
372
+ })]
361
373
  })]
362
374
  });
363
375
  }
@@ -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","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","createPageEntity","userCanCreatePages","lockUrlControls","select","_settings","getSettings","blockBindingsSource","getBlockBindingsSource","bindings","source","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","canUserEditValue","args","handleCreate","pageTitle","page","status","type","rendered","link","kind","createButtonText","searchTerm","createInterpolateElement","mark","useEffect","linkValue","useMemo","useEnterRef","mergedRef","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","shortcut","displayShortcut","onClick","linkOff","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","createSuggestion","withCreateSuggestion","createSuggestionButtonText","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 {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tcreateInterpolateElement,\n} 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\tconst {\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tlockUrlControls = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\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\tcreatePageEntity: _settings.__experimentalCreatePageEntity,\n\t\t\t\tuserCanCreatePages: _settings.__experimentalUserCanCreatePages,\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\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await createPageEntity( {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: page.type,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tfunction createButtonText( searchTerm ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Create page: <mark>%s</mark>' ),\n\t\t\t\tsearchTerm\n\t\t\t),\n\t\t\t{ mark: <mark /> }\n\t\t);\n\t}\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 [ 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\tcreateSuggestion={\n\t\t\t\t\t\t\t\tcreatePageEntity && handleCreate\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreatePages }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={ createButtonText }\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","_lockUnlock","_i18n","_element","_components","_blockEditor","_keycodes","_icons","_blocks","_compose","_data","_jsxRuntime","HTMLElementControl","unlock","blockEditorPrivateApis","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","createPageEntity","userCanCreatePages","lockUrlControls","select","_settings","getSettings","blockBindingsSource","getBlockBindingsSource","bindings","source","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","canUserEditValue","args","handleCreate","pageTitle","page","status","type","rendered","link","kind","createButtonText","searchTerm","createInterpolateElement","mark","useEffect","linkValue","useMemo","useEnterRef","mergedRef","fluidTypographySettings","layout","useSettings","typographyProps","useTypographyProps","typography","fluid","wideSize","hasNonContentControls","hasBlockControls","jsxs","Fragment","clsx","RichText","removeAnchorTag","withoutInteractiveFormatting","border","radius","fontSize","__experimentalGetElementClassName","writingMode","onMerge","identifier","BlockControls","group","AlignmentControl","nextAlign","ToolbarButton","name","icon","linkOff","shortcut","displayShortcut","onClick","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","createSuggestion","withCreateSuggestion","createSuggestionButtonText","InspectorControls","options","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';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tcreateInterpolateElement,\n} 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\tprivateApis as blockEditorPrivateApis,\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 { HTMLElementControl } = unlock( blockEditorPrivateApis );\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\tconst {\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tlockUrlControls = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\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\tcreatePageEntity: _settings.__experimentalCreatePageEntity,\n\t\t\t\tuserCanCreatePages: _settings.__experimentalUserCanCreatePages,\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\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await createPageEntity( {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: page.type,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tfunction createButtonText( searchTerm ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Create page: <mark>%s</mark>' ),\n\t\t\t\tsearchTerm\n\t\t\t),\n\t\t\t{ mark: <mark /> }\n\t\t);\n\t}\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 [ 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\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst hasBlockControls =\n\t\thasNonContentControls || ( isLinkTag && ! lockUrlControls );\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{ hasBlockControls && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t{ hasNonContentControls && (\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\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\t{ isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ ! isURLSet ? link : linkOff }\n\t\t\t\t\t\t\ttitle={ ! isURLSet ? __( 'Link' ) : __( 'Unlink' ) }\n\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t! isURLSet\n\t\t\t\t\t\t\t\t\t? displayShortcut.primary( 'k' )\n\t\t\t\t\t\t\t\t\t: displayShortcut.primaryShift( 'k' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ ! isURLSet ? startEditing : unlink }\n\t\t\t\t\t\t\tisActive={ isURLSet }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\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\tcreateSuggestion={\n\t\t\t\t\t\t\t\tcreatePageEntity && handleCreate\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreatePages }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={ createButtonText }\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<HTMLElementControl\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<a>)' ), value: 'a' },\n\t\t\t\t\t\t{ label: '<button>', value: 'button' },\n\t\t\t\t\t] }\n\t\t\t\t/>\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":[]}
@@ -117,33 +117,29 @@ function ColumnInspectorControls({
117
117
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
118
118
  label: (0, _i18n.__)('Settings'),
119
119
  resetAll: () => {
120
- updateColumns(count, minCount);
121
120
  setAttributes({
122
121
  isStackedOnMobile: true
123
122
  });
124
123
  },
125
124
  dropdownMenuProps: dropdownMenuProps,
126
- children: [canInsertColumnBlock && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
127
- label: (0, _i18n.__)('Columns'),
128
- isShownByDefault: true,
129
- hasValue: () => count,
130
- onDeselect: () => updateColumns(count, minCount),
131
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
132
- spacing: 4,
133
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
134
- __nextHasNoMarginBottom: true,
135
- __next40pxDefaultSize: true,
136
- label: (0, _i18n.__)('Columns'),
137
- value: count,
138
- onChange: value => updateColumns(count, Math.max(minCount, value)),
139
- min: Math.max(1, minCount),
140
- max: Math.max(6, count)
141
- }), count > 6 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Notice, {
142
- status: "warning",
143
- isDismissible: false,
144
- children: (0, _i18n.__)('This column count exceeds the recommended amount and may cause visual breakage.')
145
- })]
146
- })
125
+ children: [canInsertColumnBlock && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
126
+ spacing: 4,
127
+ style: {
128
+ gridColumn: '1 / -1'
129
+ },
130
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
131
+ __nextHasNoMarginBottom: true,
132
+ __next40pxDefaultSize: true,
133
+ label: (0, _i18n.__)('Columns'),
134
+ value: count,
135
+ onChange: value => updateColumns(count, Math.max(minCount, value)),
136
+ min: Math.max(1, minCount),
137
+ max: Math.max(6, count)
138
+ }), count > 6 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Notice, {
139
+ status: "warning",
140
+ isDismissible: false,
141
+ children: (0, _i18n.__)('This column count exceeds the recommended amount and may cause visual breakage.')
142
+ })]
147
143
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
148
144
  label: (0, _i18n.__)('Stack on mobile'),
149
145
  isShownByDefault: true,
@@ -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 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":[]}
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","__experimentalVStack","spacing","style","gridColumn","jsx","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","min","Notice","status","isDismissible","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","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\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<VStack spacing={ 4 } style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tupdateColumns( count, Math.max( minCount, value ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t{ __(\n\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) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\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":[]}
@@ -11,6 +11,7 @@ var _data = require("@wordpress/data");
11
11
  var _blockEditor = require("@wordpress/block-editor");
12
12
  var _coreData = require("@wordpress/core-data");
13
13
  var _components = require("@wordpress/components");
14
+ var _hooks = require("../utils/hooks");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  /**
16
17
  * External dependencies
@@ -20,6 +21,10 @@ var _jsxRuntime = require("react/jsx-runtime");
20
21
  * WordPress dependencies
21
22
  */
22
23
 
24
+ /**
25
+ * Internal dependencies
26
+ */
27
+
23
28
  /**
24
29
  * Renders the `core/comment-author-name` block on the editor.
25
30
  *
@@ -44,6 +49,7 @@ var _jsxRuntime = require("react/jsx-runtime");
44
49
  },
45
50
  setAttributes
46
51
  }) {
52
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
47
53
  const blockProps = (0, _blockEditor.useBlockProps)({
48
54
  className: (0, _clsx.default)({
49
55
  [`has-text-align-${textAlign}`]: textAlign
@@ -73,22 +79,45 @@ var _jsxRuntime = require("react/jsx-runtime");
73
79
  })
74
80
  });
75
81
  const inspectorControls = /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
76
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
77
- title: (0, _i18n.__)('Settings'),
78
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
79
- __nextHasNoMarginBottom: true,
82
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
83
+ label: (0, _i18n.__)('Settings'),
84
+ resetAll: () => {
85
+ setAttributes({
86
+ isLink: true,
87
+ linkTarget: '_self'
88
+ });
89
+ },
90
+ dropdownMenuProps: dropdownMenuProps,
91
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
80
92
  label: (0, _i18n.__)('Link to authors URL'),
81
- onChange: () => setAttributes({
82
- isLink: !isLink
93
+ isShownByDefault: true,
94
+ hasValue: () => !isLink,
95
+ onDeselect: () => setAttributes({
96
+ isLink: true
83
97
  }),
84
- checked: isLink
85
- }), isLink && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
86
- __nextHasNoMarginBottom: true,
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
99
+ __nextHasNoMarginBottom: true,
100
+ label: (0, _i18n.__)('Link to authors URL'),
101
+ onChange: () => setAttributes({
102
+ isLink: !isLink
103
+ }),
104
+ checked: isLink
105
+ })
106
+ }), isLink && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
87
107
  label: (0, _i18n.__)('Open in new tab'),
88
- onChange: value => setAttributes({
89
- linkTarget: value ? '_blank' : '_self'
108
+ isShownByDefault: true,
109
+ hasValue: () => linkTarget !== '_self',
110
+ onDeselect: () => setAttributes({
111
+ linkTarget: '_self'
90
112
  }),
91
- checked: linkTarget === '_blank'
113
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
114
+ __nextHasNoMarginBottom: true,
115
+ label: (0, _i18n.__)('Open in new tab'),
116
+ onChange: value => setAttributes({
117
+ linkTarget: value ? '_blank' : '_self'
118
+ }),
119
+ checked: linkTarget === '_blank'
120
+ })
92
121
  })]
93
122
  })
94
123
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_blockEditor","_coreData","_components","_jsxRuntime","Edit","attributes","isLink","linkTarget","textAlign","context","commentId","setAttributes","blockProps","useBlockProps","className","clsx","displayName","useSelect","select","getEntityRecord","coreStore","comment","authorName","author_name","_user$name","user","author","name","__","blockControls","jsx","BlockControls","group","children","AlignmentControl","value","onChange","newAlign","inspectorControls","InspectorControls","jsxs","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","checked","_x","displayAuthor","href","onClick","event","preventDefault","Fragment"],"sources":["@wordpress/block-library/src/comment-author-name/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\n\n/**\n * Renders the `core/comment-author-name` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {string} props.attributes.linkTarget Target of the link.\n * @param {string} props.attributes.textAlign Text alignment.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { isLink, linkTarget, textAlign },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tlet displayName = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\n\t\t\tconst comment = getEntityRecord( 'root', 'comment', commentId );\n\t\t\tconst authorName = comment?.author_name; // eslint-disable-line camelcase\n\n\t\t\tif ( comment && ! authorName ) {\n\t\t\t\tconst user = getEntityRecord( 'root', 'user', comment.author );\n\t\t\t\treturn user?.name ?? __( 'Anonymous' );\n\t\t\t}\n\t\t\treturn authorName ?? '';\n\t\t},\n\t\t[ commentId ]\n\t);\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link to authors URL' ) }\n\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\tchecked={ isLink }\n\t\t\t\t/>\n\t\t\t\t{ isLink && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! displayName ) {\n\t\tdisplayName = _x( 'Comment Author', 'block title' );\n\t}\n\n\tconst displayAuthor = isLink ? (\n\t\t<a\n\t\t\thref=\"#comment-author-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t>\n\t\t\t{ displayName }\n\t\t</a>\n\t) : (\n\t\tdisplayName\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t{ blockControls }\n\t\t\t<div { ...blockProps }>{ displayAuthor }</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_blockEditor","_coreData","_components","_hooks","_jsxRuntime","Edit","attributes","isLink","linkTarget","textAlign","context","commentId","setAttributes","dropdownMenuProps","useToolsPanelDropdownMenuProps","blockProps","useBlockProps","className","clsx","displayName","useSelect","select","getEntityRecord","coreStore","comment","authorName","author_name","_user$name","user","author","name","__","blockControls","jsx","BlockControls","group","children","AlignmentControl","value","onChange","newAlign","inspectorControls","InspectorControls","jsxs","__experimentalToolsPanel","label","resetAll","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","ToggleControl","__nextHasNoMarginBottom","checked","_x","displayAuthor","href","onClick","event","preventDefault","Fragment"],"sources":["@wordpress/block-library/src/comment-author-name/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Renders the `core/comment-author-name` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {string} props.attributes.linkTarget Target of the link.\n * @param {string} props.attributes.textAlign Text alignment.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { isLink, linkTarget, textAlign },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tlet displayName = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\n\t\t\tconst comment = getEntityRecord( 'root', 'comment', commentId );\n\t\t\tconst authorName = comment?.author_name; // eslint-disable-line camelcase\n\n\t\t\tif ( comment && ! authorName ) {\n\t\t\t\tconst user = getEntityRecord( 'root', 'user', comment.author );\n\t\t\t\treturn user?.name ?? __( 'Anonymous' );\n\t\t\t}\n\t\t\treturn authorName ?? '';\n\t\t},\n\t\t[ commentId ]\n\t);\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Link to authors URL' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to authors URL' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ isLink && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: '_self',\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\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! displayName ) {\n\t\tdisplayName = _x( 'Comment Author', 'block title' );\n\t}\n\n\tconst displayAuthor = isLink ? (\n\t\t<a\n\t\t\thref=\"#comment-author-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t>\n\t\t\t{ displayName }\n\t\t</a>\n\t) : (\n\t\tdisplayName\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t{ blockControls }\n\t\t\t<div { ...blockProps }>{ displayAuthor }</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,11 +9,16 @@ var _date = require("@wordpress/date");
9
9
  var _blockEditor = require("@wordpress/block-editor");
10
10
  var _components = require("@wordpress/components");
11
11
  var _i18n = require("@wordpress/i18n");
12
+ var _hooks = require("../utils/hooks");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  /**
14
15
  * WordPress dependencies
15
16
  */
16
17
 
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
17
22
  /**
18
23
  * Renders the `core/comment-date` block on the editor.
19
24
  *
@@ -37,24 +42,48 @@ var _jsxRuntime = require("react/jsx-runtime");
37
42
  setAttributes
38
43
  }) {
39
44
  const blockProps = (0, _blockEditor.useBlockProps)();
45
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
40
46
  let [date] = (0, _coreData.useEntityProp)('root', 'comment', 'date', commentId);
41
47
  const [siteFormat = (0, _date.getSettings)().formats.date] = (0, _coreData.useEntityProp)('root', 'site', 'date_format');
42
48
  const inspectorControls = /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
43
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
44
- title: (0, _i18n.__)('Settings'),
45
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalDateFormatPicker, {
46
- format: format,
47
- defaultFormat: siteFormat,
48
- onChange: nextFormat => setAttributes({
49
- format: nextFormat
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
50
+ label: (0, _i18n.__)('Settings'),
51
+ resetAll: () => {
52
+ setAttributes({
53
+ format: undefined,
54
+ isLink: true
55
+ });
56
+ },
57
+ dropdownMenuProps: dropdownMenuProps,
58
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
59
+ label: (0, _i18n.__)('Date format'),
60
+ hasValue: () => format !== undefined,
61
+ onDeselect: () => setAttributes({
62
+ format: undefined
63
+ }),
64
+ isShownByDefault: true,
65
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalDateFormatPicker, {
66
+ format: format,
67
+ defaultFormat: siteFormat,
68
+ onChange: nextFormat => setAttributes({
69
+ format: nextFormat
70
+ })
50
71
  })
51
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
52
- __nextHasNoMarginBottom: true,
72
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
53
73
  label: (0, _i18n.__)('Link to comment'),
54
- onChange: () => setAttributes({
55
- isLink: !isLink
74
+ hasValue: () => !isLink,
75
+ onDeselect: () => setAttributes({
76
+ isLink: true
56
77
  }),
57
- checked: isLink
78
+ isShownByDefault: true,
79
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
80
+ __nextHasNoMarginBottom: true,
81
+ label: (0, _i18n.__)('Link to comment'),
82
+ onChange: () => setAttributes({
83
+ isLink: !isLink
84
+ }),
85
+ checked: isLink
86
+ })
58
87
  })]
59
88
  })
60
89
  });