@wordpress/block-library 9.24.0 → 9.26.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 (300) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/avatar/edit.js +84 -39
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/avatar/user-control.js +32 -17
  5. package/build/avatar/user-control.js.map +1 -1
  6. package/build/button/edit.js +29 -17
  7. package/build/button/edit.js.map +1 -1
  8. package/build/columns/edit.js +18 -22
  9. package/build/columns/edit.js.map +1 -1
  10. package/build/comment-author-name/edit.js +41 -12
  11. package/build/comment-author-name/edit.js.map +1 -1
  12. package/build/comment-date/edit.js +41 -12
  13. package/build/comment-date/edit.js.map +1 -1
  14. package/build/comment-edit-link/edit.js +27 -7
  15. package/build/comment-edit-link/edit.js.map +1 -1
  16. package/build/comments/edit/comments-inspector-controls.js +1 -3
  17. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  18. package/build/comments-pagination/edit.js +23 -9
  19. package/build/comments-pagination/edit.js.map +1 -1
  20. package/build/comments-title/edit.js +41 -12
  21. package/build/comments-title/edit.js.map +1 -1
  22. package/build/details/edit.js +27 -3
  23. package/build/details/edit.js.map +1 -1
  24. package/build/embed/edit.js +2 -4
  25. package/build/embed/edit.js.map +1 -1
  26. package/build/embed/embed-controls.js +41 -22
  27. package/build/embed/embed-controls.js.map +1 -1
  28. package/build/embed/variations.js +0 -10
  29. package/build/embed/variations.js.map +1 -1
  30. package/build/file/inspector.js +73 -30
  31. package/build/file/inspector.js.map +1 -1
  32. package/build/form/edit.js +67 -38
  33. package/build/form/edit.js.map +1 -1
  34. package/build/form/index.js +3 -3
  35. package/build/form/index.js.map +1 -1
  36. package/build/form-input/edit.js +47 -18
  37. package/build/form-input/edit.js.map +1 -1
  38. package/build/form-input/index.js +2 -1
  39. package/build/form-input/index.js.map +1 -1
  40. package/build/form-submission-notification/index.js +2 -1
  41. package/build/form-submission-notification/index.js.map +1 -1
  42. package/build/form-submit-button/index.js +2 -1
  43. package/build/form-submit-button/index.js.map +1 -1
  44. package/build/image/image.js +1 -0
  45. package/build/image/image.js.map +1 -1
  46. package/build/image/view.js +0 -3
  47. package/build/image/view.js.map +1 -1
  48. package/build/latest-posts/edit.js +154 -82
  49. package/build/latest-posts/edit.js.map +1 -1
  50. package/build/list/ordered-list-settings.js +131 -52
  51. package/build/list/ordered-list-settings.js.map +1 -1
  52. package/build/navigation/edit/index.js +93 -51
  53. package/build/navigation/edit/index.js.map +1 -1
  54. package/build/navigation/edit/overlay-menu-preview.js +43 -27
  55. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  56. package/build/navigation-link/edit.js +11 -0
  57. package/build/navigation-link/edit.js.map +1 -1
  58. package/build/navigation-link/index.js +3 -0
  59. package/build/navigation-link/index.js.map +1 -1
  60. package/build/navigation-link/transforms.js +2 -0
  61. package/build/navigation-link/transforms.js.map +1 -1
  62. package/build/navigation-link/update-attributes.js +1 -0
  63. package/build/navigation-link/update-attributes.js.map +1 -1
  64. package/build/navigation-submenu/index.js +3 -0
  65. package/build/navigation-submenu/index.js.map +1 -1
  66. package/build/post-author/edit.js +75 -18
  67. package/build/post-author/edit.js.map +1 -1
  68. package/build/post-comments-count/index.js +3 -1
  69. package/build/post-comments-count/index.js.map +1 -1
  70. package/build/post-comments-count/transforms.js +26 -0
  71. package/build/post-comments-count/transforms.js.map +1 -0
  72. package/build/post-comments-link/index.js +3 -1
  73. package/build/post-comments-link/index.js.map +1 -1
  74. package/build/post-comments-link/transforms.js +26 -0
  75. package/build/post-comments-link/transforms.js.map +1 -0
  76. package/build/post-navigation-link/edit.js +72 -33
  77. package/build/post-navigation-link/edit.js.map +1 -1
  78. package/build/post-title/edit.js +56 -18
  79. package/build/post-title/edit.js.map +1 -1
  80. package/build/query/edit/enhanced-pagination-modal.js +1 -1
  81. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  82. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
  83. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  84. package/build/rss/edit.js +120 -46
  85. package/build/rss/edit.js.map +1 -1
  86. package/build/separator/edit.js +52 -20
  87. package/build/separator/edit.js.map +1 -1
  88. package/build/shortcode/index.js +2 -1
  89. package/build/shortcode/index.js.map +1 -1
  90. package/build/site-logo/edit.js +53 -19
  91. package/build/site-logo/edit.js.map +1 -1
  92. package/build/social-link/edit.js +21 -5
  93. package/build/social-link/edit.js.map +1 -1
  94. package/build/social-link/edit.native.js +13 -5
  95. package/build/social-link/edit.native.js.map +1 -1
  96. package/build/social-link/social-list.js +17 -25
  97. package/build/social-link/social-list.js.map +1 -1
  98. package/build/social-link/variations.js +53 -48
  99. package/build/social-link/variations.js.map +1 -1
  100. package/build/social-links/edit.js +38 -45
  101. package/build/social-links/edit.js.map +1 -1
  102. package/build/video/tracks-editor.js +63 -21
  103. package/build/video/tracks-editor.js.map +1 -1
  104. package/build-module/avatar/edit.js +83 -38
  105. package/build-module/avatar/edit.js.map +1 -1
  106. package/build-module/avatar/user-control.js +33 -18
  107. package/build-module/avatar/user-control.js.map +1 -1
  108. package/build-module/button/edit.js +30 -18
  109. package/build-module/button/edit.js.map +1 -1
  110. package/build-module/columns/edit.js +18 -22
  111. package/build-module/columns/edit.js.map +1 -1
  112. package/build-module/comment-author-name/edit.js +42 -13
  113. package/build-module/comment-author-name/edit.js.map +1 -1
  114. package/build-module/comment-date/edit.js +42 -13
  115. package/build-module/comment-date/edit.js.map +1 -1
  116. package/build-module/comment-edit-link/edit.js +28 -8
  117. package/build-module/comment-edit-link/edit.js.map +1 -1
  118. package/build-module/comments/edit/comments-inspector-controls.js +1 -3
  119. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  120. package/build-module/comments-pagination/edit.js +24 -10
  121. package/build-module/comments-pagination/edit.js.map +1 -1
  122. package/build-module/comments-title/edit.js +42 -13
  123. package/build-module/comments-title/edit.js.map +1 -1
  124. package/build-module/details/edit.js +29 -5
  125. package/build-module/details/edit.js.map +1 -1
  126. package/build-module/embed/edit.js +2 -4
  127. package/build-module/embed/edit.js.map +1 -1
  128. package/build-module/embed/embed-controls.js +42 -23
  129. package/build-module/embed/embed-controls.js.map +1 -1
  130. package/build-module/embed/variations.js +0 -10
  131. package/build-module/embed/variations.js.map +1 -1
  132. package/build-module/file/inspector.js +74 -31
  133. package/build-module/file/inspector.js.map +1 -1
  134. package/build-module/form/edit.js +68 -39
  135. package/build-module/form/edit.js.map +1 -1
  136. package/build-module/form/index.js +3 -3
  137. package/build-module/form/index.js.map +1 -1
  138. package/build-module/form-input/edit.js +48 -19
  139. package/build-module/form-input/edit.js.map +1 -1
  140. package/build-module/form-input/index.js +2 -1
  141. package/build-module/form-input/index.js.map +1 -1
  142. package/build-module/form-submission-notification/index.js +2 -1
  143. package/build-module/form-submission-notification/index.js.map +1 -1
  144. package/build-module/form-submit-button/index.js +2 -1
  145. package/build-module/form-submit-button/index.js.map +1 -1
  146. package/build-module/image/image.js +1 -0
  147. package/build-module/image/image.js.map +1 -1
  148. package/build-module/image/view.js +0 -3
  149. package/build-module/image/view.js.map +1 -1
  150. package/build-module/latest-posts/edit.js +155 -83
  151. package/build-module/latest-posts/edit.js.map +1 -1
  152. package/build-module/list/ordered-list-settings.js +132 -53
  153. package/build-module/list/ordered-list-settings.js.map +1 -1
  154. package/build-module/navigation/edit/index.js +94 -52
  155. package/build-module/navigation/edit/index.js.map +1 -1
  156. package/build-module/navigation/edit/overlay-menu-preview.js +44 -28
  157. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  158. package/build-module/navigation-link/edit.js +11 -0
  159. package/build-module/navigation-link/edit.js.map +1 -1
  160. package/build-module/navigation-link/index.js +3 -0
  161. package/build-module/navigation-link/index.js.map +1 -1
  162. package/build-module/navigation-link/transforms.js +2 -0
  163. package/build-module/navigation-link/transforms.js.map +1 -1
  164. package/build-module/navigation-link/update-attributes.js +1 -0
  165. package/build-module/navigation-link/update-attributes.js.map +1 -1
  166. package/build-module/navigation-submenu/index.js +3 -0
  167. package/build-module/navigation-submenu/index.js.map +1 -1
  168. package/build-module/post-author/edit.js +76 -19
  169. package/build-module/post-author/edit.js.map +1 -1
  170. package/build-module/post-comments-count/index.js +3 -1
  171. package/build-module/post-comments-count/index.js.map +1 -1
  172. package/build-module/post-comments-count/transforms.js +19 -0
  173. package/build-module/post-comments-count/transforms.js.map +1 -0
  174. package/build-module/post-comments-link/index.js +3 -1
  175. package/build-module/post-comments-link/index.js.map +1 -1
  176. package/build-module/post-comments-link/transforms.js +19 -0
  177. package/build-module/post-comments-link/transforms.js.map +1 -0
  178. package/build-module/post-navigation-link/edit.js +73 -34
  179. package/build-module/post-navigation-link/edit.js.map +1 -1
  180. package/build-module/post-title/edit.js +57 -19
  181. package/build-module/post-title/edit.js.map +1 -1
  182. package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
  183. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  184. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
  185. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  186. package/build-module/rss/edit.js +121 -47
  187. package/build-module/rss/edit.js.map +1 -1
  188. package/build-module/separator/edit.js +54 -22
  189. package/build-module/separator/edit.js.map +1 -1
  190. package/build-module/shortcode/index.js +2 -1
  191. package/build-module/shortcode/index.js.map +1 -1
  192. package/build-module/site-logo/edit.js +54 -20
  193. package/build-module/site-logo/edit.js.map +1 -1
  194. package/build-module/social-link/edit.js +24 -8
  195. package/build-module/social-link/edit.js.map +1 -1
  196. package/build-module/social-link/edit.native.js +15 -6
  197. package/build-module/social-link/edit.native.js.map +1 -1
  198. package/build-module/social-link/social-list.js +16 -21
  199. package/build-module/social-link/social-list.js.map +1 -1
  200. package/build-module/social-link/variations.js +53 -48
  201. package/build-module/social-link/variations.js.map +1 -1
  202. package/build-module/social-links/edit.js +40 -47
  203. package/build-module/social-links/edit.js.map +1 -1
  204. package/build-module/video/tracks-editor.js +65 -23
  205. package/build-module/video/tracks-editor.js.map +1 -1
  206. package/build-style/calendar/style-rtl.css +7 -7
  207. package/build-style/calendar/style.css +7 -7
  208. package/build-style/comments-pagination/editor-rtl.css +0 -12
  209. package/build-style/comments-pagination/editor.css +0 -14
  210. package/build-style/comments-pagination/style-rtl.css +0 -7
  211. package/build-style/comments-pagination/style.css +0 -9
  212. package/build-style/editor-rtl.css +9 -21
  213. package/build-style/editor.css +9 -23
  214. package/build-style/gallery/style-rtl.css +1 -0
  215. package/build-style/gallery/style.css +1 -0
  216. package/build-style/navigation/editor-rtl.css +8 -3
  217. package/build-style/navigation/editor.css +8 -3
  218. package/build-style/navigation/style-rtl.css +4 -0
  219. package/build-style/navigation/style.css +4 -0
  220. package/build-style/pullquote/editor-rtl.css +1 -1
  221. package/build-style/pullquote/editor.css +1 -1
  222. package/build-style/pullquote/style-rtl.css +2 -3
  223. package/build-style/pullquote/style.css +2 -3
  224. package/build-style/pullquote/theme-rtl.css +2 -2
  225. package/build-style/pullquote/theme.css +2 -2
  226. package/build-style/style-rtl.css +14 -17
  227. package/build-style/style.css +14 -19
  228. package/build-style/theme-rtl.css +2 -2
  229. package/build-style/theme.css +2 -2
  230. package/package.json +35 -35
  231. package/src/avatar/edit.js +99 -51
  232. package/src/avatar/user-control.js +34 -29
  233. package/src/button/edit.js +44 -29
  234. package/src/calendar/style.scss +10 -10
  235. package/src/columns/edit.js +20 -31
  236. package/src/comment-author-name/edit.js +54 -13
  237. package/src/comment-date/edit.js +50 -15
  238. package/src/comment-edit-link/edit.js +39 -11
  239. package/src/comments/edit/comments-inspector-controls.js +0 -2
  240. package/src/comments-pagination/edit.js +29 -9
  241. package/src/comments-pagination/editor.scss +0 -15
  242. package/src/comments-pagination/style.scss +0 -8
  243. package/src/comments-title/edit.js +53 -15
  244. package/src/details/edit.js +36 -4
  245. package/src/editor.scss +0 -1
  246. package/src/embed/edit.js +3 -5
  247. package/src/embed/embed-controls.js +55 -33
  248. package/src/embed/variations.js +0 -8
  249. package/src/file/inspector.js +99 -45
  250. package/src/form/block.json +1 -2
  251. package/src/form/edit.js +91 -47
  252. package/src/form/index.js +1 -0
  253. package/src/form-input/edit.js +56 -18
  254. package/src/form-input/index.js +1 -0
  255. package/src/form-submission-notification/index.js +1 -0
  256. package/src/form-submit-button/index.js +1 -0
  257. package/src/gallery/style.scss +1 -0
  258. package/src/image/image.js +1 -0
  259. package/src/image/index.php +4 -1
  260. package/src/image/view.js +0 -3
  261. package/src/latest-posts/edit.js +206 -98
  262. package/src/list/ordered-list-settings.js +172 -62
  263. package/src/navigation/edit/index.js +127 -64
  264. package/src/navigation/edit/overlay-menu-preview.js +43 -26
  265. package/src/navigation/editor.scss +8 -4
  266. package/src/navigation/style.scss +8 -0
  267. package/src/navigation-link/block.json +3 -0
  268. package/src/navigation-link/edit.js +14 -1
  269. package/src/navigation-link/index.php +4 -0
  270. package/src/navigation-link/transforms.js +2 -1
  271. package/src/navigation-link/update-attributes.js +1 -0
  272. package/src/navigation-submenu/block.json +3 -0
  273. package/src/navigation-submenu/index.php +4 -0
  274. package/src/post-author/edit.js +91 -27
  275. package/src/post-comments-count/index.js +2 -0
  276. package/src/post-comments-count/transforms.js +20 -0
  277. package/src/post-comments-link/index.js +2 -0
  278. package/src/post-comments-link/transforms.js +20 -0
  279. package/src/post-navigation-link/edit.js +96 -51
  280. package/src/post-title/edit.js +76 -24
  281. package/src/pullquote/editor.scss +1 -1
  282. package/src/pullquote/style.scss +2 -3
  283. package/src/pullquote/theme.scss +2 -2
  284. package/src/query/edit/enhanced-pagination-modal.js +1 -5
  285. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -13
  286. package/src/rss/edit.js +141 -55
  287. package/src/separator/edit.js +66 -21
  288. package/src/shortcode/block.json +2 -1
  289. package/src/site-logo/edit.js +69 -26
  290. package/src/site-title/index.php +1 -1
  291. package/src/social-link/edit.js +18 -7
  292. package/src/social-link/edit.native.js +10 -4
  293. package/src/social-link/index.php +62 -49
  294. package/src/social-link/social-list.js +15 -20
  295. package/src/social-link/variations.js +53 -48
  296. package/src/social-links/edit.js +38 -60
  297. package/src/video/tracks-editor.js +75 -22
  298. package/build-style/post-author/editor-rtl.css +0 -140
  299. package/build-style/post-author/editor.css +0 -140
  300. package/src/post-author/editor.scss +0 -7
@@ -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
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_date","_blockEditor","_components","_i18n","_jsxRuntime","Edit","attributes","format","isLink","context","commentId","setAttributes","blockProps","useBlockProps","date","useEntityProp","siteFormat","getDateSettings","formats","inspectorControls","jsx","InspectorControls","children","jsxs","PanelBody","title","__","__experimentalDateFormatPicker","defaultFormat","onChange","nextFormat","ToggleControl","__nextHasNoMarginBottom","label","checked","_x","commentDate","Date","dateTime","dateI18n","humanTimeDiff","href","onClick","event","preventDefault","Fragment"],"sources":["@wordpress/block-library/src/comment-date/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Renders the `core/comment-date` 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.format Format of the date.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\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: { format, isLink },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tlet [ date ] = useEntityProp( 'root', 'comment', 'date', commentId );\n\tconst [ siteFormat = getDateSettings().formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<DateFormatPicker\n\t\t\t\t\tformat={ format }\n\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link to comment' ) }\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</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! date ) {\n\t\tdate = _x( 'Comment Date', 'block title' );\n\t}\n\n\tlet commentDate =\n\t\tdate instanceof Date ? (\n\t\t\t<time dateTime={ dateI18n( 'c', date ) }>\n\t\t\t\t{ format === 'human-diff'\n\t\t\t\t\t? humanTimeDiff( date )\n\t\t\t\t\t: dateI18n( format || siteFormat, date ) }\n\t\t\t</time>\n\t\t) : (\n\t\t\t<time>{ date }</time>\n\t\t);\n\n\tif ( isLink ) {\n\t\tcommentDate = (\n\t\t\t<a\n\t\t\t\thref=\"#comment-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ commentDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>{ commentDate }</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_coreData","require","_date","_blockEditor","_components","_i18n","_hooks","_jsxRuntime","Edit","attributes","format","isLink","context","commentId","setAttributes","blockProps","useBlockProps","dropdownMenuProps","useToolsPanelDropdownMenuProps","date","useEntityProp","siteFormat","getDateSettings","formats","inspectorControls","jsx","InspectorControls","children","jsxs","__experimentalToolsPanel","label","__","resetAll","undefined","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalDateFormatPicker","defaultFormat","onChange","nextFormat","ToggleControl","__nextHasNoMarginBottom","checked","_x","commentDate","Date","dateTime","dateI18n","humanTimeDiff","href","onClick","event","preventDefault","Fragment"],"sources":["@wordpress/block-library/src/comment-date/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Renders the `core/comment-date` 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.format Format of the date.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\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: { format, isLink },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tlet [ date ] = useEntityProp( 'root', 'comment', 'date', commentId );\n\tconst [ siteFormat = getDateSettings().formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\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\tformat: undefined,\n\t\t\t\t\t\tisLink: true,\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={ __( 'Date format' ) }\n\t\t\t\t\thasValue={ () => format !== undefined }\n\t\t\t\t\tonDeselect={ () => setAttributes( { format: undefined } ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Link to comment' ) }\n\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\tisShownByDefault\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 comment' ) }\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</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! date ) {\n\t\tdate = _x( 'Comment Date', 'block title' );\n\t}\n\n\tlet commentDate =\n\t\tdate instanceof Date ? (\n\t\t\t<time dateTime={ dateI18n( 'c', date ) }>\n\t\t\t\t{ format === 'human-diff'\n\t\t\t\t\t? humanTimeDiff( date )\n\t\t\t\t\t: dateI18n( format || siteFormat, date ) }\n\t\t\t</time>\n\t\t) : (\n\t\t\t<time>{ date }</time>\n\t\t);\n\n\tif ( isLink ) {\n\t\tcommentDate = (\n\t\t\t<a\n\t\t\t\thref=\"#comment-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ commentDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>{ commentDate }</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
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
  * External dependencies
@@ -18,6 +19,10 @@ var _jsxRuntime = require("react/jsx-runtime");
18
19
  * WordPress dependencies
19
20
  */
20
21
 
22
+ /**
23
+ * Internal dependencies
24
+ */
25
+
21
26
  function Edit({
22
27
  attributes: {
23
28
  linkTarget,
@@ -30,6 +35,7 @@ function Edit({
30
35
  [`has-text-align-${textAlign}`]: textAlign
31
36
  })
32
37
  });
38
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
33
39
  const blockControls = /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockControls, {
34
40
  group: "block",
35
41
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.AlignmentControl, {
@@ -40,15 +46,29 @@ function Edit({
40
46
  })
41
47
  });
42
48
  const inspectorControls = /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
43
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
44
- title: (0, _i18n.__)('Settings'),
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
46
- __nextHasNoMarginBottom: true,
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanel, {
50
+ label: (0, _i18n.__)('Settings'),
51
+ resetAll: () => {
52
+ setAttributes({
53
+ linkTarget: '_self'
54
+ });
55
+ },
56
+ dropdownMenuProps: dropdownMenuProps,
57
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
47
58
  label: (0, _i18n.__)('Open in new tab'),
48
- onChange: value => setAttributes({
49
- linkTarget: value ? '_blank' : '_self'
59
+ isShownByDefault: true,
60
+ hasValue: () => linkTarget === '_blank',
61
+ onDeselect: () => setAttributes({
62
+ linkTarget: '_self'
50
63
  }),
51
- checked: linkTarget === '_blank'
64
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
65
+ __nextHasNoMarginBottom: true,
66
+ label: (0, _i18n.__)('Open in new tab'),
67
+ onChange: value => setAttributes({
68
+ linkTarget: value ? '_blank' : '_self'
69
+ }),
70
+ checked: linkTarget === '_blank'
71
+ })
52
72
  })
53
73
  })
54
74
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_components","_i18n","_jsxRuntime","Edit","attributes","linkTarget","textAlign","setAttributes","blockProps","useBlockProps","className","clsx","blockControls","jsx","BlockControls","group","children","AlignmentControl","value","onChange","newAlign","inspectorControls","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","label","checked","jsxs","Fragment","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/comment-edit-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default function Edit( {\n\tattributes: { linkTarget, textAlign },\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\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\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={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\thref=\"#edit-comment-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAAqC,IAAAI,WAAA,GAAAJ,OAAA;AAfrC;AACA;AACA;;AAGA;AACA;AACA;;AAUe,SAASK,IAAIA,CAAE;EAC7BC,UAAU,EAAE;IAAEC,UAAU;IAAEC;EAAU,CAAC;EACrCC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,SAAS,EAAE,IAAAC,aAAI,EAAE;MAChB,CAAE,kBAAmBL,SAAS,EAAG,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;EAEH,MAAMM,aAAa,gBAClB,IAAAV,WAAA,CAAAW,GAAA,EAACd,YAAA,CAAAe,aAAa;IAACC,KAAK,EAAC,OAAO;IAAAC,QAAA,eAC3B,IAAAd,WAAA,CAAAW,GAAA,EAACd,YAAA,CAAAkB,gBAAgB;MAChBC,KAAK,EAAGZ,SAAW;MACnBa,QAAQ,EAAKC,QAAQ,IACpBb,aAAa,CAAE;QAAED,SAAS,EAAEc;MAAS,CAAE;IACvC,CACD;EAAC,CACY,CACf;EACD,MAAMC,iBAAiB,gBACtB,IAAAnB,WAAA,CAAAW,GAAA,EAACd,YAAA,CAAAuB,iBAAiB;IAAAN,QAAA,eACjB,IAAAd,WAAA,CAAAW,GAAA,EAACb,WAAA,CAAAuB,SAAS;MAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;MAAAT,QAAA,eACpC,IAAAd,WAAA,CAAAW,GAAA,EAACb,WAAA,CAAA0B,aAAa;QACbC,uBAAuB;QACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,iBAAkB,CAAG;QACjCN,QAAQ,EAAKD,KAAK,IACjBX,aAAa,CAAE;UACdF,UAAU,EAAEa,KAAK,GAAG,QAAQ,GAAG;QAChC,CAAE,CACF;QACDW,OAAO,EAAGxB,UAAU,KAAK;MAAU,CACnC;IAAC,CACQ;EAAC,CACM,CACnB;EAED,oBACC,IAAAH,WAAA,CAAA4B,IAAA,EAAA5B,WAAA,CAAA6B,QAAA;IAAAf,QAAA,GACGJ,aAAa,EACbS,iBAAiB,eACnB,IAAAnB,WAAA,CAAAW,GAAA;MAAA,GAAUL,UAAU;MAAAQ,QAAA,eACnB,IAAAd,WAAA,CAAAW,GAAA;QACCmB,IAAI,EAAC,2BAA2B;QAChCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;QAAAnB,QAAA,EAE7C,IAAAS,QAAE,EAAE,MAAO;MAAC,CACZ;IAAC,CACA,CAAC;EAAA,CACL,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_components","_i18n","_hooks","_jsxRuntime","Edit","attributes","linkTarget","textAlign","setAttributes","blockProps","useBlockProps","className","clsx","dropdownMenuProps","useToolsPanelDropdownMenuProps","blockControls","jsx","BlockControls","group","children","AlignmentControl","value","onChange","newAlign","inspectorControls","InspectorControls","__experimentalToolsPanel","label","__","resetAll","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","ToggleControl","__nextHasNoMarginBottom","checked","jsxs","Fragment","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/comment-edit-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function Edit( {\n\tattributes: { linkTarget, textAlign },\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\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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\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\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={ __( 'Open in new tab' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => linkTarget === '_blank' }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\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={ __( '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</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\thref=\"#edit-comment-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAAgE,IAAAK,WAAA,GAAAL,OAAA;AAxBhE;AACA;AACA;;AAGA;AACA;AACA;;AAcA;AACA;AACA;;AAGe,SAASM,IAAIA,CAAE;EAC7BC,UAAU,EAAE;IAAEC,UAAU;IAAEC;EAAU,CAAC;EACrCC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,SAAS,EAAE,IAAAC,aAAI,EAAE;MAChB,CAAE,kBAAmBL,SAAS,EAAG,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;EAEH,MAAMM,iBAAiB,GAAG,IAAAC,qCAA8B,EAAC,CAAC;EAE1D,MAAMC,aAAa,gBAClB,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,YAAA,CAAAkB,aAAa;IAACC,KAAK,EAAC,OAAO;IAAAC,QAAA,eAC3B,IAAAhB,WAAA,CAAAa,GAAA,EAACjB,YAAA,CAAAqB,gBAAgB;MAChBC,KAAK,EAAGd,SAAW;MACnBe,QAAQ,EAAKC,QAAQ,IACpBf,aAAa,CAAE;QAAED,SAAS,EAAEgB;MAAS,CAAE;IACvC,CACD;EAAC,CACY,CACf;EACD,MAAMC,iBAAiB,gBACtB,IAAArB,WAAA,CAAAa,GAAA,EAACjB,YAAA,CAAA0B,iBAAiB;IAAAN,QAAA,eACjB,IAAAhB,WAAA,CAAAa,GAAA,EAAChB,WAAA,CAAA0B,wBAAU;MACVC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;MAC1BC,QAAQ,EAAGA,CAAA,KAAM;QAChBrB,aAAa,CAAE;UACdF,UAAU,EAAE;QACb,CAAE,CAAC;MACJ,CAAG;MACHO,iBAAiB,EAAGA,iBAAmB;MAAAM,QAAA,eAEvC,IAAAhB,WAAA,CAAAa,GAAA,EAAChB,WAAA,CAAA8B,4BAAc;QACdH,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;QACjCG,gBAAgB;QAChBC,QAAQ,EAAGA,CAAA,KAAM1B,UAAU,KAAK,QAAU;QAC1C2B,UAAU,EAAGA,CAAA,KACZzB,aAAa,CAAE;UAAEF,UAAU,EAAE;QAAQ,CAAE,CACvC;QAAAa,QAAA,eAED,IAAAhB,WAAA,CAAAa,GAAA,EAAChB,WAAA,CAAAkC,aAAa;UACbC,uBAAuB;UACvBR,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;UACjCN,QAAQ,EAAKD,KAAK,IACjBb,aAAa,CAAE;YACdF,UAAU,EAAEe,KAAK,GAAG,QAAQ,GAAG;UAChC,CAAE,CACF;UACDe,OAAO,EAAG9B,UAAU,KAAK;QAAU,CACnC;MAAC,CACa;IAAC,CACN;EAAC,CACK,CACnB;EAED,oBACC,IAAAH,WAAA,CAAAkC,IAAA,EAAAlC,WAAA,CAAAmC,QAAA;IAAAnB,QAAA,GACGJ,aAAa,EACbS,iBAAiB,eACnB,IAAArB,WAAA,CAAAa,GAAA;MAAA,GAAUP,UAAU;MAAAU,QAAA,eACnB,IAAAhB,WAAA,CAAAa,GAAA;QACCuB,IAAI,EAAC,2BAA2B;QAChCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;QAAAvB,QAAA,EAE7C,IAAAS,QAAE,EAAE,MAAO;MAAC,CACZ;IAAC,CACA,CAAC;EAAA,CACL,CAAC;AAEL","ignoreList":[]}
@@ -23,8 +23,7 @@ function CommentsInspectorControls({
23
23
  attributes: {
24
24
  tagName
25
25
  },
26
- setAttributes,
27
- clientId
26
+ setAttributes
28
27
  }) {
29
28
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
30
29
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
@@ -34,7 +33,6 @@ function CommentsInspectorControls({
34
33
  onChange: value => setAttributes({
35
34
  tagName: value
36
35
  }),
37
- clientId: clientId,
38
36
  options: [{
39
37
  label: (0, _i18n.__)('Default (<div>)'),
40
38
  value: 'div'
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_blockEditor","_lockUnlock","_jsxRuntime","HTMLElementControl","unlock","blockEditorPrivateApis","CommentsInspectorControls","attributes","tagName","setAttributes","clientId","jsx","InspectorControls","children","group","onChange","value","options","label","__"],"sources":["@wordpress/block-library/src/comments/edit/comments-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\n\nexport default function CommentsInspectorControls( {\n\tattributes: { tagName },\n\tsetAttributes,\n\tclientId,\n} ) {\n\treturn (\n\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\tclientId={ clientId }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,WAAA,GAAAF,OAAA;AAA2C,IAAAG,WAAA,GAAAH,OAAA;AAZ3C;AACA;AACA;;AAOA;AACA;AACA;;AAGA,MAAM;EAAEI;AAAmB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAEhD,SAASC,yBAAyBA,CAAE;EAClDC,UAAU,EAAE;IAAEC;EAAQ,CAAC;EACvBC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,oBACC,IAAAR,WAAA,CAAAS,GAAA,EAACX,YAAA,CAAAY,iBAAiB;IAAAC,QAAA,eACjB,IAAAX,WAAA,CAAAS,GAAA,EAACX,YAAA,CAAAY,iBAAiB;MAACE,KAAK,EAAC,UAAU;MAAAD,QAAA,eAClC,IAAAX,WAAA,CAAAS,GAAA,EAACR,kBAAkB;QAClBK,OAAO,EAAGA,OAAS;QACnBO,QAAQ,EAAKC,KAAK,IACjBP,aAAa,CAAE;UAAED,OAAO,EAAEQ;QAAM,CAAE,CAClC;QACDN,QAAQ,EAAGA,QAAU;QACrBO,OAAO,EAAG,CACT;UAAEC,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;UAAEH,KAAK,EAAE;QAAM,CAAC,EAChD;UAAEE,KAAK,EAAE,WAAW;UAAEF,KAAK,EAAE;QAAU,CAAC,EACxC;UAAEE,KAAK,EAAE,SAAS;UAAEF,KAAK,EAAE;QAAQ,CAAC;MAClC,CACH;IAAC,CACgB;EAAC,CACF,CAAC;AAEtB","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_blockEditor","_lockUnlock","_jsxRuntime","HTMLElementControl","unlock","blockEditorPrivateApis","CommentsInspectorControls","attributes","tagName","setAttributes","jsx","InspectorControls","children","group","onChange","value","options","label","__"],"sources":["@wordpress/block-library/src/comments/edit/comments-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\n\nexport default function CommentsInspectorControls( {\n\tattributes: { tagName },\n\tsetAttributes,\n} ) {\n\treturn (\n\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 (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,WAAA,GAAAF,OAAA;AAA2C,IAAAG,WAAA,GAAAH,OAAA;AAZ3C;AACA;AACA;;AAOA;AACA;AACA;;AAGA,MAAM;EAAEI;AAAmB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAEhD,SAASC,yBAAyBA,CAAE;EAClDC,UAAU,EAAE;IAAEC;EAAQ,CAAC;EACvBC;AACD,CAAC,EAAG;EACH,oBACC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAW,iBAAiB;IAAAC,QAAA,eACjB,IAAAV,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAW,iBAAiB;MAACE,KAAK,EAAC,UAAU;MAAAD,QAAA,eAClC,IAAAV,WAAA,CAAAQ,GAAA,EAACP,kBAAkB;QAClBK,OAAO,EAAGA,OAAS;QACnBM,QAAQ,EAAKC,KAAK,IACjBN,aAAa,CAAE;UAAED,OAAO,EAAEO;QAAM,CAAE,CAClC;QACDC,OAAO,EAAG,CACT;UAAEC,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;UAAEH,KAAK,EAAE;QAAM,CAAC,EAChD;UAAEE,KAAK,EAAE,WAAW;UAAEF,KAAK,EAAE;QAAU,CAAC,EACxC;UAAEE,KAAK,EAAE,SAAS;UAAEF,KAAK,EAAE;QAAQ,CAAC;MAClC,CACH;IAAC,CACgB;EAAC,CACF,CAAC;AAEtB","ignoreList":[]}
@@ -9,6 +9,7 @@ var _blockEditor = require("@wordpress/block-editor");
9
9
  var _data = require("@wordpress/data");
10
10
  var _components = require("@wordpress/components");
11
11
  var _commentsPaginationArrowControls = require("./comments-pagination-arrow-controls");
12
+ var _hooks = require("../utils/hooks");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  /**
14
15
  * WordPress dependencies
@@ -41,6 +42,7 @@ function QueryPaginationEdit({
41
42
  });
42
43
  }, []);
43
44
  const blockProps = (0, _blockEditor.useBlockProps)();
45
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
44
46
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
45
47
  template: TEMPLATE
46
48
  });
@@ -66,15 +68,27 @@ function QueryPaginationEdit({
66
68
  }
67
69
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
68
70
  children: [hasNextPreviousBlocks && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
69
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
70
- title: (0, _i18n.__)('Settings'),
71
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_commentsPaginationArrowControls.CommentsPaginationArrowControls, {
72
- value: paginationArrow,
73
- onChange: value => {
74
- setAttributes({
75
- paginationArrow: value
76
- });
77
- }
71
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanel, {
72
+ label: (0, _i18n.__)('Settings'),
73
+ dropdownMenuProps: dropdownMenuProps,
74
+ resetAll: () => setAttributes({
75
+ paginationArrow: 'none'
76
+ }),
77
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
78
+ label: (0, _i18n.__)('Arrow'),
79
+ hasValue: () => paginationArrow !== 'none',
80
+ onDeselect: () => setAttributes({
81
+ paginationArrow: 'none'
82
+ }),
83
+ isShownByDefault: true,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_commentsPaginationArrowControls.CommentsPaginationArrowControls, {
85
+ value: paginationArrow,
86
+ onChange: value => {
87
+ setAttributes({
88
+ paginationArrow: value
89
+ });
90
+ }
91
+ })
78
92
  })
79
93
  })
80
94
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {