@wordpress/block-library 9.30.1-next.836ecdcae.0 → 9.31.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 (210) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +6 -1
  3. package/build/button/edit.js.map +1 -1
  4. package/build/button/edit.native.js +1 -1
  5. package/build/button/edit.native.js.map +1 -1
  6. package/build/buttons/index.js +2 -1
  7. package/build/buttons/index.js.map +1 -1
  8. package/build/categories/edit.js +3 -1
  9. package/build/categories/edit.js.map +1 -1
  10. package/build/image/edit.native.js +1 -1
  11. package/build/image/edit.native.js.map +1 -1
  12. package/build/image/image.js +5 -8
  13. package/build/image/image.js.map +1 -1
  14. package/build/image/save.js +6 -2
  15. package/build/image/save.js.map +1 -1
  16. package/build/index.js +4 -0
  17. package/build/index.js.map +1 -1
  18. package/build/navigation/edit/index.js +0 -1
  19. package/build/navigation/edit/index.js.map +1 -1
  20. package/build/navigation-link/block-inserter.js +69 -0
  21. package/build/navigation-link/block-inserter.js.map +1 -0
  22. package/build/navigation-link/dialog-wrapper.js +80 -0
  23. package/build/navigation-link/dialog-wrapper.js.map +1 -0
  24. package/build/navigation-link/link-ui.js +34 -82
  25. package/build/navigation-link/link-ui.js.map +1 -1
  26. package/build/navigation-link/page-creator.js +12 -18
  27. package/build/navigation-link/page-creator.js.map +1 -1
  28. package/build/post-date/edit.js +2 -1
  29. package/build/post-date/edit.js.map +1 -1
  30. package/build/post-featured-image/edit.js +7 -2
  31. package/build/post-featured-image/edit.js.map +1 -1
  32. package/build/post-title/edit.js +8 -2
  33. package/build/post-title/edit.js.map +1 -1
  34. package/build/query/edit/pattern-selection.js +9 -1
  35. package/build/query/edit/pattern-selection.js.map +1 -1
  36. package/build/query/index.js +2 -1
  37. package/build/query/index.js.map +1 -1
  38. package/build/rss/edit.js +6 -1
  39. package/build/rss/edit.js.map +1 -1
  40. package/build/site-tagline/index.js +1 -0
  41. package/build/site-tagline/index.js.map +1 -1
  42. package/build/social-link/edit.js +6 -1
  43. package/build/social-link/edit.js.map +1 -1
  44. package/build/social-links/index.js +2 -1
  45. package/build/social-links/index.js.map +1 -1
  46. package/build/spacer/edit.js +2 -1
  47. package/build/spacer/edit.js.map +1 -1
  48. package/build/table-of-contents/edit.js +33 -9
  49. package/build/table-of-contents/edit.js.map +1 -1
  50. package/build/table-of-contents/index.js +4 -0
  51. package/build/table-of-contents/index.js.map +1 -1
  52. package/build/table-of-contents/list.js +6 -3
  53. package/build/table-of-contents/list.js.map +1 -1
  54. package/build/table-of-contents/save.js +6 -3
  55. package/build/table-of-contents/save.js.map +1 -1
  56. package/build/term-template/edit.js +318 -0
  57. package/build/term-template/edit.js.map +1 -0
  58. package/build/term-template/index.js +109 -0
  59. package/build/term-template/index.js.map +1 -0
  60. package/build/term-template/save.js +16 -0
  61. package/build/term-template/save.js.map +1 -0
  62. package/build/term-template/variations.js +83 -0
  63. package/build/term-template/variations.js.map +1 -0
  64. package/build/terms-query/edit.js +20 -0
  65. package/build/terms-query/edit.js.map +1 -0
  66. package/build/terms-query/index.js +83 -0
  67. package/build/terms-query/index.js.map +1 -0
  68. package/build/terms-query/inspector-controls.js +231 -0
  69. package/build/terms-query/inspector-controls.js.map +1 -0
  70. package/build/terms-query/save.js +24 -0
  71. package/build/terms-query/save.js.map +1 -0
  72. package/build/terms-query/terms-query-content.js +71 -0
  73. package/build/terms-query/terms-query-content.js.map +1 -0
  74. package/build/utils/hooks.js +3 -0
  75. package/build/utils/hooks.js.map +1 -1
  76. package/build-module/button/edit.js +7 -2
  77. package/build-module/button/edit.js.map +1 -1
  78. package/build-module/button/edit.native.js +1 -1
  79. package/build-module/button/edit.native.js.map +1 -1
  80. package/build-module/buttons/index.js +2 -1
  81. package/build-module/buttons/index.js.map +1 -1
  82. package/build-module/categories/edit.js +3 -1
  83. package/build-module/categories/edit.js.map +1 -1
  84. package/build-module/image/edit.native.js +1 -1
  85. package/build-module/image/edit.native.js.map +1 -1
  86. package/build-module/image/image.js +5 -8
  87. package/build-module/image/image.js.map +1 -1
  88. package/build-module/image/save.js +6 -2
  89. package/build-module/image/save.js.map +1 -1
  90. package/build-module/index.js +4 -0
  91. package/build-module/index.js.map +1 -1
  92. package/build-module/navigation/edit/index.js +0 -1
  93. package/build-module/navigation/edit/index.js.map +1 -1
  94. package/build-module/navigation-link/block-inserter.js +61 -0
  95. package/build-module/navigation-link/block-inserter.js.map +1 -0
  96. package/build-module/navigation-link/dialog-wrapper.js +75 -0
  97. package/build-module/navigation-link/dialog-wrapper.js.map +1 -0
  98. package/build-module/navigation-link/link-ui.js +37 -85
  99. package/build-module/navigation-link/link-ui.js.map +1 -1
  100. package/build-module/navigation-link/page-creator.js +12 -19
  101. package/build-module/navigation-link/page-creator.js.map +1 -1
  102. package/build-module/post-date/edit.js +3 -2
  103. package/build-module/post-date/edit.js.map +1 -1
  104. package/build-module/post-featured-image/edit.js +9 -4
  105. package/build-module/post-featured-image/edit.js.map +1 -1
  106. package/build-module/post-title/edit.js +9 -3
  107. package/build-module/post-title/edit.js.map +1 -1
  108. package/build-module/query/edit/pattern-selection.js +9 -1
  109. package/build-module/query/edit/pattern-selection.js.map +1 -1
  110. package/build-module/query/index.js +2 -1
  111. package/build-module/query/index.js.map +1 -1
  112. package/build-module/rss/edit.js +8 -3
  113. package/build-module/rss/edit.js.map +1 -1
  114. package/build-module/site-tagline/index.js +1 -0
  115. package/build-module/site-tagline/index.js.map +1 -1
  116. package/build-module/social-link/edit.js +8 -3
  117. package/build-module/social-link/edit.js.map +1 -1
  118. package/build-module/social-links/index.js +2 -1
  119. package/build-module/social-links/index.js.map +1 -1
  120. package/build-module/spacer/edit.js +3 -2
  121. package/build-module/spacer/edit.js.map +1 -1
  122. package/build-module/table-of-contents/edit.js +35 -11
  123. package/build-module/table-of-contents/edit.js.map +1 -1
  124. package/build-module/table-of-contents/index.js +4 -0
  125. package/build-module/table-of-contents/index.js.map +1 -1
  126. package/build-module/table-of-contents/list.js +6 -3
  127. package/build-module/table-of-contents/list.js.map +1 -1
  128. package/build-module/table-of-contents/save.js +6 -3
  129. package/build-module/table-of-contents/save.js.map +1 -1
  130. package/build-module/term-template/edit.js +310 -0
  131. package/build-module/term-template/edit.js.map +1 -0
  132. package/build-module/term-template/index.js +102 -0
  133. package/build-module/term-template/index.js.map +1 -0
  134. package/build-module/term-template/save.js +9 -0
  135. package/build-module/term-template/save.js.map +1 -0
  136. package/build-module/term-template/variations.js +76 -0
  137. package/build-module/term-template/variations.js.map +1 -0
  138. package/build-module/terms-query/edit.js +12 -0
  139. package/build-module/terms-query/edit.js.map +1 -0
  140. package/build-module/terms-query/index.js +76 -0
  141. package/build-module/terms-query/index.js.map +1 -0
  142. package/build-module/terms-query/inspector-controls.js +224 -0
  143. package/build-module/terms-query/inspector-controls.js.map +1 -0
  144. package/build-module/terms-query/save.js +17 -0
  145. package/build-module/terms-query/save.js.map +1 -0
  146. package/build-module/terms-query/terms-query-content.js +63 -0
  147. package/build-module/terms-query/terms-query-content.js.map +1 -0
  148. package/build-module/utils/hooks.js +3 -0
  149. package/build-module/utils/hooks.js.map +1 -1
  150. package/build-style/editor-rtl.css +24 -0
  151. package/build-style/editor.css +24 -0
  152. package/build-style/style-rtl.css +16 -0
  153. package/build-style/style.css +16 -0
  154. package/build-style/term-template/editor-rtl.css +160 -0
  155. package/build-style/term-template/editor.css +160 -0
  156. package/build-style/term-template/style-rtl.css +146 -0
  157. package/build-style/term-template/style.css +146 -0
  158. package/build-style/terms-query/style-rtl.css +140 -0
  159. package/build-style/terms-query/style.css +140 -0
  160. package/build-types/table-of-contents/list.d.ts +2 -1
  161. package/build-types/table-of-contents/list.d.ts.map +1 -1
  162. package/package.json +35 -35
  163. package/src/button/edit.js +12 -1
  164. package/src/button/edit.native.js +1 -1
  165. package/src/buttons/block.json +2 -1
  166. package/src/categories/edit.js +2 -1
  167. package/src/editor.scss +1 -0
  168. package/src/image/edit.native.js +1 -1
  169. package/src/image/image.js +5 -8
  170. package/src/image/save.js +7 -1
  171. package/src/index.js +4 -0
  172. package/src/navigation/edit/index.js +0 -1
  173. package/src/navigation-link/block-inserter.js +65 -0
  174. package/src/navigation-link/dialog-wrapper.js +74 -0
  175. package/src/navigation-link/link-ui.js +32 -95
  176. package/src/navigation-link/page-creator.js +13 -20
  177. package/src/post-date/edit.js +64 -53
  178. package/src/post-date/index.php +5 -13
  179. package/src/post-featured-image/edit.js +19 -3
  180. package/src/post-title/edit.js +14 -2
  181. package/src/query/block.json +2 -1
  182. package/src/query/edit/pattern-selection.js +10 -1
  183. package/src/rss/edit.js +13 -2
  184. package/src/site-tagline/block.json +1 -0
  185. package/src/social-link/edit.js +13 -2
  186. package/src/social-links/block.json +2 -1
  187. package/src/spacer/edit.js +5 -1
  188. package/src/style.scss +2 -0
  189. package/src/table-of-contents/block.json +4 -0
  190. package/src/table-of-contents/edit.js +58 -21
  191. package/src/table-of-contents/list.tsx +7 -2
  192. package/src/table-of-contents/save.js +7 -3
  193. package/src/term-template/block.json +73 -0
  194. package/src/term-template/edit.js +391 -0
  195. package/src/term-template/editor.scss +26 -0
  196. package/src/term-template/index.js +26 -0
  197. package/src/term-template/index.php +224 -0
  198. package/src/term-template/save.js +8 -0
  199. package/src/term-template/style.scss +12 -0
  200. package/src/term-template/variations.js +87 -0
  201. package/src/terms-query/block.json +49 -0
  202. package/src/terms-query/edit.js +10 -0
  203. package/src/terms-query/index.js +24 -0
  204. package/src/terms-query/index.php +44 -0
  205. package/src/terms-query/inspector-controls.js +239 -0
  206. package/src/terms-query/save.js +10 -0
  207. package/src/terms-query/style.scss +6 -0
  208. package/src/terms-query/terms-query-content.js +74 -0
  209. package/src/utils/hooks.js +4 -0
  210. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.settings = exports.name = exports.metadata = exports.init = void 0;
8
+ var _icons = require("@wordpress/icons");
9
+ var _initBlock = _interopRequireDefault(require("../utils/init-block"));
10
+ var _edit = _interopRequireDefault(require("./edit"));
11
+ var _save = _interopRequireDefault(require("./save"));
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+ const metadata = exports.metadata = {
19
+ $schema: "https://schemas.wp.org/trunk/block.json",
20
+ apiVersion: 3,
21
+ __experimental: true,
22
+ name: "core/terms-query",
23
+ title: "Terms Query",
24
+ category: "theme",
25
+ description: "An advanced block that allows displaying taxonomy terms based on different query parameters and visual configurations.",
26
+ keywords: ["terms", "taxonomy", "categories", "tags", "list"],
27
+ textdomain: "default",
28
+ attributes: {
29
+ termQueryId: {
30
+ type: "number"
31
+ },
32
+ termQuery: {
33
+ type: "object",
34
+ "default": {
35
+ perPage: 10,
36
+ pages: 0,
37
+ taxonomy: "category",
38
+ order: "asc",
39
+ orderBy: "name",
40
+ hideEmpty: true,
41
+ include: [],
42
+ exclude: [],
43
+ parent: 0,
44
+ hierarchical: false
45
+ }
46
+ },
47
+ tagName: {
48
+ type: "string",
49
+ "default": "div"
50
+ },
51
+ namespace: {
52
+ type: "string"
53
+ }
54
+ },
55
+ providesContext: {
56
+ termQueryId: "termQueryId",
57
+ termQuery: "termQuery"
58
+ },
59
+ supports: {
60
+ align: ["wide", "full"],
61
+ html: false,
62
+ interactivity: true
63
+ },
64
+ allowedBlocks: ["core/term-template"],
65
+ style: "wp-block-terms-query"
66
+ };
67
+ const {
68
+ name
69
+ } = metadata;
70
+ exports.name = name;
71
+ const settings = exports.settings = {
72
+ icon: _icons.loop,
73
+ edit: _edit.default,
74
+ save: _save.default,
75
+ example: {}
76
+ };
77
+ const init = () => (0, _initBlock.default)({
78
+ name,
79
+ metadata,
80
+ settings
81
+ });
82
+ exports.init = init;
83
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","_save","metadata","exports","$schema","apiVersion","__experimental","name","title","category","description","keywords","textdomain","attributes","termQueryId","type","termQuery","perPage","pages","taxonomy","order","orderBy","hideEmpty","include","exclude","parent","hierarchical","tagName","namespace","providesContext","supports","align","html","interactivity","allowedBlocks","style","settings","icon","edit","save","example","init","initBlock"],"sources":["@wordpress/block-library/src/terms-query/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { loop as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\texample: {},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAF,sBAAA,CAAAF,OAAA;AAXA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAK,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,cAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,WAAA;MAAAC,IAAA;IAAA;IAAAC,SAAA;MAAAD,IAAA;MAAA;QAAAE,OAAA;QAAAC,KAAA;QAAAC,QAAA;QAAAC,KAAA;QAAAC,OAAA;QAAAC,SAAA;QAAAC,OAAA;QAAAC,OAAA;QAAAC,MAAA;QAAAC,YAAA;MAAA;IAAA;IAAAC,OAAA;MAAAZ,IAAA;MAAA;IAAA;IAAAa,SAAA;MAAAb,IAAA;IAAA;EAAA;EAAAc,eAAA;IAAAf,WAAA;IAAAE,SAAA;EAAA;EAAAc,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,aAAA;EAAA;EAAAC,aAAA;EAAAC,KAAA;AAAA;AAQA,MAAM;EAAE5B;AAAK,CAAC,GAAGL,QAAQ;AAACC,OAAA,CAAAI,IAAA,GAAAA,IAAA;AAGnB,MAAM6B,QAAQ,GAAAjC,OAAA,CAAAiC,QAAA,GAAG;EACvBC,IAAI,EAAJA,WAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,OAAO,EAAE,CAAC;AACX,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEnC,IAAI;EAAEL,QAAQ;EAAEkC;AAAS,CAAE,CAAC;AAACjC,OAAA,CAAAsC,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = TermsQueryInspectorControls;
7
+ var _i18n = require("@wordpress/i18n");
8
+ var _components = require("@wordpress/components");
9
+ var _blockEditor = require("@wordpress/block-editor");
10
+ var _data = require("@wordpress/data");
11
+ var _coreData = require("@wordpress/core-data");
12
+ var _hooks = require("../utils/hooks");
13
+ var _lockUnlock = require("../lock-unlock");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ /**
16
+ * WordPress dependencies
17
+ */
18
+
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+
23
+ const {
24
+ HTMLElementControl
25
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
26
+ function TermsQueryInspectorControls({
27
+ attributes,
28
+ setQuery,
29
+ setAttributes,
30
+ TagName,
31
+ clientId
32
+ }) {
33
+ const {
34
+ termQuery
35
+ } = attributes;
36
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
37
+ const {
38
+ taxonomies
39
+ } = (0, _data.useSelect)(select => {
40
+ const {
41
+ getEntityRecords
42
+ } = select(_coreData.store);
43
+ const allTaxonomies = getEntityRecords('root', 'taxonomy');
44
+ return {
45
+ taxonomies: allTaxonomies?.filter(t => t.visibility.public) || []
46
+ };
47
+ }, []);
48
+ const taxonomyOptions = taxonomies.map(taxonomy => ({
49
+ label: taxonomy.name,
50
+ value: taxonomy.slug
51
+ }));
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
55
+ label: (0, _i18n.__)('Terms Query Settings'),
56
+ resetAll: () => {
57
+ setAttributes({
58
+ termQuery: {
59
+ taxonomy: 'category',
60
+ order: 'asc',
61
+ orderBy: 'name',
62
+ hideEmpty: true,
63
+ hierarchical: false,
64
+ parent: 0,
65
+ perPage: 10
66
+ }
67
+ });
68
+ },
69
+ dropdownMenuProps: dropdownMenuProps,
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
71
+ hasValue: () => termQuery.taxonomy !== 'category',
72
+ label: (0, _i18n.__)('Taxonomy'),
73
+ onDeselect: () => setQuery({
74
+ taxonomy: 'category'
75
+ }),
76
+ isShownByDefault: true,
77
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
78
+ __nextHasNoMarginBottom: true,
79
+ __next40pxDefaultSize: true,
80
+ label: (0, _i18n.__)('Taxonomy'),
81
+ options: taxonomyOptions,
82
+ value: termQuery.taxonomy,
83
+ onChange: selectedTaxonomy => setQuery({
84
+ taxonomy: selectedTaxonomy
85
+ })
86
+ })
87
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
88
+ hasValue: () => termQuery.orderBy !== 'name' || termQuery.order !== 'asc',
89
+ label: (0, _i18n.__)('Order by'),
90
+ onDeselect: () => setQuery({
91
+ orderBy: 'name',
92
+ order: 'asc'
93
+ }),
94
+ isShownByDefault: true,
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
96
+ __nextHasNoMarginBottom: true,
97
+ __next40pxDefaultSize: true,
98
+ label: (0, _i18n.__)('Order by'),
99
+ options: [{
100
+ label: (0, _i18n.__)('Name: A → Z'),
101
+ value: 'name/asc'
102
+ }, {
103
+ label: (0, _i18n.__)('Name: Z → A'),
104
+ value: 'name/desc'
105
+ }, {
106
+ label: (0, _i18n.__)('Count, high to low'),
107
+ value: 'count/desc'
108
+ }, {
109
+ label: (0, _i18n.__)('Count, low to high'),
110
+ value: 'count/asc'
111
+ }],
112
+ value: termQuery.orderBy + '/' + termQuery.order,
113
+ onChange: orderBy => {
114
+ const [newOrderBy, newOrder] = orderBy.split('/');
115
+ setQuery({
116
+ orderBy: newOrderBy,
117
+ order: newOrder
118
+ });
119
+ }
120
+ })
121
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
122
+ hasValue: () => termQuery.parent !== 0,
123
+ label: (0, _i18n.__)('Show only top level terms'),
124
+ onDeselect: () => setQuery({
125
+ parent: 0
126
+ }),
127
+ isShownByDefault: true,
128
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
129
+ __nextHasNoMarginBottom: true,
130
+ label: (0, _i18n.__)('Show only top level terms'),
131
+ checked: termQuery.parent === 0,
132
+ onChange: showTopLevel => {
133
+ setQuery({
134
+ parent: showTopLevel ? 0 : undefined
135
+ });
136
+ if (showTopLevel && termQuery.hierarchical) {
137
+ setQuery({
138
+ hierarchical: false
139
+ });
140
+ }
141
+ },
142
+ disabled: !!termQuery.hierarchical
143
+ })
144
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
145
+ hasValue: () => termQuery.hideEmpty !== true,
146
+ label: (0, _i18n.__)('Show empty terms'),
147
+ onDeselect: () => setQuery({
148
+ hideEmpty: true
149
+ }),
150
+ isShownByDefault: true,
151
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
152
+ __nextHasNoMarginBottom: true,
153
+ label: (0, _i18n.__)('Show empty terms'),
154
+ checked: !termQuery.hideEmpty,
155
+ onChange: showEmpty => setQuery({
156
+ hideEmpty: !showEmpty
157
+ })
158
+ })
159
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
160
+ hasValue: () => termQuery.hierarchical !== false,
161
+ label: (0, _i18n.__)('Show hierarchy'),
162
+ onDeselect: () => setQuery({
163
+ hierarchical: false
164
+ }),
165
+ isShownByDefault: true,
166
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
167
+ __nextHasNoMarginBottom: true,
168
+ label: (0, _i18n.__)('Show hierarchy'),
169
+ checked: termQuery.hierarchical,
170
+ onChange: hierarchical => {
171
+ setQuery({
172
+ hierarchical
173
+ });
174
+ if (hierarchical && termQuery.parent) {
175
+ setQuery({
176
+ parent: 0
177
+ });
178
+ }
179
+ },
180
+ disabled: termQuery.parent === 0
181
+ })
182
+ }), !termQuery.hierarchical && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
183
+ hasValue: () => termQuery.perPage !== 10,
184
+ label: (0, _i18n.__)('Max terms'),
185
+ onDeselect: () => setQuery({
186
+ perPage: 10
187
+ }),
188
+ isShownByDefault: true,
189
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
190
+ __nextHasNoMarginBottom: true,
191
+ __next40pxDefaultSize: true,
192
+ label: (0, _i18n.__)('Max terms'),
193
+ value: termQuery.perPage,
194
+ min: 0,
195
+ max: 100,
196
+ onChange: perPage => {
197
+ // Show all terms (-1) when 0 is selected.
198
+ setQuery({
199
+ perPage: perPage === 0 ? -1 : perPage
200
+ });
201
+ },
202
+ help: (0, _i18n.__)('Limit the number of terms you want to show. To show all terms, use 0 (zero).')
203
+ })
204
+ })]
205
+ })
206
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
207
+ group: "advanced",
208
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(HTMLElementControl, {
209
+ tagName: TagName,
210
+ onChange: value => setAttributes({
211
+ tagName: value
212
+ }),
213
+ clientId: clientId,
214
+ options: [{
215
+ label: (0, _i18n.__)('Default (<div>)'),
216
+ value: 'div'
217
+ }, {
218
+ label: '<main>',
219
+ value: 'main'
220
+ }, {
221
+ label: '<section>',
222
+ value: 'section'
223
+ }, {
224
+ label: '<aside>',
225
+ value: 'aside'
226
+ }]
227
+ })
228
+ })]
229
+ });
230
+ }
231
+ //# sourceMappingURL=inspector-controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_components","_blockEditor","_data","_coreData","_hooks","_lockUnlock","_jsxRuntime","HTMLElementControl","unlock","blockEditorPrivateApis","TermsQueryInspectorControls","attributes","setQuery","setAttributes","TagName","clientId","termQuery","dropdownMenuProps","useToolsPanelDropdownMenuProps","taxonomies","useSelect","select","getEntityRecords","coreStore","allTaxonomies","filter","t","visibility","public","taxonomyOptions","map","taxonomy","label","name","value","slug","jsxs","Fragment","children","jsx","InspectorControls","__experimentalToolsPanel","__","resetAll","order","orderBy","hideEmpty","hierarchical","parent","perPage","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","options","onChange","selectedTaxonomy","newOrderBy","newOrder","split","ToggleControl","checked","showTopLevel","undefined","disabled","showEmpty","RangeControl","min","max","help","group","tagName"],"sources":["@wordpress/block-library/src/terms-query/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tRangeControl,\n\tSelectControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\n\nexport default function TermsQueryInspectorControls( {\n\tattributes,\n\tsetQuery,\n\tsetAttributes,\n\tTagName,\n\tclientId,\n} ) {\n\tconst { termQuery } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { taxonomies } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords } = select( coreStore );\n\t\tconst allTaxonomies = getEntityRecords( 'root', 'taxonomy' );\n\t\treturn {\n\t\t\ttaxonomies:\n\t\t\t\tallTaxonomies?.filter( ( t ) => t.visibility.public ) || [],\n\t\t};\n\t}, [] );\n\n\tconst taxonomyOptions = taxonomies.map( ( taxonomy ) => ( {\n\t\tlabel: taxonomy.name,\n\t\tvalue: taxonomy.slug,\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={ __( 'Terms Query Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttermQuery: {\n\t\t\t\t\t\t\t\ttaxonomy: 'category',\n\t\t\t\t\t\t\t\torder: 'asc',\n\t\t\t\t\t\t\t\torderBy: 'name',\n\t\t\t\t\t\t\t\thideEmpty: true,\n\t\t\t\t\t\t\t\thierarchical: false,\n\t\t\t\t\t\t\t\tparent: 0,\n\t\t\t\t\t\t\t\tperPage: 10,\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\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => termQuery.taxonomy !== 'category' }\n\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetQuery( { taxonomy: 'category' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\toptions={ taxonomyOptions }\n\t\t\t\t\t\t\tvalue={ termQuery.taxonomy }\n\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\tsetQuery( { taxonomy: selectedTaxonomy } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\ttermQuery.orderBy !== 'name' ||\n\t\t\t\t\t\t\ttermQuery.order !== 'asc'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetQuery( { orderBy: 'name', order: 'asc' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Name: A → Z' ),\n\t\t\t\t\t\t\t\t\tvalue: 'name/asc',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Name: Z → A' ),\n\t\t\t\t\t\t\t\t\tvalue: 'name/desc',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Count, high to low' ),\n\t\t\t\t\t\t\t\t\tvalue: 'count/desc',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Count, low to high' ),\n\t\t\t\t\t\t\t\t\tvalue: 'count/asc',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tvalue={ termQuery.orderBy + '/' + termQuery.order }\n\t\t\t\t\t\t\tonChange={ ( orderBy ) => {\n\t\t\t\t\t\t\t\tconst [ newOrderBy, newOrder ] =\n\t\t\t\t\t\t\t\t\torderBy.split( '/' );\n\t\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\t\torderBy: newOrderBy,\n\t\t\t\t\t\t\t\t\torder: newOrder,\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\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => termQuery.parent !== 0 }\n\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\tonDeselect={ () => setQuery( { parent: 0 } ) }\n\t\t\t\t\t\tisShownByDefault\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 only top level terms' ) }\n\t\t\t\t\t\t\tchecked={ termQuery.parent === 0 }\n\t\t\t\t\t\t\tonChange={ ( showTopLevel ) => {\n\t\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\t\tparent: showTopLevel ? 0 : undefined,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tif ( showTopLevel && termQuery.hierarchical ) {\n\t\t\t\t\t\t\t\t\tsetQuery( { hierarchical: 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\tdisabled={ !! termQuery.hierarchical }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => termQuery.hideEmpty !== true }\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tonDeselect={ () => setQuery( { hideEmpty: true } ) }\n\t\t\t\t\t\tisShownByDefault\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 empty terms' ) }\n\t\t\t\t\t\t\tchecked={ ! termQuery.hideEmpty }\n\t\t\t\t\t\t\tonChange={ ( showEmpty ) =>\n\t\t\t\t\t\t\t\tsetQuery( { hideEmpty: ! showEmpty } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => termQuery.hierarchical !== false }\n\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\tonDeselect={ () => setQuery( { hierarchical: false } ) }\n\t\t\t\t\t\tisShownByDefault\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 hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ termQuery.hierarchical }\n\t\t\t\t\t\t\tonChange={ ( hierarchical ) => {\n\t\t\t\t\t\t\t\tsetQuery( { hierarchical } );\n\t\t\t\t\t\t\t\tif ( hierarchical && termQuery.parent ) {\n\t\t\t\t\t\t\t\t\tsetQuery( { parent: 0 } );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisabled={ termQuery.parent === 0 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ ! termQuery.hierarchical && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => termQuery.perPage !== 10 }\n\t\t\t\t\t\t\tlabel={ __( 'Max terms' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { perPage: 10 } ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Max terms' ) }\n\t\t\t\t\t\t\t\tvalue={ termQuery.perPage }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\t\tonChange={ ( perPage ) => {\n\t\t\t\t\t\t\t\t\t// Show all terms (-1) when 0 is selected.\n\t\t\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\t\t\tperPage: perPage === 0 ? -1 : perPage,\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\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Limit the number of terms you want to show. To show all terms, use 0 (zero).'\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</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = save;
7
+ var _blockEditor = require("@wordpress/block-editor");
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+
13
+ function save({
14
+ attributes: {
15
+ tagName: Tag = 'div'
16
+ }
17
+ }) {
18
+ const blockProps = _blockEditor.useBlockProps.save();
19
+ const innerBlocksProps = _blockEditor.useInnerBlocksProps.save(blockProps);
20
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Tag, {
21
+ ...innerBlocksProps
22
+ });
23
+ }
24
+ //# sourceMappingURL=save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_blockEditor","require","_jsxRuntime","save","attributes","tagName","Tag","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","jsx"],"sources":["@wordpress/block-library/src/terms-query/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes: { tagName: Tag = 'div' } } ) {\n\tconst blockProps = useBlockProps.save();\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\treturn <Tag { ...innerBlocksProps } />;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAA6E,IAAAC,WAAA,GAAAD,OAAA;AAH7E;AACA;AACA;;AAGe,SAASE,IAAIA,CAAE;EAAEC,UAAU,EAAE;IAAEC,OAAO,EAAEC,GAAG,GAAG;EAAM;AAAE,CAAC,EAAG;EACxE,MAAMC,UAAU,GAAGC,0BAAa,CAACL,IAAI,CAAC,CAAC;EACvC,MAAMM,gBAAgB,GAAGC,gCAAmB,CAACP,IAAI,CAAEI,UAAW,CAAC;EAC/D,oBAAO,IAAAL,WAAA,CAAAS,GAAA,EAACL,GAAG;IAAA,GAAMG;EAAgB,CAAI,CAAC;AACvC","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = TermsQueryContent;
8
+ var _data = require("@wordpress/data");
9
+ var _compose = require("@wordpress/compose");
10
+ var _element = require("@wordpress/element");
11
+ var _blockEditor = require("@wordpress/block-editor");
12
+ var _inspectorControls = _interopRequireDefault(require("./inspector-controls"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ const TEMPLATE = [['core/term-template']];
23
+ function TermsQueryContent({
24
+ attributes,
25
+ setAttributes,
26
+ clientId,
27
+ name
28
+ }) {
29
+ const {
30
+ termQueryId,
31
+ termQuery = {},
32
+ tagName: TagName = 'div'
33
+ } = attributes;
34
+ const {
35
+ __unstableMarkNextChangeAsNotPersistent
36
+ } = (0, _data.useDispatch)(_blockEditor.store);
37
+ const instanceId = (0, _compose.useInstanceId)(TermsQueryContent);
38
+ const blockProps = (0, _blockEditor.useBlockProps)();
39
+ const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
40
+ template: TEMPLATE
41
+ });
42
+ const setQuery = newQuery => {
43
+ setAttributes({
44
+ termQuery: {
45
+ ...termQuery,
46
+ ...newQuery
47
+ }
48
+ });
49
+ };
50
+ (0, _element.useEffect)(() => {
51
+ if (!termQueryId) {
52
+ __unstableMarkNextChangeAsNotPersistent();
53
+ setAttributes({
54
+ termQueryId: instanceId
55
+ });
56
+ }
57
+ }, [termQueryId, instanceId, setAttributes, __unstableMarkNextChangeAsNotPersistent]);
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default, {
60
+ name: name,
61
+ attributes: attributes,
62
+ setQuery: setQuery,
63
+ setAttributes: setAttributes,
64
+ clientId: clientId,
65
+ tagName: TagName
66
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(TagName, {
67
+ ...innerBlocksProps
68
+ })]
69
+ });
70
+ }
71
+ //# sourceMappingURL=terms-query-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_data","require","_compose","_element","_blockEditor","_inspectorControls","_interopRequireDefault","_jsxRuntime","TEMPLATE","TermsQueryContent","attributes","setAttributes","clientId","name","termQueryId","termQuery","tagName","TagName","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","instanceId","useInstanceId","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","template","setQuery","newQuery","useEffect","jsxs","Fragment","children","jsx","default"],"sources":["@wordpress/block-library/src/terms-query/terms-query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport TermsQueryInspectorControls from './inspector-controls';\n\nconst TEMPLATE = [ [ 'core/term-template' ] ];\n\nexport default function TermsQueryContent( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tname,\n} ) {\n\tconst {\n\t\ttermQueryId,\n\t\ttermQuery = {},\n\t\ttagName: TagName = 'div',\n\t} = attributes;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( TermsQueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\n\tconst setQuery = ( newQuery ) => {\n\t\tsetAttributes( {\n\t\t\ttermQuery: {\n\t\t\t\t...termQuery,\n\t\t\t\t...newQuery,\n\t\t\t},\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! termQueryId ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { termQueryId: instanceId } );\n\t\t}\n\t}, [\n\t\ttermQueryId,\n\t\tinstanceId,\n\t\tsetAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\treturn (\n\t\t<>\n\t\t\t<TermsQueryInspectorControls\n\t\t\t\tname={ name }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetQuery={ setQuery }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t\ttagName={ TagName }\n\t\t\t/>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AASA,IAAAI,kBAAA,GAAAC,sBAAA,CAAAL,OAAA;AAA+D,IAAAM,WAAA,GAAAN,OAAA;AAf/D;AACA;AACA;;AAUA;AACA;AACA;;AAGA,MAAMO,QAAQ,GAAG,CAAE,CAAE,oBAAoB,CAAE,CAAE;AAE9B,SAASC,iBAAiBA,CAAE;EAC1CC,UAAU;EACVC,aAAa;EACbC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,WAAW;IACXC,SAAS,GAAG,CAAC,CAAC;IACdC,OAAO,EAAEC,OAAO,GAAG;EACpB,CAAC,GAAGP,UAAU;EAEd,MAAM;IAAEQ;EAAwC,CAAC,GAChD,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAChC,MAAMC,UAAU,GAAG,IAAAC,sBAAa,EAAEb,iBAAkB,CAAC;EACrD,MAAMc,UAAU,GAAG,IAAAC,0BAAa,EAAC,CAAC;EAClC,MAAMC,gBAAgB,GAAG,IAAAC,gCAAmB,EAAEH,UAAU,EAAE;IACzDI,QAAQ,EAAEnB;EACX,CAAE,CAAC;EAEH,MAAMoB,QAAQ,GAAKC,QAAQ,IAAM;IAChClB,aAAa,CAAE;MACdI,SAAS,EAAE;QACV,GAAGA,SAAS;QACZ,GAAGc;MACJ;IACD,CAAE,CAAC;EACJ,CAAC;EAED,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAEhB,WAAW,EAAG;MACpBI,uCAAuC,CAAC,CAAC;MACzCP,aAAa,CAAE;QAAEG,WAAW,EAAEO;MAAW,CAAE,CAAC;IAC7C;EACD,CAAC,EAAE,CACFP,WAAW,EACXO,UAAU,EACVV,aAAa,EACbO,uCAAuC,CACtC,CAAC;EAEH,oBACC,IAAAX,WAAA,CAAAwB,IAAA,EAAAxB,WAAA,CAAAyB,QAAA;IAAAC,QAAA,gBACC,IAAA1B,WAAA,CAAA2B,GAAA,EAAC7B,kBAAA,CAAA8B,OAA2B;MAC3BtB,IAAI,EAAGA,IAAM;MACbH,UAAU,EAAGA,UAAY;MACzBkB,QAAQ,EAAGA,QAAU;MACrBjB,aAAa,EAAGA,aAAe;MAC/BC,QAAQ,EAAGA,QAAU;MACrBI,OAAO,EAAGC;IAAS,CACnB,CAAC,eACF,IAAAV,WAAA,CAAA2B,GAAA,EAACjB,OAAO;MAAA,GAAMQ;IAAgB,CAAI,CAAC;EAAA,CAClC,CAAC;AAEL","ignoreList":[]}
@@ -71,6 +71,9 @@ function useUploadMediaFromBlobURL(args = {}) {
71
71
  const {
72
72
  mediaUpload
73
73
  } = getSettings();
74
+ if (!mediaUpload) {
75
+ return;
76
+ }
74
77
  hasUploadStartedRef.current = true;
75
78
  mediaUpload({
76
79
  filesList: [file],
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_blob","_blockEditor","_coreData","_compose","useCanEditEntity","kind","name","recordId","useSelect","select","coreStore","canUser","id","useUploadMediaFromBlobURL","args","latestArgsRef","useRef","hasUploadStartedRef","getSettings","blockEditorStore","useLayoutEffect","current","useEffect","url","isBlobURL","file","getBlobByURL","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","revokeBlobURL","message","useToolsPanelDropdownMenuProps","isMobile","useViewportMatch","popoverProps","placement","offset"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUser( 'update', {\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tid: recordId,\n\t\t\t} ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgsRef = useRef( args );\n\tconst hasUploadStartedRef = useRef( false );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgsRef.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\t// Uploading is a special effect that can't be canceled via the cleanup method.\n\t\t// The extra check avoids duplicate uploads in development mode (React.StrictMode).\n\t\tif ( hasUploadStartedRef.current ) {\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\t! latestArgsRef.current.url ||\n\t\t\t! isBlobURL( latestArgsRef.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgsRef.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgsRef.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\thasUploadStartedRef.current = true;\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t\thasUploadStartedRef.current = false;\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonError( message );\n\t\t\t\thasUploadStartedRef.current = false;\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n\nexport function useToolsPanelDropdownMenuProps() {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\treturn ! isMobile\n\t\t? {\n\t\t\t\tpopoverProps: {\n\t\t\t\t\tplacement: 'left-start',\n\t\t\t\t\t// For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)\n\t\t\t\t\toffset: 259,\n\t\t\t\t},\n\t\t }\n\t\t: {};\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AARA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAO,IAAAC,eAAS,EACbC,MAAM,IACPA,MAAM,CAAEC,eAAU,CAAC,CAACC,OAAO,CAAE,QAAQ,EAAE;IACtCN,IAAI;IACJC,IAAI;IACJM,EAAE,EAAEL;EACL,CAAE,CAAC,EACJ,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,aAAa,GAAG,IAAAC,eAAM,EAAEF,IAAK,CAAC;EACpC,MAAMG,mBAAmB,GAAG,IAAAD,eAAM,EAAE,KAAM,CAAC;EAC3C,MAAM;IAAEE;EAAY,CAAC,GAAG,IAAAV,eAAS,EAAEW,kBAAiB,CAAC;EAErD,IAAAC,wBAAe,EAAE,MAAM;IACtBL,aAAa,CAACM,OAAO,GAAGP,IAAI;EAC7B,CAAE,CAAC;EAEH,IAAAQ,kBAAS,EAAE,MAAM;IAChB;IACA;IACA,IAAKL,mBAAmB,CAACI,OAAO,EAAG;MAClC;IACD;IACA,IACC,CAAEN,aAAa,CAACM,OAAO,CAACE,GAAG,IAC3B,CAAE,IAAAC,eAAS,EAAET,aAAa,CAACM,OAAO,CAACE,GAAI,CAAC,EACvC;MACD;IACD;IAEA,MAAME,IAAI,GAAG,IAAAC,kBAAY,EAAEX,aAAa,CAACM,OAAO,CAACE,GAAI,CAAC;IACtD,IAAK,CAAEE,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAEF,GAAG;MAAEI,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGd,aAAa,CAACM,OAAO;IACtE,MAAM;MAAES;IAAY,CAAC,GAAGZ,WAAW,CAAC,CAAC;IAErCD,mBAAmB,CAACI,OAAO,GAAG,IAAI;IAElCS,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEN,IAAI,CAAE;MACnBE,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAK,IAAAT,eAAS,EAAES,KAAK,EAAEV,GAAI,CAAC,EAAG;UAC9B;QACD;QAEA,IAAAW,mBAAa,EAAEX,GAAI,CAAC;QACpBK,QAAQ,CAAEK,KAAM,CAAC;QACjBhB,mBAAmB,CAACI,OAAO,GAAG,KAAK;MACpC,CAAC;MACDQ,OAAO,EAAIM,OAAO,IAAM;QACvB,IAAAD,mBAAa,EAAEX,GAAI,CAAC;QACpBM,OAAO,CAAEM,OAAQ,CAAC;QAClBlB,mBAAmB,CAACI,OAAO,GAAG,KAAK;MACpC;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEH,WAAW,CAAG,CAAC;AACrB;AAEO,SAASkB,8BAA8BA,CAAA,EAAG;EAChD,MAAMC,QAAQ,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EAClD,OAAO,CAAED,QAAQ,GACd;IACAE,YAAY,EAAE;MACbC,SAAS,EAAE,YAAY;MACvB;MACAC,MAAM,EAAE;IACT;EACA,CAAC,GACD,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_element","_blob","_blockEditor","_coreData","_compose","useCanEditEntity","kind","name","recordId","useSelect","select","coreStore","canUser","id","useUploadMediaFromBlobURL","args","latestArgsRef","useRef","hasUploadStartedRef","getSettings","blockEditorStore","useLayoutEffect","current","useEffect","url","isBlobURL","file","getBlobByURL","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","revokeBlobURL","message","useToolsPanelDropdownMenuProps","isMobile","useViewportMatch","popoverProps","placement","offset"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUser( 'update', {\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tid: recordId,\n\t\t\t} ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgsRef = useRef( args );\n\tconst hasUploadStartedRef = useRef( false );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgsRef.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\t// Uploading is a special effect that can't be canceled via the cleanup method.\n\t\t// The extra check avoids duplicate uploads in development mode (React.StrictMode).\n\t\tif ( hasUploadStartedRef.current ) {\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\t! latestArgsRef.current.url ||\n\t\t\t! isBlobURL( latestArgsRef.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgsRef.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgsRef.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\tif ( ! mediaUpload ) {\n\t\t\treturn;\n\t\t}\n\n\t\thasUploadStartedRef.current = true;\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t\thasUploadStartedRef.current = false;\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonError( message );\n\t\t\t\thasUploadStartedRef.current = false;\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n\nexport function useToolsPanelDropdownMenuProps() {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\treturn ! isMobile\n\t\t? {\n\t\t\t\tpopoverProps: {\n\t\t\t\t\tplacement: 'left-start',\n\t\t\t\t\t// For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)\n\t\t\t\t\toffset: 259,\n\t\t\t\t},\n\t\t }\n\t\t: {};\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AARA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAO,IAAAC,eAAS,EACbC,MAAM,IACPA,MAAM,CAAEC,eAAU,CAAC,CAACC,OAAO,CAAE,QAAQ,EAAE;IACtCN,IAAI;IACJC,IAAI;IACJM,EAAE,EAAEL;EACL,CAAE,CAAC,EACJ,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,aAAa,GAAG,IAAAC,eAAM,EAAEF,IAAK,CAAC;EACpC,MAAMG,mBAAmB,GAAG,IAAAD,eAAM,EAAE,KAAM,CAAC;EAC3C,MAAM;IAAEE;EAAY,CAAC,GAAG,IAAAV,eAAS,EAAEW,kBAAiB,CAAC;EAErD,IAAAC,wBAAe,EAAE,MAAM;IACtBL,aAAa,CAACM,OAAO,GAAGP,IAAI;EAC7B,CAAE,CAAC;EAEH,IAAAQ,kBAAS,EAAE,MAAM;IAChB;IACA;IACA,IAAKL,mBAAmB,CAACI,OAAO,EAAG;MAClC;IACD;IACA,IACC,CAAEN,aAAa,CAACM,OAAO,CAACE,GAAG,IAC3B,CAAE,IAAAC,eAAS,EAAET,aAAa,CAACM,OAAO,CAACE,GAAI,CAAC,EACvC;MACD;IACD;IAEA,MAAME,IAAI,GAAG,IAAAC,kBAAY,EAAEX,aAAa,CAACM,OAAO,CAACE,GAAI,CAAC;IACtD,IAAK,CAAEE,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAEF,GAAG;MAAEI,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGd,aAAa,CAACM,OAAO;IACtE,MAAM;MAAES;IAAY,CAAC,GAAGZ,WAAW,CAAC,CAAC;IAErC,IAAK,CAAEY,WAAW,EAAG;MACpB;IACD;IAEAb,mBAAmB,CAACI,OAAO,GAAG,IAAI;IAElCS,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEN,IAAI,CAAE;MACnBE,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAK,IAAAT,eAAS,EAAES,KAAK,EAAEV,GAAI,CAAC,EAAG;UAC9B;QACD;QAEA,IAAAW,mBAAa,EAAEX,GAAI,CAAC;QACpBK,QAAQ,CAAEK,KAAM,CAAC;QACjBhB,mBAAmB,CAACI,OAAO,GAAG,KAAK;MACpC,CAAC;MACDQ,OAAO,EAAIM,OAAO,IAAM;QACvB,IAAAD,mBAAa,EAAEX,GAAI,CAAC;QACpBM,OAAO,CAAEM,OAAQ,CAAC;QAClBlB,mBAAmB,CAACI,OAAO,GAAG,KAAK;MACpC;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEH,WAAW,CAAG,CAAC;AACrB;AAEO,SAASkB,8BAA8BA,CAAA,EAAG;EAChD,MAAMC,QAAQ,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EAClD,OAAO,CAAED,QAAQ,GACd;IACAE,YAAY,EAAE;MACbC,SAAS,EAAE,YAAY;MACvB;MACAC,MAAM,EAAE;IACT;EACA,CAAC,GACD,CAAC,CAAC;AACN","ignoreList":[]}
@@ -17,7 +17,7 @@ import { unlock } from '../lock-unlock';
17
17
  */
18
18
  import { __, sprintf } from '@wordpress/i18n';
19
19
  import { useEffect, useState, useRef, useMemo, createInterpolateElement } from '@wordpress/element';
20
- import { TextControl, ToolbarButton, Popover, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption } from '@wordpress/components';
20
+ import { TextControl, ToolbarButton, Popover, ExternalLink, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption } from '@wordpress/components';
21
21
  import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, LinkControl, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalGetShadowClassesAndStyles as useShadowProps, __experimentalGetElementClassName, store as blockEditorStore, useBlockEditingMode, getTypographyClassesAndStyles as useTypographyProps, useSettings, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
22
22
  import { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';
23
23
  import { link, linkOff } from '@wordpress/icons';
@@ -356,7 +356,12 @@ function ButtonEdit(props) {
356
356
  }), isLinkTag && /*#__PURE__*/_jsx(TextControl, {
357
357
  __next40pxDefaultSize: true,
358
358
  __nextHasNoMarginBottom: true,
359
- label: __('Link rel'),
359
+ label: __('Link relation'),
360
+ help: createInterpolateElement(__('The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document.'), {
361
+ a: /*#__PURE__*/_jsx(ExternalLink, {
362
+ href: "https://developer.mozilla.org/docs/Web/HTML/Attributes/rel"
363
+ })
364
+ }),
360
365
  value: rel || '',
361
366
  onChange: newRel => setAttributes({
362
367
  rel: newRel