@wordpress/block-library 9.22.0 → 9.23.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 (68) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/calendar/index.js +1 -0
  3. package/build/calendar/index.js.map +1 -1
  4. package/build/comments/edit/comments-inspector-controls.js +13 -13
  5. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  6. package/build/comments/edit/index.js +4 -2
  7. package/build/comments/edit/index.js.map +1 -1
  8. package/build/cover/edit/inspector-controls.js +9 -12
  9. package/build/cover/edit/inspector-controls.js.map +1 -1
  10. package/build/group/edit.js +17 -13
  11. package/build/group/edit.js.map +1 -1
  12. package/build/image/edit.js +0 -6
  13. package/build/image/edit.js.map +1 -1
  14. package/build/latest-posts/edit.js +100 -54
  15. package/build/latest-posts/edit.js.map +1 -1
  16. package/build/query/edit/query-content.js +11 -12
  17. package/build/query/edit/query-content.js.map +1 -1
  18. package/build/separator/edit.js +13 -12
  19. package/build/separator/edit.js.map +1 -1
  20. package/build/template-part/edit/advanced-controls.js +14 -12
  21. package/build/template-part/edit/advanced-controls.js.map +1 -1
  22. package/build/template-part/edit/index.js +2 -1
  23. package/build/template-part/edit/index.js.map +1 -1
  24. package/build-module/calendar/index.js +1 -0
  25. package/build-module/calendar/index.js.map +1 -1
  26. package/build-module/comments/edit/comments-inspector-controls.js +14 -14
  27. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  28. package/build-module/comments/edit/index.js +4 -2
  29. package/build-module/comments/edit/index.js.map +1 -1
  30. package/build-module/cover/edit/inspector-controls.js +10 -13
  31. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  32. package/build-module/group/edit.js +16 -14
  33. package/build-module/group/edit.js.map +1 -1
  34. package/build-module/image/edit.js +0 -6
  35. package/build-module/image/edit.js.map +1 -1
  36. package/build-module/latest-posts/edit.js +100 -54
  37. package/build-module/latest-posts/edit.js.map +1 -1
  38. package/build-module/query/edit/query-content.js +12 -13
  39. package/build-module/query/edit/query-content.js.map +1 -1
  40. package/build-module/separator/edit.js +15 -14
  41. package/build-module/separator/edit.js.map +1 -1
  42. package/build-module/template-part/edit/advanced-controls.js +14 -12
  43. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  44. package/build-module/template-part/edit/index.js +2 -1
  45. package/build-module/template-part/edit/index.js.map +1 -1
  46. package/package.json +35 -35
  47. package/src/calendar/block.json +1 -0
  48. package/src/comments/edit/comments-inspector-controls.js +14 -12
  49. package/src/comments/edit/index.js +2 -1
  50. package/src/cover/edit/inspector-controls.js +9 -12
  51. package/src/group/edit.js +11 -10
  52. package/src/image/edit.js +0 -4
  53. package/src/latest-posts/edit.js +113 -81
  54. package/src/loginout/index.php +5 -1
  55. package/src/navigation/index.php +0 -1
  56. package/src/navigation-link/index.php +1 -1
  57. package/src/navigation-submenu/index.php +1 -1
  58. package/src/post-author/index.php +1 -1
  59. package/src/post-author-name/index.php +1 -1
  60. package/src/query/edit/query-content.js +10 -11
  61. package/src/separator/edit.js +16 -12
  62. package/src/template-part/edit/advanced-controls.js +9 -8
  63. package/src/template-part/edit/index.js +1 -0
  64. package/build/utils/messages.js +0 -22
  65. package/build/utils/messages.js.map +0 -1
  66. package/build-module/utils/messages.js +0 -15
  67. package/build-module/utils/messages.js.map +0 -1
  68. package/src/utils/messages.js +0 -31
@@ -29,6 +29,7 @@ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
29
29
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
30
30
  const CATEGORIES_LIST_QUERY = {
31
31
  per_page: -1,
32
+ _fields: 'id,name',
32
33
  context: 'view'
33
34
  };
34
35
  const USERS_LIST_QUERY = {
@@ -36,6 +37,23 @@ const USERS_LIST_QUERY = {
36
37
  has_published_posts: ['post'],
37
38
  context: 'view'
38
39
  };
40
+ const imageAlignmentOptions = [{
41
+ value: 'none',
42
+ icon: alignNone,
43
+ label: __('None')
44
+ }, {
45
+ value: 'left',
46
+ icon: positionLeft,
47
+ label: __('Left')
48
+ }, {
49
+ value: 'center',
50
+ icon: positionCenter,
51
+ label: __('Center')
52
+ }, {
53
+ value: 'right',
54
+ icon: positionRight,
55
+ label: __('Right')
56
+ }];
39
57
  function getFeaturedImageDetails(post, size) {
40
58
  var _image$media_details$;
41
59
  const image = post._embedded?.['wp:featuredmedia']?.['0'];
@@ -44,13 +62,15 @@ function getFeaturedImageDetails(post, size) {
44
62
  alt: image?.alt_text
45
63
  };
46
64
  }
47
- export default function LatestPostsEdit({
65
+ function getCurrentAuthor(post) {
66
+ return post._embedded?.author?.[0];
67
+ }
68
+ function Controls({
48
69
  attributes,
49
- setAttributes
70
+ setAttributes,
71
+ postCount
50
72
  }) {
51
73
  var _categoriesList$reduc;
52
- const instanceId = useInstanceId(LatestPostsEdit);
53
- const dropdownMenuProps = useToolsPanelDropdownMenuProps();
54
74
  const {
55
75
  postsToShow,
56
76
  order,
@@ -73,7 +93,6 @@ export default function LatestPostsEdit({
73
93
  } = attributes;
74
94
  const {
75
95
  imageSizes,
76
- latestPosts,
77
96
  defaultImageWidth,
78
97
  defaultImageHeight,
79
98
  categoriesList,
@@ -85,37 +104,15 @@ export default function LatestPostsEdit({
85
104
  getUsers
86
105
  } = select(coreStore);
87
106
  const settings = select(blockEditorStore).getSettings();
88
- const catIds = categories && categories.length > 0 ? categories.map(cat => cat.id) : [];
89
- const latestPostsQuery = Object.fromEntries(Object.entries({
90
- categories: catIds,
91
- author: selectedAuthor,
92
- order,
93
- orderby: orderBy,
94
- per_page: postsToShow,
95
- _embed: 'wp:featuredmedia',
96
- ignore_sticky: true
97
- }).filter(([, value]) => typeof value !== 'undefined'));
98
107
  return {
99
108
  defaultImageWidth: (_settings$imageDimens = settings.imageDimensions?.[featuredImageSizeSlug]?.width) !== null && _settings$imageDimens !== void 0 ? _settings$imageDimens : 0,
100
109
  defaultImageHeight: (_settings$imageDimens2 = settings.imageDimensions?.[featuredImageSizeSlug]?.height) !== null && _settings$imageDimens2 !== void 0 ? _settings$imageDimens2 : 0,
101
110
  imageSizes: settings.imageSizes,
102
- latestPosts: getEntityRecords('postType', 'post', latestPostsQuery),
103
111
  categoriesList: getEntityRecords('taxonomy', 'category', CATEGORIES_LIST_QUERY),
104
112
  authorList: getUsers(USERS_LIST_QUERY)
105
113
  };
106
- }, [featuredImageSizeSlug, postsToShow, order, orderBy, categories, selectedAuthor]);
107
-
108
- // If a user clicks to a link prevent redirection and show a warning.
109
- const {
110
- createWarningNotice
111
- } = useDispatch(noticeStore);
112
- const showRedirectionPreventedNotice = event => {
113
- event.preventDefault();
114
- createWarningNotice(__('Links are disabled in the editor.'), {
115
- id: `block-library/core/latest-posts/redirection-prevented/${instanceId}`,
116
- type: 'snackbar'
117
- });
118
- };
114
+ }, [featuredImageSizeSlug]);
115
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
119
116
  const imageSizeOptions = imageSizes.filter(({
120
117
  slug
121
118
  }) => slug !== 'full').map(({
@@ -148,25 +145,7 @@ export default function LatestPostsEdit({
148
145
  categories: allCategories
149
146
  });
150
147
  };
151
- const imageAlignmentOptions = [{
152
- value: 'none',
153
- icon: alignNone,
154
- label: __('None')
155
- }, {
156
- value: 'left',
157
- icon: positionLeft,
158
- label: __('Left')
159
- }, {
160
- value: 'center',
161
- icon: positionCenter,
162
- label: __('Center')
163
- }, {
164
- value: 'right',
165
- icon: positionRight,
166
- label: __('Right')
167
- }];
168
- const hasPosts = !!latestPosts?.length;
169
- const inspectorControls = /*#__PURE__*/_jsxs(InspectorControls, {
148
+ return /*#__PURE__*/_jsxs(_Fragment, {
170
149
  children: [/*#__PURE__*/_jsxs(ToolsPanel, {
171
150
  label: __('Post content'),
172
151
  resetAll: () => setAttributes({
@@ -177,14 +156,14 @@ export default function LatestPostsEdit({
177
156
  dropdownMenuProps: dropdownMenuProps,
178
157
  children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
179
158
  hasValue: () => !!displayPostContent,
180
- label: __('Post content'),
159
+ label: __('Display post content'),
181
160
  onDeselect: () => setAttributes({
182
161
  displayPostContent: false
183
162
  }),
184
163
  isShownByDefault: true,
185
164
  children: /*#__PURE__*/_jsx(ToggleControl, {
186
165
  __nextHasNoMarginBottom: true,
187
- label: __('Post content'),
166
+ label: __('Display post content'),
188
167
  checked: displayPostContent,
189
168
  onChange: value => setAttributes({
190
169
  displayPostContent: value
@@ -192,13 +171,13 @@ export default function LatestPostsEdit({
192
171
  })
193
172
  }), displayPostContent && /*#__PURE__*/_jsx(ToolsPanelItem, {
194
173
  hasValue: () => displayPostContentRadio !== 'excerpt',
195
- label: __('Show'),
174
+ label: __('Content length'),
196
175
  onDeselect: () => setAttributes({
197
176
  displayPostContentRadio: 'excerpt'
198
177
  }),
199
178
  isShownByDefault: true,
200
179
  children: /*#__PURE__*/_jsx(RadioControl, {
201
- label: __('Show'),
180
+ label: __('Content length'),
202
181
  selected: displayPostContentRadio,
203
182
  options: [{
204
183
  label: __('Excerpt'),
@@ -362,11 +341,78 @@ export default function LatestPostsEdit({
362
341
  columns: value
363
342
  }),
364
343
  min: 2,
365
- max: !hasPosts ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, latestPosts.length),
344
+ max: !postCount ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, postCount),
366
345
  required: true
367
346
  })]
368
347
  })]
369
348
  });
349
+ }
350
+ export default function LatestPostsEdit({
351
+ attributes,
352
+ setAttributes
353
+ }) {
354
+ var _latestPosts$length;
355
+ const instanceId = useInstanceId(LatestPostsEdit);
356
+ const {
357
+ postsToShow,
358
+ order,
359
+ orderBy,
360
+ categories,
361
+ selectedAuthor,
362
+ displayFeaturedImage,
363
+ displayPostContentRadio,
364
+ displayPostContent,
365
+ displayPostDate,
366
+ displayAuthor,
367
+ postLayout,
368
+ columns,
369
+ excerptLength,
370
+ featuredImageAlign,
371
+ featuredImageSizeSlug,
372
+ featuredImageSizeWidth,
373
+ featuredImageSizeHeight,
374
+ addLinkToFeaturedImage
375
+ } = attributes;
376
+ const {
377
+ latestPosts
378
+ } = useSelect(select => {
379
+ const {
380
+ getEntityRecords
381
+ } = select(coreStore);
382
+ const catIds = categories && categories.length > 0 ? categories.map(cat => cat.id) : [];
383
+ const latestPostsQuery = Object.fromEntries(Object.entries({
384
+ categories: catIds,
385
+ author: selectedAuthor,
386
+ order,
387
+ orderby: orderBy,
388
+ per_page: postsToShow,
389
+ _embed: 'author,wp:featuredmedia',
390
+ ignore_sticky: true
391
+ }).filter(([, value]) => typeof value !== 'undefined'));
392
+ return {
393
+ latestPosts: getEntityRecords('postType', 'post', latestPostsQuery)
394
+ };
395
+ }, [postsToShow, order, orderBy, categories, selectedAuthor]);
396
+
397
+ // If a user clicks to a link prevent redirection and show a warning.
398
+ const {
399
+ createWarningNotice
400
+ } = useDispatch(noticeStore);
401
+ const showRedirectionPreventedNotice = event => {
402
+ event.preventDefault();
403
+ createWarningNotice(__('Links are disabled in the editor.'), {
404
+ id: `block-library/core/latest-posts/redirection-prevented/${instanceId}`,
405
+ type: 'snackbar'
406
+ });
407
+ };
408
+ const hasPosts = !!latestPosts?.length;
409
+ const inspectorControls = /*#__PURE__*/_jsx(InspectorControls, {
410
+ children: /*#__PURE__*/_jsx(Controls, {
411
+ attributes: attributes,
412
+ setAttributes: setAttributes,
413
+ postCount: (_latestPosts$length = latestPosts?.length) !== null && _latestPosts$length !== void 0 ? _latestPosts$length : 0
414
+ })
415
+ });
370
416
  const blockProps = useBlockProps({
371
417
  className: clsx({
372
418
  'wp-block-latest-posts__list': true,
@@ -415,7 +461,7 @@ export default function LatestPostsEdit({
415
461
  children: displayPosts.map(post => {
416
462
  const titleTrimmed = post.title.rendered.trim();
417
463
  let excerpt = post.excerpt.rendered;
418
- const currentAuthor = authorList?.find(author => author.id === post.author);
464
+ const currentAuthor = getCurrentAuthor(post);
419
465
  const excerptElement = document.createElement('div');
420
466
  excerptElement.innerHTML = excerpt;
421
467
  excerpt = excerptElement.textContent || excerptElement.innerText || '';
@@ -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","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","dropdownMenuProps","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","ignore_sticky","filter","value","imageDimensions","width","height","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","hasPosts","inspectorControls","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","blockProps","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","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\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\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\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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 {\n\t\timageSizes,\n\t\tlatestPosts,\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\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: '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\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\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\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[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\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 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\tconst imageAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'none',\n\t\t\ticon: alignNone,\n\t\t\tlabel: __( 'None' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: positionLeft,\n\t\t\tlabel: __( 'Left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: positionCenter,\n\t\t\tlabel: __( 'Center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: positionRight,\n\t\t\tlabel: __( 'Right' ),\n\t\t},\n\t];\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\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={ __( '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={ __( '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={ __( 'Show' ) }\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={ __( 'Show' ) }\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\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\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! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\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</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 = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\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":[]}
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":[]}
@@ -4,8 +4,7 @@
4
4
  import { useSelect, useDispatch } from '@wordpress/data';
5
5
  import { useInstanceId } from '@wordpress/compose';
6
6
  import { useEffect, useCallback } from '@wordpress/element';
7
- import { BlockControls, InspectorControls, useBlockProps, store as blockEditorStore, useInnerBlocksProps } from '@wordpress/block-editor';
8
- import { SelectControl } from '@wordpress/components';
7
+ import { BlockControls, InspectorControls, useBlockProps, store as blockEditorStore, useInnerBlocksProps, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
9
8
  import { __ } from '@wordpress/i18n';
10
9
  import { store as coreStore } from '@wordpress/core-data';
11
10
 
@@ -13,12 +12,15 @@ import { store as coreStore } from '@wordpress/core-data';
13
12
  * Internal dependencies
14
13
  */
15
14
  import EnhancedPaginationControl from './inspector-controls/enhanced-pagination-control';
15
+ import { unlock } from '../../lock-unlock';
16
16
  import QueryInspectorControls from './inspector-controls';
17
17
  import EnhancedPaginationModal from './enhanced-pagination-modal';
18
18
  import { getQueryContextFromTemplate } from '../utils';
19
19
  import QueryToolbar from './query-toolbar';
20
- import { htmlElementMessages } from '../../utils/messages';
21
20
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
21
+ const {
22
+ HTMLElementControl
23
+ } = unlock(blockEditorPrivateApis);
22
24
  const DEFAULTS_POSTS_PER_PAGE = 3;
23
25
  const TEMPLATE = [['core/post-template']];
24
26
  export default function QueryContent({
@@ -135,10 +137,12 @@ export default function QueryContent({
135
137
  })
136
138
  }), /*#__PURE__*/_jsxs(InspectorControls, {
137
139
  group: "advanced",
138
- children: [/*#__PURE__*/_jsx(SelectControl, {
139
- __nextHasNoMarginBottom: true,
140
- __next40pxDefaultSize: true,
141
- label: __('HTML element'),
140
+ children: [/*#__PURE__*/_jsx(HTMLElementControl, {
141
+ tagName: TagName,
142
+ onChange: value => setAttributes({
143
+ tagName: value
144
+ }),
145
+ clientId: clientId,
142
146
  options: [{
143
147
  label: __('Default (<div>)'),
144
148
  value: 'div'
@@ -151,12 +155,7 @@ export default function QueryContent({
151
155
  }, {
152
156
  label: '<aside>',
153
157
  value: 'aside'
154
- }],
155
- value: TagName,
156
- onChange: value => setAttributes({
157
- tagName: value
158
- }),
159
- help: htmlElementMessages[TagName]
158
+ }]
160
159
  }), /*#__PURE__*/_jsx(EnhancedPaginationControl, {
161
160
  enhancedPagination: enhancedPagination,
162
161
  setAttributes: setAttributes,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useInstanceId","useEffect","useCallback","BlockControls","InspectorControls","useBlockProps","store","blockEditorStore","useInnerBlocksProps","SelectControl","__","coreStore","EnhancedPaginationControl","QueryInspectorControls","EnhancedPaginationModal","getQueryContextFromTemplate","QueryToolbar","htmlElementMessages","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","clientId","context","name","queryId","query","enhancedPagination","tagName","TagName","inherit","templateSlug","isSingular","__unstableMarkNextChangeAsNotPersistent","instanceId","blockProps","innerBlocksProps","template","postsPerPage","select","getSettings","getEntityRecord","getEntityRecordEdits","canUser","settingPerPage","kind","posts_per_page","editedSettingPerPage","updateQuery","newQuery","prevAttributes","perPage","Object","keys","length","Number","isFinite","children","setQuery","group","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onChange","help"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useCallback } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EnhancedPaginationControl from './inspector-controls/enhanced-pagination-control';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\nimport { getQueryContextFromTemplate } from '../utils';\nimport QueryToolbar from './query-toolbar';\nimport { htmlElementMessages } from '../../utils/messages';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tcontext,\n\tname,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tenhancedPagination,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { templateSlug } = context;\n\tconst { isSingular } = getQueryContextFromTemplate( templateSlug );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, getEntityRecordEdits, canUser } =\n\t\t\tselect( coreStore );\n\t\tconst settingPerPage = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\n\t\t// Gets changes made via the template area posts per page setting. These won't be saved\n\t\t// until the page is saved, but we should reflect this setting within the query loops\n\t\t// that inherit it.\n\t\tconst editedSettingPerPage = +getEntityRecordEdits( 'root', 'site' )\n\t\t\t?.posts_per_page;\n\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\teditedSettingPerPage ||\n\t\t\t\tsettingPerPage ||\n\t\t\t\tDEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tconst updateQuery = useCallback(\n\t\t( newQuery ) =>\n\t\t\tsetAttributes( ( prevAttributes ) => ( {\n\t\t\t\tquery: { ...prevAttributes.query, ...newQuery },\n\t\t\t} ) ),\n\t\t[ setAttributes ]\n\t);\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [\n\t\tquery.perPage,\n\t\tinherit,\n\t\tpostsPerPage,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateQuery,\n\t] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [\n\t\tqueryId,\n\t\tinstanceId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t] );\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<QueryInspectorControls\n\t\t\t\t\tname={ name }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSingular={ isSingular }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar attributes={ attributes } clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useDispatch","useInstanceId","useEffect","useCallback","BlockControls","InspectorControls","useBlockProps","store","blockEditorStore","useInnerBlocksProps","privateApis","blockEditorPrivateApis","__","coreStore","EnhancedPaginationControl","unlock","QueryInspectorControls","EnhancedPaginationModal","getQueryContextFromTemplate","QueryToolbar","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","HTMLElementControl","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","clientId","context","name","queryId","query","enhancedPagination","tagName","TagName","inherit","templateSlug","isSingular","__unstableMarkNextChangeAsNotPersistent","instanceId","blockProps","innerBlocksProps","template","postsPerPage","select","getSettings","getEntityRecord","getEntityRecordEdits","canUser","settingPerPage","kind","posts_per_page","editedSettingPerPage","updateQuery","newQuery","prevAttributes","perPage","Object","keys","length","Number","isFinite","children","setQuery","group","onChange","value","options","label"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useCallback } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EnhancedPaginationControl from './inspector-controls/enhanced-pagination-control';\nimport { unlock } from '../../lock-unlock';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\nimport { getQueryContextFromTemplate } from '../utils';\nimport QueryToolbar from './query-toolbar';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tcontext,\n\tname,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tenhancedPagination,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { templateSlug } = context;\n\tconst { isSingular } = getQueryContextFromTemplate( templateSlug );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, getEntityRecordEdits, canUser } =\n\t\t\tselect( coreStore );\n\t\tconst settingPerPage = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\n\t\t// Gets changes made via the template area posts per page setting. These won't be saved\n\t\t// until the page is saved, but we should reflect this setting within the query loops\n\t\t// that inherit it.\n\t\tconst editedSettingPerPage = +getEntityRecordEdits( 'root', 'site' )\n\t\t\t?.posts_per_page;\n\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\teditedSettingPerPage ||\n\t\t\t\tsettingPerPage ||\n\t\t\t\tDEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tconst updateQuery = useCallback(\n\t\t( newQuery ) =>\n\t\t\tsetAttributes( ( prevAttributes ) => ( {\n\t\t\t\tquery: { ...prevAttributes.query, ...newQuery },\n\t\t\t} ) ),\n\t\t[ setAttributes ]\n\t);\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [\n\t\tquery.perPage,\n\t\tinherit,\n\t\tpostsPerPage,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateQuery,\n\t] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [\n\t\tqueryId,\n\t\tinstanceId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t] );\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<QueryInspectorControls\n\t\t\t\t\tname={ name }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSingular={ isSingular }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar attributes={ attributes } clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,19 +6,23 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { HorizontalRule, SelectControl } from '@wordpress/components';
10
- import { useBlockProps, getColorClassName, __experimentalUseColorProps as useColorProps, InspectorControls } from '@wordpress/block-editor';
9
+ import { HorizontalRule } from '@wordpress/components';
10
+ import { useBlockProps, getColorClassName, __experimentalUseColorProps as useColorProps, InspectorControls, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
11
11
  import { __ } from '@wordpress/i18n';
12
12
 
13
13
  /**
14
14
  * Internal dependencies
15
15
  */
16
16
  import useDeprecatedOpacity from './use-deprecated-opacity';
17
- import { htmlElementMessages } from '../utils/messages';
17
+ import { unlock } from '../lock-unlock';
18
18
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
19
+ const {
20
+ HTMLElementControl
21
+ } = unlock(blockEditorPrivateApis);
19
22
  export default function SeparatorEdit({
20
23
  attributes,
21
- setAttributes
24
+ setAttributes,
25
+ clientId
22
26
  }) {
23
27
  const {
24
28
  backgroundColor,
@@ -48,22 +52,19 @@ export default function SeparatorEdit({
48
52
  return /*#__PURE__*/_jsxs(_Fragment, {
49
53
  children: [/*#__PURE__*/_jsx(InspectorControls, {
50
54
  group: "advanced",
51
- children: /*#__PURE__*/_jsx(SelectControl, {
52
- __nextHasNoMarginBottom: true,
53
- __next40pxDefaultSize: true,
54
- label: __('HTML element'),
55
+ children: /*#__PURE__*/_jsx(HTMLElementControl, {
56
+ tagName: tagName,
57
+ onChange: value => setAttributes({
58
+ tagName: value
59
+ }),
60
+ clientId: clientId,
55
61
  options: [{
56
62
  label: __('Default (<hr>)'),
57
63
  value: 'hr'
58
64
  }, {
59
65
  label: '<div>',
60
66
  value: 'div'
61
- }],
62
- value: tagName,
63
- onChange: value => setAttributes({
64
- tagName: value
65
- }),
66
- help: htmlElementMessages[tagName]
67
+ }]
67
68
  })
68
69
  }), /*#__PURE__*/_jsx(Wrapper, {
69
70
  ...useBlockProps({