@wordpress/block-library 9.25.0 → 9.26.1-next.719a03cbe.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 (179) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/avatar/edit.js +84 -39
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/avatar/user-control.js +32 -17
  5. package/build/avatar/user-control.js.map +1 -1
  6. package/build/button/edit.js +1 -1
  7. package/build/button/edit.js.map +1 -1
  8. package/build/cover/edit/inspector-controls.js +2 -2
  9. package/build/cover/edit/inspector-controls.js.map +1 -1
  10. package/build/details/index.js +1 -1
  11. package/build/details/index.js.map +1 -1
  12. package/build/embed/variations.js +0 -10
  13. package/build/embed/variations.js.map +1 -1
  14. package/build/form/edit.js +0 -1
  15. package/build/form/edit.js.map +1 -1
  16. package/build/form/index.js +3 -3
  17. package/build/form/index.js.map +1 -1
  18. package/build/form-input/index.js +2 -1
  19. package/build/form-input/index.js.map +1 -1
  20. package/build/form-submission-notification/index.js +2 -1
  21. package/build/form-submission-notification/index.js.map +1 -1
  22. package/build/form-submit-button/index.js +2 -1
  23. package/build/form-submit-button/index.js.map +1 -1
  24. package/build/gallery/constants.js +2 -1
  25. package/build/gallery/constants.js.map +1 -1
  26. package/build/gallery/edit.js +93 -15
  27. package/build/gallery/edit.js.map +1 -1
  28. package/build/image/edit.js +6 -0
  29. package/build/image/edit.js.map +1 -1
  30. package/build/image/image.js +1 -0
  31. package/build/image/image.js.map +1 -1
  32. package/build/image/view.js +0 -3
  33. package/build/image/view.js.map +1 -1
  34. package/build/list/index.js +0 -1
  35. package/build/list/index.js.map +1 -1
  36. package/build/more/edit.native.js +17 -32
  37. package/build/more/edit.native.js.map +1 -1
  38. package/build/navigation-link/edit.js +28 -1
  39. package/build/navigation-link/edit.js.map +1 -1
  40. package/build/post-author/edit.js +152 -52
  41. package/build/post-author/edit.js.map +1 -1
  42. package/build/post-comments-form/form.js +1 -1
  43. package/build/post-comments-form/form.js.map +1 -1
  44. package/build/post-featured-image/edit.js +2 -1
  45. package/build/post-featured-image/edit.js.map +1 -1
  46. package/build/post-navigation-link/edit.js +72 -33
  47. package/build/post-navigation-link/edit.js.map +1 -1
  48. package/build/search/edit.js +1 -1
  49. package/build/search/edit.js.map +1 -1
  50. package/build/site-logo/edit.js +69 -24
  51. package/build/site-logo/edit.js.map +1 -1
  52. package/build/social-link/edit.js +21 -5
  53. package/build/social-link/edit.js.map +1 -1
  54. package/build/social-link/edit.native.js +13 -5
  55. package/build/social-link/edit.native.js.map +1 -1
  56. package/build/social-link/social-list.js +17 -25
  57. package/build/social-link/social-list.js.map +1 -1
  58. package/build/social-links/edit.js +8 -5
  59. package/build/social-links/edit.js.map +1 -1
  60. package/build/video/tracks-editor.js +23 -9
  61. package/build/video/tracks-editor.js.map +1 -1
  62. package/build-module/avatar/edit.js +83 -38
  63. package/build-module/avatar/edit.js.map +1 -1
  64. package/build-module/avatar/user-control.js +33 -18
  65. package/build-module/avatar/user-control.js.map +1 -1
  66. package/build-module/button/edit.js +1 -1
  67. package/build-module/button/edit.js.map +1 -1
  68. package/build-module/cover/edit/inspector-controls.js +2 -2
  69. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  70. package/build-module/details/index.js +1 -1
  71. package/build-module/details/index.js.map +1 -1
  72. package/build-module/embed/variations.js +0 -10
  73. package/build-module/embed/variations.js.map +1 -1
  74. package/build-module/form/edit.js +0 -1
  75. package/build-module/form/edit.js.map +1 -1
  76. package/build-module/form/index.js +3 -3
  77. package/build-module/form/index.js.map +1 -1
  78. package/build-module/form-input/index.js +2 -1
  79. package/build-module/form-input/index.js.map +1 -1
  80. package/build-module/form-submission-notification/index.js +2 -1
  81. package/build-module/form-submission-notification/index.js.map +1 -1
  82. package/build-module/form-submit-button/index.js +2 -1
  83. package/build-module/form-submit-button/index.js.map +1 -1
  84. package/build-module/gallery/constants.js +1 -0
  85. package/build-module/gallery/constants.js.map +1 -1
  86. package/build-module/gallery/edit.js +95 -17
  87. package/build-module/gallery/edit.js.map +1 -1
  88. package/build-module/image/edit.js +6 -0
  89. package/build-module/image/edit.js.map +1 -1
  90. package/build-module/image/image.js +1 -0
  91. package/build-module/image/image.js.map +1 -1
  92. package/build-module/image/view.js +0 -3
  93. package/build-module/image/view.js.map +1 -1
  94. package/build-module/list/index.js +0 -1
  95. package/build-module/list/index.js.map +1 -1
  96. package/build-module/more/edit.native.js +16 -30
  97. package/build-module/more/edit.native.js.map +1 -1
  98. package/build-module/navigation-link/edit.js +29 -2
  99. package/build-module/navigation-link/edit.js.map +1 -1
  100. package/build-module/post-author/edit.js +153 -53
  101. package/build-module/post-author/edit.js.map +1 -1
  102. package/build-module/post-comments-form/form.js +1 -1
  103. package/build-module/post-comments-form/form.js.map +1 -1
  104. package/build-module/post-featured-image/edit.js +2 -1
  105. package/build-module/post-featured-image/edit.js.map +1 -1
  106. package/build-module/post-navigation-link/edit.js +73 -34
  107. package/build-module/post-navigation-link/edit.js.map +1 -1
  108. package/build-module/search/edit.js +1 -1
  109. package/build-module/search/edit.js.map +1 -1
  110. package/build-module/site-logo/edit.js +70 -25
  111. package/build-module/site-logo/edit.js.map +1 -1
  112. package/build-module/social-link/edit.js +24 -8
  113. package/build-module/social-link/edit.js.map +1 -1
  114. package/build-module/social-link/edit.native.js +15 -6
  115. package/build-module/social-link/edit.native.js.map +1 -1
  116. package/build-module/social-link/social-list.js +16 -21
  117. package/build-module/social-link/social-list.js.map +1 -1
  118. package/build-module/social-links/edit.js +8 -5
  119. package/build-module/social-links/edit.js.map +1 -1
  120. package/build-module/video/tracks-editor.js +24 -10
  121. package/build-module/video/tracks-editor.js.map +1 -1
  122. package/build-style/calendar/style-rtl.css +7 -7
  123. package/build-style/calendar/style.css +7 -7
  124. package/build-style/comments-pagination/editor-rtl.css +0 -12
  125. package/build-style/comments-pagination/editor.css +0 -14
  126. package/build-style/comments-pagination/style-rtl.css +0 -7
  127. package/build-style/comments-pagination/style.css +0 -9
  128. package/build-style/editor-rtl.css +0 -30
  129. package/build-style/editor.css +0 -32
  130. package/build-style/gallery/editor-rtl.css +0 -13
  131. package/build-style/gallery/editor.css +0 -13
  132. package/build-style/navigation/style-rtl.css +5 -0
  133. package/build-style/navigation/style.css +5 -0
  134. package/build-style/style-rtl.css +12 -14
  135. package/build-style/style.css +12 -16
  136. package/package.json +35 -35
  137. package/src/avatar/edit.js +99 -51
  138. package/src/avatar/user-control.js +34 -29
  139. package/src/button/edit.js +1 -1
  140. package/src/calendar/style.scss +10 -10
  141. package/src/comments-pagination/editor.scss +0 -15
  142. package/src/comments-pagination/style.scss +0 -8
  143. package/src/cover/edit/inspector-controls.js +1 -1
  144. package/src/details/index.js +1 -1
  145. package/src/editor.scss +0 -1
  146. package/src/embed/variations.js +0 -8
  147. package/src/form/block.json +1 -2
  148. package/src/form/edit.js +0 -1
  149. package/src/form/index.js +1 -0
  150. package/src/form-input/index.js +1 -0
  151. package/src/form-submission-notification/index.js +1 -0
  152. package/src/form-submit-button/index.js +1 -0
  153. package/src/gallery/constants.js +1 -0
  154. package/src/gallery/edit.js +182 -68
  155. package/src/gallery/editor.scss +0 -17
  156. package/src/image/edit.js +12 -0
  157. package/src/image/image.js +1 -0
  158. package/src/image/index.php +4 -1
  159. package/src/image/view.js +0 -3
  160. package/src/list/block.json +0 -1
  161. package/src/more/edit.native.js +19 -33
  162. package/src/navigation/style.scss +9 -0
  163. package/src/navigation-link/edit.js +32 -2
  164. package/src/post-author/edit.js +178 -63
  165. package/src/post-comments-form/form.js +1 -1
  166. package/src/post-featured-image/edit.js +1 -0
  167. package/src/post-navigation-link/edit.js +96 -51
  168. package/src/rss/index.php +2 -1
  169. package/src/search/edit.js +1 -1
  170. package/src/site-logo/edit.js +90 -35
  171. package/src/social-link/edit.js +18 -7
  172. package/src/social-link/edit.native.js +10 -4
  173. package/src/social-link/index.php +13 -0
  174. package/src/social-link/social-list.js +15 -20
  175. package/src/social-links/edit.js +6 -7
  176. package/src/video/tracks-editor.js +18 -6
  177. package/build-style/post-author/editor-rtl.css +0 -140
  178. package/build-style/post-author/editor.css +0 -140
  179. package/src/post-author/editor.scss +0 -7
@@ -7,16 +7,86 @@ import clsx from 'clsx';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps } from '@wordpress/block-editor';
10
- import { ComboboxControl, PanelBody, SelectControl, ToggleControl, __experimentalVStack as VStack } from '@wordpress/components';
10
+ import { ComboboxControl, SelectControl, ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
11
+ import { debounce } from '@wordpress/compose';
12
+ import { useMemo, useState } from '@wordpress/element';
11
13
  import { useSelect, useDispatch } from '@wordpress/data';
12
14
  import { __, sprintf } from '@wordpress/i18n';
15
+ import { decodeEntities } from '@wordpress/html-entities';
13
16
  import { store as coreStore } from '@wordpress/core-data';
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
14
22
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
- const minimumUsersForCombobox = 25;
16
23
  const AUTHORS_QUERY = {
17
24
  who: 'authors',
18
- per_page: 100
25
+ per_page: 100,
26
+ _fields: 'id,name',
27
+ context: 'view'
19
28
  };
29
+ function AuthorCombobox({
30
+ value,
31
+ onChange
32
+ }) {
33
+ const [filterValue, setFilterValue] = useState('');
34
+ const {
35
+ authors,
36
+ isLoading
37
+ } = useSelect(select => {
38
+ const {
39
+ getUsers,
40
+ isResolving
41
+ } = select(coreStore);
42
+ const query = {
43
+ ...AUTHORS_QUERY
44
+ };
45
+ if (filterValue) {
46
+ query.search = filterValue;
47
+ query.search_columns = ['name'];
48
+ }
49
+ return {
50
+ authors: getUsers(query),
51
+ isLoading: isResolving('getUsers', [query])
52
+ };
53
+ }, [filterValue]);
54
+ const authorOptions = useMemo(() => {
55
+ const fetchedAuthors = (authors !== null && authors !== void 0 ? authors : []).map(author => {
56
+ return {
57
+ value: author.id,
58
+ label: decodeEntities(author.name)
59
+ };
60
+ });
61
+
62
+ // Ensure the current author is included in the list.
63
+ const foundAuthor = fetchedAuthors.findIndex(fetchedAuthor => value?.id === fetchedAuthor.value);
64
+ let currentAuthor = [];
65
+ if (foundAuthor < 0 && value) {
66
+ currentAuthor = [{
67
+ value: value.id,
68
+ label: decodeEntities(value.name)
69
+ }];
70
+ } else if (foundAuthor < 0 && !value) {
71
+ currentAuthor = [{
72
+ value: 0,
73
+ label: __('(No author)')
74
+ }];
75
+ }
76
+ return [...currentAuthor, ...fetchedAuthors];
77
+ }, [authors, value]);
78
+ return /*#__PURE__*/_jsx(ComboboxControl, {
79
+ __next40pxDefaultSize: true,
80
+ __nextHasNoMarginBottom: true,
81
+ label: __('Author'),
82
+ options: authorOptions,
83
+ value: value?.id,
84
+ onFilterValueChange: debounce(setFilterValue, 300),
85
+ onChange: onChange,
86
+ allowReset: false,
87
+ isLoading: isLoading
88
+ });
89
+ }
20
90
  function PostAuthorEdit({
21
91
  isSelected,
22
92
  context: {
@@ -28,25 +98,26 @@ function PostAuthorEdit({
28
98
  setAttributes
29
99
  }) {
30
100
  const isDescendentOfQueryLoop = Number.isFinite(queryId);
101
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
31
102
  const {
32
- authorId,
33
103
  authorDetails,
34
- authors,
104
+ canAssignAuthor,
35
105
  supportsAuthor
36
106
  } = useSelect(select => {
37
107
  var _getPostType$supports;
38
108
  const {
39
109
  getEditedEntityRecord,
40
110
  getUser,
41
- getUsers,
42
111
  getPostType
43
112
  } = select(coreStore);
44
- const _authorId = getEditedEntityRecord('postType', postType, postId)?.author;
113
+ const currentPost = getEditedEntityRecord('postType', postType, postId);
114
+ const authorId = currentPost?.author;
45
115
  return {
46
- authorId: _authorId,
47
- authorDetails: _authorId ? getUser(_authorId) : null,
48
- authors: getUsers(AUTHORS_QUERY),
49
- supportsAuthor: (_getPostType$supports = getPostType(postType)?.supports?.author) !== null && _getPostType$supports !== void 0 ? _getPostType$supports : false
116
+ authorDetails: authorId ? getUser(authorId, {
117
+ context: 'view'
118
+ }) : null,
119
+ supportsAuthor: (_getPostType$supports = getPostType(postType)?.supports?.author) !== null && _getPostType$supports !== void 0 ? _getPostType$supports : false,
120
+ canAssignAuthor: currentPost?._links?.['wp:action-assign-author'] ? true : false
50
121
  };
51
122
  }, [postType, postId]);
52
123
  const {
@@ -58,7 +129,8 @@ function PostAuthorEdit({
58
129
  showBio,
59
130
  byline,
60
131
  isLink,
61
- linkTarget
132
+ linkTarget,
133
+ avatarSize
62
134
  } = attributes;
63
135
  const avatarSizes = [];
64
136
  const authorName = authorDetails?.name || __('Post Author');
@@ -75,22 +147,12 @@ function PostAuthorEdit({
75
147
  [`has-text-align-${textAlign}`]: textAlign
76
148
  })
77
149
  });
78
- const authorOptions = authors?.length ? authors.map(({
79
- id,
80
- name
81
- }) => {
82
- return {
83
- value: id,
84
- label: name
85
- };
86
- }) : [];
87
150
  const handleSelect = nextAuthorId => {
88
151
  editEntityRecord('postType', postType, postId, {
89
152
  author: nextAuthorId
90
153
  });
91
154
  };
92
- const showCombobox = authorOptions.length >= minimumUsersForCombobox;
93
- const showAuthorControl = !!postId && !isDescendentOfQueryLoop && authorOptions.length > 0;
155
+ const showAuthorControl = !!postId && !isDescendentOfQueryLoop && canAssignAuthor;
94
156
  if (!supportsAuthor && postType !== undefined) {
95
157
  return /*#__PURE__*/_jsx("div", {
96
158
  ...blockProps,
@@ -101,67 +163,105 @@ function PostAuthorEdit({
101
163
  }
102
164
  return /*#__PURE__*/_jsxs(_Fragment, {
103
165
  children: [/*#__PURE__*/_jsx(InspectorControls, {
104
- children: /*#__PURE__*/_jsx(PanelBody, {
105
- title: __('Settings'),
106
- children: /*#__PURE__*/_jsxs(VStack, {
107
- spacing: 4,
108
- className: "wp-block-post-author__inspector-settings",
109
- children: [showAuthorControl && (showCombobox && /*#__PURE__*/_jsx(ComboboxControl, {
110
- __next40pxDefaultSize: true,
111
- __nextHasNoMarginBottom: true,
112
- label: __('Author'),
113
- options: authorOptions,
114
- value: authorId,
115
- onChange: handleSelect,
116
- allowReset: false
117
- }) || /*#__PURE__*/_jsx(SelectControl, {
118
- __next40pxDefaultSize: true,
119
- __nextHasNoMarginBottom: true,
120
- label: __('Author'),
121
- value: authorId,
122
- options: authorOptions,
166
+ children: /*#__PURE__*/_jsxs(ToolsPanel, {
167
+ label: __('Settings'),
168
+ resetAll: () => {
169
+ setAttributes({
170
+ avatarSize: 48,
171
+ showAvatar: true,
172
+ isLink: false,
173
+ linkTarget: '_self'
174
+ });
175
+ },
176
+ dropdownMenuProps: dropdownMenuProps,
177
+ children: [showAuthorControl && /*#__PURE__*/_jsx("div", {
178
+ style: {
179
+ gridColumn: '1 / -1'
180
+ },
181
+ children: /*#__PURE__*/_jsx(AuthorCombobox, {
182
+ value: authorDetails,
123
183
  onChange: handleSelect
124
- })), /*#__PURE__*/_jsx(ToggleControl, {
184
+ })
185
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
186
+ label: __('Show avatar'),
187
+ isShownByDefault: true,
188
+ hasValue: () => !showAvatar,
189
+ onDeselect: () => setAttributes({
190
+ showAvatar: true
191
+ }),
192
+ children: /*#__PURE__*/_jsx(ToggleControl, {
125
193
  __nextHasNoMarginBottom: true,
126
194
  label: __('Show avatar'),
127
195
  checked: showAvatar,
128
196
  onChange: () => setAttributes({
129
197
  showAvatar: !showAvatar
130
198
  })
131
- }), showAvatar && /*#__PURE__*/_jsx(SelectControl, {
199
+ })
200
+ }), showAvatar && /*#__PURE__*/_jsx(ToolsPanelItem, {
201
+ label: __('Avatar size'),
202
+ isShownByDefault: true,
203
+ hasValue: () => avatarSize !== 48,
204
+ onDeselect: () => setAttributes({
205
+ avatarSize: 48
206
+ }),
207
+ children: /*#__PURE__*/_jsx(SelectControl, {
132
208
  __next40pxDefaultSize: true,
133
209
  __nextHasNoMarginBottom: true,
134
210
  label: __('Avatar size'),
135
- value: attributes.avatarSize,
211
+ value: avatarSize,
136
212
  options: avatarSizes,
137
213
  onChange: size => {
138
214
  setAttributes({
139
215
  avatarSize: Number(size)
140
216
  });
141
217
  }
142
- }), /*#__PURE__*/_jsx(ToggleControl, {
218
+ })
219
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
220
+ label: __('Show bio'),
221
+ isShownByDefault: true,
222
+ hasValue: () => !!showBio,
223
+ onDeselect: () => setAttributes({
224
+ showBio: undefined
225
+ }),
226
+ children: /*#__PURE__*/_jsx(ToggleControl, {
143
227
  __nextHasNoMarginBottom: true,
144
228
  label: __('Show bio'),
145
- checked: showBio,
229
+ checked: !!showBio,
146
230
  onChange: () => setAttributes({
147
231
  showBio: !showBio
148
232
  })
149
- }), /*#__PURE__*/_jsx(ToggleControl, {
233
+ })
234
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
235
+ label: __('Link author name to author page'),
236
+ isShownByDefault: true,
237
+ hasValue: () => !!isLink,
238
+ onDeselect: () => setAttributes({
239
+ isLink: false
240
+ }),
241
+ children: /*#__PURE__*/_jsx(ToggleControl, {
150
242
  __nextHasNoMarginBottom: true,
151
243
  label: __('Link author name to author page'),
152
244
  checked: isLink,
153
245
  onChange: () => setAttributes({
154
246
  isLink: !isLink
155
247
  })
156
- }), isLink && /*#__PURE__*/_jsx(ToggleControl, {
248
+ })
249
+ }), isLink && /*#__PURE__*/_jsx(ToolsPanelItem, {
250
+ label: __('Link target'),
251
+ isShownByDefault: true,
252
+ hasValue: () => linkTarget !== '_self',
253
+ onDeselect: () => setAttributes({
254
+ linkTarget: '_self'
255
+ }),
256
+ children: /*#__PURE__*/_jsx(ToggleControl, {
157
257
  __nextHasNoMarginBottom: true,
158
258
  label: __('Open in new tab'),
159
259
  onChange: value => setAttributes({
160
260
  linkTarget: value ? '_blank' : '_self'
161
261
  }),
162
262
  checked: linkTarget === '_blank'
163
- })]
164
- })
263
+ })
264
+ })]
165
265
  })
166
266
  }), /*#__PURE__*/_jsx(BlockControls, {
167
267
  group: "block",
@@ -178,8 +278,8 @@ function PostAuthorEdit({
178
278
  children: [showAvatar && authorDetails?.avatar_urls && /*#__PURE__*/_jsx("div", {
179
279
  className: "wp-block-post-author__avatar",
180
280
  children: /*#__PURE__*/_jsx("img", {
181
- width: attributes.avatarSize,
182
- src: authorDetails.avatar_urls[attributes.avatarSize],
281
+ width: avatarSize,
282
+ src: authorDetails.avatar_urls[avatarSize],
183
283
  alt: authorDetails.name
184
284
  })
185
285
  }), /*#__PURE__*/_jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","ComboboxControl","PanelBody","SelectControl","ToggleControl","__experimentalVStack","VStack","useSelect","useDispatch","__","sprintf","store","coreStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","minimumUsersForCombobox","AUTHORS_QUERY","who","per_page","PostAuthorEdit","isSelected","context","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","Number","isFinite","authorId","authorDetails","authors","supportsAuthor","select","_getPostType$supports","getEditedEntityRecord","getUser","getUsers","getPostType","_authorId","author","supports","editEntityRecord","textAlign","showAvatar","showBio","byline","isLink","linkTarget","avatarSizes","authorName","name","avatar_urls","Object","keys","forEach","size","push","value","label","blockProps","className","authorOptions","length","map","id","handleSelect","nextAuthorId","showCombobox","showAuthorControl","undefined","children","title","spacing","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","allowReset","checked","avatarSize","group","nextAlign","width","src","alt","isEmpty","identifier","placeholder","href","onClick","event","preventDefault","dangerouslySetInnerHTML","__html","description"],"sources":["@wordpress/block-library/src/post-author/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tComboboxControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst minimumUsersForCombobox = 25;\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 100,\n};\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { authorId, authorDetails, authors, supportsAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getUsers, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t\tauthors: getUsers( AUTHORS_QUERY ),\n\t\t\t\tsupportsAuthor:\n\t\t\t\t\tgetPostType( postType )?.supports?.author ?? false,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst { textAlign, showAvatar, showBio, byline, isLink, linkTarget } =\n\t\tattributes;\n\tconst avatarSizes = [];\n\tconst authorName = authorDetails?.name || __( 'Post Author' );\n\tif ( authorDetails?.avatar_urls ) {\n\t\tObject.keys( authorDetails.avatar_urls ).forEach( ( size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst authorOptions = authors?.length\n\t\t? authors.map( ( { id, name } ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel: name,\n\t\t\t\t};\n\t\t } )\n\t\t: [];\n\n\tconst handleSelect = ( nextAuthorId ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tauthor: nextAuthorId,\n\t\t} );\n\t};\n\n\tconst showCombobox = authorOptions.length >= minimumUsersForCombobox;\n\tconst showAuthorControl =\n\t\t!! postId && ! isDescendentOfQueryLoop && authorOptions.length > 0;\n\n\tif ( ! supportsAuthor && postType !== undefined ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t__( 'This post type (%s) does not support the author.' ),\n\t\t\t\t\tpostType\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\tclassName=\"wp-block-post-author__inspector-settings\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showAuthorControl &&\n\t\t\t\t\t\t\t( ( showCombobox && (\n\t\t\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) || (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showAvatar: ! showAvatar } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ showAvatar && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\t\tvalue={ attributes.avatarSize }\n\t\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\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\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\t\tchecked={ showBio }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails?.avatar_urls && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ attributes.avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails.avatar_urls[\n\t\t\t\t\t\t\t\t\tattributes.avatarSize\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"byline\"\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\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<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ isLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"#post-author-pseudo-link\"\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ authorName }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tauthorName\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__bio\"\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t__html: authorDetails?.description,\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</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","ComboboxControl","SelectControl","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","debounce","useMemo","useState","useSelect","useDispatch","__","sprintf","decodeEntities","store","coreStore","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AUTHORS_QUERY","who","per_page","_fields","context","AuthorCombobox","value","onChange","filterValue","setFilterValue","authors","isLoading","select","getUsers","isResolving","query","search","search_columns","authorOptions","fetchedAuthors","map","author","id","label","name","foundAuthor","findIndex","fetchedAuthor","currentAuthor","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onFilterValueChange","allowReset","PostAuthorEdit","isSelected","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","Number","isFinite","dropdownMenuProps","authorDetails","canAssignAuthor","supportsAuthor","_getPostType$supports","getEditedEntityRecord","getUser","getPostType","currentPost","authorId","supports","_links","editEntityRecord","textAlign","showAvatar","showBio","byline","isLink","linkTarget","avatarSize","avatarSizes","authorName","avatar_urls","Object","keys","forEach","size","push","blockProps","className","handleSelect","nextAuthorId","showAuthorControl","undefined","children","resetAll","style","gridColumn","isShownByDefault","hasValue","onDeselect","checked","group","nextAlign","width","src","alt","isEmpty","identifier","placeholder","href","onClick","event","preventDefault","dangerouslySetInnerHTML","__html","description"],"sources":["@wordpress/block-library/src/post-author/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tComboboxControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 100,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nfunction AuthorCombobox( { value, onChange } ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst { authors, isLoading } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUsers, isResolving } = select( coreStore );\n\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\t\t\tif ( filterValue ) {\n\t\t\t\tquery.search = filterValue;\n\t\t\t\tquery.search_columns = [ 'name' ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tisLoading: isResolving( 'getUsers', [ query ] ),\n\t\t\t};\n\t\t},\n\t\t[ filterValue ]\n\t);\n\n\tconst authorOptions = useMemo( () => {\n\t\tconst fetchedAuthors = ( authors ?? [] ).map( ( author ) => {\n\t\t\treturn {\n\t\t\t\tvalue: author.id,\n\t\t\t\tlabel: decodeEntities( author.name ),\n\t\t\t};\n\t\t} );\n\n\t\t// Ensure the current author is included in the list.\n\t\tconst foundAuthor = fetchedAuthors.findIndex(\n\t\t\t( fetchedAuthor ) => value?.id === fetchedAuthor.value\n\t\t);\n\n\t\tlet currentAuthor = [];\n\t\tif ( foundAuthor < 0 && value ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: value.id,\n\t\t\t\t\tlabel: decodeEntities( value.name ),\n\t\t\t\t},\n\t\t\t];\n\t\t} else if ( foundAuthor < 0 && ! value ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: 0,\n\t\t\t\t\tlabel: __( '(No author)' ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn [ ...currentAuthor, ...fetchedAuthors ];\n\t}, [ authors, value ] );\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tvalue={ value?.id }\n\t\t\tonFilterValueChange={ debounce( setFilterValue, 300 ) }\n\t\t\tonChange={ onChange }\n\t\t\tallowReset={ false }\n\t\t\tisLoading={ isLoading }\n\t\t/>\n\t);\n}\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { authorDetails, canAssignAuthor, supportsAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst currentPost = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst authorId = currentPost?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorDetails: authorId\n\t\t\t\t\t? getUser( authorId, { context: 'view' } )\n\t\t\t\t\t: null,\n\t\t\t\tsupportsAuthor:\n\t\t\t\t\tgetPostType( postType )?.supports?.author ?? false,\n\t\t\t\tcanAssignAuthor: currentPost?._links?.[\n\t\t\t\t\t'wp:action-assign-author'\n\t\t\t\t]\n\t\t\t\t\t? true\n\t\t\t\t\t: false,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst {\n\t\ttextAlign,\n\t\tshowAvatar,\n\t\tshowBio,\n\t\tbyline,\n\t\tisLink,\n\t\tlinkTarget,\n\t\tavatarSize,\n\t} = attributes;\n\tconst avatarSizes = [];\n\tconst authorName = authorDetails?.name || __( 'Post Author' );\n\tif ( authorDetails?.avatar_urls ) {\n\t\tObject.keys( authorDetails.avatar_urls ).forEach( ( size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst handleSelect = ( nextAuthorId ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tauthor: nextAuthorId,\n\t\t} );\n\t};\n\n\tconst showAuthorControl =\n\t\t!! postId && ! isDescendentOfQueryLoop && canAssignAuthor;\n\n\tif ( ! supportsAuthor && postType !== undefined ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t__( 'This post type (%s) does not support the author.' ),\n\t\t\t\t\tpostType\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tavatarSize: 48,\n\t\t\t\t\t\t\tshowAvatar: true,\n\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ showAuthorControl && (\n\t\t\t\t\t\t<div style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t\t\t<AuthorCombobox\n\t\t\t\t\t\t\t\tvalue={ authorDetails }\n\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showAvatar }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showAvatar: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowAvatar: ! showAvatar,\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\t{ showAvatar && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => avatarSize !== 48 }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { avatarSize: 48 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\t\tvalue={ avatarSize }\n\t\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! showBio }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showBio: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\t\tchecked={ !! showBio }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\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\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! isLink }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: false } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\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\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Link target' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails?.avatar_urls && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ avatarSize }\n\t\t\t\t\t\t\tsrc={ authorDetails.avatar_urls[ avatarSize ] }\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"byline\"\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\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<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ isLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"#post-author-pseudo-link\"\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ authorName }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tauthorName\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__bio\"\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t__html: authorDetails?.description,\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</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -73,7 +73,7 @@ const CommentsForm = ({
73
73
  });
74
74
  } else if (!postTypeSupportsComments) {
75
75
  return /*#__PURE__*/_jsx(Warning, {
76
- children: sprintf(/* translators: 1: Post type (i.e. "post", "page") */
76
+ children: sprintf(/* translators: %s: Post type (i.e. "post", "page") */
77
77
  __('Post Comments Form block: Comments are not enabled for this post type (%s).'), postType)
78
78
  });
79
79
  } else if ('open' !== defaultCommentStatus) {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","_x","sprintf","Warning","store","blockEditorStore","__experimentalGetElementClassName","Button","useInstanceId","useEntityProp","coreStore","useSelect","jsx","_jsx","jsxs","_jsxs","CommentsFormPlaceholder","instanceId","className","children","noValidate","onSubmit","event","preventDefault","htmlFor","id","name","cols","rows","readOnly","type","label","value","CommentsForm","postId","postType","commentStatus","setCommentStatus","isSiteEditor","undefined","defaultCommentStatus","select","getSettings","__experimentalDiscussionSettings","postTypeSupportsComments","getPostType","supports","comments","actions","__next40pxDefaultSize","onClick","variant"],"sources":["@wordpress/block-library/src/post-comments-form/form.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nconst CommentsFormPlaceholder = () => {\n\tconst instanceId = useInstanceId( CommentsFormPlaceholder );\n\n\treturn (\n\t\t<div className=\"comment-respond\">\n\t\t\t<h3 className=\"comment-reply-title\">{ __( 'Leave a Reply' ) }</h3>\n\t\t\t<form\n\t\t\t\tnoValidate\n\t\t\t\tclassName=\"comment-form\"\n\t\t\t\tonSubmit={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t<p>\n\t\t\t\t\t<label htmlFor={ `comment-${ instanceId }` }>\n\t\t\t\t\t\t{ __( 'Comment' ) }\n\t\t\t\t\t</label>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={ `comment-${ instanceId }` }\n\t\t\t\t\t\tname=\"comment\"\n\t\t\t\t\t\tcols=\"45\"\n\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t\treadOnly\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t\t<p className=\"form-submit wp-block-button\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"submit\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Post Comment' ) }\n\t\t\t\t\t\tvalue={ __( 'Post Comment' ) }\n\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t</form>\n\t\t</div>\n\t);\n};\n\nconst CommentsForm = ( { postId, postType } ) => {\n\tconst [ commentStatus, setCommentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\n\tconst isSiteEditor = postType === undefined || postId === undefined;\n\n\tconst { defaultCommentStatus } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings\n\t);\n\n\tconst postTypeSupportsComments = useSelect( ( select ) =>\n\t\tpostType\n\t\t\t? !! select( coreStore ).getPostType( postType )?.supports.comments\n\t\t\t: false\n\t);\n\n\tif ( ! isSiteEditor && 'open' !== commentStatus ) {\n\t\tif ( 'closed' === commentStatus ) {\n\t\t\tconst actions = [\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tkey=\"enableComments\"\n\t\t\t\t\tonClick={ () => setCommentStatus( 'open' ) }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ _x(\n\t\t\t\t\t\t'Enable comments',\n\t\t\t\t\t\t'action that affects the current post'\n\t\t\t\t\t) }\n\t\t\t\t</Button>,\n\t\t\t];\n\t\t\treturn (\n\t\t\t\t<Warning actions={ actions }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this item.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( ! postTypeSupportsComments ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this post type (%s).'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpostType\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( 'open' !== defaultCommentStatus ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn <CommentsFormPlaceholder />;\n};\n\nexport default CommentsForm;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","_x","sprintf","Warning","store","blockEditorStore","__experimentalGetElementClassName","Button","useInstanceId","useEntityProp","coreStore","useSelect","jsx","_jsx","jsxs","_jsxs","CommentsFormPlaceholder","instanceId","className","children","noValidate","onSubmit","event","preventDefault","htmlFor","id","name","cols","rows","readOnly","type","label","value","CommentsForm","postId","postType","commentStatus","setCommentStatus","isSiteEditor","undefined","defaultCommentStatus","select","getSettings","__experimentalDiscussionSettings","postTypeSupportsComments","getPostType","supports","comments","actions","__next40pxDefaultSize","onClick","variant"],"sources":["@wordpress/block-library/src/post-comments-form/form.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nconst CommentsFormPlaceholder = () => {\n\tconst instanceId = useInstanceId( CommentsFormPlaceholder );\n\n\treturn (\n\t\t<div className=\"comment-respond\">\n\t\t\t<h3 className=\"comment-reply-title\">{ __( 'Leave a Reply' ) }</h3>\n\t\t\t<form\n\t\t\t\tnoValidate\n\t\t\t\tclassName=\"comment-form\"\n\t\t\t\tonSubmit={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t<p>\n\t\t\t\t\t<label htmlFor={ `comment-${ instanceId }` }>\n\t\t\t\t\t\t{ __( 'Comment' ) }\n\t\t\t\t\t</label>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={ `comment-${ instanceId }` }\n\t\t\t\t\t\tname=\"comment\"\n\t\t\t\t\t\tcols=\"45\"\n\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t\treadOnly\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t\t<p className=\"form-submit wp-block-button\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"submit\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Post Comment' ) }\n\t\t\t\t\t\tvalue={ __( 'Post Comment' ) }\n\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t</form>\n\t\t</div>\n\t);\n};\n\nconst CommentsForm = ( { postId, postType } ) => {\n\tconst [ commentStatus, setCommentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\n\tconst isSiteEditor = postType === undefined || postId === undefined;\n\n\tconst { defaultCommentStatus } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings\n\t);\n\n\tconst postTypeSupportsComments = useSelect( ( select ) =>\n\t\tpostType\n\t\t\t? !! select( coreStore ).getPostType( postType )?.supports.comments\n\t\t\t: false\n\t);\n\n\tif ( ! isSiteEditor && 'open' !== commentStatus ) {\n\t\tif ( 'closed' === commentStatus ) {\n\t\t\tconst actions = [\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tkey=\"enableComments\"\n\t\t\t\t\tonClick={ () => setCommentStatus( 'open' ) }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ _x(\n\t\t\t\t\t\t'Enable comments',\n\t\t\t\t\t\t'action that affects the current post'\n\t\t\t\t\t) }\n\t\t\t\t</Button>,\n\t\t\t];\n\t\t\treturn (\n\t\t\t\t<Warning actions={ actions }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this item.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( ! postTypeSupportsComments ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this post type (%s).'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpostType\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( 'open' !== defaultCommentStatus ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn <CommentsFormPlaceholder />;\n};\n\nexport default CommentsForm;\n"],"mappings":"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","ignoreList":[]}
@@ -207,7 +207,8 @@ export default function PostFeaturedImageEdit({
207
207
  setAttributes({
208
208
  isLink: false,
209
209
  linkTarget: '_self',
210
- rel: ''
210
+ rel: '',
211
+ sizeSlug: DEFAULT_MEDIA_SIZE_SLUG
211
212
  });
212
213
  },
213
214
  dropdownMenuProps: dropdownMenuProps,
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","isBlobURL","useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","Placeholder","Button","Spinner","TextControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","privateApis","blockEditorPrivateApis","blockEditorStore","useMemo","useEffect","useState","__","sprintf","upload","noticesStore","DimensionControls","OverlayControls","Overlay","useToolsPanelDropdownMenuProps","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_MEDIA_TYPES","ResolutionTool","DEFAULT_MEDIA_SIZE_SLUG","FeaturedImageResolutionTool","image","value","onChange","imageSizes","select","getSettings","length","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","label","defaultValue","options","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","storedFeaturedImage","setFeaturedImage","postContent","featuredImage","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","media","postPermalink","getMedia","getPostType","getEditedEntityRecord","link","mediaUrl","blockProps","style","className","borderProps","shadowProps","blockEditingMode","placeholder","content","withIllustration","children","onSelectImage","url","onResetImage","undefined","createErrorNotice","onUploadError","message","type","dropdownMenuProps","controls","group","resetAll","labels","singular_name","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","newRel","nextSizeSlug","href","target","imageStyles","objectFit","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","icon","variant","showTooltip","tooltipPosition","onClick","src","alt","alt_text","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport OverlayControls from './overlay-controls';\nimport Overlay from './overlay';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\nconst DEFAULT_MEDIA_SIZE_SLUG = 'full';\n\nfunction FeaturedImageResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ||\n\t\tmedia?.source_url;\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// On reset image\n\tconst onResetImage = () => {\n\t\tsetAttributes( {\n\t\t\tisLink: false,\n\t\t\tlinkTarget: '_self',\n\t\t\trel: '',\n\t\t\tsizeSlug: undefined,\n\t\t} );\n\t\tsetFeaturedImage( 0 );\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\n\t\t\t\t\tattributes={ attributes }\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<InspectorControls group=\"dimensions\">\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ ( featuredImage || isDescendentOfQueryLoop || ! postId ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! isLink }\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\tisLink: false,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => '_self' !== linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t: '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! media && (\n\t\t\t\t\t\t\t<FeaturedImageResolutionTool\n\t\t\t\t\t\t\t\timage={ media }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\t...shadowProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage && ! temporaryURL ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ onResetImage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","isBlobURL","useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","Placeholder","Button","Spinner","TextControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","privateApis","blockEditorPrivateApis","blockEditorStore","useMemo","useEffect","useState","__","sprintf","upload","noticesStore","DimensionControls","OverlayControls","Overlay","useToolsPanelDropdownMenuProps","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_MEDIA_TYPES","ResolutionTool","DEFAULT_MEDIA_SIZE_SLUG","FeaturedImageResolutionTool","image","value","onChange","imageSizes","select","getSettings","length","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","label","defaultValue","options","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","storedFeaturedImage","setFeaturedImage","postContent","featuredImage","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","media","postPermalink","getMedia","getPostType","getEditedEntityRecord","link","mediaUrl","blockProps","style","className","borderProps","shadowProps","blockEditingMode","placeholder","content","withIllustration","children","onSelectImage","url","onResetImage","undefined","createErrorNotice","onUploadError","message","type","dropdownMenuProps","controls","group","resetAll","labels","singular_name","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","newRel","nextSizeSlug","href","target","imageStyles","objectFit","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","icon","variant","showTooltip","tooltipPosition","onClick","src","alt","alt_text","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport OverlayControls from './overlay-controls';\nimport Overlay from './overlay';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\nconst DEFAULT_MEDIA_SIZE_SLUG = 'full';\n\nfunction FeaturedImageResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ||\n\t\tmedia?.source_url;\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// On reset image\n\tconst onResetImage = () => {\n\t\tsetAttributes( {\n\t\t\tisLink: false,\n\t\t\tlinkTarget: '_self',\n\t\t\trel: '',\n\t\t\tsizeSlug: undefined,\n\t\t} );\n\t\tsetFeaturedImage( 0 );\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\n\t\t\t\t\tattributes={ attributes }\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<InspectorControls group=\"dimensions\">\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ ( featuredImage || isDescendentOfQueryLoop || ! postId ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\tsizeSlug: DEFAULT_MEDIA_SIZE_SLUG,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! isLink }\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\tisLink: false,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => '_self' !== linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t: '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! media && (\n\t\t\t\t\t\t\t<FeaturedImageResolutionTool\n\t\t\t\t\t\t\t\timage={ media }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\t...shadowProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage && ! temporaryURL ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ onResetImage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}