@wordpress/block-library 7.1.1 → 7.2.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 (304) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/build/avatar/edit.js +205 -0
  3. package/build/avatar/edit.js.map +1 -0
  4. package/build/avatar/hooks.js +111 -0
  5. package/build/avatar/hooks.js.map +1 -0
  6. package/build/avatar/index.js +83 -0
  7. package/build/avatar/index.js.map +1 -0
  8. package/build/avatar/user-control.js +63 -0
  9. package/build/avatar/user-control.js.map +1 -0
  10. package/build/column/index.js +2 -1
  11. package/build/column/index.js.map +1 -1
  12. package/build/comment-author-avatar/index.js +1 -0
  13. package/build/comment-author-avatar/index.js.map +1 -1
  14. package/build/comment-date/edit.js +10 -25
  15. package/build/comment-date/edit.js.map +1 -1
  16. package/build/comment-template/edit.js +79 -52
  17. package/build/comment-template/edit.js.map +1 -1
  18. package/build/cover/edit.js +23 -33
  19. package/build/cover/edit.js.map +1 -1
  20. package/build/embed/variations.js +2 -2
  21. package/build/embed/variations.js.map +1 -1
  22. package/build/gallery/edit.js +18 -5
  23. package/build/gallery/edit.js.map +1 -1
  24. package/build/gallery/gallery.js +1 -1
  25. package/build/gallery/gallery.js.map +1 -1
  26. package/build/gallery/gap-styles.js +29 -0
  27. package/build/gallery/gap-styles.js.map +1 -0
  28. package/build/gallery/index.js +17 -1
  29. package/build/gallery/index.js.map +1 -1
  30. package/build/group/index.js +3 -1
  31. package/build/group/index.js.map +1 -1
  32. package/build/group/variations.js +1 -2
  33. package/build/group/variations.js.map +1 -1
  34. package/build/image/image.js +3 -1
  35. package/build/image/image.js.map +1 -1
  36. package/build/index.js +8 -2
  37. package/build/index.js.map +1 -1
  38. package/build/list/index.js +5 -7
  39. package/build/list/index.js.map +1 -1
  40. package/build/list/v2/edit.js +85 -0
  41. package/build/list/v2/edit.js.map +1 -0
  42. package/build/list/v2/index.js +33 -0
  43. package/build/list/v2/index.js.map +1 -0
  44. package/build/list/v2/save.js +34 -0
  45. package/build/list/v2/save.js.map +1 -0
  46. package/build/list/v2/transforms.js +121 -0
  47. package/build/list/v2/transforms.js.map +1 -0
  48. package/build/list-item/edit.js +47 -0
  49. package/build/list-item/edit.js.map +1 -0
  50. package/build/list-item/index.js +67 -0
  51. package/build/list-item/index.js.map +1 -0
  52. package/build/list-item/save.js +23 -0
  53. package/build/list-item/save.js.map +1 -0
  54. package/build/media-text/edit.js +3 -1
  55. package/build/media-text/edit.js.map +1 -1
  56. package/build/navigation/use-navigation-entities.js +26 -54
  57. package/build/navigation/use-navigation-entities.js.map +1 -1
  58. package/build/navigation-link/edit.js +88 -34
  59. package/build/navigation-link/edit.js.map +1 -1
  60. package/build/post-date/edit.js +31 -37
  61. package/build/post-date/edit.js.map +1 -1
  62. package/build/post-featured-image/edit.js +2 -1
  63. package/build/post-featured-image/edit.js.map +1 -1
  64. package/build/pullquote/edit.js +5 -3
  65. package/build/pullquote/edit.js.map +1 -1
  66. package/build/query/variations.js +4 -4
  67. package/build/query/variations.js.map +1 -1
  68. package/build/query-no-results/edit.js +28 -0
  69. package/build/query-no-results/edit.js.map +1 -0
  70. package/build/query-no-results/index.js +54 -0
  71. package/build/query-no-results/index.js.map +1 -0
  72. package/build/query-no-results/save.js +18 -0
  73. package/build/query-no-results/save.js.map +1 -0
  74. package/build/search/edit.js +2 -3
  75. package/build/search/edit.js.map +1 -1
  76. package/build/separator/deprecated.js +83 -0
  77. package/build/separator/deprecated.js.map +1 -0
  78. package/build/separator/edit.js +31 -23
  79. package/build/separator/edit.js.map +1 -1
  80. package/build/separator/index.js +17 -7
  81. package/build/separator/index.js.map +1 -1
  82. package/build/separator/save.js +18 -13
  83. package/build/separator/save.js.map +1 -1
  84. package/build/separator/use-deprecated-opacity.js +39 -0
  85. package/build/separator/use-deprecated-opacity.js.map +1 -0
  86. package/build/social-links/edit.js +14 -3
  87. package/build/social-links/edit.js.map +1 -1
  88. package/build/social-links/index.js +1 -1
  89. package/build/spacer/controls.js +6 -16
  90. package/build/spacer/controls.js.map +1 -1
  91. package/build/spacer/controls.native.js +3 -1
  92. package/build/spacer/controls.native.js.map +1 -1
  93. package/build/spacer/edit.js +4 -5
  94. package/build/spacer/edit.js.map +1 -1
  95. package/build/table/deprecated.js +1 -1
  96. package/build/table/deprecated.js.map +1 -1
  97. package/build/tag-cloud/edit.js +58 -2
  98. package/build/tag-cloud/edit.js.map +1 -1
  99. package/build/tag-cloud/index.js +8 -0
  100. package/build/tag-cloud/index.js.map +1 -1
  101. package/build-module/avatar/edit.js +190 -0
  102. package/build-module/avatar/edit.js.map +1 -0
  103. package/build-module/avatar/hooks.js +99 -0
  104. package/build-module/avatar/hooks.js.map +1 -0
  105. package/build-module/avatar/index.js +70 -0
  106. package/build-module/avatar/index.js.map +1 -0
  107. package/build-module/avatar/user-control.js +52 -0
  108. package/build-module/avatar/user-control.js.map +1 -0
  109. package/build-module/column/index.js +2 -1
  110. package/build-module/column/index.js.map +1 -1
  111. package/build-module/comment-author-avatar/index.js +1 -0
  112. package/build-module/comment-author-avatar/index.js.map +1 -1
  113. package/build-module/comment-date/edit.js +13 -30
  114. package/build-module/comment-date/edit.js.map +1 -1
  115. package/build-module/comment-template/edit.js +79 -52
  116. package/build-module/comment-template/edit.js.map +1 -1
  117. package/build-module/cover/edit.js +23 -34
  118. package/build-module/cover/edit.js.map +1 -1
  119. package/build-module/embed/variations.js +2 -2
  120. package/build-module/embed/variations.js.map +1 -1
  121. package/build-module/gallery/edit.js +17 -5
  122. package/build-module/gallery/edit.js.map +1 -1
  123. package/build-module/gallery/gallery.js +1 -1
  124. package/build-module/gallery/gallery.js.map +1 -1
  125. package/build-module/gallery/gap-styles.js +22 -0
  126. package/build-module/gallery/gap-styles.js.map +1 -0
  127. package/build-module/gallery/index.js +17 -1
  128. package/build-module/gallery/index.js.map +1 -1
  129. package/build-module/group/index.js +3 -1
  130. package/build-module/group/index.js.map +1 -1
  131. package/build-module/group/variations.js +1 -2
  132. package/build-module/group/variations.js.map +1 -1
  133. package/build-module/image/image.js +3 -1
  134. package/build-module/image/image.js.map +1 -1
  135. package/build-module/index.js +5 -2
  136. package/build-module/index.js.map +1 -1
  137. package/build-module/list/index.js +5 -1
  138. package/build-module/list/index.js.map +1 -1
  139. package/build-module/list/v2/edit.js +69 -0
  140. package/build-module/list/v2/edit.js.map +1 -0
  141. package/build-module/list/v2/index.js +19 -0
  142. package/build-module/list/v2/index.js.map +1 -0
  143. package/build-module/list/v2/save.js +23 -0
  144. package/build-module/list/v2/save.js.map +1 -0
  145. package/build-module/list/v2/transforms.js +111 -0
  146. package/build-module/list/v2/transforms.js.map +1 -0
  147. package/build-module/list-item/edit.js +37 -0
  148. package/build-module/list-item/edit.js.map +1 -0
  149. package/build-module/list-item/index.js +53 -0
  150. package/build-module/list-item/index.js.map +1 -0
  151. package/build-module/list-item/save.js +15 -0
  152. package/build-module/list-item/save.js.map +1 -0
  153. package/build-module/media-text/edit.js +3 -1
  154. package/build-module/media-text/edit.js.map +1 -1
  155. package/build-module/navigation/use-navigation-entities.js +27 -54
  156. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  157. package/build-module/navigation-link/edit.js +88 -33
  158. package/build-module/navigation-link/edit.js.map +1 -1
  159. package/build-module/post-date/edit.js +32 -43
  160. package/build-module/post-date/edit.js.map +1 -1
  161. package/build-module/post-featured-image/edit.js +2 -1
  162. package/build-module/post-featured-image/edit.js.map +1 -1
  163. package/build-module/pullquote/edit.js +6 -3
  164. package/build-module/pullquote/edit.js.map +1 -1
  165. package/build-module/query/variations.js +4 -4
  166. package/build-module/query/variations.js.map +1 -1
  167. package/build-module/query-no-results/edit.js +18 -0
  168. package/build-module/query-no-results/edit.js.map +1 -0
  169. package/build-module/query-no-results/index.js +40 -0
  170. package/build-module/query-no-results/index.js.map +1 -0
  171. package/build-module/query-no-results/save.js +10 -0
  172. package/build-module/query-no-results/save.js.map +1 -0
  173. package/build-module/search/edit.js +2 -3
  174. package/build-module/search/edit.js.map +1 -1
  175. package/build-module/separator/deprecated.js +70 -0
  176. package/build-module/separator/deprecated.js.map +1 -0
  177. package/build-module/separator/edit.js +31 -22
  178. package/build-module/separator/edit.js.map +1 -1
  179. package/build-module/separator/index.js +16 -7
  180. package/build-module/separator/index.js.map +1 -1
  181. package/build-module/separator/save.js +19 -14
  182. package/build-module/separator/save.js.map +1 -1
  183. package/build-module/separator/use-deprecated-opacity.js +30 -0
  184. package/build-module/separator/use-deprecated-opacity.js.map +1 -0
  185. package/build-module/social-links/edit.js +15 -4
  186. package/build-module/social-links/edit.js.map +1 -1
  187. package/build-module/social-links/index.js +1 -1
  188. package/build-module/spacer/controls.js +8 -19
  189. package/build-module/spacer/controls.js.map +1 -1
  190. package/build-module/spacer/controls.native.js +2 -1
  191. package/build-module/spacer/controls.native.js.map +1 -1
  192. package/build-module/spacer/edit.js +3 -3
  193. package/build-module/spacer/edit.js.map +1 -1
  194. package/build-module/table/deprecated.js +1 -1
  195. package/build-module/table/deprecated.js.map +1 -1
  196. package/build-module/tag-cloud/edit.js +60 -4
  197. package/build-module/tag-cloud/edit.js.map +1 -1
  198. package/build-module/tag-cloud/index.js +8 -0
  199. package/build-module/tag-cloud/index.js.map +1 -1
  200. package/build-style/avatar/editor-rtl.css +79 -0
  201. package/build-style/avatar/editor.css +79 -0
  202. package/build-style/editor-rtl.css +23 -2
  203. package/build-style/editor.css +23 -2
  204. package/build-style/gallery/editor-rtl.css +0 -1
  205. package/build-style/gallery/editor.css +0 -1
  206. package/build-style/gallery/style-rtl.css +102 -169
  207. package/build-style/gallery/style.css +102 -169
  208. package/build-style/image/style-rtl.css +2 -0
  209. package/build-style/image/style.css +2 -0
  210. package/build-style/navigation-link/editor-rtl.css +13 -0
  211. package/build-style/navigation-link/editor.css +13 -0
  212. package/build-style/pullquote/style-rtl.css +0 -4
  213. package/build-style/pullquote/style.css +0 -4
  214. package/build-style/separator/editor-rtl.css +3 -0
  215. package/build-style/separator/editor.css +3 -0
  216. package/build-style/separator/theme-rtl.css +7 -1
  217. package/build-style/separator/theme.css +7 -1
  218. package/build-style/site-logo/editor-rtl.css +3 -1
  219. package/build-style/site-logo/editor.css +3 -1
  220. package/build-style/style-rtl.css +104 -173
  221. package/build-style/style.css +104 -173
  222. package/build-style/theme-rtl.css +7 -1
  223. package/build-style/theme.css +7 -1
  224. package/package.json +28 -28
  225. package/src/avatar/block.json +53 -0
  226. package/src/avatar/edit.js +222 -0
  227. package/src/avatar/editor.scss +3 -0
  228. package/src/avatar/hooks.js +96 -0
  229. package/src/avatar/index.js +18 -0
  230. package/src/avatar/index.php +146 -0
  231. package/src/avatar/user-control.js +56 -0
  232. package/src/column/block.json +2 -1
  233. package/src/comment-author-avatar/block.json +1 -0
  234. package/src/comment-date/edit.js +20 -30
  235. package/src/comment-template/edit.js +65 -44
  236. package/src/cover/edit.js +26 -31
  237. package/src/editor.scss +1 -0
  238. package/src/embed/variations.js +2 -2
  239. package/src/gallery/block.json +17 -1
  240. package/src/gallery/deprecated.scss +2 -2
  241. package/src/gallery/edit.js +15 -8
  242. package/src/gallery/editor.scss +0 -1
  243. package/src/gallery/gallery.js +8 -7
  244. package/src/gallery/gap-styles.js +21 -0
  245. package/src/gallery/index.php +42 -1
  246. package/src/gallery/style.scss +11 -44
  247. package/src/group/block.json +3 -1
  248. package/src/group/variations.js +1 -1
  249. package/src/image/image.js +4 -1
  250. package/src/image/style.scss +3 -0
  251. package/src/index.js +6 -1
  252. package/src/list/index.js +6 -1
  253. package/src/list/v2/edit.js +77 -0
  254. package/src/list/v2/index.js +20 -0
  255. package/src/list/v2/save.js +18 -0
  256. package/src/list/v2/transforms.js +116 -0
  257. package/src/list-item/block.json +26 -0
  258. package/src/list-item/edit.js +47 -0
  259. package/src/list-item/index.js +27 -0
  260. package/src/list-item/save.js +13 -0
  261. package/src/media-text/edit.js +1 -1
  262. package/src/navigation/index.php +22 -2
  263. package/src/navigation/use-navigation-entities.js +37 -73
  264. package/src/navigation-link/edit.js +145 -61
  265. package/src/navigation-link/editor.scss +11 -0
  266. package/src/post-date/edit.js +63 -52
  267. package/src/post-date/index.php +1 -1
  268. package/src/post-date/test/edit.js +17 -0
  269. package/src/post-featured-image/edit.js +9 -1
  270. package/src/post-featured-image/index.php +2 -1
  271. package/src/pullquote/edit.js +4 -3
  272. package/src/pullquote/style.scss +0 -5
  273. package/src/query/variations.js +4 -0
  274. package/src/query-no-results/block.json +20 -0
  275. package/src/query-no-results/edit.js +28 -0
  276. package/src/query-no-results/index.js +20 -0
  277. package/src/query-no-results/index.php +59 -0
  278. package/src/query-no-results/save.js +8 -0
  279. package/src/search/edit.js +1 -2
  280. package/src/separator/block.json +13 -6
  281. package/src/separator/deprecated.js +57 -0
  282. package/src/separator/deprecated.scss +6 -0
  283. package/src/separator/edit.js +36 -14
  284. package/src/separator/editor.scss +6 -0
  285. package/src/separator/index.js +2 -0
  286. package/src/separator/save.js +22 -14
  287. package/src/separator/test/edit.js +113 -0
  288. package/src/separator/theme.scss +7 -1
  289. package/src/separator/use-deprecated-opacity.js +41 -0
  290. package/src/site-logo/editor.scss +3 -1
  291. package/src/social-links/block.json +1 -1
  292. package/src/social-links/edit.js +15 -5
  293. package/src/spacer/controls.js +12 -18
  294. package/src/spacer/controls.native.js +2 -1
  295. package/src/spacer/edit.js +3 -6
  296. package/src/table/deprecated.js +5 -1
  297. package/src/tag-cloud/block.json +8 -0
  298. package/src/tag-cloud/edit.js +82 -2
  299. package/src/tag-cloud/index.php +6 -0
  300. package/build/separator/separator-settings.js +0 -36
  301. package/build/separator/separator-settings.js.map +0 -1
  302. package/build-module/separator/separator-settings.js +0 -27
  303. package/build-module/separator/separator-settings.js.map +0 -1
  304. package/src/separator/separator-settings.js +0 -24
package/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.2.0 (2022-03-23)
6
+
7
+ ### Bug Fix
8
+
9
+ - Table block: Fix deprecation eligibility to prevent loss of named (color palette) background color ([#39445](https://github.com/WordPress/gutenberg/pull/39445)).
10
+
11
+ ### Enhancement
12
+
13
+ - Social Icons: Avoid loss of previously selected background color when switching back from "Logos Only" style ([#39276](https://github.com/WordPress/gutenberg/pull/39276)).
14
+
5
15
  ## 7.1.0 (2022-03-11)
6
16
 
7
17
  ## 7.0.0 (2022-02-10)
@@ -12,6 +22,7 @@
12
22
 
13
23
  ### Bug Fix
14
24
 
25
+ - Gallery block: disable edit as html support ([#39318](https://github.com/WordPress/gutenberg/pull/39318)).
15
26
  - Removed unused `@wordpress/escape-html` and `@wordpress/is-shallow-equal` dependencies ([#38388](https://github.com/WordPress/gutenberg/pull/38388)).
16
27
 
17
28
  ## 6.1.0 (2022-01-27)
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = Edit;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
16
+ var _blockEditor = require("@wordpress/block-editor");
17
+
18
+ var _components = require("@wordpress/components");
19
+
20
+ var _i18n = require("@wordpress/i18n");
21
+
22
+ var _hooks = require("./hooks");
23
+
24
+ var _userControl = _interopRequireDefault(require("./user-control"));
25
+
26
+ /**
27
+ * External dependencies
28
+ */
29
+
30
+ /**
31
+ * WordPress dependencies
32
+ */
33
+
34
+ /**
35
+ * Internal dependencies
36
+ */
37
+ const AvatarInspectorControls = _ref => {
38
+ let {
39
+ setAttributes,
40
+ avatar,
41
+ attributes,
42
+ selectUser
43
+ } = _ref;
44
+ return (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
45
+ title: (0, _i18n.__)('Avatar Settings')
46
+ }, (0, _element.createElement)(_components.RangeControl, {
47
+ label: (0, _i18n.__)('Image size'),
48
+ onChange: newSize => setAttributes({
49
+ size: newSize
50
+ }),
51
+ min: avatar.minSize,
52
+ max: avatar.maxSize,
53
+ initialPosition: attributes === null || attributes === void 0 ? void 0 : attributes.size,
54
+ value: attributes === null || attributes === void 0 ? void 0 : attributes.size
55
+ }), selectUser && (0, _element.createElement)(_userControl.default, {
56
+ value: attributes === null || attributes === void 0 ? void 0 : attributes.userId,
57
+ onChange: value => {
58
+ setAttributes({
59
+ userId: value
60
+ });
61
+ }
62
+ }), (0, _element.createElement)(_components.ToggleControl, {
63
+ label: (0, _i18n.__)('Link to user profile'),
64
+ onChange: () => setAttributes({
65
+ isLink: !attributes.isLink
66
+ }),
67
+ checked: attributes.isLink
68
+ }), attributes.isLink && (0, _element.createElement)(_components.ToggleControl, {
69
+ label: (0, _i18n.__)('Open in new tab'),
70
+ onChange: value => setAttributes({
71
+ linkTarget: value ? '_blank' : '_self'
72
+ }),
73
+ checked: attributes.linkTarget === '_blank'
74
+ })));
75
+ };
76
+
77
+ const ResizableAvatar = _ref2 => {
78
+ let {
79
+ setAttributes,
80
+ attributes,
81
+ avatar,
82
+ blockProps,
83
+ isSelected
84
+ } = _ref2;
85
+ const borderProps = (0, _blockEditor.__experimentalUseBorderProps)(attributes);
86
+ return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_components.ResizableBox, {
87
+ size: {
88
+ width: attributes.size,
89
+ height: attributes.size
90
+ },
91
+ showHandle: isSelected,
92
+ onResizeStop: (event, direction, elt, delta) => {
93
+ setAttributes({
94
+ size: parseInt(attributes.size + (delta.height || delta.width), 10)
95
+ });
96
+ },
97
+ lockAspectRatio: true,
98
+ enable: {
99
+ top: false,
100
+ right: !(0, _i18n.isRTL)(),
101
+ bottom: true,
102
+ left: (0, _i18n.isRTL)()
103
+ },
104
+ minWidth: avatar.minSize,
105
+ maxWidth: avatar.maxSize
106
+ }, (0, _element.createElement)("img", (0, _extends2.default)({
107
+ src: avatar.src,
108
+ alt: avatar.alt
109
+ }, borderProps, {
110
+ className: (0, _classnames.default)('avatar', 'avatar-' + attributes.size, 'photo', 'wp-block-avatar__image', borderProps.className),
111
+ style: { ...borderProps.style // Border radius, width and style.
112
+
113
+ }
114
+ }))));
115
+ };
116
+
117
+ const CommentEdit = _ref3 => {
118
+ let {
119
+ attributes,
120
+ context,
121
+ setAttributes,
122
+ isSelected
123
+ } = _ref3;
124
+ const {
125
+ commentId
126
+ } = context;
127
+ const blockProps = (0, _blockEditor.useBlockProps)();
128
+ const avatar = (0, _hooks.useCommentAvatar)({
129
+ commentId
130
+ });
131
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(AvatarInspectorControls, {
132
+ avatar: avatar,
133
+ setAttributes: setAttributes,
134
+ attributes: attributes,
135
+ selectUser: false
136
+ }), attributes.isLink ? (0, _element.createElement)("a", {
137
+ href: "#avatar-pseudo-link",
138
+ className: "wp-block-avatar__link",
139
+ onClick: event => event.preventDefault()
140
+ }, (0, _element.createElement)(ResizableAvatar, {
141
+ attributes: attributes,
142
+ avatar: avatar,
143
+ blockProps: blockProps,
144
+ isSelected: isSelected,
145
+ setAttributes: setAttributes
146
+ })) : (0, _element.createElement)(ResizableAvatar, {
147
+ attributes: attributes,
148
+ avatar: avatar,
149
+ blockProps: blockProps,
150
+ isSelected: isSelected,
151
+ setAttributes: setAttributes
152
+ }));
153
+ };
154
+
155
+ const UserEdit = _ref4 => {
156
+ let {
157
+ attributes,
158
+ context,
159
+ setAttributes,
160
+ isSelected
161
+ } = _ref4;
162
+ const {
163
+ postId,
164
+ postType
165
+ } = context;
166
+ const avatar = (0, _hooks.useUserAvatar)({
167
+ userId: attributes === null || attributes === void 0 ? void 0 : attributes.userId,
168
+ postId,
169
+ postType
170
+ });
171
+ const blockProps = (0, _blockEditor.useBlockProps)();
172
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(AvatarInspectorControls, {
173
+ selectUser: true,
174
+ attributes: attributes,
175
+ avatar: avatar,
176
+ setAttributes: setAttributes
177
+ }), (0, _element.createElement)("div", null, attributes.isLink ? (0, _element.createElement)("a", {
178
+ href: "#avatar-pseudo-link",
179
+ className: "wp-block-avatar__link",
180
+ onClick: event => event.preventDefault()
181
+ }, (0, _element.createElement)(ResizableAvatar, {
182
+ attributes: attributes,
183
+ avatar: avatar,
184
+ blockProps: blockProps,
185
+ isSelected: isSelected,
186
+ setAttributes: setAttributes
187
+ })) : (0, _element.createElement)(ResizableAvatar, {
188
+ attributes: attributes,
189
+ avatar: avatar,
190
+ blockProps: blockProps,
191
+ isSelected: isSelected,
192
+ setAttributes: setAttributes
193
+ })));
194
+ };
195
+
196
+ function Edit(props) {
197
+ var _props$context;
198
+
199
+ if (props !== null && props !== void 0 && (_props$context = props.context) !== null && _props$context !== void 0 && _props$context.commentId) {
200
+ return (0, _element.createElement)(CommentEdit, props);
201
+ }
202
+
203
+ return (0, _element.createElement)(UserEdit, props);
204
+ }
205
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/avatar/edit.js"],"names":["AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","newSize","size","minSize","maxSize","userId","value","isLink","linkTarget","ResizableAvatar","blockProps","isSelected","borderProps","width","height","event","direction","elt","delta","parseInt","top","right","bottom","left","src","alt","className","style","CommentEdit","context","commentId","preventDefault","UserEdit","postId","postType","Edit","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Avatar Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\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\t<ToggleControl\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ avatar.src }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\t{ ...borderProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style, // Border radius, width and style.\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser={ true }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t{ attributes.isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\tif ( props?.context?.commentId ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"]}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCommentAvatar = useCommentAvatar;
7
+ exports.useUserAvatar = useUserAvatar;
8
+
9
+ var _blockEditor = require("@wordpress/block-editor");
10
+
11
+ var _coreData = require("@wordpress/core-data");
12
+
13
+ var _i18n = require("@wordpress/i18n");
14
+
15
+ var _data = require("@wordpress/data");
16
+
17
+ /**
18
+ * WordPress dependencies
19
+ */
20
+ function getAvatarSizes(sizes) {
21
+ const minSize = sizes ? sizes[0] : 24;
22
+ const maxSize = sizes ? sizes[sizes.length - 1] : 96;
23
+ const maxSizeBuffer = Math.floor(maxSize * 2.5);
24
+ return {
25
+ minSize,
26
+ maxSize: maxSizeBuffer
27
+ };
28
+ }
29
+
30
+ function useDefaultAvatar() {
31
+ const {
32
+ avatarURL: defaultAvatarUrl
33
+ } = (0, _data.useSelect)(select => {
34
+ const {
35
+ getSettings
36
+ } = select(_blockEditor.store);
37
+ const {
38
+ __experimentalDiscussionSettings
39
+ } = getSettings();
40
+ return __experimentalDiscussionSettings;
41
+ });
42
+ return defaultAvatarUrl;
43
+ }
44
+
45
+ function useCommentAvatar(_ref) {
46
+ let {
47
+ commentId
48
+ } = _ref;
49
+ const [avatars] = (0, _coreData.useEntityProp)('root', 'comment', 'author_avatar_urls', commentId);
50
+ const [authorName] = (0, _coreData.useEntityProp)('root', 'comment', 'author_name', commentId);
51
+ const avatarUrls = avatars ? Object.values(avatars) : null;
52
+ const sizes = avatars ? Object.keys(avatars) : null;
53
+ const {
54
+ minSize,
55
+ maxSize
56
+ } = getAvatarSizes(sizes);
57
+ const defaultAvatar = useDefaultAvatar();
58
+ return {
59
+ src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar,
60
+ minSize,
61
+ maxSize,
62
+ // translators: %s is the Author name.
63
+ alt: authorName ? // translators: %s is the Author name.
64
+ (0, _i18n.sprintf)((0, _i18n.__)('%s Avatar'), authorName) : (0, _i18n.__)('Default Avatar')
65
+ };
66
+ }
67
+
68
+ function useUserAvatar(_ref2) {
69
+ let {
70
+ userId,
71
+ postId,
72
+ postType
73
+ } = _ref2;
74
+ const {
75
+ authorDetails
76
+ } = (0, _data.useSelect)(select => {
77
+ var _getEditedEntityRecor;
78
+
79
+ const {
80
+ getEditedEntityRecord,
81
+ getUser
82
+ } = select(_coreData.store);
83
+
84
+ if (userId) {
85
+ return {
86
+ authorDetails: getUser(userId)
87
+ };
88
+ }
89
+
90
+ const _authorId = (_getEditedEntityRecor = getEditedEntityRecord('postType', postType, postId)) === null || _getEditedEntityRecor === void 0 ? void 0 : _getEditedEntityRecor.author;
91
+
92
+ return {
93
+ authorDetails: _authorId ? getUser(_authorId) : null
94
+ };
95
+ }, [postType, postId, userId]);
96
+ const avatarUrls = authorDetails ? Object.values(authorDetails.avatar_urls) : null;
97
+ const sizes = authorDetails ? Object.keys(authorDetails.avatar_urls) : null;
98
+ const {
99
+ minSize,
100
+ maxSize
101
+ } = getAvatarSizes(sizes);
102
+ const defaultAvatar = useDefaultAvatar();
103
+ return {
104
+ src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar,
105
+ minSize,
106
+ maxSize,
107
+ alt: authorDetails ? // translators: %s is the Author name.
108
+ (0, _i18n.sprintf)((0, _i18n.__)('%s Avatar'), authorDetails === null || authorDetails === void 0 ? void 0 : authorDetails.name) : (0, _i18n.__)('Default Avatar')
109
+ };
110
+ }
111
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/avatar/hooks.js"],"names":["getAvatarSizes","sizes","minSize","maxSize","length","maxSizeBuffer","Math","floor","useDefaultAvatar","avatarURL","defaultAvatarUrl","select","getSettings","blockEditorStore","__experimentalDiscussionSettings","useCommentAvatar","commentId","avatars","authorName","avatarUrls","Object","values","keys","defaultAvatar","src","alt","useUserAvatar","userId","postId","postType","authorDetails","getEditedEntityRecord","getUser","coreStore","_authorId","author","avatar_urls","name"],"mappings":";;;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMA,SAASA,cAAT,CAAyBC,KAAzB,EAAiC;AAChC,QAAMC,OAAO,GAAGD,KAAK,GAAGA,KAAK,CAAE,CAAF,CAAR,GAAgB,EAArC;AACA,QAAME,OAAO,GAAGF,KAAK,GAAGA,KAAK,CAAEA,KAAK,CAACG,MAAN,GAAe,CAAjB,CAAR,GAA+B,EAApD;AACA,QAAMC,aAAa,GAAGC,IAAI,CAACC,KAAL,CAAYJ,OAAO,GAAG,GAAtB,CAAtB;AACA,SAAO;AACND,IAAAA,OADM;AAENC,IAAAA,OAAO,EAAEE;AAFH,GAAP;AAIA;;AAED,SAASG,gBAAT,GAA4B;AAC3B,QAAM;AAAEC,IAAAA,SAAS,EAAEC;AAAb,MAAkC,qBAAaC,MAAF,IAAc;AAChE,UAAM;AAAEC,MAAAA;AAAF,QAAkBD,MAAM,CAAEE,kBAAF,CAA9B;AACA,UAAM;AAAEC,MAAAA;AAAF,QAAuCF,WAAW,EAAxD;AACA,WAAOE,gCAAP;AACA,GAJuC,CAAxC;AAKA,SAAOJ,gBAAP;AACA;;AAEM,SAASK,gBAAT,OAA2C;AAAA,MAAhB;AAAEC,IAAAA;AAAF,GAAgB;AACjD,QAAM,CAAEC,OAAF,IAAc,6BACnB,MADmB,EAEnB,SAFmB,EAGnB,oBAHmB,EAInBD,SAJmB,CAApB;AAOA,QAAM,CAAEE,UAAF,IAAiB,6BACtB,MADsB,EAEtB,SAFsB,EAGtB,aAHsB,EAItBF,SAJsB,CAAvB;AAMA,QAAMG,UAAU,GAAGF,OAAO,GAAGG,MAAM,CAACC,MAAP,CAAeJ,OAAf,CAAH,GAA8B,IAAxD;AACA,QAAMhB,KAAK,GAAGgB,OAAO,GAAGG,MAAM,CAACE,IAAP,CAAaL,OAAb,CAAH,GAA4B,IAAjD;AACA,QAAM;AAAEf,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAuBH,cAAc,CAAEC,KAAF,CAA3C;AACA,QAAMsB,aAAa,GAAGf,gBAAgB,EAAtC;AACA,SAAO;AACNgB,IAAAA,GAAG,EAAEL,UAAU,GAAGA,UAAU,CAAEA,UAAU,CAACf,MAAX,GAAoB,CAAtB,CAAb,GAAyCmB,aADlD;AAENrB,IAAAA,OAFM;AAGNC,IAAAA,OAHM;AAIN;AACAsB,IAAAA,GAAG,EAAEP,UAAU,GACZ;AACA,uBAAS,cAAI,WAAJ,CAAT,EAA4BA,UAA5B,CAFY,GAGZ,cAAI,gBAAJ;AARG,GAAP;AAUA;;AAEM,SAASQ,aAAT,QAAuD;AAAA,MAA/B;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,MAAV;AAAkBC,IAAAA;AAAlB,GAA+B;AAC7D,QAAM;AAAEC,IAAAA;AAAF,MAAoB,qBACvBnB,MAAF,IAAc;AAAA;;AACb,UAAM;AAAEoB,MAAAA,qBAAF;AAAyBC,MAAAA;AAAzB,QAAqCrB,MAAM,CAAEsB,eAAF,CAAjD;;AACA,QAAKN,MAAL,EAAc;AACb,aAAO;AACNG,QAAAA,aAAa,EAAEE,OAAO,CAAEL,MAAF;AADhB,OAAP;AAGA;;AACD,UAAMO,SAAS,4BAAGH,qBAAqB,CACtC,UADsC,EAEtCF,QAFsC,EAGtCD,MAHsC,CAAxB,0DAAG,sBAIfO,MAJH;;AAMA,WAAO;AACNL,MAAAA,aAAa,EAAEI,SAAS,GAAGF,OAAO,CAAEE,SAAF,CAAV,GAA0B;AAD5C,KAAP;AAGA,GAjBwB,EAkBzB,CAAEL,QAAF,EAAYD,MAAZ,EAAoBD,MAApB,CAlByB,CAA1B;AAoBA,QAAMR,UAAU,GAAGW,aAAa,GAC7BV,MAAM,CAACC,MAAP,CAAeS,aAAa,CAACM,WAA7B,CAD6B,GAE7B,IAFH;AAGA,QAAMnC,KAAK,GAAG6B,aAAa,GACxBV,MAAM,CAACE,IAAP,CAAaQ,aAAa,CAACM,WAA3B,CADwB,GAExB,IAFH;AAGA,QAAM;AAAElC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAuBH,cAAc,CAAEC,KAAF,CAA3C;AACA,QAAMsB,aAAa,GAAGf,gBAAgB,EAAtC;AACA,SAAO;AACNgB,IAAAA,GAAG,EAAEL,UAAU,GAAGA,UAAU,CAAEA,UAAU,CAACf,MAAX,GAAoB,CAAtB,CAAb,GAAyCmB,aADlD;AAENrB,IAAAA,OAFM;AAGNC,IAAAA,OAHM;AAINsB,IAAAA,GAAG,EAAEK,aAAa,GACf;AACA,uBAAS,cAAI,WAAJ,CAAT,EAA4BA,aAA5B,aAA4BA,aAA5B,uBAA4BA,aAAa,CAAEO,IAA3C,CAFe,GAGf,cAAI,gBAAJ;AAPG,GAAP;AASA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nfunction getAvatarSizes( sizes ) {\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\treturn {\n\t\tminSize,\n\t\tmaxSize: maxSizeBuffer,\n\t};\n}\n\nfunction useDefaultAvatar() {\n\tconst { avatarURL: defaultAvatarUrl } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\treturn defaultAvatarUrl;\n}\n\nexport function useCommentAvatar( { commentId } ) {\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\t// translators: %s is the Author name.\n\t\talt: authorName\n\t\t\t? // translators: %s is the Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorName )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n\nexport function useUserAvatar( { userId, postId, postType } ) {\n\tconst { authorDetails } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser } = select( coreStore );\n\t\t\tif ( userId ) {\n\t\t\t\treturn {\n\t\t\t\t\tauthorDetails: getUser( userId ),\n\t\t\t\t};\n\t\t\t}\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\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, userId ]\n\t);\n\tconst avatarUrls = authorDetails\n\t\t? Object.values( authorDetails.avatar_urls )\n\t\t: null;\n\tconst sizes = authorDetails\n\t\t? Object.keys( authorDetails.avatar_urls )\n\t\t: null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\talt: authorDetails\n\t\t\t? // translators: %s is the Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorDetails?.name )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n"]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.settings = exports.name = exports.metadata = void 0;
9
+
10
+ var _icons = require("@wordpress/icons");
11
+
12
+ var _edit = _interopRequireDefault(require("./edit"));
13
+
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+ const metadata = {
22
+ $schema: "https://schemas.wp.org/trunk/block.json",
23
+ apiVersion: 2,
24
+ name: "core/avatar",
25
+ title: "Avatar",
26
+ category: "theme",
27
+ description: "Add a user's avatar.",
28
+ textdomain: "default",
29
+ attributes: {
30
+ userId: {
31
+ type: "number"
32
+ },
33
+ size: {
34
+ type: "number",
35
+ "default": 96
36
+ },
37
+ isLink: {
38
+ type: "boolean",
39
+ "default": false
40
+ },
41
+ linkTarget: {
42
+ type: "string",
43
+ "default": "_self"
44
+ }
45
+ },
46
+ usesContext: ["postType", "postId", "commentId"],
47
+ supports: {
48
+ html: false,
49
+ align: true,
50
+ alignWide: false,
51
+ spacing: {
52
+ margin: true
53
+ },
54
+ __experimentalBorder: {
55
+ __experimentalSkipSerialization: true,
56
+ radius: true,
57
+ width: true,
58
+ color: true,
59
+ style: true,
60
+ __experimentalDefaultControls: {
61
+ radius: true
62
+ }
63
+ },
64
+ color: {
65
+ text: false,
66
+ background: false,
67
+ __experimentalDuotone: "img"
68
+ }
69
+ },
70
+ editorStyle: "wp-block-avatar",
71
+ style: "wp-block-avatar"
72
+ };
73
+ exports.metadata = metadata;
74
+ const {
75
+ name
76
+ } = metadata;
77
+ exports.name = name;
78
+ const settings = {
79
+ icon: _icons.commentAuthorAvatar,
80
+ edit: _edit.default
81
+ };
82
+ exports.settings = settings;
83
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/avatar/index.js"],"names":["name","metadata","settings","icon","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,0BADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { commentAuthorAvatar as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _i18n = require("@wordpress/i18n");
11
+
12
+ var _components = require("@wordpress/components");
13
+
14
+ var _data = require("@wordpress/data");
15
+
16
+ var _coreData = require("@wordpress/core-data");
17
+
18
+ /**
19
+ * WordPress dependencies
20
+ */
21
+ const AUTHORS_QUERY = {
22
+ who: 'authors',
23
+ per_page: -1,
24
+ _fields: 'id,name',
25
+ context: 'view'
26
+ };
27
+
28
+ function UserControl(_ref) {
29
+ let {
30
+ value,
31
+ onChange
32
+ } = _ref;
33
+ const [filteredAuthorsList, setFilteredAuthorsList] = (0, _element.useState)();
34
+ const authorsList = (0, _data.useSelect)(select => {
35
+ const {
36
+ getUsers
37
+ } = select(_coreData.store);
38
+ return getUsers(AUTHORS_QUERY);
39
+ }, []);
40
+
41
+ if (!authorsList) {
42
+ return null;
43
+ }
44
+
45
+ const options = authorsList.map(author => {
46
+ return {
47
+ label: author.name,
48
+ value: author.id
49
+ };
50
+ });
51
+ return (0, _element.createElement)(_components.ComboboxControl, {
52
+ label: (0, _i18n.__)('User'),
53
+ help: (0, _i18n.__)('Select the avatar user to display, if it is blank it will use the post/page author.'),
54
+ value: value,
55
+ onChange: onChange,
56
+ options: filteredAuthorsList || options,
57
+ onFilterValueChange: inputValue => setFilteredAuthorsList(options.filter(option => option.label.toLowerCase().startsWith(inputValue.toLowerCase())))
58
+ });
59
+ }
60
+
61
+ var _default = UserControl;
62
+ exports.default = _default;
63
+ //# sourceMappingURL=user-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/avatar/user-control.js"],"names":["AUTHORS_QUERY","who","per_page","_fields","context","UserControl","value","onChange","filteredAuthorsList","setFilteredAuthorsList","authorsList","select","getUsers","coreStore","options","map","author","label","name","id","inputValue","filter","option","toLowerCase","startsWith"],"mappings":";;;;;;;AAOA;;AAJA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAOA,MAAMA,aAAa,GAAG;AACrBC,EAAAA,GAAG,EAAE,SADgB;AAErBC,EAAAA,QAAQ,EAAE,CAAC,CAFU;AAGrBC,EAAAA,OAAO,EAAE,SAHY;AAIrBC,EAAAA,OAAO,EAAE;AAJY,CAAtB;;AAOA,SAASC,WAAT,OAA4C;AAAA,MAAtB;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAsB;AAC3C,QAAM,CAAEC,mBAAF,EAAuBC,sBAAvB,IAAkD,wBAAxD;AACA,QAAMC,WAAW,GAAG,qBAAaC,MAAF,IAAc;AAC5C,UAAM;AAAEC,MAAAA;AAAF,QAAeD,MAAM,CAAEE,eAAF,CAA3B;AACA,WAAOD,QAAQ,CAAEZ,aAAF,CAAf;AACA,GAHmB,EAGjB,EAHiB,CAApB;;AAIA,MAAK,CAAEU,WAAP,EAAqB;AACpB,WAAO,IAAP;AACA;;AAED,QAAMI,OAAO,GAAGJ,WAAW,CAACK,GAAZ,CAAmBC,MAAF,IAAc;AAC9C,WAAO;AACNC,MAAAA,KAAK,EAAED,MAAM,CAACE,IADR;AAENZ,MAAAA,KAAK,EAAEU,MAAM,CAACG;AAFR,KAAP;AAIA,GALe,CAAhB;AAOA,SACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EAAG,cAAI,MAAJ,CADT;AAEC,IAAA,IAAI,EAAG,cACN,qFADM,CAFR;AAKC,IAAA,KAAK,EAAGb,KALT;AAMC,IAAA,QAAQ,EAAGC,QANZ;AAOC,IAAA,OAAO,EAAGC,mBAAmB,IAAIM,OAPlC;AAQC,IAAA,mBAAmB,EAAKM,UAAF,IACrBX,sBAAsB,CACrBK,OAAO,CAACO,MAAR,CAAkBC,MAAF,IACfA,MAAM,CAACL,KAAP,CACEM,WADF,GAEEC,UAFF,CAEcJ,UAAU,CAACG,WAAX,EAFd,CADD,CADqB;AATxB,IADD;AAoBA;;eAEclB,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: -1,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nfunction UserControl( { value, onChange } ) {\n\tconst [ filteredAuthorsList, setFilteredAuthorsList ] = useState();\n\tconst authorsList = useSelect( ( select ) => {\n\t\tconst { getUsers } = select( coreStore );\n\t\treturn getUsers( AUTHORS_QUERY );\n\t}, [] );\n\tif ( ! authorsList ) {\n\t\treturn null;\n\t}\n\n\tconst options = authorsList.map( ( author ) => {\n\t\treturn {\n\t\t\tlabel: author.name,\n\t\t\tvalue: author.id,\n\t\t};\n\t} );\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\tlabel={ __( 'User' ) }\n\t\t\thelp={ __(\n\t\t\t\t'Select the avatar user to display, if it is blank it will use the post/page author.'\n\t\t\t) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\toptions={ filteredAuthorsList || options }\n\t\t\tonFilterValueChange={ ( inputValue ) =>\n\t\t\t\tsetFilteredAuthorsList(\n\t\t\t\t\toptions.filter( ( option ) =>\n\t\t\t\t\t\toption.label\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.startsWith( inputValue.toLowerCase() )\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport default UserControl;\n"]}
@@ -63,7 +63,8 @@ const metadata = {
63
63
  __experimentalDefaultControls: {
64
64
  padding: true
65
65
  }
66
- }
66
+ },
67
+ __experimentalLayout: true
67
68
  }
68
69
  };
69
70
  exports.metadata = metadata;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/column/index.js"],"names":["name","metadata","settings","icon","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AAEA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;AAIvBC,EAAAA,UAAU,EAAVA;AAJuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { column as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/column/index.js"],"names":["name","metadata","settings","icon","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AAEA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;AAIvBC,EAAAA,UAAU,EAAVA;AAJuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { column as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
@@ -40,6 +40,7 @@ const metadata = {
40
40
  usesContext: ["commentId"],
41
41
  supports: {
42
42
  html: false,
43
+ inserter: false,
43
44
  __experimentalBorder: {
44
45
  radius: true,
45
46
  width: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comment-author-avatar/index.js"],"names":["name","metadata","settings","icon","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,0BADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { commentAuthorAvatar as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comment-author-avatar/index.js"],"names":["name","metadata","settings","icon","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,0BADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { commentAuthorAvatar as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
@@ -47,31 +47,16 @@ function Edit(_ref) {
47
47
  } = _ref;
48
48
  const blockProps = (0, _blockEditor.useBlockProps)();
49
49
  const [date] = (0, _coreData.useEntityProp)('root', 'comment', 'date', commentId);
50
- const [siteDateFormat] = (0, _coreData.useEntityProp)('root', 'site', 'date_format');
51
- const settings = (0, _date.__experimentalGetSettings)();
52
- const formatOptions = Object.values(settings.formats).map(formatOption => ({
53
- key: formatOption,
54
- name: (0, _date.dateI18n)(formatOption, date || new Date())
55
- }));
56
- const resolvedFormat = format || siteDateFormat || settings.formats.date;
50
+ const [siteFormat = (0, _date.__experimentalGetSettings)().formats.date] = (0, _coreData.useEntityProp)('root', 'site', 'date_format');
57
51
  const inspectorControls = (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
58
- title: (0, _i18n.__)('Format settings')
59
- }, (0, _element.createElement)(_components.CustomSelectControl, {
60
- hideLabelFromVision: true,
61
- label: (0, _i18n.__)('Date Format'),
62
- options: formatOptions,
63
- onChange: _ref2 => {
64
- let {
65
- selectedItem
66
- } = _ref2;
67
- return setAttributes({
68
- format: selectedItem.key
69
- });
70
- },
71
- value: formatOptions.find(option => option.key === resolvedFormat)
72
- })), (0, _element.createElement)(_components.PanelBody, {
73
- title: (0, _i18n.__)('Link settings')
74
- }, (0, _element.createElement)(_components.ToggleControl, {
52
+ title: (0, _i18n.__)('Settings')
53
+ }, (0, _element.createElement)(_blockEditor.__experimentalDateFormatPicker, {
54
+ format: format,
55
+ defaultFormat: siteFormat,
56
+ onChange: nextFormat => setAttributes({
57
+ format: nextFormat
58
+ })
59
+ }), (0, _element.createElement)(_components.ToggleControl, {
75
60
  label: (0, _i18n.__)('Link to comment'),
76
61
  onChange: () => setAttributes({
77
62
  isLink: !isLink
@@ -85,7 +70,7 @@ function Edit(_ref) {
85
70
 
86
71
  let commentDate = (0, _element.createElement)("time", {
87
72
  dateTime: (0, _date.dateI18n)('c', date)
88
- }, (0, _date.dateI18n)(resolvedFormat, date));
73
+ }, (0, _date.dateI18n)(format || siteFormat, date));
89
74
 
90
75
  if (isLink) {
91
76
  commentDate = (0, _element.createElement)("a", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comment-date/edit.js"],"names":["Edit","attributes","format","isLink","context","commentId","setAttributes","blockProps","date","siteDateFormat","settings","formatOptions","Object","values","formats","map","formatOption","key","name","Date","resolvedFormat","inspectorControls","selectedItem","find","option","commentDate","event","preventDefault"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,IAAT,OAIX;AAAA,MAJ0B;AAC7BC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KADiB;AAE7BC,IAAAA,OAAO,EAAE;AAAEC,MAAAA;AAAF,KAFoB;AAG7BC,IAAAA;AAH6B,GAI1B;AACH,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAM,CAAEC,IAAF,IAAW,6BAAe,MAAf,EAAuB,SAAvB,EAAkC,MAAlC,EAA0CH,SAA1C,CAAjB;AACA,QAAM,CAAEI,cAAF,IAAqB,6BAAe,MAAf,EAAuB,MAAvB,EAA+B,aAA/B,CAA3B;AAEA,QAAMC,QAAQ,GAAG,sCAAjB;AACA,QAAMC,aAAa,GAAGC,MAAM,CAACC,MAAP,CAAeH,QAAQ,CAACI,OAAxB,EAAkCC,GAAlC,CACnBC,YAAF,KAAsB;AACrBC,IAAAA,GAAG,EAAED,YADgB;AAErBE,IAAAA,IAAI,EAAE,oBAAUF,YAAV,EAAwBR,IAAI,IAAI,IAAIW,IAAJ,EAAhC;AAFe,GAAtB,CADqB,CAAtB;AAMA,QAAMC,cAAc,GAAGlB,MAAM,IAAIO,cAAV,IAA4BC,QAAQ,CAACI,OAAT,CAAiBN,IAApE;AAEA,QAAMa,iBAAiB,GACtB,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,iBAAJ;AAAnB,KACC,4BAAC,+BAAD;AACC,IAAA,mBAAmB,MADpB;AAEC,IAAA,KAAK,EAAG,cAAI,aAAJ,CAFT;AAGC,IAAA,OAAO,EAAGV,aAHX;AAIC,IAAA,QAAQ,EAAG;AAAA,UAAE;AAAEW,QAAAA;AAAF,OAAF;AAAA,aACVhB,aAAa,CAAE;AACdJ,QAAAA,MAAM,EAAEoB,YAAY,CAACL;AADP,OAAF,CADH;AAAA,KAJZ;AASC,IAAA,KAAK,EAAGN,aAAa,CAACY,IAAd,CACLC,MAAF,IAAcA,MAAM,CAACP,GAAP,KAAeG,cADtB;AATT,IADD,CADD,EAgBC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,QAAQ,EAAG,MAAMd,aAAa,CAAE;AAAEH,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAF/B;AAGC,IAAA,OAAO,EAAGA;AAHX,IADD,CAhBD,CADD;;AA2BA,MAAK,CAAEE,SAAF,IAAe,CAAEG,IAAtB,EAA6B;AAC5B,WACC,qDACGa,iBADH,EAEC,mCAAUd,UAAV,EACC,uCAAK,cAAI,cAAJ,EAAoB,aAApB,CAAL,CADD,CAFD,CADD;AAQA;;AAED,MAAIkB,WAAW,GACd;AAAM,IAAA,QAAQ,EAAG,oBAAU,GAAV,EAAejB,IAAf;AAAjB,KACG,oBAAUY,cAAV,EAA0BZ,IAA1B,CADH,CADD;;AAMA,MAAKL,MAAL,EAAc;AACbsB,IAAAA,WAAW,GACV;AACC,MAAA,IAAI,EAAC,2BADN;AAEC,MAAA,OAAO,EAAKC,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,OAIGF,WAJH,CADD;AAQA;;AAED,SACC,qDACGJ,iBADH,EAEC,mCAAUd,UAAV,EAAyBkB,WAAzB,CAFD,CADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __experimentalGetSettings, dateI18n } from '@wordpress/date';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tCustomSelectControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Renders the `core/comment-date` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.format Format of the date.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { format, isLink },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tconst [ date ] = useEntityProp( 'root', 'comment', 'date', commentId );\n\tconst [ siteDateFormat ] = useEntityProp( 'root', 'site', 'date_format' );\n\n\tconst settings = __experimentalGetSettings();\n\tconst formatOptions = Object.values( settings.formats ).map(\n\t\t( formatOption ) => ( {\n\t\t\tkey: formatOption,\n\t\t\tname: dateI18n( formatOption, date || new Date() ),\n\t\t} )\n\t);\n\tconst resolvedFormat = format || siteDateFormat || settings.formats.date;\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Format settings' ) }>\n\t\t\t\t<CustomSelectControl\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Date Format' ) }\n\t\t\t\t\toptions={ formatOptions }\n\t\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tformat: selectedItem.key,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ formatOptions.find(\n\t\t\t\t\t\t( option ) => option.key === resolvedFormat\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Link to comment' ) }\n\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\tchecked={ isLink }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! date ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ _x( 'Comment Date', 'block title' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tlet commentDate = (\n\t\t<time dateTime={ dateI18n( 'c', date ) }>\n\t\t\t{ dateI18n( resolvedFormat, date ) }\n\t\t</time>\n\t);\n\n\tif ( isLink ) {\n\t\tcommentDate = (\n\t\t\t<a\n\t\t\t\thref=\"#comment-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ commentDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>{ commentDate }</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comment-date/edit.js"],"names":["Edit","attributes","format","isLink","context","commentId","setAttributes","blockProps","date","siteFormat","formats","inspectorControls","nextFormat","commentDate","event","preventDefault"],"mappings":";;;;;;;;;AAGA;;AACA;;AAIA;;AAKA;;AACA;;AAdA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,IAAT,OAIX;AAAA,MAJ0B;AAC7BC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KADiB;AAE7BC,IAAAA,OAAO,EAAE;AAAEC,MAAAA;AAAF,KAFoB;AAG7BC,IAAAA;AAH6B,GAI1B;AACH,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAM,CAAEC,IAAF,IAAW,6BAAe,MAAf,EAAuB,SAAvB,EAAkC,MAAlC,EAA0CH,SAA1C,CAAjB;AACA,QAAM,CAAEI,UAAU,GAAG,uCAAkBC,OAAlB,CAA0BF,IAAzC,IAAkD,6BACvD,MADuD,EAEvD,MAFuD,EAGvD,aAHuD,CAAxD;AAMA,QAAMG,iBAAiB,GACtB,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,2CAAD;AACC,IAAA,MAAM,EAAGT,MADV;AAEC,IAAA,aAAa,EAAGO,UAFjB;AAGC,IAAA,QAAQ,EAAKG,UAAF,IACVN,aAAa,CAAE;AAAEJ,MAAAA,MAAM,EAAEU;AAAV,KAAF;AAJf,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,QAAQ,EAAG,MAAMN,aAAa,CAAE;AAAEH,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAF/B;AAGC,IAAA,OAAO,EAAGA;AAHX,IARD,CADD,CADD;;AAmBA,MAAK,CAAEE,SAAF,IAAe,CAAEG,IAAtB,EAA6B;AAC5B,WACC,qDACGG,iBADH,EAEC,mCAAUJ,UAAV,EACC,uCAAK,cAAI,cAAJ,EAAoB,aAApB,CAAL,CADD,CAFD,CADD;AAQA;;AAED,MAAIM,WAAW,GACd;AAAM,IAAA,QAAQ,EAAG,oBAAU,GAAV,EAAeL,IAAf;AAAjB,KACG,oBAAUN,MAAM,IAAIO,UAApB,EAAgCD,IAAhC,CADH,CADD;;AAMA,MAAKL,MAAL,EAAc;AACbU,IAAAA,WAAW,GACV;AACC,MAAA,IAAI,EAAC,2BADN;AAEC,MAAA,OAAO,EAAKC,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,OAIGF,WAJH,CADD;AAQA;;AAED,SACC,qDACGF,iBADH,EAEC,mCAAUJ,UAAV,EAAyBM,WAAzB,CAFD,CADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tdateI18n,\n\t__experimentalGetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Renders the `core/comment-date` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.format Format of the date.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { format, isLink },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tconst [ date ] = useEntityProp( 'root', 'comment', 'date', commentId );\n\tconst [ siteFormat = getDateSettings().formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<DateFormatPicker\n\t\t\t\t\tformat={ format }\n\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Link to comment' ) }\n\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\tchecked={ isLink }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! date ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ _x( 'Comment Date', 'block title' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tlet commentDate = (\n\t\t<time dateTime={ dateI18n( 'c', date ) }>\n\t\t\t{ dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t);\n\n\tif ( isLink ) {\n\t\tcommentDate = (\n\t\t\t<a\n\t\t\t\thref=\"#comment-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ commentDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>{ commentDate }</div>\n\t\t</>\n\t);\n}\n"]}