@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
@@ -6,7 +6,7 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { PanelBody, Placeholder, QueryControls, RadioControl, RangeControl, Spinner, ToggleControl, ToolbarGroup, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
9
+ import { Placeholder, QueryControls, RadioControl, RangeControl, Spinner, ToggleControl, ToolbarGroup, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
10
10
  import { __, _x, sprintf } from '@wordpress/i18n';
11
11
  import { dateI18n, format, getSettings } from '@wordpress/date';
12
12
  import { InspectorControls, BlockControls, __experimentalImageSizeControl as ImageSizeControl, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
@@ -247,102 +247,174 @@ function Controls({
247
247
  })
248
248
  })
249
249
  })]
250
- }), /*#__PURE__*/_jsxs(PanelBody, {
251
- title: __('Featured image'),
252
- children: [/*#__PURE__*/_jsx(ToggleControl, {
253
- __nextHasNoMarginBottom: true,
250
+ }), /*#__PURE__*/_jsxs(ToolsPanel, {
251
+ label: __('Featured image'),
252
+ resetAll: () => setAttributes({
253
+ displayFeaturedImage: false,
254
+ featuredImageAlign: undefined,
255
+ featuredImageSizeSlug: 'thumbnail',
256
+ featuredImageSizeWidth: null,
257
+ featuredImageSizeHeight: null,
258
+ addLinkToFeaturedImage: false
259
+ }),
260
+ dropdownMenuProps: dropdownMenuProps,
261
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
262
+ hasValue: () => !!displayFeaturedImage,
254
263
  label: __('Display featured image'),
255
- checked: displayFeaturedImage,
256
- onChange: value => setAttributes({
257
- displayFeaturedImage: value
264
+ onDeselect: () => setAttributes({
265
+ displayFeaturedImage: false
266
+ }),
267
+ isShownByDefault: true,
268
+ children: /*#__PURE__*/_jsx(ToggleControl, {
269
+ __nextHasNoMarginBottom: true,
270
+ label: __('Display featured image'),
271
+ checked: displayFeaturedImage,
272
+ onChange: value => setAttributes({
273
+ displayFeaturedImage: value
274
+ })
258
275
  })
259
276
  }), displayFeaturedImage && /*#__PURE__*/_jsxs(_Fragment, {
260
- children: [/*#__PURE__*/_jsx(ImageSizeControl, {
261
- onChange: value => {
262
- const newAttrs = {};
263
- if (value.hasOwnProperty('width')) {
264
- newAttrs.featuredImageSizeWidth = value.width;
265
- }
266
- if (value.hasOwnProperty('height')) {
267
- newAttrs.featuredImageSizeHeight = value.height;
268
- }
269
- setAttributes(newAttrs);
270
- },
271
- slug: featuredImageSizeSlug,
272
- width: featuredImageSizeWidth,
273
- height: featuredImageSizeHeight,
274
- imageWidth: defaultImageWidth,
275
- imageHeight: defaultImageHeight,
276
- imageSizeOptions: imageSizeOptions,
277
- imageSizeHelp: __('Select the size of the source image.'),
278
- onChangeImage: value => setAttributes({
279
- featuredImageSizeSlug: value,
280
- featuredImageSizeWidth: undefined,
281
- featuredImageSizeHeight: undefined
277
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
278
+ hasValue: () => featuredImageSizeSlug !== 'thumbnail' || featuredImageSizeWidth !== null || featuredImageSizeHeight !== null,
279
+ label: __('Image size'),
280
+ onDeselect: () => setAttributes({
281
+ featuredImageSizeSlug: 'thumbnail',
282
+ featuredImageSizeWidth: null,
283
+ featuredImageSizeHeight: null
284
+ }),
285
+ isShownByDefault: true,
286
+ children: /*#__PURE__*/_jsx(ImageSizeControl, {
287
+ onChange: value => {
288
+ const newAttrs = {};
289
+ if (value.hasOwnProperty('width')) {
290
+ newAttrs.featuredImageSizeWidth = value.width;
291
+ }
292
+ if (value.hasOwnProperty('height')) {
293
+ newAttrs.featuredImageSizeHeight = value.height;
294
+ }
295
+ setAttributes(newAttrs);
296
+ },
297
+ slug: featuredImageSizeSlug,
298
+ width: featuredImageSizeWidth,
299
+ height: featuredImageSizeHeight,
300
+ imageWidth: defaultImageWidth,
301
+ imageHeight: defaultImageHeight,
302
+ imageSizeOptions: imageSizeOptions,
303
+ imageSizeHelp: __('Select the size of the source image.'),
304
+ onChangeImage: value => setAttributes({
305
+ featuredImageSizeSlug: value,
306
+ featuredImageSizeWidth: undefined,
307
+ featuredImageSizeHeight: undefined
308
+ })
282
309
  })
283
- }), /*#__PURE__*/_jsx(ToggleGroupControl, {
284
- className: "editor-latest-posts-image-alignment-control",
285
- __nextHasNoMarginBottom: true,
286
- __next40pxDefaultSize: true,
310
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
311
+ hasValue: () => !!featuredImageAlign,
287
312
  label: __('Image alignment'),
288
- value: featuredImageAlign || 'none',
289
- onChange: value => setAttributes({
290
- featuredImageAlign: value !== 'none' ? value : undefined
313
+ onDeselect: () => setAttributes({
314
+ featuredImageAlign: undefined
291
315
  }),
292
- children: imageAlignmentOptions.map(({
293
- value,
294
- icon,
295
- label
296
- }) => {
297
- return /*#__PURE__*/_jsx(ToggleGroupControlOptionIcon, {
298
- value: value,
299
- icon: icon,
300
- label: label
301
- }, value);
316
+ isShownByDefault: true,
317
+ children: /*#__PURE__*/_jsx(ToggleGroupControl, {
318
+ className: "editor-latest-posts-image-alignment-control",
319
+ __nextHasNoMarginBottom: true,
320
+ __next40pxDefaultSize: true,
321
+ label: __('Image alignment'),
322
+ value: featuredImageAlign || 'none',
323
+ onChange: value => setAttributes({
324
+ featuredImageAlign: value !== 'none' ? value : undefined
325
+ }),
326
+ children: imageAlignmentOptions.map(({
327
+ value,
328
+ icon,
329
+ label
330
+ }) => {
331
+ return /*#__PURE__*/_jsx(ToggleGroupControlOptionIcon, {
332
+ value: value,
333
+ icon: icon,
334
+ label: label
335
+ }, value);
336
+ })
302
337
  })
303
- }), /*#__PURE__*/_jsx(ToggleControl, {
304
- __nextHasNoMarginBottom: true,
338
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
339
+ hasValue: () => !!addLinkToFeaturedImage,
305
340
  label: __('Add link to featured image'),
306
- checked: addLinkToFeaturedImage,
307
- onChange: value => setAttributes({
308
- addLinkToFeaturedImage: value
341
+ onDeselect: () => setAttributes({
342
+ addLinkToFeaturedImage: false
343
+ }),
344
+ isShownByDefault: true,
345
+ children: /*#__PURE__*/_jsx(ToggleControl, {
346
+ __nextHasNoMarginBottom: true,
347
+ label: __('Add link to featured image'),
348
+ checked: addLinkToFeaturedImage,
349
+ onChange: value => setAttributes({
350
+ addLinkToFeaturedImage: value
351
+ })
309
352
  })
310
353
  })]
311
354
  })]
312
- }), /*#__PURE__*/_jsxs(PanelBody, {
313
- title: __('Sorting and filtering'),
314
- children: [/*#__PURE__*/_jsx(QueryControls, {
315
- order,
316
- orderBy,
317
- numberOfItems: postsToShow,
318
- onOrderChange: value => setAttributes({
319
- order: value
320
- }),
321
- onOrderByChange: value => setAttributes({
322
- orderBy: value
323
- }),
324
- onNumberOfItemsChange: value => setAttributes({
325
- postsToShow: value
326
- }),
327
- categorySuggestions: categorySuggestions,
328
- onCategoryChange: selectCategories,
329
- selectedCategories: categories,
330
- onAuthorChange: value => setAttributes({
331
- selectedAuthor: '' !== value ? Number(value) : undefined
355
+ }), /*#__PURE__*/_jsxs(ToolsPanel, {
356
+ label: __('Sorting and filtering'),
357
+ resetAll: () => setAttributes({
358
+ order: 'desc',
359
+ orderBy: 'date',
360
+ postsToShow: 5,
361
+ categories: undefined,
362
+ selectedAuthor: undefined,
363
+ columns: 3
364
+ }),
365
+ dropdownMenuProps: dropdownMenuProps,
366
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
367
+ hasValue: () => order !== 'desc' || orderBy !== 'date' || postsToShow !== 5 || categories?.length > 0 || !!selectedAuthor,
368
+ label: __('Sort and filter'),
369
+ onDeselect: () => setAttributes({
370
+ order: 'desc',
371
+ orderBy: 'date',
372
+ postsToShow: 5,
373
+ categories: undefined,
374
+ selectedAuthor: undefined
332
375
  }),
333
- authorList: authorList !== null && authorList !== void 0 ? authorList : [],
334
- selectedAuthorId: selectedAuthor
335
- }), postLayout === 'grid' && /*#__PURE__*/_jsx(RangeControl, {
336
- __nextHasNoMarginBottom: true,
337
- __next40pxDefaultSize: true,
376
+ isShownByDefault: true,
377
+ children: /*#__PURE__*/_jsx(QueryControls, {
378
+ order,
379
+ orderBy,
380
+ numberOfItems: postsToShow,
381
+ onOrderChange: value => setAttributes({
382
+ order: value
383
+ }),
384
+ onOrderByChange: value => setAttributes({
385
+ orderBy: value
386
+ }),
387
+ onNumberOfItemsChange: value => setAttributes({
388
+ postsToShow: value
389
+ }),
390
+ categorySuggestions: categorySuggestions,
391
+ onCategoryChange: selectCategories,
392
+ selectedCategories: categories,
393
+ onAuthorChange: value => setAttributes({
394
+ selectedAuthor: '' !== value ? Number(value) : undefined
395
+ }),
396
+ authorList: authorList !== null && authorList !== void 0 ? authorList : [],
397
+ selectedAuthorId: selectedAuthor
398
+ })
399
+ }), postLayout === 'grid' && /*#__PURE__*/_jsx(ToolsPanelItem, {
400
+ hasValue: () => columns !== 3,
338
401
  label: __('Columns'),
339
- value: columns,
340
- onChange: value => setAttributes({
341
- columns: value
402
+ onDeselect: () => setAttributes({
403
+ columns: 3
342
404
  }),
343
- min: 2,
344
- max: !postCount ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, postCount),
345
- required: true
405
+ isShownByDefault: true,
406
+ children: /*#__PURE__*/_jsx(RangeControl, {
407
+ __nextHasNoMarginBottom: true,
408
+ __next40pxDefaultSize: true,
409
+ label: __('Columns'),
410
+ value: columns,
411
+ onChange: value => setAttributes({
412
+ columns: value
413
+ }),
414
+ min: 2,
415
+ max: !postCount ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, postCount),
416
+ required: true
417
+ })
346
418
  })]
347
419
  })]
348
420
  });
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","sprintf","dateI18n","format","getSettings","InspectorControls","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","alignNone","positionLeft","positionCenter","positionRight","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","DEFAULT_EXCERPT_LENGTH","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CATEGORIES_LIST_QUERY","per_page","_fields","context","USERS_LIST_QUERY","has_published_posts","imageAlignmentOptions","value","icon","label","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","getCurrentAuthor","author","Controls","attributes","setAttributes","postCount","_categoriesList$reduc","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","imageDimensions","width","height","dropdownMenuProps","imageSizeOptions","filter","slug","map","name","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","children","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","onChange","selected","options","__next40pxDefaultSize","min","max","title","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","className","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","LatestPostsEdit","_latestPosts$length","instanceId","latestPosts","catIds","length","cat","id","latestPostsQuery","Object","fromEntries","entries","orderby","_embed","ignore_sticky","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","type","hasPosts","inspectorControls","blockProps","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n\tDEFAULT_EXCERPT_LENGTH,\n} from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\nconst imageAlignmentOptions = [\n\t{\n\t\tvalue: 'none',\n\t\ticon: alignNone,\n\t\tlabel: __( 'None' ),\n\t},\n\t{\n\t\tvalue: 'left',\n\t\ticon: positionLeft,\n\t\tlabel: __( 'Left' ),\n\t},\n\t{\n\t\tvalue: 'center',\n\t\ticon: positionCenter,\n\t\tlabel: __( 'Center' ),\n\t},\n\t{\n\t\tvalue: 'right',\n\t\ticon: positionRight,\n\t\tlabel: __( 'Right' ),\n\t},\n];\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nfunction getCurrentAuthor( post ) {\n\treturn post._embedded?.author?.[ 0 ];\n}\n\nfunction Controls( { attributes, setAttributes, postCount } ) {\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImageSizeSlug ]\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayPostContent: false,\n\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\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\thasValue={ () => !! displayPostContent }\n\t\t\t\t\tlabel={ __( 'Display post content' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: false } )\n\t\t\t\t\t}\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={ __( 'Display post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayPostContentRadio !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\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\tdisplayPostContentRadio: 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/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\texcerptLength !== DEFAULT_EXCERPT_LENGTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post meta' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\tdisplayPostDate: false,\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\thasValue={ () => !! displayAuthor }\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t}\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={ __( 'Display author name' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostDate }\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: false } )\n\t\t\t\t\t}\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={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\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\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\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={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\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\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\tvalue !== 'none' ? value : undefined,\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\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\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={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\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\taddLinkToFeaturedImage: 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/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\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={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! postCount\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min( MAX_POSTS_COLUMNS, postCount )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst { latestPosts } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\t\t\tignore_sticky: true,\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postsToShow, order, orderBy, categories, selectedAuthor ]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<Controls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tpostCount={ latestPosts?.length ?? 0 }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = getCurrentAuthor( post );\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\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\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\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</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,YAAY,EACZC,YAAY,EACZC,OAAO,EACPC,aAAa,EACbC,YAAY,EACZC,gCAAgC,IAAIC,kBAAkB,EACtDC,0CAA0C,IAAIC,4BAA4B,EAC1EC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,QAAQ,iBAAiB;AAC/D,SACCC,iBAAiB,EACjBC,aAAa,EACbC,8BAA8B,IAAIC,gBAAgB,EAClDC,aAAa,EACbC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,GAAG,EACHC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,YAAY,EACZC,cAAc,EACdC,aAAa,QACP,kBAAkB;AACzB,SAASV,KAAK,IAAIW,SAAS,QAAQ,sBAAsB;AACzD,SAASX,KAAK,IAAIY,WAAW,QAAQ,oBAAoB;AACzD,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,wBAAwB,QAAQ,oBAAoB;;AAE7D;AACA;AACA;AACA,SACCC,kBAAkB,EAClBC,kBAAkB,EAClBC,iBAAiB,EACjBC,sBAAsB,QAChB,aAAa;AACpB,SAASC,8BAA8B,QAAQ,gBAAgB;;AAE/D;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAGA,MAAMC,qBAAqB,GAAG;EAC7BC,QAAQ,EAAE,CAAC,CAAC;EACZC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE;AACV,CAAC;AACD,MAAMC,gBAAgB,GAAG;EACxBH,QAAQ,EAAE,CAAC,CAAC;EACZI,mBAAmB,EAAE,CAAE,MAAM,CAAE;EAC/BF,OAAO,EAAE;AACV,CAAC;AACD,MAAMG,qBAAqB,GAAG,CAC7B;EACCC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE3B,SAAS;EACf4B,KAAK,EAAE9C,EAAE,CAAE,MAAO;AACnB,CAAC,EACD;EACC4C,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE1B,YAAY;EAClB2B,KAAK,EAAE9C,EAAE,CAAE,MAAO;AACnB,CAAC,EACD;EACC4C,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEzB,cAAc;EACpB0B,KAAK,EAAE9C,EAAE,CAAE,QAAS;AACrB,CAAC,EACD;EACC4C,KAAK,EAAE,OAAO;EACdC,IAAI,EAAExB,aAAa;EACnByB,KAAK,EAAE9C,EAAE,CAAE,OAAQ;AACpB,CAAC,CACD;AAED,SAAS+C,uBAAuBA,CAAEC,IAAI,EAAEC,IAAI,EAAG;EAAA,IAAAC,qBAAA;EAC9C,MAAMC,KAAK,GAAGH,IAAI,CAACI,SAAS,GAAI,kBAAkB,CAAE,GAAI,GAAG,CAAE;EAE7D,OAAO;IACNC,GAAG,GAAAH,qBAAA,GACFC,KAAK,EAAEG,aAAa,EAAEC,KAAK,GAAIN,IAAI,CAAE,EAAEO,UAAU,cAAAN,qBAAA,cAAAA,qBAAA,GACjDC,KAAK,EAAEK,UAAU;IAClBC,GAAG,EAAEN,KAAK,EAAEO;EACb,CAAC;AACF;AAEA,SAASC,gBAAgBA,CAAEX,IAAI,EAAG;EACjC,OAAOA,IAAI,CAACI,SAAS,EAAEQ,MAAM,GAAI,CAAC,CAAE;AACrC;AAEA,SAASC,QAAQA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAU,CAAC,EAAG;EAAA,IAAAC,qBAAA;EAC7D,MAAM;IACLC,WAAW;IACXC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,cAAc;IACdC,oBAAoB;IACpBC,uBAAuB;IACvBC,kBAAkB;IAClBC,eAAe;IACfC,aAAa;IACbC,UAAU;IACVC,OAAO;IACPC,aAAa;IACbC,kBAAkB;IAClBC,qBAAqB;IACrBC,sBAAsB;IACtBC,uBAAuB;IACvBC;EACD,CAAC,GAAGrB,UAAU;EACd,MAAM;IACLsB,UAAU;IACVC,iBAAiB;IACjBC,kBAAkB;IAClBC,cAAc;IACdC;EACD,CAAC,GAAG3E,SAAS,CACV4E,MAAM,IAAM;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IACb,MAAM;MAAEC,gBAAgB;MAAEC;IAAS,CAAC,GAAGJ,MAAM,CAAEnE,SAAU,CAAC;IAC1D,MAAMwE,QAAQ,GAAGL,MAAM,CAAE7E,gBAAiB,CAAC,CAACP,WAAW,CAAC,CAAC;IAEzD,OAAO;MACNgF,iBAAiB,GAAAK,qBAAA,GAChBI,QAAQ,CAACC,eAAe,GAAIf,qBAAqB,CAAE,EAChDgB,KAAK,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,CAAC;MACdJ,kBAAkB,GAAAK,sBAAA,GACjBG,QAAQ,CAACC,eAAe,GAAIf,qBAAqB,CAAE,EAChDiB,MAAM,cAAAN,sBAAA,cAAAA,sBAAA,GAAI,CAAC;MACfP,UAAU,EAAEU,QAAQ,CAACV,UAAU;MAC/BG,cAAc,EAAEK,gBAAgB,CAC/B,UAAU,EACV,UAAU,EACVvD,qBACD,CAAC;MACDmD,UAAU,EAAEK,QAAQ,CAAEpD,gBAAiB;IACxC,CAAC;EACF,CAAC,EACD,CAAEuC,qBAAqB,CACxB,CAAC;EAED,MAAMkB,iBAAiB,GAAGpE,8BAA8B,CAAC,CAAC;EAE1D,MAAMqE,gBAAgB,GAAGf,UAAU,CACjCgB,MAAM,CAAE,CAAE;IAAEC;EAAK,CAAC,KAAMA,IAAI,KAAK,MAAO,CAAC,CACzCC,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEF;EAAK,CAAC,MAAQ;IAC7BzD,KAAK,EAAEyD,IAAI;IACXvD,KAAK,EAAEyD;EACR,CAAC,CAAG,CAAC;EACN,MAAMC,mBAAmB,IAAAvC,qBAAA,GACxBsB,cAAc,EAAEkB,MAAM,CACrB,CAAEC,WAAW,EAAEC,QAAQ,MAAQ;IAC9B,GAAGD,WAAW;IACd,CAAEC,QAAQ,CAACJ,IAAI,GAAII;EACpB,CAAC,CAAE,EACH,CAAC,CACF,CAAC,cAAA1C,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EACR,MAAM2C,gBAAgB,GAAKC,MAAM,IAAM;IACtC,MAAMC,eAAe,GAAGD,MAAM,CAACE,IAAI,CAChCC,KAAK,IACN,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAAER,mBAAmB,CAAEQ,KAAK,CAC3D,CAAC;IACD,IAAKF,eAAe,EAAG;MACtB;IACD;IACA;IACA;IACA,MAAMG,aAAa,GAAGJ,MAAM,CAACP,GAAG,CAAIU,KAAK,IAAM;MAC9C,OAAO,OAAOA,KAAK,KAAK,QAAQ,GAC7BR,mBAAmB,CAAEQ,KAAK,CAAE,GAC5BA,KAAK;IACT,CAAE,CAAC;IACH;IACA;IACA,IAAKC,aAAa,CAACC,QAAQ,CAAE,IAAK,CAAC,EAAG;MACrC,OAAO,KAAK;IACb;IACAnD,aAAa,CAAE;MAAEM,UAAU,EAAE4C;IAAc,CAAE,CAAC;EAC/C,CAAC;EAED,oBACC/E,KAAA,CAAAE,SAAA;IAAA+E,QAAA,gBACCjF,KAAA,CAACrC,UAAU;MACViD,KAAK,EAAG9C,EAAE,CAAE,cAAe,CAAG;MAC9BoH,QAAQ,EAAGA,CAAA,KACVrD,aAAa,CAAE;QACdU,kBAAkB,EAAE,KAAK;QACzBD,uBAAuB,EAAE,SAAS;QAClCM,aAAa,EAAEjD;MAChB,CAAE,CACF;MACDqE,iBAAiB,EAAGA,iBAAmB;MAAAiB,QAAA,gBAEvCnF,IAAA,CAACjC,cAAc;QACdsH,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAE5C,kBAAoB;QACxC3B,KAAK,EAAG9C,EAAE,CAAE,sBAAuB,CAAG;QACtCsH,UAAU,EAAGA,CAAA,KACZvD,aAAa,CAAE;UAAEU,kBAAkB,EAAE;QAAM,CAAE,CAC7C;QACD8C,gBAAgB;QAAAJ,QAAA,eAEhBnF,IAAA,CAAC1C,aAAa;UACbkI,uBAAuB;UACvB1E,KAAK,EAAG9C,EAAE,CAAE,sBAAuB,CAAG;UACtCyH,OAAO,EAAGhD,kBAAoB;UAC9BiD,QAAQ,EAAK9E,KAAK,IACjBmB,aAAa,CAAE;YAAEU,kBAAkB,EAAE7B;UAAM,CAAE;QAC7C,CACD;MAAC,CACa,CAAC,EACf6B,kBAAkB,iBACnBzC,IAAA,CAACjC,cAAc;QACdsH,QAAQ,EAAGA,CAAA,KAAM7C,uBAAuB,KAAK,SAAW;QACxD1B,KAAK,EAAG9C,EAAE,CAAE,gBAAiB,CAAG;QAChCsH,UAAU,EAAGA,CAAA,KACZvD,aAAa,CAAE;UACdS,uBAAuB,EAAE;QAC1B,CAAE,CACF;QACD+C,gBAAgB;QAAAJ,QAAA,eAEhBnF,IAAA,CAAC7C,YAAY;UACZ2D,KAAK,EAAG9C,EAAE,CAAE,gBAAiB,CAAG;UAChC2H,QAAQ,EAAGnD,uBAAyB;UACpCoD,OAAO,EAAG,CACT;YAAE9E,KAAK,EAAE9C,EAAE,CAAE,SAAU,CAAC;YAAE4C,KAAK,EAAE;UAAU,CAAC,EAC5C;YACCE,KAAK,EAAE9C,EAAE,CAAE,WAAY,CAAC;YACxB4C,KAAK,EAAE;UACR,CAAC,CACC;UACH8E,QAAQ,EAAK9E,KAAK,IACjBmB,aAAa,CAAE;YACdS,uBAAuB,EAAE5B;UAC1B,CAAE;QACF,CACD;MAAC,CACa,CAChB,EACC6B,kBAAkB,IACnBD,uBAAuB,KAAK,SAAS,iBACpCxC,IAAA,CAACjC,cAAc;QACdsH,QAAQ,EAAGA,CAAA,KACVvC,aAAa,KAAKjD,sBAClB;QACDiB,KAAK,EAAG9C,EAAE,CAAE,qBAAsB,CAAG;QACrCsH,UAAU,EAAGA,CAAA,KACZvD,aAAa,CAAE;UACde,aAAa,EAAEjD;QAChB,CAAE,CACF;QACD0F,gBAAgB;QAAAJ,QAAA,eAEhBnF,IAAA,CAAC5C,YAAY;UACZoI,uBAAuB;UACvBK,qBAAqB;UACrB/E,KAAK,EAAG9C,EAAE,CAAE,qBAAsB,CAAG;UACrC4C,KAAK,EAAGkC,aAAe;UACvB4C,QAAQ,EAAK9E,KAAK,IACjBmB,aAAa,CAAE;YAAEe,aAAa,EAAElC;UAAM,CAAE,CACxC;UACDkF,GAAG,EAAGpG,kBAAoB;UAC1BqG,GAAG,EAAGpG;QAAoB,CAC1B;MAAC,CACa,CAChB;IAAA,CACS,CAAC,eACbO,KAAA,CAACrC,UAAU;MACViD,KAAK,EAAG9C,EAAE,CAAE,WAAY,CAAG;MAC3BoH,QAAQ,EAAGA,CAAA,KACVrD,aAAa,CAAE;QACdY,aAAa,EAAE,KAAK;QACpBD,eAAe,EAAE;MAClB,CAAE,CACF;MACDwB,iBAAiB,EAAGA,iBAAmB;MAAAiB,QAAA,gBAEvCnF,IAAA,CAACjC,cAAc;QACdsH,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAE1C,aAAe;QACnC7B,KAAK,EAAG9C,EAAE,CAAE,qBAAsB,CAAG;QACrCsH,UAAU,EAAGA,CAAA,KACZvD,aAAa,CAAE;UAAEY,aAAa,EAAE;QAAM,CAAE,CACxC;QACD4C,gBAAgB;QAAAJ,QAAA,eAEhBnF,IAAA,CAAC1C,aAAa;UACbkI,uBAAuB;UACvB1E,KAAK,EAAG9C,EAAE,CAAE,qBAAsB,CAAG;UACrCyH,OAAO,EAAG9C,aAAe;UACzB+C,QAAQ,EAAK9E,KAAK,IACjBmB,aAAa,CAAE;YAAEY,aAAa,EAAE/B;UAAM,CAAE;QACxC,CACD;MAAC,CACa,CAAC,eACjBZ,IAAA,CAACjC,cAAc;QACdsH,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAE3C,eAAiB;QACrC5B,KAAK,EAAG9C,EAAE,CAAE,mBAAoB,CAAG;QACnCsH,UAAU,EAAGA,CAAA,KACZvD,aAAa,CAAE;UAAEW,eAAe,EAAE;QAAM,CAAE,CAC1C;QACD6C,gBAAgB;QAAAJ,QAAA,eAEhBnF,IAAA,CAAC1C,aAAa;UACbkI,uBAAuB;UACvB1E,KAAK,EAAG9C,EAAE,CAAE,mBAAoB,CAAG;UACnCyH,OAAO,EAAG/C,eAAiB;UAC3BgD,QAAQ,EAAK9E,KAAK,IACjBmB,aAAa,CAAE;YAAEW,eAAe,EAAE9B;UAAM,CAAE;QAC1C,CACD;MAAC,CACa,CAAC;IAAA,CACN,CAAC,eACbV,KAAA,CAAClD,SAAS;MAACgJ,KAAK,EAAGhI,EAAE,CAAE,gBAAiB,CAAG;MAAAmH,QAAA,gBAC1CnF,IAAA,CAAC1C,aAAa;QACbkI,uBAAuB;QACvB1E,KAAK,EAAG9C,EAAE,CAAE,wBAAyB,CAAG;QACxCyH,OAAO,EAAGlD,oBAAsB;QAChCmD,QAAQ,EAAK9E,KAAK,IACjBmB,aAAa,CAAE;UAAEQ,oBAAoB,EAAE3B;QAAM,CAAE;MAC/C,CACD,CAAC,EACA2B,oBAAoB,iBACrBrC,KAAA,CAAAE,SAAA;QAAA+E,QAAA,gBACCnF,IAAA,CAACvB,gBAAgB;UAChBiH,QAAQ,EAAK9E,KAAK,IAAM;YACvB,MAAMqF,QAAQ,GAAG,CAAC,CAAC;YACnB,IAAKrF,KAAK,CAACsF,cAAc,CAAE,OAAQ,CAAC,EAAG;cACtCD,QAAQ,CAAChD,sBAAsB,GAC9BrC,KAAK,CAACoD,KAAK;YACb;YACA,IAAKpD,KAAK,CAACsF,cAAc,CAAE,QAAS,CAAC,EAAG;cACvCD,QAAQ,CAAC/C,uBAAuB,GAC/BtC,KAAK,CAACqD,MAAM;YACd;YACAlC,aAAa,CAAEkE,QAAS,CAAC;UAC1B,CAAG;UACH5B,IAAI,EAAGrB,qBAAuB;UAC9BgB,KAAK,EAAGf,sBAAwB;UAChCgB,MAAM,EAAGf,uBAAyB;UAClCiD,UAAU,EAAG9C,iBAAmB;UAChC+C,WAAW,EAAG9C,kBAAoB;UAClCa,gBAAgB,EAAGA,gBAAkB;UACrCkC,aAAa,EAAGrI,EAAE,CACjB,sCACD,CAAG;UACHsI,aAAa,EAAK1F,KAAK,IACtBmB,aAAa,CAAE;YACdiB,qBAAqB,EAAEpC,KAAK;YAC5BqC,sBAAsB,EAAEsD,SAAS;YACjCrD,uBAAuB,EAAEqD;UAC1B,CAAE;QACF,CACD,CAAC,eACFvG,IAAA,CAACvC,kBAAkB;UAClB+I,SAAS,EAAC,6CAA6C;UACvDhB,uBAAuB;UACvBK,qBAAqB;UACrB/E,KAAK,EAAG9C,EAAE,CAAE,iBAAkB,CAAG;UACjC4C,KAAK,EAAGmC,kBAAkB,IAAI,MAAQ;UACtC2C,QAAQ,EAAK9E,KAAK,IACjBmB,aAAa,CAAE;YACdgB,kBAAkB,EACjBnC,KAAK,KAAK,MAAM,GAAGA,KAAK,GAAG2F;UAC7B,CAAE,CACF;UAAApB,QAAA,EAECxE,qBAAqB,CAAC2D,GAAG,CAC1B,CAAE;YAAE1D,KAAK;YAAEC,IAAI;YAAEC;UAAM,CAAC,KAAM;YAC7B,oBACCd,IAAA,CAACrC,4BAA4B;cAE5BiD,KAAK,EAAGA,KAAO;cACfC,IAAI,EAAGA,IAAM;cACbC,KAAK,EAAGA;YAAO,GAHTF,KAIN,CAAC;UAEJ,CACD;QAAC,CACkB,CAAC,eACrBZ,IAAA,CAAC1C,aAAa;UACbkI,uBAAuB;UACvB1E,KAAK,EAAG9C,EAAE,CAAE,4BAA6B,CAAG;UAC5CyH,OAAO,EAAGtC,sBAAwB;UAClCuC,QAAQ,EAAK9E,KAAK,IACjBmB,aAAa,CAAE;YACdoB,sBAAsB,EAAEvC;UACzB,CAAE;QACF,CACD,CAAC;MAAA,CACD,CACF;IAAA,CACS,CAAC,eACZV,KAAA,CAAClD,SAAS;MAACgJ,KAAK,EAAGhI,EAAE,CAAE,uBAAwB,CAAG;MAAAmH,QAAA,gBACjDnF,IAAA,CAAC9C,aAAa;QACNiF,KAAK;QAAEC,OAAO;QACrBqE,aAAa,EAAGvE,WAAa;QAC7BwE,aAAa,EAAK9F,KAAK,IACtBmB,aAAa,CAAE;UAAEI,KAAK,EAAEvB;QAAM,CAAE,CAChC;QACD+F,eAAe,EAAK/F,KAAK,IACxBmB,aAAa,CAAE;UAAEK,OAAO,EAAExB;QAAM,CAAE,CAClC;QACDgG,qBAAqB,EAAKhG,KAAK,IAC9BmB,aAAa,CAAE;UAAEG,WAAW,EAAEtB;QAAM,CAAE,CACtC;QACD4D,mBAAmB,EAAGA,mBAAqB;QAC3CqC,gBAAgB,EAAGjC,gBAAkB;QACrCkC,kBAAkB,EAAGzE,UAAY;QACjC0E,cAAc,EAAKnG,KAAK,IACvBmB,aAAa,CAAE;UACdO,cAAc,EACb,EAAE,KAAK1B,KAAK,GAAGoG,MAAM,CAAEpG,KAAM,CAAC,GAAG2F;QACnC,CAAE,CACF;QACD/C,UAAU,EAAGA,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAI;QAC/ByD,gBAAgB,EAAG3E;MAAgB,CACnC,CAAC,EAEAM,UAAU,KAAK,MAAM,iBACtB5C,IAAA,CAAC5C,YAAY;QACZoI,uBAAuB;QACvBK,qBAAqB;QACrB/E,KAAK,EAAG9C,EAAE,CAAE,SAAU,CAAG;QACzB4C,KAAK,EAAGiC,OAAS;QACjB6C,QAAQ,EAAK9E,KAAK,IACjBmB,aAAa,CAAE;UAAEc,OAAO,EAAEjC;QAAM,CAAE,CAClC;QACDkF,GAAG,EAAG,CAAG;QACTC,GAAG,EACF,CAAE/D,SAAS,GACRpC,iBAAiB,GACjBsH,IAAI,CAACpB,GAAG,CAAElG,iBAAiB,EAAEoC,SAAU,CAC1C;QACDmF,QAAQ;MAAA,CACR,CACD;IAAA,CACS,CAAC;EAAA,CACX,CAAC;AAEL;AAEA,eAAe,SAASC,eAAeA,CAAE;EAAEtF,UAAU;EAAEC;AAAc,CAAC,EAAG;EAAA,IAAAsF,mBAAA;EACxE,MAAMC,UAAU,GAAG9H,aAAa,CAAE4H,eAAgB,CAAC;EAEnD,MAAM;IACLlF,WAAW;IACXC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,cAAc;IACdC,oBAAoB;IACpBC,uBAAuB;IACvBC,kBAAkB;IAClBC,eAAe;IACfC,aAAa;IACbC,UAAU;IACVC,OAAO;IACPC,aAAa;IACbC,kBAAkB;IAClBC,qBAAqB;IACrBC,sBAAsB;IACtBC,uBAAuB;IACvBC;EACD,CAAC,GAAGrB,UAAU;EACd,MAAM;IAAEyF;EAAY,CAAC,GAAG1I,SAAS,CAC9B4E,MAAM,IAAM;IACb,MAAM;MAAEG;IAAiB,CAAC,GAAGH,MAAM,CAAEnE,SAAU,CAAC;IAChD,MAAMkI,MAAM,GACXnF,UAAU,IAAIA,UAAU,CAACoF,MAAM,GAAG,CAAC,GAChCpF,UAAU,CAACiC,GAAG,CAAIoD,GAAG,IAAMA,GAAG,CAACC,EAAG,CAAC,GACnC,EAAE;IACN,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,WAAW,CAC1CD,MAAM,CAACE,OAAO,CAAE;MACf1F,UAAU,EAAEmF,MAAM;MAClB5F,MAAM,EAAEU,cAAc;MACtBH,KAAK;MACL6F,OAAO,EAAE5F,OAAO;MAChB9B,QAAQ,EAAE4B,WAAW;MACrB+F,MAAM,EAAE,yBAAyB;MACjCC,aAAa,EAAE;IAChB,CAAE,CAAC,CAAC9D,MAAM,CAAE,CAAE,GAAIxD,KAAK,CAAE,KAAM,OAAOA,KAAK,KAAK,WAAY,CAC7D,CAAC;IAED,OAAO;MACN2G,WAAW,EAAE3D,gBAAgB,CAC5B,UAAU,EACV,MAAM,EACNgE,gBACD;IACD,CAAC;EACF,CAAC,EACD,CAAE1F,WAAW,EAAEC,KAAK,EAAEC,OAAO,EAAEC,UAAU,EAAEC,cAAc,CAC1D,CAAC;;EAED;EACA,MAAM;IAAE6F;EAAoB,CAAC,GAAGrJ,WAAW,CAAES,WAAY,CAAC;EAC1D,MAAM6I,8BAA8B,GAAKC,KAAK,IAAM;IACnDA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBH,mBAAmB,CAAEnK,EAAE,CAAE,mCAAoC,CAAC,EAAE;MAC/D2J,EAAE,EAAE,yDAA0DL,UAAU,EAAG;MAC3EiB,IAAI,EAAE;IACP,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,QAAQ,GAAG,CAAC,CAAEjB,WAAW,EAAEE,MAAM;EACvC,MAAMgB,iBAAiB,gBACtBzI,IAAA,CAAC1B,iBAAiB;IAAA6G,QAAA,eACjBnF,IAAA,CAAC6B,QAAQ;MACRC,UAAU,EAAGA,UAAY;MACzBC,aAAa,EAAGA,aAAe;MAC/BC,SAAS,GAAAqF,mBAAA,GAAGE,WAAW,EAAEE,MAAM,cAAAJ,mBAAA,cAAAA,mBAAA,GAAI;IAAG,CACtC;EAAC,CACgB,CACnB;EAED,MAAMqB,UAAU,GAAGhK,aAAa,CAAE;IACjC8H,SAAS,EAAEzJ,IAAI,CAAE;MAChB,6BAA6B,EAAE,IAAI;MACnC,SAAS,EAAE6F,UAAU,KAAK,MAAM;MAChC,WAAW,EAAEF,eAAe;MAC5B,YAAY,EAAEC,aAAa;MAC3B,CAAE,WAAYE,OAAO,EAAG,GAAID,UAAU,KAAK;IAC5C,CAAE;EACH,CAAE,CAAC;EAEH,IAAK,CAAE4F,QAAQ,EAAG;IACjB,oBACCtI,KAAA;MAAA,GAAUwI,UAAU;MAAAvD,QAAA,GACjBsD,iBAAiB,eACnBzI,IAAA,CAAC/C,WAAW;QAAC4D,IAAI,EAAG9B,GAAK;QAAC+B,KAAK,EAAG9C,EAAE,CAAE,cAAe,CAAG;QAAAmH,QAAA,EACrD,CAAEwD,KAAK,CAACC,OAAO,CAAErB,WAAY,CAAC,gBAC/BvH,IAAA,CAAC3C,OAAO,IAAE,CAAC,GAEXW,EAAE,CAAE,iBAAkB;MACtB,CACW,CAAC;IAAA,CACV,CAAC;EAER;;EAEA;EACA,MAAM6K,YAAY,GACjBtB,WAAW,CAACE,MAAM,GAAGvF,WAAW,GAC7BqF,WAAW,CAACuB,KAAK,CAAE,CAAC,EAAE5G,WAAY,CAAC,GACnCqF,WAAW;EAEf,MAAMwB,cAAc,GAAG,CACtB;IACClI,IAAI,EAAE7B,IAAI;IACVgH,KAAK,EAAE/H,EAAE,CAAE,WAAW,EAAE,oCAAqC,CAAC;IAC9D+K,OAAO,EAAEA,CAAA,KAAMjH,aAAa,CAAE;MAAEa,UAAU,EAAE;IAAO,CAAE,CAAC;IACtDqG,QAAQ,EAAErG,UAAU,KAAK;EAC1B,CAAC,EACD;IACC/B,IAAI,EAAE5B,IAAI;IACV+G,KAAK,EAAE/H,EAAE,CAAE,WAAW,EAAE,oCAAqC,CAAC;IAC9D+K,OAAO,EAAEA,CAAA,KAAMjH,aAAa,CAAE;MAAEa,UAAU,EAAE;IAAO,CAAE,CAAC;IACtDqG,QAAQ,EAAErG,UAAU,KAAK;EAC1B,CAAC,CACD;EAED,MAAMsG,UAAU,GAAG7K,WAAW,CAAC,CAAC,CAAC8K,OAAO,CAACC,IAAI;EAE7C,oBACClJ,KAAA,CAAAE,SAAA;IAAA+E,QAAA,GACGsD,iBAAiB,eACnBzI,IAAA,CAACzB,aAAa;MAAA4G,QAAA,eACbnF,IAAA,CAACzC,YAAY;QAAC8L,QAAQ,EAAGN;MAAgB,CAAE;IAAC,CAC9B,CAAC,eAChB/I,IAAA;MAAA,GAAS0I,UAAU;MAAAvD,QAAA,EAChB0D,YAAY,CAACvE,GAAG,CAAItD,IAAI,IAAM;QAC/B,MAAMsI,YAAY,GAAGtI,IAAI,CAACgF,KAAK,CAACuD,QAAQ,CAACC,IAAI,CAAC,CAAC;QAC/C,IAAIC,OAAO,GAAGzI,IAAI,CAACyI,OAAO,CAACF,QAAQ;QACnC,MAAMG,aAAa,GAAG/H,gBAAgB,CAAEX,IAAK,CAAC;QAE9C,MAAM2I,cAAc,GAAGC,QAAQ,CAACC,aAAa,CAAE,KAAM,CAAC;QACtDF,cAAc,CAACG,SAAS,GAAGL,OAAO;QAElCA,OAAO,GACNE,cAAc,CAACI,WAAW,IAC1BJ,cAAc,CAACK,SAAS,IACxB,EAAE;QAEH,MAAM;UAAE3I,GAAG,EAAE4I,cAAc;UAAExI,GAAG,EAAEyI;QAAiB,CAAC,GACnDnJ,uBAAuB,CAAEC,IAAI,EAAEgC,qBAAsB,CAAC;QACvD,MAAMmH,YAAY,GAAGpN,IAAI,CAAE;UAC1B,uCAAuC,EAAE,IAAI;UAC7C,CAAE,QAASgG,kBAAkB,EAAG,GAC/B,CAAC,CAAEA;QACL,CAAE,CAAC;QACH,MAAMqH,mBAAmB,GACxB7H,oBAAoB,IAAI0H,cAAc;QACvC,MAAMI,aAAa,GAAGD,mBAAmB,iBACxCpK,IAAA;UACCsK,GAAG,EAAGL,cAAgB;UACtBxI,GAAG,EAAGyI,gBAAkB;UACxBK,KAAK,EAAG;YACPC,QAAQ,EAAEvH,sBAAsB;YAChCwH,SAAS,EAAEvH;UACZ;QAAG,CACH,CACD;QAED,MAAMwH,aAAa,GAClB5H,aAAa,GAAG2G,OAAO,CAACD,IAAI,CAAC,CAAC,CAACmB,KAAK,CAAE,GAAI,CAAC,CAAClD,MAAM,IAClDzG,IAAI,CAACyI,OAAO,CAACmB,GAAG,KAAK,EAAE;QAExB,MAAMC,WAAW,GAAGH,aAAa,gBAChCxK,KAAA,CAAAE,SAAA;UAAA+E,QAAA,GACGsE,OAAO,CACPD,IAAI,CAAC,CAAC,CACNmB,KAAK,CAAE,GAAG,EAAE7H,aAAc,CAAC,CAC3BgI,IAAI,CAAE,GAAI,CAAC,EACXrL,wBAAwB,CACzBvB,OAAO,CACN;UACAF,EAAE,CACD,uCACD,CAAC,EACDsL,YAAY,IAAItL,EAAE,CAAE,YAAa,CAClC,CAAC,EACD;YACC+M,CAAC;YAAA;YACA;YACA/K,IAAA;cACCwG,SAAS,EAAC,kCAAkC;cAC5CwE,IAAI,EAAGhK,IAAI,CAACiK,IAAM;cAClBC,GAAG,EAAC,qBAAqB;cACzBlC,OAAO,EACNZ;YACA,CACD,CACD;YACD+C,IAAI,eACHnL,IAAA;cAAMwG,SAAS,EAAC;YAAoB,CAAE;UAExC,CACD,CAAC;QAAA,CACA,CAAC,GAEHiD,OACA;QAED,oBACCvJ,KAAA;UAAAiF,QAAA,GACGiF,mBAAmB,iBACpBpK,IAAA;YAAKwG,SAAS,EAAG2D,YAAc;YAAAhF,QAAA,EAC5BhC,sBAAsB,gBACvBnD,IAAA;cACCgL,IAAI,EAAGhK,IAAI,CAACiK,IAAM;cAClBC,GAAG,EAAC,qBAAqB;cACzBlC,OAAO,EACNZ,8BACA;cAAAjD,QAAA,EAECkF;YAAa,CACb,CAAC,GAEJA;UACA,CACG,CACL,eACDrK,IAAA;YACCwG,SAAS,EAAC,mCAAmC;YAC7CwE,IAAI,EAAGhK,IAAI,CAACiK,IAAM;YAClBC,GAAG,EAAC,qBAAqB;YACzBE,uBAAuB,EACtB,CAAC,CAAE9B,YAAY,GACZ;cACA+B,MAAM,EAAE/B;YACR,CAAC,GACD/C,SACH;YACDyC,OAAO,EAAGZ,8BAAgC;YAAAjD,QAAA,EAExC,CAAEmE,YAAY,GAAGtL,EAAE,CAAE,YAAa,CAAC,GAAG;UAAI,CAC1C,CAAC,EACF2E,aAAa,IAAI+G,aAAa,iBAC/B1J,IAAA;YAAKwG,SAAS,EAAC,oCAAoC;YAAArB,QAAA,EAChDjH,OAAO,CACR;YACAF,EAAE,CAAE,OAAQ,CAAC,EACb0L,aAAa,CAACnF,IACf;UAAC,CACG,CACL,EACC7B,eAAe,IAAI1B,IAAI,CAACsK,QAAQ,iBACjCtL,IAAA;YACCuL,QAAQ,EAAGnN,MAAM,CAAE,GAAG,EAAE4C,IAAI,CAACsK,QAAS,CAAG;YACzC9E,SAAS,EAAC,kCAAkC;YAAArB,QAAA,EAE1ChH,QAAQ,CAAE+K,UAAU,EAAElI,IAAI,CAACsK,QAAS;UAAC,CAClC,CACN,EACC7I,kBAAkB,IACnBD,uBAAuB,KAAK,SAAS,iBACpCxC,IAAA;YAAKwG,SAAS,EAAC,qCAAqC;YAAArB,QAAA,EACjD0F;UAAW,CACT,CACL,EACApI,kBAAkB,IACnBD,uBAAuB,KAAK,WAAW,iBACtCxC,IAAA;YACCwG,SAAS,EAAC,0CAA0C;YACpD4E,uBAAuB,EAAG;cACzBC,MAAM,EAAErK,IAAI,CAACwK,OAAO,CAACZ,GAAG,CAACpB,IAAI,CAAC;YAC/B;UAAG,CACH,CACD;QAAA,GAhEOxI,IAAI,CAAC2G,EAiEX,CAAC;MAEP,CAAE;IAAC,CACA,CAAC;EAAA,CACJ,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","sprintf","dateI18n","format","getSettings","InspectorControls","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","alignNone","positionLeft","positionCenter","positionRight","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","DEFAULT_EXCERPT_LENGTH","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CATEGORIES_LIST_QUERY","per_page","_fields","context","USERS_LIST_QUERY","has_published_posts","imageAlignmentOptions","value","icon","label","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","getCurrentAuthor","author","Controls","attributes","setAttributes","postCount","_categoriesList$reduc","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","imageDimensions","width","height","dropdownMenuProps","imageSizeOptions","filter","slug","map","name","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","children","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","onChange","selected","options","__next40pxDefaultSize","min","max","undefined","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","className","length","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","LatestPostsEdit","_latestPosts$length","instanceId","latestPosts","catIds","cat","id","latestPostsQuery","Object","fromEntries","entries","orderby","_embed","ignore_sticky","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","type","hasPosts","inspectorControls","blockProps","Array","isArray","displayPosts","slice","layoutControls","title","onClick","isActive","dateFormat","formats","date","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n\tDEFAULT_EXCERPT_LENGTH,\n} from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\nconst imageAlignmentOptions = [\n\t{\n\t\tvalue: 'none',\n\t\ticon: alignNone,\n\t\tlabel: __( 'None' ),\n\t},\n\t{\n\t\tvalue: 'left',\n\t\ticon: positionLeft,\n\t\tlabel: __( 'Left' ),\n\t},\n\t{\n\t\tvalue: 'center',\n\t\ticon: positionCenter,\n\t\tlabel: __( 'Center' ),\n\t},\n\t{\n\t\tvalue: 'right',\n\t\ticon: positionRight,\n\t\tlabel: __( 'Right' ),\n\t},\n];\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nfunction getCurrentAuthor( post ) {\n\treturn post._embedded?.author?.[ 0 ];\n}\n\nfunction Controls( { attributes, setAttributes, postCount } ) {\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImageSizeSlug ]\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayPostContent: false,\n\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\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\thasValue={ () => !! displayPostContent }\n\t\t\t\t\tlabel={ __( 'Display post content' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: false } )\n\t\t\t\t\t}\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={ __( 'Display post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayPostContentRadio !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\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\tdisplayPostContentRadio: 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/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\texcerptLength !== DEFAULT_EXCERPT_LENGTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post meta' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\tdisplayPostDate: false,\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\thasValue={ () => !! displayAuthor }\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t}\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={ __( 'Display author name' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostDate }\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: false } )\n\t\t\t\t\t}\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={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Featured image' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayFeaturedImage: false,\n\t\t\t\t\t\tfeaturedImageAlign: undefined,\n\t\t\t\t\t\tfeaturedImageSizeSlug: 'thumbnail',\n\t\t\t\t\t\tfeaturedImageSizeWidth: null,\n\t\t\t\t\t\tfeaturedImageSizeHeight: null,\n\t\t\t\t\t\taddLinkToFeaturedImage: false,\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\thasValue={ () => !! displayFeaturedImage }\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: false } )\n\t\t\t\t\t}\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={ __( 'Display featured image' ) }\n\t\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\tfeaturedImageSizeSlug !== 'thumbnail' ||\n\t\t\t\t\t\t\t\tfeaturedImageSizeWidth !== null ||\n\t\t\t\t\t\t\t\tfeaturedImageSizeHeight !== null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: 'thumbnail',\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: null,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: null,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\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</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! featuredImageAlign }\n\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageAlign: undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\t\tvalue !== 'none'\n\t\t\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\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\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! addLinkToFeaturedImage }\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: false,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\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</ToolsPanelItem>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Sorting and filtering' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\torder: 'desc',\n\t\t\t\t\t\torderBy: 'date',\n\t\t\t\t\t\tpostsToShow: 5,\n\t\t\t\t\t\tcategories: undefined,\n\t\t\t\t\t\tselectedAuthor: undefined,\n\t\t\t\t\t\tcolumns: 3,\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\thasValue={ () =>\n\t\t\t\t\t\torder !== 'desc' ||\n\t\t\t\t\t\torderBy !== 'date' ||\n\t\t\t\t\t\tpostsToShow !== 5 ||\n\t\t\t\t\t\tcategories?.length > 0 ||\n\t\t\t\t\t\t!! selectedAuthor\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Sort and filter' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\torder: 'desc',\n\t\t\t\t\t\t\torderBy: 'date',\n\t\t\t\t\t\t\tpostsToShow: 5,\n\t\t\t\t\t\t\tcategories: undefined,\n\t\t\t\t\t\t\tselectedAuthor: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<QueryControls\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => columns !== 3 }\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcolumns: 3,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\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={ columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t! postCount\n\t\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t\t: Math.min( MAX_POSTS_COLUMNS, postCount )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trequired\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</>\n\t);\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst { latestPosts } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\t\t\tignore_sticky: true,\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postsToShow, order, orderBy, categories, selectedAuthor ]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<Controls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tpostCount={ latestPosts?.length ?? 0 }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = getCurrentAuthor( post );\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\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\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\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</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}