@wordpress/block-library 9.36.1-next.738bb1424.0 → 9.36.2-next.8fd3f8831.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 (168) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/accordion-heading/deprecated.cjs +120 -1
  3. package/build/accordion-heading/deprecated.cjs.map +2 -2
  4. package/build/accordion-heading/edit.cjs +9 -1
  5. package/build/accordion-heading/edit.cjs.map +3 -3
  6. package/build/accordion-heading/save.cjs +1 -0
  7. package/build/accordion-heading/save.cjs.map +2 -2
  8. package/build/accordion-item/block.json +3 -0
  9. package/build/accordion-item/edit.cjs +3 -37
  10. package/build/accordion-item/edit.cjs.map +2 -2
  11. package/build/accordion-panel/block.json +1 -4
  12. package/build/accordion-panel/edit.cjs +3 -2
  13. package/build/accordion-panel/edit.cjs.map +2 -2
  14. package/build/breadcrumbs/block.json +1 -2
  15. package/build/breadcrumbs/edit.cjs +2 -1
  16. package/build/breadcrumbs/edit.cjs.map +2 -2
  17. package/build/button/index.cjs +9 -1
  18. package/build/button/index.cjs.map +2 -2
  19. package/build/buttons/block.json +1 -0
  20. package/build/comment-author-name/block.json +1 -3
  21. package/build/comment-author-name/deprecated.cjs +57 -1
  22. package/build/comment-author-name/deprecated.cjs.map +3 -3
  23. package/build/comment-author-name/edit.cjs +9 -19
  24. package/build/comment-author-name/edit.cjs.map +3 -3
  25. package/build/freeform/edit.cjs +48 -174
  26. package/build/freeform/edit.cjs.map +2 -2
  27. package/build/freeform/modal.cjs +51 -67
  28. package/build/freeform/modal.cjs.map +2 -2
  29. package/build/index.cjs +2 -2
  30. package/build/index.cjs.map +2 -2
  31. package/build/list/block.json +2 -1
  32. package/build/query/edit/query-content.cjs +4 -3
  33. package/build/query/edit/query-content.cjs.map +2 -2
  34. package/build/query/edit/query-placeholder.cjs +4 -3
  35. package/build/query/edit/query-placeholder.cjs.map +2 -2
  36. package/build/query/edit/query-toolbar.cjs +19 -7
  37. package/build/query/edit/query-toolbar.cjs.map +3 -3
  38. package/build/social-links/block.json +2 -1
  39. package/build-module/accordion-heading/deprecated.js +122 -2
  40. package/build-module/accordion-heading/deprecated.js.map +2 -2
  41. package/build-module/accordion-heading/edit.js +11 -2
  42. package/build-module/accordion-heading/edit.js.map +2 -2
  43. package/build-module/accordion-heading/save.js +1 -0
  44. package/build-module/accordion-heading/save.js.map +2 -2
  45. package/build-module/accordion-item/block.json +3 -0
  46. package/build-module/accordion-item/edit.js +3 -37
  47. package/build-module/accordion-item/edit.js.map +2 -2
  48. package/build-module/accordion-panel/block.json +1 -4
  49. package/build-module/accordion-panel/edit.js +3 -2
  50. package/build-module/accordion-panel/edit.js.map +2 -2
  51. package/build-module/breadcrumbs/block.json +1 -2
  52. package/build-module/breadcrumbs/edit.js +2 -1
  53. package/build-module/breadcrumbs/edit.js.map +2 -2
  54. package/build-module/button/index.js +9 -1
  55. package/build-module/button/index.js.map +2 -2
  56. package/build-module/buttons/block.json +1 -0
  57. package/build-module/comment-author-name/block.json +1 -3
  58. package/build-module/comment-author-name/deprecated.js +57 -1
  59. package/build-module/comment-author-name/deprecated.js.map +2 -2
  60. package/build-module/comment-author-name/edit.js +10 -25
  61. package/build-module/comment-author-name/edit.js.map +2 -2
  62. package/build-module/freeform/edit.js +56 -176
  63. package/build-module/freeform/edit.js.map +2 -2
  64. package/build-module/freeform/modal.js +55 -78
  65. package/build-module/freeform/modal.js.map +2 -2
  66. package/build-module/index.js +2 -2
  67. package/build-module/index.js.map +2 -2
  68. package/build-module/list/block.json +2 -1
  69. package/build-module/query/edit/query-content.js +5 -5
  70. package/build-module/query/edit/query-content.js.map +2 -2
  71. package/build-module/query/edit/query-placeholder.js +4 -4
  72. package/build-module/query/edit/query-placeholder.js.map +2 -2
  73. package/build-module/query/edit/query-toolbar.js +22 -7
  74. package/build-module/query/edit/query-toolbar.js.map +2 -2
  75. package/build-module/social-links/block.json +2 -1
  76. package/build-style/audio/style-rtl.css +4 -0
  77. package/build-style/audio/style.css +4 -0
  78. package/build-style/audio/theme-rtl.css +4 -0
  79. package/build-style/audio/theme.css +4 -0
  80. package/build-style/columns/style-rtl.css +4 -0
  81. package/build-style/columns/style.css +4 -0
  82. package/build-style/common-rtl.css +4 -0
  83. package/build-style/common.css +4 -0
  84. package/build-style/editor-rtl.css +9 -324
  85. package/build-style/editor.css +9 -328
  86. package/build-style/embed/style-rtl.css +4 -0
  87. package/build-style/embed/style.css +4 -0
  88. package/build-style/embed/theme-rtl.css +4 -0
  89. package/build-style/embed/theme.css +4 -0
  90. package/build-style/freeform/editor-rtl.css +10 -330
  91. package/build-style/freeform/editor.css +10 -334
  92. package/build-style/gallery/editor-rtl.css +4 -0
  93. package/build-style/gallery/editor.css +4 -0
  94. package/build-style/gallery/style-rtl.css +4 -0
  95. package/build-style/gallery/style.css +4 -0
  96. package/build-style/gallery/theme-rtl.css +4 -0
  97. package/build-style/gallery/theme.css +4 -0
  98. package/build-style/html/editor-rtl.css +4 -0
  99. package/build-style/html/editor.css +4 -0
  100. package/build-style/image/editor-rtl.css +4 -0
  101. package/build-style/image/editor.css +4 -0
  102. package/build-style/image/style-rtl.css +4 -0
  103. package/build-style/image/style.css +4 -0
  104. package/build-style/image/theme-rtl.css +4 -0
  105. package/build-style/image/theme.css +4 -0
  106. package/build-style/latest-posts/style-rtl.css +4 -0
  107. package/build-style/latest-posts/style.css +4 -0
  108. package/build-style/navigation/editor-rtl.css +4 -0
  109. package/build-style/navigation/editor.css +4 -0
  110. package/build-style/navigation/style-rtl.css +4 -0
  111. package/build-style/navigation/style.css +4 -0
  112. package/build-style/navigation-submenu/editor-rtl.css +4 -0
  113. package/build-style/navigation-submenu/editor.css +4 -0
  114. package/build-style/page-list/editor-rtl.css +4 -0
  115. package/build-style/page-list/editor.css +4 -0
  116. package/build-style/paragraph/editor-rtl.css +5 -0
  117. package/build-style/paragraph/editor.css +5 -0
  118. package/build-style/post-template/style-rtl.css +4 -0
  119. package/build-style/post-template/style.css +4 -0
  120. package/build-style/query/editor-rtl.css +4 -0
  121. package/build-style/query/editor.css +4 -0
  122. package/build-style/rss/style-rtl.css +4 -0
  123. package/build-style/rss/style.css +4 -0
  124. package/build-style/shortcode/editor-rtl.css +4 -0
  125. package/build-style/shortcode/editor.css +4 -0
  126. package/build-style/style-rtl.css +4 -0
  127. package/build-style/style.css +4 -0
  128. package/build-style/table/editor-rtl.css +4 -0
  129. package/build-style/table/editor.css +4 -0
  130. package/build-style/table/theme-rtl.css +4 -0
  131. package/build-style/table/theme.css +4 -0
  132. package/build-style/template-part/editor-rtl.css +4 -0
  133. package/build-style/template-part/editor.css +4 -0
  134. package/build-style/theme-rtl.css +4 -0
  135. package/build-style/theme.css +4 -0
  136. package/build-style/video/style-rtl.css +4 -0
  137. package/build-style/video/style.css +4 -0
  138. package/build-style/video/theme-rtl.css +4 -0
  139. package/build-style/video/theme.css +4 -0
  140. package/package.json +37 -37
  141. package/src/accordion-heading/deprecated.js +122 -1
  142. package/src/accordion-heading/edit.js +11 -1
  143. package/src/accordion-heading/save.js +1 -0
  144. package/src/accordion-item/block.json +3 -0
  145. package/src/accordion-item/edit.js +4 -38
  146. package/src/accordion-panel/block.json +1 -4
  147. package/src/accordion-panel/edit.js +3 -4
  148. package/src/breadcrumbs/block.json +1 -2
  149. package/src/breadcrumbs/edit.js +2 -1
  150. package/src/breadcrumbs/index.php +23 -1
  151. package/src/button/index.js +12 -0
  152. package/src/button/test/get-experimental-label.js +50 -0
  153. package/src/buttons/block.json +1 -0
  154. package/src/comment-author-name/block.json +1 -3
  155. package/src/comment-author-name/deprecated.js +61 -1
  156. package/src/comment-author-name/edit.js +10 -34
  157. package/src/freeform/edit.js +60 -245
  158. package/src/freeform/editor.scss +1 -382
  159. package/src/freeform/modal.js +47 -80
  160. package/src/index.js +1 -1
  161. package/src/list/block.json +2 -1
  162. package/src/paragraph/editor.scss +8 -0
  163. package/src/post-date/index.php +4 -7
  164. package/src/query/edit/query-content.js +3 -3
  165. package/src/query/edit/query-placeholder.js +3 -3
  166. package/src/query/edit/query-toolbar.js +47 -31
  167. package/src/social-links/block.json +2 -1
  168. package/src/term-template/index.php +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.36.1-next.0 (2025-12-24)
6
+
7
+ - Post Date Block: Improve semantic HTML to add `<time>` inside link element.
8
+
5
9
  ## 9.36.0 (2025-11-26)
6
10
 
7
11
  ## 9.35.0 (2025-11-12)
@@ -134,5 +134,124 @@ var v1 = {
134
134
  ) });
135
135
  }
136
136
  };
137
- var deprecated_default = [v1];
137
+ var v2 = {
138
+ attributes: {
139
+ openByDefault: {
140
+ type: "boolean",
141
+ default: false
142
+ },
143
+ title: {
144
+ type: "rich-text",
145
+ source: "rich-text",
146
+ selector: ".wp-block-accordion-heading__toggle-title",
147
+ role: "content"
148
+ },
149
+ level: {
150
+ type: "number"
151
+ },
152
+ iconPosition: {
153
+ type: "string",
154
+ enum: ["left", "right"],
155
+ default: "right"
156
+ },
157
+ showIcon: {
158
+ type: "boolean",
159
+ default: true
160
+ }
161
+ },
162
+ supports: {
163
+ anchor: true,
164
+ color: {
165
+ background: true,
166
+ gradients: true
167
+ },
168
+ align: false,
169
+ interactivity: true,
170
+ spacing: {
171
+ padding: true,
172
+ __experimentalDefaultControls: {
173
+ padding: true
174
+ },
175
+ __experimentalSkipSerialization: true,
176
+ __experimentalSelector: ".wp-block-accordion-heading__toggle"
177
+ },
178
+ __experimentalBorder: {
179
+ color: true,
180
+ radius: true,
181
+ style: true,
182
+ width: true,
183
+ __experimentalDefaultControls: {
184
+ color: true,
185
+ radius: true,
186
+ style: true,
187
+ width: true
188
+ }
189
+ },
190
+ typography: {
191
+ __experimentalSkipSerialization: [
192
+ "textDecoration",
193
+ "letterSpacing"
194
+ ],
195
+ fontSize: true,
196
+ __experimentalFontFamily: true,
197
+ __experimentalFontWeight: true,
198
+ __experimentalFontStyle: true,
199
+ __experimentalTextTransform: true,
200
+ __experimentalTextDecoration: true,
201
+ __experimentalLetterSpacing: true,
202
+ __experimentalDefaultControls: {
203
+ fontSize: true,
204
+ fontFamily: true
205
+ }
206
+ },
207
+ shadow: true,
208
+ visibility: false,
209
+ lock: false
210
+ },
211
+ save({ attributes }) {
212
+ const { level, title, iconPosition, showIcon } = attributes;
213
+ const TagName = "h" + (level || 3);
214
+ const typographyProps = (0, import_block_editor.getTypographyClassesAndStyles)(attributes);
215
+ const blockProps = import_block_editor.useBlockProps.save();
216
+ const spacingProps = (0, import_block_editor.__experimentalGetSpacingClassesAndStyles)(attributes);
217
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
218
+ "button",
219
+ {
220
+ className: "wp-block-accordion-heading__toggle",
221
+ style: spacingProps.style,
222
+ children: [
223
+ showIcon && iconPosition === "left" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
224
+ "span",
225
+ {
226
+ className: "wp-block-accordion-heading__toggle-icon",
227
+ "aria-hidden": "true",
228
+ children: "+"
229
+ }
230
+ ),
231
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
232
+ import_block_editor.RichText.Content,
233
+ {
234
+ className: "wp-block-accordion-heading__toggle-title",
235
+ tagName: "span",
236
+ value: title,
237
+ style: {
238
+ letterSpacing: typographyProps.style.letterSpacing,
239
+ textDecoration: typographyProps.style.textDecoration
240
+ }
241
+ }
242
+ ),
243
+ showIcon && iconPosition === "right" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
244
+ "span",
245
+ {
246
+ className: "wp-block-accordion-heading__toggle-icon",
247
+ "aria-hidden": "true",
248
+ children: "+"
249
+ }
250
+ )
251
+ ]
252
+ }
253
+ ) });
254
+ }
255
+ };
256
+ var deprecated_default = [v1, v2];
138
257
  //# sourceMappingURL=deprecated.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/accordion-heading/deprecated.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\tRichText,\n} from '@wordpress/block-editor';\n\nconst v1 = {\n\tattributes: {\n\t\topenByDefault: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: '.wp-block-accordion-heading__toggle-title',\n\t\t\trole: 'content',\n\t\t},\n\t\tlevel: {\n\t\t\ttype: 'number',\n\t\t},\n\t\ticonPosition: {\n\t\t\ttype: 'string',\n\t\t\tenum: [ 'left', 'right' ],\n\t\t\tdefault: 'right',\n\t\t},\n\t\tshowIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\tbackground: true,\n\t\t\tgradients: true,\n\t\t},\n\t\talign: false,\n\t\tinteractivity: true,\n\t\tspacing: {\n\t\t\tpadding: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalSelector: '.wp-block-accordion-heading__toggle',\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontFamily: true,\n\t\t\t},\n\t\t},\n\t\tshadow: true,\n\t\tvisibility: false,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { level, title, iconPosition, showIcon } = attributes;\n\t\tconst TagName = 'h' + ( level || 3 );\n\n\t\tconst blockProps = useBlockProps.save();\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle\"\n\t\t\t\t\tstyle={ spacingProps.style }\n\t\t\t\t>\n\t\t\t\t\t{ showIcon && iconPosition === 'left' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-title\"\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showIcon && iconPosition === 'right' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</button>\n\t\t\t</TagName>\n\t\t);\n\t},\n};\n\nexport default [ v1 ];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAIO;AAgFH;AA9EJ,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,eAAe;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAE,QAAQ,OAAQ;AAAA,MACxB,SAAS;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,MACN,YAAY;AAAA,MACZ,WAAW;AAAA,IACZ;AAAA,IACA,OAAO;AAAA,IACP,eAAe;AAAA,IACf,SAAS;AAAA,MACR,SAAS;AAAA,MACT,+BAA+B;AAAA,QAC9B,SAAS;AAAA,MACV;AAAA,MACA,iCAAiC;AAAA,MACjC,wBAAwB;AAAA,IACzB;AAAA,IACA,sBAAsB;AAAA,MACrB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,MACP,+BAA+B;AAAA,QAC9B,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA,YAAY;AAAA,MACX,UAAU;AAAA,MACV,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,MAC1B,yBAAyB;AAAA,MACzB,6BAA6B;AAAA,MAC7B,8BAA8B;AAAA,MAC9B,6BAA6B;AAAA,MAC7B,+BAA+B;AAAA,QAC9B,UAAU;AAAA,QACV,YAAY;AAAA,MACb;AAAA,IACD;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,EACb;AAAA,EACA,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM,EAAE,OAAO,OAAO,cAAc,SAAS,IAAI;AACjD,UAAM,UAAU,OAAQ,SAAS;AAEjC,UAAM,aAAa,kCAAc,KAAK;AACtC,UAAM,mBAAe,oBAAAA,0CAA4B,UAAW;AAE5D,WACC,4CAAC,WAAU,GAAG,YACb;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,OAAQ,aAAa;AAAA,QAEnB;AAAA,sBAAY,iBAAiB,UAC9B;AAAA,YAAC;AAAA;AAAA,cACA,WAAU;AAAA,cACV,eAAY;AAAA,cACZ;AAAA;AAAA,UAED;AAAA,UAED;AAAA,YAAC,6BAAS;AAAA,YAAT;AAAA,cACA,WAAU;AAAA,cACV,SAAQ;AAAA,cACR,OAAQ;AAAA;AAAA,UACT;AAAA,UACE,YAAY,iBAAiB,WAC9B;AAAA,YAAC;AAAA;AAAA,cACA,WAAU;AAAA,cACV,eAAY;AAAA,cACZ;AAAA;AAAA,UAED;AAAA;AAAA;AAAA,IAEF,GACD;AAAA,EAEF;AACD;AAEA,IAAO,qBAAQ,CAAE,EAAG;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\tRichText,\n\tgetTypographyClassesAndStyles,\n} from '@wordpress/block-editor';\n\nconst v1 = {\n\tattributes: {\n\t\topenByDefault: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: '.wp-block-accordion-heading__toggle-title',\n\t\t\trole: 'content',\n\t\t},\n\t\tlevel: {\n\t\t\ttype: 'number',\n\t\t},\n\t\ticonPosition: {\n\t\t\ttype: 'string',\n\t\t\tenum: [ 'left', 'right' ],\n\t\t\tdefault: 'right',\n\t\t},\n\t\tshowIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\tbackground: true,\n\t\t\tgradients: true,\n\t\t},\n\t\talign: false,\n\t\tinteractivity: true,\n\t\tspacing: {\n\t\t\tpadding: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalSelector: '.wp-block-accordion-heading__toggle',\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontFamily: true,\n\t\t\t},\n\t\t},\n\t\tshadow: true,\n\t\tvisibility: false,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { level, title, iconPosition, showIcon } = attributes;\n\t\tconst TagName = 'h' + ( level || 3 );\n\n\t\tconst blockProps = useBlockProps.save();\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle\"\n\t\t\t\t\tstyle={ spacingProps.style }\n\t\t\t\t>\n\t\t\t\t\t{ showIcon && iconPosition === 'left' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-title\"\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showIcon && iconPosition === 'right' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</button>\n\t\t\t</TagName>\n\t\t);\n\t},\n};\n\nconst v2 = {\n\tattributes: {\n\t\topenByDefault: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: '.wp-block-accordion-heading__toggle-title',\n\t\t\trole: 'content',\n\t\t},\n\t\tlevel: {\n\t\t\ttype: 'number',\n\t\t},\n\t\ticonPosition: {\n\t\t\ttype: 'string',\n\t\t\tenum: [ 'left', 'right' ],\n\t\t\tdefault: 'right',\n\t\t},\n\t\tshowIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\tbackground: true,\n\t\t\tgradients: true,\n\t\t},\n\t\talign: false,\n\t\tinteractivity: true,\n\t\tspacing: {\n\t\t\tpadding: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalSelector: '.wp-block-accordion-heading__toggle',\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\t__experimentalSkipSerialization: [\n\t\t\t\t'textDecoration',\n\t\t\t\t'letterSpacing',\n\t\t\t],\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontFamily: true,\n\t\t\t},\n\t\t},\n\t\tshadow: true,\n\t\tvisibility: false,\n\t\tlock: false,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { level, title, iconPosition, showIcon } = attributes;\n\t\tconst TagName = 'h' + ( level || 3 );\n\t\tconst typographyProps = getTypographyClassesAndStyles( attributes );\n\n\t\tconst blockProps = useBlockProps.save();\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle\"\n\t\t\t\t\tstyle={ spacingProps.style }\n\t\t\t\t>\n\t\t\t\t\t{ showIcon && iconPosition === 'left' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-title\"\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tletterSpacing: typographyProps.style.letterSpacing,\n\t\t\t\t\t\t\ttextDecoration:\n\t\t\t\t\t\t\t\ttypographyProps.style.textDecoration,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showIcon && iconPosition === 'right' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</button>\n\t\t\t</TagName>\n\t\t);\n\t},\n};\n\nexport default [ v1, v2 ];\n"],
5
+ "mappings": "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",
6
6
  "names": ["getSpacingClassesAndStyles"]
7
7
  }
@@ -26,6 +26,7 @@ module.exports = __toCommonJS(edit_exports);
26
26
  var import_i18n = require("@wordpress/i18n");
27
27
  var import_element = require("@wordpress/element");
28
28
  var import_block_editor = require("@wordpress/block-editor");
29
+ var import_data = require("@wordpress/data");
29
30
  var import_jsx_runtime = require("react/jsx-runtime");
30
31
  function Edit({ attributes, setAttributes, context }) {
31
32
  const { title } = attributes;
@@ -35,14 +36,21 @@ function Edit({ attributes, setAttributes, context }) {
35
36
  "core/accordion-heading-level": headingLevel
36
37
  } = context;
37
38
  const TagName = "h" + headingLevel;
39
+ const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data.useDispatch)(import_block_editor.store);
38
40
  (0, import_element.useEffect)(() => {
39
41
  if (iconPosition !== void 0 && showIcon !== void 0) {
42
+ __unstableMarkNextChangeAsNotPersistent();
40
43
  setAttributes({
41
44
  iconPosition,
42
45
  showIcon
43
46
  });
44
47
  }
45
- }, [iconPosition, showIcon, setAttributes]);
48
+ }, [
49
+ iconPosition,
50
+ showIcon,
51
+ setAttributes,
52
+ __unstableMarkNextChangeAsNotPersistent
53
+ ]);
46
54
  const [fluidTypographySettings, layout] = (0, import_block_editor.useSettings)(
47
55
  "typography.fluid",
48
56
  "layout"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/accordion-heading/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tRichText,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tuseSettings,\n} from '@wordpress/block-editor';\n\nexport default function Edit( { attributes, setAttributes, context } ) {\n\tconst { title } = attributes;\n\tconst {\n\t\t'core/accordion-icon-position': iconPosition,\n\t\t'core/accordion-show-icon': showIcon,\n\t\t'core/accordion-heading-level': headingLevel,\n\t} = context;\n\tconst TagName = 'h' + headingLevel;\n\n\t// Set icon attributes.\n\tuseEffect( () => {\n\t\tif ( iconPosition !== undefined && showIcon !== undefined ) {\n\t\t\tsetAttributes( {\n\t\t\t\ticonPosition,\n\t\t\t\tshowIcon,\n\t\t\t} );\n\t\t}\n\t}, [ iconPosition, showIcon, setAttributes ] );\n\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\n\tconst blockProps = useBlockProps();\n\tconst spacingProps = useSpacingProps( attributes );\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<button\n\t\t\t\tclassName=\"wp-block-accordion-heading__toggle\"\n\t\t\t\tstyle={ spacingProps.style }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t>\n\t\t\t\t{ showIcon && iconPosition === 'left' && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t+\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tdisableLineBreaks\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ ( newTitle ) =>\n\t\t\t\t\t\tsetAttributes( { title: newTitle } )\n\t\t\t\t\t}\n\t\t\t\t\tplaceholder={ __( 'Accordion title' ) }\n\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-title\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tletterSpacing: typographyProps.style.letterSpacing,\n\t\t\t\t\t\ttextDecoration: typographyProps.style.textDecoration,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ showIcon && iconPosition === 'right' && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t+\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t</TagName>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,qBAA0B;AAC1B,0BAMO;AAuCJ;AArCY,SAAR,KAAuB,EAAE,YAAY,eAAe,QAAQ,GAAI;AACtE,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM;AAAA,IACL,gCAAgC;AAAA,IAChC,4BAA4B;AAAA,IAC5B,gCAAgC;AAAA,EACjC,IAAI;AACJ,QAAM,UAAU,MAAM;AAGtB,gCAAW,MAAM;AAChB,QAAK,iBAAiB,UAAa,aAAa,QAAY;AAC3D,oBAAe;AAAA,QACd;AAAA,QACA;AAAA,MACD,CAAE;AAAA,IACH;AAAA,EACD,GAAG,CAAE,cAAc,UAAU,aAAc,CAAE;AAE7C,QAAM,CAAE,yBAAyB,MAAO,QAAI;AAAA,IAC3C;AAAA,IACA;AAAA,EACD;AACA,QAAM,sBAAkB,oBAAAA,+BAAoB,YAAY;AAAA,IACvD,YAAY;AAAA,MACX,OAAO;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACP,UAAU,QAAQ;AAAA,IACnB;AAAA,EACD,CAAE;AAEF,QAAM,iBAAa,mCAAc;AACjC,QAAM,mBAAe,oBAAAC,0CAAiB,UAAW;AAEjD,SACC,4CAAC,WAAU,GAAG,YACb;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,aAAa;AAAA,MACrB,UAAS;AAAA,MAEP;AAAA,oBAAY,iBAAiB,UAC9B;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,eAAY;AAAA,YACZ;AAAA;AAAA,QAED;AAAA,QAED;AAAA,UAAC;AAAA;AAAA,YACA,8BAA4B;AAAA,YAC5B,mBAAiB;AAAA,YACjB,SAAQ;AAAA,YACR,OAAQ;AAAA,YACR,UAAW,CAAE,aACZ,cAAe,EAAE,OAAO,SAAS,CAAE;AAAA,YAEpC,iBAAc,gBAAI,iBAAkB;AAAA,YACpC,WAAU;AAAA,YACV,OAAQ;AAAA,cACP,eAAe,gBAAgB,MAAM;AAAA,cACrC,gBAAgB,gBAAgB,MAAM;AAAA,YACvC;AAAA;AAAA,QACD;AAAA,QACE,YAAY,iBAAiB,WAC9B;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,eAAY;AAAA,YACZ;AAAA;AAAA,QAED;AAAA;AAAA;AAAA,EAEF,GACD;AAEF;",
6
- "names": ["useTypographyProps", "useSpacingProps"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tRichText,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch } from '@wordpress/data';\n\nexport default function Edit( { attributes, setAttributes, context } ) {\n\tconst { title } = attributes;\n\tconst {\n\t\t'core/accordion-icon-position': iconPosition,\n\t\t'core/accordion-show-icon': showIcon,\n\t\t'core/accordion-heading-level': headingLevel,\n\t} = context;\n\tconst TagName = 'h' + headingLevel;\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Set icon attributes.\n\tuseEffect( () => {\n\t\tif ( iconPosition !== undefined && showIcon !== undefined ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\ticonPosition,\n\t\t\t\tshowIcon,\n\t\t\t} );\n\t\t}\n\t}, [\n\t\ticonPosition,\n\t\tshowIcon,\n\t\tsetAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\n\tconst blockProps = useBlockProps();\n\tconst spacingProps = useSpacingProps( attributes );\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<button\n\t\t\t\tclassName=\"wp-block-accordion-heading__toggle\"\n\t\t\t\tstyle={ spacingProps.style }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t>\n\t\t\t\t{ showIcon && iconPosition === 'left' && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t+\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tdisableLineBreaks\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ ( newTitle ) =>\n\t\t\t\t\t\tsetAttributes( { title: newTitle } )\n\t\t\t\t\t}\n\t\t\t\t\tplaceholder={ __( 'Accordion title' ) }\n\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-title\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tletterSpacing: typographyProps.style.letterSpacing,\n\t\t\t\t\t\ttextDecoration: typographyProps.style.textDecoration,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ showIcon && iconPosition === 'right' && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t+\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t</TagName>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,qBAA0B;AAC1B,0BAOO;AACP,kBAA4B;AA+CzB;AA7CY,SAAR,KAAuB,EAAE,YAAY,eAAe,QAAQ,GAAI;AACtE,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM;AAAA,IACL,gCAAgC;AAAA,IAChC,4BAA4B;AAAA,IAC5B,gCAAgC;AAAA,EACjC,IAAI;AACJ,QAAM,UAAU,MAAM;AACtB,QAAM,EAAE,wCAAwC,QAC/C,yBAAa,oBAAAA,KAAiB;AAG/B,gCAAW,MAAM;AAChB,QAAK,iBAAiB,UAAa,aAAa,QAAY;AAC3D,8CAAwC;AACxC,oBAAe;AAAA,QACd;AAAA,QACA;AAAA,MACD,CAAE;AAAA,IACH;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,QAAM,CAAE,yBAAyB,MAAO,QAAI;AAAA,IAC3C;AAAA,IACA;AAAA,EACD;AACA,QAAM,sBAAkB,oBAAAC,+BAAoB,YAAY;AAAA,IACvD,YAAY;AAAA,MACX,OAAO;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACP,UAAU,QAAQ;AAAA,IACnB;AAAA,EACD,CAAE;AAEF,QAAM,iBAAa,mCAAc;AACjC,QAAM,mBAAe,oBAAAC,0CAAiB,UAAW;AAEjD,SACC,4CAAC,WAAU,GAAG,YACb;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,aAAa;AAAA,MACrB,UAAS;AAAA,MAEP;AAAA,oBAAY,iBAAiB,UAC9B;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,eAAY;AAAA,YACZ;AAAA;AAAA,QAED;AAAA,QAED;AAAA,UAAC;AAAA;AAAA,YACA,8BAA4B;AAAA,YAC5B,mBAAiB;AAAA,YACjB,SAAQ;AAAA,YACR,OAAQ;AAAA,YACR,UAAW,CAAE,aACZ,cAAe,EAAE,OAAO,SAAS,CAAE;AAAA,YAEpC,iBAAc,gBAAI,iBAAkB;AAAA,YACpC,WAAU;AAAA,YACV,OAAQ;AAAA,cACP,eAAe,gBAAgB,MAAM;AAAA,cACrC,gBAAgB,gBAAgB,MAAM;AAAA,YACvC;AAAA;AAAA,QACD;AAAA,QACE,YAAY,iBAAiB,WAC9B;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,eAAY;AAAA,YACZ;AAAA;AAAA,QAED;AAAA;AAAA;AAAA,EAEF,GACD;AAEF;",
6
+ "names": ["blockEditorStore", "useTypographyProps", "useSpacingProps"]
7
7
  }
@@ -34,6 +34,7 @@ function save({ attributes }) {
34
34
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
35
35
  "button",
36
36
  {
37
+ type: "button",
37
38
  className: "wp-block-accordion-heading__toggle",
38
39
  style: spacingProps.style,
39
40
  children: [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/accordion-heading/save.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\tRichText,\n\tgetTypographyClassesAndStyles,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { level, title, iconPosition, showIcon } = attributes;\n\tconst TagName = 'h' + ( level || 3 );\n\tconst typographyProps = getTypographyClassesAndStyles( attributes );\n\n\tconst blockProps = useBlockProps.save();\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<button\n\t\t\t\tclassName=\"wp-block-accordion-heading__toggle\"\n\t\t\t\tstyle={ spacingProps.style }\n\t\t\t>\n\t\t\t\t{ showIcon && iconPosition === 'left' && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t+\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-title\"\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tletterSpacing: typographyProps.style.letterSpacing,\n\t\t\t\t\t\ttextDecoration: typographyProps.style.textDecoration,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ showIcon && iconPosition === 'right' && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t+\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t</TagName>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAKO;AAYJ;AAVY,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM,EAAE,OAAO,OAAO,cAAc,SAAS,IAAI;AACjD,QAAM,UAAU,OAAQ,SAAS;AACjC,QAAM,sBAAkB,mDAA+B,UAAW;AAElE,QAAM,aAAa,kCAAc,KAAK;AACtC,QAAM,mBAAe,oBAAAA,0CAA4B,UAAW;AAE5D,SACC,4CAAC,WAAU,GAAG,YACb;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,aAAa;AAAA,MAEnB;AAAA,oBAAY,iBAAiB,UAC9B;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,eAAY;AAAA,YACZ;AAAA;AAAA,QAED;AAAA,QAED;AAAA,UAAC,6BAAS;AAAA,UAAT;AAAA,YACA,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,OAAQ;AAAA,YACR,OAAQ;AAAA,cACP,eAAe,gBAAgB,MAAM;AAAA,cACrC,gBAAgB,gBAAgB,MAAM;AAAA,YACvC;AAAA;AAAA,QACD;AAAA,QACE,YAAY,iBAAiB,WAC9B;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,eAAY;AAAA,YACZ;AAAA;AAAA,QAED;AAAA;AAAA;AAAA,EAEF,GACD;AAEF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\tRichText,\n\tgetTypographyClassesAndStyles,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { level, title, iconPosition, showIcon } = attributes;\n\tconst TagName = 'h' + ( level || 3 );\n\tconst typographyProps = getTypographyClassesAndStyles( attributes );\n\n\tconst blockProps = useBlockProps.save();\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName=\"wp-block-accordion-heading__toggle\"\n\t\t\t\tstyle={ spacingProps.style }\n\t\t\t>\n\t\t\t\t{ showIcon && iconPosition === 'left' && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t+\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-title\"\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tletterSpacing: typographyProps.style.letterSpacing,\n\t\t\t\t\t\ttextDecoration: typographyProps.style.textDecoration,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ showIcon && iconPosition === 'right' && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t+\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t</TagName>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAKO;AAYJ;AAVY,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM,EAAE,OAAO,OAAO,cAAc,SAAS,IAAI;AACjD,QAAM,UAAU,OAAQ,SAAS;AACjC,QAAM,sBAAkB,mDAA+B,UAAW;AAElE,QAAM,aAAa,kCAAc,KAAK;AACtC,QAAM,mBAAe,oBAAAA,0CAA4B,UAAW;AAE5D,SACC,4CAAC,WAAU,GAAG,YACb;AAAA,IAAC;AAAA;AAAA,MACA,MAAK;AAAA,MACL,WAAU;AAAA,MACV,OAAQ,aAAa;AAAA,MAEnB;AAAA,oBAAY,iBAAiB,UAC9B;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,eAAY;AAAA,YACZ;AAAA;AAAA,QAED;AAAA,QAED;AAAA,UAAC,6BAAS;AAAA,UAAT;AAAA,YACA,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,OAAQ;AAAA,YACR,OAAQ;AAAA,cACP,eAAe,gBAAgB,MAAM;AAAA,cACrC,gBAAgB,gBAAgB,MAAM;AAAA,YACvC;AAAA;AAAA,QACD;AAAA,QACE,YAAY,iBAAiB,WAC9B;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,eAAY;AAAA,YACZ;AAAA;AAAA,QAED;AAAA;AAAA;AAAA,EAEF,GACD;AAEF;",
6
6
  "names": ["getSpacingClassesAndStyles"]
7
7
  }
@@ -55,6 +55,9 @@
55
55
  "default": false
56
56
  }
57
57
  },
58
+ "providesContext": {
59
+ "core/accordion-open-by-default": "openByDefault"
60
+ },
58
61
  "textdomain": "default",
59
62
  "style": "wp-block-accordion-item"
60
63
  }
@@ -41,12 +41,8 @@ var import_components = require("@wordpress/components");
41
41
  var import_clsx = __toESM(require("clsx"), 1);
42
42
  var import_hooks = require("../utils/hooks.cjs");
43
43
  var import_jsx_runtime = require("react/jsx-runtime");
44
- function Edit({
45
- attributes,
46
- clientId,
47
- setAttributes,
48
- context
49
- }) {
44
+ var TEMPLATE = [["core/accordion-heading"], ["core/accordion-panel"]];
45
+ function Edit({ attributes, clientId, setAttributes }) {
50
46
  const { openByDefault } = attributes;
51
47
  const dropdownMenuProps = (0, import_hooks.useToolsPanelDropdownMenuProps)();
52
48
  const { isSelected, getBlockOrder } = (0, import_data.useSelect)(
@@ -83,20 +79,8 @@ function Edit({
83
79
  "is-open": openByDefault || isSelected
84
80
  })
85
81
  });
86
- const headingLevel = context && context["core/accordion-heading-level"];
87
82
  const innerBlocksProps = (0, import_block_editor.useInnerBlocksProps)(blockProps, {
88
- template: [
89
- [
90
- "core/accordion-heading",
91
- headingLevel ? { level: headingLevel } : {}
92
- ],
93
- [
94
- "core/accordion-panel",
95
- {
96
- openByDefault
97
- }
98
- ]
99
- ],
83
+ template: TEMPLATE,
100
84
  templateLock: "all",
101
85
  directInsert: true,
102
86
  templateInsertUpdatesSelection: true
@@ -108,11 +92,6 @@ function Edit({
108
92
  label: (0, import_i18n.__)("Settings"),
109
93
  resetAll: () => {
110
94
  setAttributes({ openByDefault: false });
111
- if (contentBlockClientId) {
112
- updateBlockAttributes(contentBlockClientId, {
113
- openByDefault: false
114
- });
115
- }
116
95
  },
117
96
  dropdownMenuProps,
118
97
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -123,11 +102,6 @@ function Edit({
123
102
  hasValue: () => !!openByDefault,
124
103
  onDeselect: () => {
125
104
  setAttributes({ openByDefault: false });
126
- if (contentBlockClientId) {
127
- updateBlockAttributes(contentBlockClientId, {
128
- openByDefault: false
129
- });
130
- }
131
105
  },
132
106
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
133
107
  import_components.ToggleControl,
@@ -137,14 +111,6 @@ function Edit({
137
111
  setAttributes({
138
112
  openByDefault: value
139
113
  });
140
- if (contentBlockClientId) {
141
- updateBlockAttributes(
142
- contentBlockClientId,
143
- {
144
- openByDefault: value
145
- }
146
- );
147
- }
148
114
  },
149
115
  checked: openByDefault,
150
116
  help: (0, import_i18n.__)(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/accordion-item/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function Edit( {\n\tattributes,\n\tclientId,\n\tsetAttributes,\n\tcontext,\n} ) {\n\tconst { openByDefault } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { isSelected, getBlockOrder } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockOrder: getBlockOrderSelector,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tisSelected:\n\t\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\t\thasSelectedInnerBlock( clientId, true ),\n\t\t\t\tgetBlockOrder: getBlockOrderSelector,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst contentBlockClientId = getBlockOrder( clientId )[ 1 ];\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( contentBlockClientId ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( contentBlockClientId, {\n\t\t\t\tisSelected,\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tcontentBlockClientId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateBlockAttributes,\n\t] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'is-open': openByDefault || isSelected,\n\t\t} ),\n\t} );\n\n\t// Get heading level from context.\n\tconst headingLevel = context && context[ 'core/accordion-heading-level' ];\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\t'core/accordion-heading',\n\t\t\t\theadingLevel ? { level: headingLevel } : {},\n\t\t\t],\n\t\t\t[\n\t\t\t\t'core/accordion-panel',\n\t\t\t\t{\n\t\t\t\t\topenByDefault,\n\t\t\t\t},\n\t\t\t],\n\t\t],\n\t\ttemplateLock: 'all',\n\t\tdirectInsert: true,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls key=\"setting\">\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( { openByDefault: false } );\n\t\t\t\t\t\tif ( contentBlockClientId ) {\n\t\t\t\t\t\t\tupdateBlockAttributes( contentBlockClientId, {\n\t\t\t\t\t\t\t\topenByDefault: false,\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\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! openByDefault }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( { openByDefault: false } );\n\t\t\t\t\t\t\tif ( contentBlockClientId ) {\n\t\t\t\t\t\t\t\tupdateBlockAttributes( contentBlockClientId, {\n\t\t\t\t\t\t\t\t\topenByDefault: false,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\topenByDefault: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tif ( contentBlockClientId ) {\n\t\t\t\t\t\t\t\t\tupdateBlockAttributes(\n\t\t\t\t\t\t\t\t\t\tcontentBlockClientId,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\topenByDefault: value,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tchecked={ openByDefault }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Accordion content will be displayed by default.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst TEMPLATE = [ [ 'core/accordion-heading' ], [ 'core/accordion-panel' ] ];\n\nexport default function Edit( { attributes, clientId, setAttributes } ) {\n\tconst { openByDefault } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { isSelected, getBlockOrder } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockOrder: getBlockOrderSelector,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tisSelected:\n\t\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\t\thasSelectedInnerBlock( clientId, true ),\n\t\t\t\tgetBlockOrder: getBlockOrderSelector,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst contentBlockClientId = getBlockOrder( clientId )[ 1 ];\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( contentBlockClientId ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( contentBlockClientId, {\n\t\t\t\tisSelected,\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tcontentBlockClientId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateBlockAttributes,\n\t] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'is-open': openByDefault || isSelected,\n\t\t} ),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\ttemplateLock: 'all',\n\t\tdirectInsert: true,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls key=\"setting\">\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( { openByDefault: false } );\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\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! openByDefault }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( { openByDefault: false } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\topenByDefault: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tchecked={ openByDefault }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Accordion content will be displayed by default.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,0BAKO;AACP,kBAAuC;AACvC,qBAA0B;AAC1B,wBAIO;AAIP,kBAAiB;AAKjB,mBAA+C;AAyD7C;AAvDF,IAAM,WAAW,CAAE,CAAE,wBAAyB,GAAG,CAAE,sBAAuB,CAAE;AAE7D,SAAR,KAAuB,EAAE,YAAY,UAAU,cAAc,GAAI;AACvE,QAAM,EAAE,cAAc,IAAI;AAC1B,QAAM,wBAAoB,6CAA+B;AAEzD,QAAM,EAAE,YAAY,cAAc,QAAI;AAAA,IACrC,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA,eAAe;AAAA,MAChB,IAAI,OAAQ,oBAAAA,KAAiB;AAC7B,aAAO;AAAA,QACN,YACC,gBAAiB,QAAS,KAC1B,sBAAuB,UAAU,IAAK;AAAA,QACvC,eAAe;AAAA,MAChB;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,QAAM,uBAAuB,cAAe,QAAS,EAAG,CAAE;AAC1D,QAAM,EAAE,uBAAuB,wCAAwC,QACtE,yBAAa,oBAAAA,KAAiB;AAE/B,gCAAW,MAAM;AAChB,QAAK,sBAAuB;AAC3B,8CAAwC;AACxC,4BAAuB,sBAAsB;AAAA,QAC5C;AAAA,MACD,CAAE;AAAA,IACH;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,QAAM,iBAAa,mCAAe;AAAA,IACjC,eAAW,YAAAC,SAAM;AAAA,MAChB,WAAW,iBAAiB;AAAA,IAC7B,CAAE;AAAA,EACH,CAAE;AAEF,QAAM,uBAAmB,yCAAqB,YAAY;AAAA,IACzD,UAAU;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,gCAAgC;AAAA,EACjC,CAAE;AAEF,SACC,4EACC;AAAA,gDAAC,yCACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAQ,gBAAI,UAAW;AAAA,QACvB,UAAW,MAAM;AAChB,wBAAe,EAAE,eAAe,MAAM,CAAE;AAAA,QACzC;AAAA,QACA;AAAA,QAEA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,iBAAkB;AAAA,YAC9B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MAAM;AAClB,4BAAe,EAAE,eAAe,MAAM,CAAE;AAAA,YACzC;AAAA,YAEA;AAAA,cAAC;AAAA;AAAA,gBACA,WAAQ,gBAAI,iBAAkB;AAAA,gBAC9B,UAAW,CAAE,UAAW;AACvB,gCAAe;AAAA,oBACd,eAAe;AAAA,kBAChB,CAAE;AAAA,gBACH;AAAA,gBACA,SAAU;AAAA,gBACV,UAAO;AAAA,kBACN;AAAA,gBACD;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA;AAAA,IACD,KA7BsB,SA8BvB;AAAA,IACA,4CAAC,SAAM,GAAG,kBAAmB;AAAA,KAC9B;AAEF;",
6
6
  "names": ["blockEditorStore", "clsx", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -6,6 +6,7 @@
6
6
  "category": "design",
7
7
  "description": "Contains the hidden or revealed content beneath the heading.",
8
8
  "parent": [ "core/accordion-item" ],
9
+ "usesContext": [ "core/accordion-open-by-default" ],
9
10
  "supports": {
10
11
  "html": false,
11
12
  "color": {
@@ -61,10 +62,6 @@
61
62
  "enum": [ "all", "insert", "contentOnly", false ],
62
63
  "default": false
63
64
  },
64
- "openByDefault": {
65
- "type": "boolean",
66
- "default": false
67
- },
68
65
  "isSelected": {
69
66
  "type": "boolean",
70
67
  "default": false
@@ -25,8 +25,9 @@ __export(edit_exports, {
25
25
  module.exports = __toCommonJS(edit_exports);
26
26
  var import_block_editor = require("@wordpress/block-editor");
27
27
  var import_jsx_runtime = require("react/jsx-runtime");
28
- function Edit({ attributes }) {
29
- const { allowedBlocks, templateLock, openByDefault, isSelected } = attributes;
28
+ function Edit({ attributes, context }) {
29
+ const { allowedBlocks, templateLock, isSelected } = attributes;
30
+ const openByDefault = context["core/accordion-open-by-default"];
30
31
  const blockProps = (0, import_block_editor.useBlockProps)({
31
32
  "aria-hidden": !isSelected && !openByDefault,
32
33
  role: "region"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/accordion-panel/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport default function Edit( { attributes } ) {\n\tconst { allowedBlocks, templateLock, openByDefault, isSelected } =\n\t\tattributes;\n\n\tconst blockProps = useBlockProps( {\n\t\t'aria-hidden': ! isSelected && ! openByDefault,\n\t\trole: 'region',\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\ttemplate: [ [ 'core/paragraph', {} ] ],\n\t\ttemplateLock,\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAmD;AAiB3C;AAfO,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM,EAAE,eAAe,cAAc,eAAe,WAAW,IAC9D;AAED,QAAM,iBAAa,mCAAe;AAAA,IACjC,eAAe,CAAE,cAAc,CAAE;AAAA,IACjC,MAAM;AAAA,EACP,CAAE;AAEF,QAAM,uBAAmB,yCAAqB,YAAY;AAAA,IACzD;AAAA,IACA,UAAU,CAAE,CAAE,kBAAkB,CAAC,CAAE,CAAE;AAAA,IACrC;AAAA,EACD,CAAE;AAEF,SAAO,4CAAC,SAAM,GAAG,kBAAmB;AACrC;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport default function Edit( { attributes, context } ) {\n\tconst { allowedBlocks, templateLock, isSelected } = attributes;\n\tconst openByDefault = context[ 'core/accordion-open-by-default' ];\n\tconst blockProps = useBlockProps( {\n\t\t'aria-hidden': ! isSelected && ! openByDefault,\n\t\trole: 'region',\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\ttemplate: [ [ 'core/paragraph', {} ] ],\n\t\ttemplateLock,\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAmD;AAgB3C;AAdO,SAAR,KAAuB,EAAE,YAAY,QAAQ,GAAI;AACvD,QAAM,EAAE,eAAe,cAAc,WAAW,IAAI;AACpD,QAAM,gBAAgB,QAAS,gCAAiC;AAChE,QAAM,iBAAa,mCAAe;AAAA,IACjC,eAAe,CAAE,cAAc,CAAE;AAAA,IACjC,MAAM;AAAA,EACP,CAAE;AAEF,QAAM,uBAAmB,yCAAqB,YAAY;AAAA,IACzD;AAAA,IACA,UAAU,CAAE,CAAE,kBAAkB,CAAC,CAAE,CAAE;AAAA,IACrC;AAAA,EACD,CAAE;AAEF,SAAO,4CAAC,SAAM,GAAG,kBAAmB;AACrC;",
6
6
  "names": []
7
7
  }
@@ -3,9 +3,8 @@
3
3
  "apiVersion": 3,
4
4
  "name": "core/breadcrumbs",
5
5
  "title": "Breadcrumbs",
6
- "__experimental": true,
7
6
  "category": "theme",
8
- "description": "Display a breadcrumb trail for hierarchical post types or based on taxonomy terms.",
7
+ "description": "Display a breadcrumb trail showing the path to the current page.",
9
8
  "textdomain": "default",
10
9
  "attributes": {
11
10
  "prefersTaxonomy": {
@@ -36,6 +36,7 @@ var separatorDefaultValue = "/";
36
36
  function BreadcrumbEdit({
37
37
  attributes,
38
38
  setAttributes,
39
+ name,
39
40
  context: { postId, postType, templateSlug }
40
41
  }) {
41
42
  const {
@@ -93,7 +94,7 @@ function BreadcrumbEdit({
93
94
  const { content } = (0, import_server_side_render.useServerSideRender)({
94
95
  attributes,
95
96
  skipBlockSupportAttributes: true,
96
- block: "core/breadcrumbs",
97
+ block: name,
97
98
  urlQueryArgs: { post_id: postId, invalidationKey }
98
99
  });
99
100
  if (isLoading) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/breadcrumbs/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tTextControl,\n\tCheckboxControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { useServerSideRender } from '@wordpress/server-side-render';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst separatorDefaultValue = '/';\n\nexport default function BreadcrumbEdit( {\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType, templateSlug },\n} ) {\n\tconst {\n\t\tseparator,\n\t\tshowHomeItem,\n\t\tshowCurrentItem,\n\t\tprefersTaxonomy,\n\t\tshowOnHomePage,\n\t} = attributes;\n\tconst {\n\t\tpost,\n\t\tisPostTypeHierarchical,\n\t\tpostTypeHasTaxonomies,\n\t\thasTermsAssigned,\n\t\tisLoading,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! postType ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst _post = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst postTypeObject = select( coreStore ).getPostType( postType );\n\t\t\tconst _postTypeHasTaxonomies =\n\t\t\t\tpostTypeObject && postTypeObject.taxonomies.length;\n\t\t\tlet taxonomies;\n\t\t\tif ( _postTypeHasTaxonomies ) {\n\t\t\t\ttaxonomies = select( coreStore ).getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpost: _post,\n\t\t\t\tisPostTypeHierarchical: postTypeObject?.hierarchical,\n\t\t\t\tpostTypeHasTaxonomies: _postTypeHasTaxonomies,\n\t\t\t\thasTermsAssigned:\n\t\t\t\t\t_post &&\n\t\t\t\t\t( taxonomies || [] )\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.some( ( taxonomy ) => {\n\t\t\t\t\t\t\treturn !! _post[ taxonomy.rest_base ]?.length;\n\t\t\t\t\t\t} ),\n\t\t\t\tisLoading:\n\t\t\t\t\t( postId && ! _post ) ||\n\t\t\t\t\t! postTypeObject ||\n\t\t\t\t\t( _postTypeHasTaxonomies && ! taxonomies ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\t/**\n\t * Counter used to cache-bust `useServerSideRender`.\n\t *\n\t * This is a catch-all signal to re-render the block when a post's title,\n\t * parent ID, or terms change.\n\t *\n\t * This is fundamentally imperfect, because there are other entities which\n\t * could change in the meantime (the titles of ancestor posts, or the\n\t * labels of taxonomy terms), hence the choice to re-render systematically\n\t * upon saving.\n\t */\n\tconst [ invalidationKey, setInvalidationKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tsetInvalidationKey( ( c ) => c + 1 );\n\t}, [ post ] );\n\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { content } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: 'core/breadcrumbs',\n\t\turlQueryArgs: { post_id: postId, invalidationKey },\n\t} );\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Try to determine breadcrumb type for more accurate previews.\n\tlet _showTerms;\n\t// Some non-hierarchical post types (e.g., attachments) can have parents.\n\t// Use hierarchical breadcrumbs if a parent exists, otherwise use taxonomy breadcrumbs.\n\tif ( ! isPostTypeHierarchical && ! post?.parent ) {\n\t\t_showTerms = true;\n\t} else if ( ! postTypeHasTaxonomies ) {\n\t\t// Hierarchical post type without taxonomies can only use ancestors.\n\t\t_showTerms = false;\n\t} else {\n\t\t// For hierarchical post types with taxonomies, use the attribute.\n\t\t_showTerms = prefersTaxonomy;\n\t}\n\tlet placeholder = null;\n\t// This is fragile because this block is server side rendered and we'll have to\n\t// update the placeholder html if the server side rendering output changes.\n\tconst showPlaceholder =\n\t\t! postId ||\n\t\t! postType ||\n\t\t// When `templateSlug` is set only show placeholder if the post type is not.\n\t\t// This is needed because when we are showing the template in post editor we\n\t\t// want to show the real breadcrumbs if we have the post type.\n\t\t( templateSlug && ! postType ) ||\n\t\t( ! _showTerms && ! isPostTypeHierarchical ) ||\n\t\t( _showTerms && ! hasTermsAssigned );\n\tif ( showPlaceholder ) {\n\t\tconst placeholderItems = [];\n\t\tif ( showHomeItem ) {\n\t\t\tplaceholderItems.push( __( 'Home' ) );\n\t\t}\n\t\tif ( templateSlug && ! postId ) {\n\t\t\tplaceholderItems.push( __( 'Page' ) );\n\t\t} else if ( _showTerms ) {\n\t\t\tplaceholderItems.push( __( 'Category' ) );\n\t\t} else {\n\t\t\tplaceholderItems.push( __( 'Ancestor' ), __( 'Parent' ) );\n\t\t}\n\t\tplaceholder = (\n\t\t\t<nav\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--separator': `'${ separator }'`,\n\t\t\t\t} }\n\t\t\t\tinert=\"true\"\n\t\t\t>\n\t\t\t\t<ol>\n\t\t\t\t\t{ placeholderItems.map( ( text, index ) => (\n\t\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t\t<a href={ `#breadcrumbs-pseudo-link-${ index }` }>\n\t\t\t\t\t\t\t\t{ text }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t\t\t{ showCurrentItem && (\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span aria-current=\"page\">{ __( 'Current' ) }</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) }\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\tshowHomeItem: true,\n\t\t\t\t\t\t\tshowCurrentItem: true,\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\tlabel={ __( 'Show home breadcrumb' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showHomeItem }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowHomeItem: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show home breadcrumb' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHomeItem: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showHomeItem }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show current breadcrumb' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showCurrentItem }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowCurrentItem: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show current breadcrumb' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showCurrentItem: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showCurrentItem }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => separator !== separatorDefaultValue }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\t\tvalue={ separator }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { separator: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tif ( ! separator ) {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tlabel={ __( 'Show on homepage' ) }\n\t\t\t\t\tchecked={ showOnHomePage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showOnHomePage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'If this breadcrumbs block appears in a template or template part that\u2019s shown on the homepage, enable this option to display the breadcrumb trail. Otherwise, this setting has no effect.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tlabel={ __( 'Prefer taxonomy terms' ) }\n\t\t\t\t\tchecked={ prefersTaxonomy }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { prefersTaxonomy: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The exact type of breadcrumbs shown will vary automatically depending on the page in which this block is displayed. In the specific case of a hierarchical post type with taxonomies, the breadcrumbs can either reflect its post hierarchy (default) or the hierarchy of its assigned taxonomy terms.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showPlaceholder ? (\n\t\t\t\t\tplaceholder\n\t\t\t\t) : (\n\t\t\t\t\t<RawHTML inert=\"true\">{ content }</RawHTML>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,0BAAiD;AACjD,wBAOO;AACP,kBAA0B;AAC1B,uBAAmC;AACnC,qBAA6C;AAC7C,gCAAoC;AAKpC,mBAA+C;AA4F3C;AA1FJ,IAAM,wBAAwB;AAEf,SAAR,eAAiC;AAAA,EACvC;AAAA,EACA;AAAA,EACA,SAAS,EAAE,QAAQ,UAAU,aAAa;AAC3C,GAAI;AACH,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AACJ,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI;AAAA,IACH,CAAE,WAAY;AACb,UAAK,CAAE,UAAW;AACjB,eAAO,CAAC;AAAA,MACT;AACA,YAAM,QAAQ,OAAQ,iBAAAA,KAAU,EAAE;AAAA,QACjC;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACA,YAAM,iBAAiB,OAAQ,iBAAAA,KAAU,EAAE,YAAa,QAAS;AACjE,YAAM,yBACL,kBAAkB,eAAe,WAAW;AAC7C,UAAI;AACJ,UAAK,wBAAyB;AAC7B,qBAAa,OAAQ,iBAAAA,KAAU,EAAE,cAAe;AAAA,UAC/C,MAAM;AAAA,UACN,UAAU;AAAA,QACX,CAAE;AAAA,MACH;AACA,aAAO;AAAA,QACN,MAAM;AAAA,QACN,wBAAwB,gBAAgB;AAAA,QACxC,uBAAuB;AAAA,QACvB,kBACC,UACE,cAAc,CAAC,GACf;AAAA,UACA,CAAE,EAAE,WAAW,MAAO,YAAY;AAAA,QACnC,EACC,KAAM,CAAE,aAAc;AACtB,iBAAO,CAAC,CAAE,MAAO,SAAS,SAAU,GAAG;AAAA,QACxC,CAAE;AAAA,QACJ,WACG,UAAU,CAAE,SACd,CAAE,kBACA,0BAA0B,CAAE;AAAA,MAChC;AAAA,IACD;AAAA,IACA,CAAE,UAAU,MAAO;AAAA,EACpB;AAaA,QAAM,CAAE,iBAAiB,kBAAmB,QAAI,yBAAU,CAAE;AAC5D,gCAAW,MAAM;AAChB,uBAAoB,CAAE,MAAO,IAAI,CAAE;AAAA,EACpC,GAAG,CAAE,IAAK,CAAE;AAEZ,QAAM,iBAAa,mCAAc;AACjC,QAAM,wBAAoB,6CAA+B;AACzD,QAAM,EAAE,QAAQ,QAAI,+CAAqB;AAAA,IACxC;AAAA,IACA,4BAA4B;AAAA,IAC5B,OAAO;AAAA,IACP,cAAc,EAAE,SAAS,QAAQ,gBAAgB;AAAA,EAClD,CAAE;AAEF,MAAK,WAAY;AAChB,WACC,4CAAC,SAAM,GAAG,YACT,sDAAC,6BAAQ,GACV;AAAA,EAEF;AAGA,MAAI;AAGJ,MAAK,CAAE,0BAA0B,CAAE,MAAM,QAAS;AACjD,iBAAa;AAAA,EACd,WAAY,CAAE,uBAAwB;AAErC,iBAAa;AAAA,EACd,OAAO;AAEN,iBAAa;AAAA,EACd;AACA,MAAI,cAAc;AAGlB,QAAM,kBACL,CAAE,UACF,CAAE;AAAA;AAAA;AAAA,EAIA,gBAAgB,CAAE,YAClB,CAAE,cAAc,CAAE,0BAClB,cAAc,CAAE;AACnB,MAAK,iBAAkB;AACtB,UAAM,mBAAmB,CAAC;AAC1B,QAAK,cAAe;AACnB,uBAAiB,SAAM,gBAAI,MAAO,CAAE;AAAA,IACrC;AACA,QAAK,gBAAgB,CAAE,QAAS;AAC/B,uBAAiB,SAAM,gBAAI,MAAO,CAAE;AAAA,IACrC,WAAY,YAAa;AACxB,uBAAiB,SAAM,gBAAI,UAAW,CAAE;AAAA,IACzC,OAAO;AACN,uBAAiB,SAAM,gBAAI,UAAW,OAAG,gBAAI,QAAS,CAAE;AAAA,IACzD;AACA,kBACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ;AAAA,UACP,eAAe,IAAK,SAAU;AAAA,QAC/B;AAAA,QACA,OAAM;AAAA,QAEN,uDAAC,QACE;AAAA,2BAAiB,IAAK,CAAE,MAAM,UAC/B,4CAAC,QACA,sDAAC,OAAE,MAAO,4BAA6B,KAAM,IAC1C,gBACH,KAHS,KAIV,CACC;AAAA,UACA,mBACD,4CAAC,QACA,sDAAC,UAAK,gBAAa,QAAS,8BAAI,SAAU,GAAG,GAC9C;AAAA,WAEF;AAAA;AAAA,IACD;AAAA,EAEF;AACA,SACC,4EACC;AAAA,gDAAC,yCACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAQ,gBAAI,UAAW;AAAA,QACvB,UAAW,MAAM;AAChB,wBAAe;AAAA,YACd,WAAW;AAAA,YACX,cAAc;AAAA,YACd,iBAAiB;AAAA,UAClB,CAAE;AAAA,QACH;AAAA,QACA;AAAA,QAEA;AAAA;AAAA,YAAC,kBAAAC;AAAA,YAAA;AAAA,cACA,WAAQ,gBAAI,sBAAuB;AAAA,cACnC,kBAAgB;AAAA,cAChB,UAAW,MAAM,CAAE;AAAA,cACnB,YAAa,MACZ,cAAe;AAAA,gBACd,cAAc;AAAA,cACf,CAAE;AAAA,cAGH;AAAA,gBAAC;AAAA;AAAA,kBACA,WAAQ,gBAAI,sBAAuB;AAAA,kBACnC,UAAW,CAAE,UACZ,cAAe,EAAE,cAAc,MAAM,CAAE;AAAA,kBAExC,SAAU;AAAA;AAAA,cACX;AAAA;AAAA,UACD;AAAA,UACA;AAAA,YAAC,kBAAAA;AAAA,YAAA;AAAA,cACA,WAAQ,gBAAI,yBAA0B;AAAA,cACtC,kBAAgB;AAAA,cAChB,UAAW,MAAM,CAAE;AAAA,cACnB,YAAa,MACZ,cAAe;AAAA,gBACd,iBAAiB;AAAA,cAClB,CAAE;AAAA,cAGH;AAAA,gBAAC;AAAA;AAAA,kBACA,WAAQ,gBAAI,yBAA0B;AAAA,kBACtC,UAAW,CAAE,UACZ,cAAe,EAAE,iBAAiB,MAAM,CAAE;AAAA,kBAE3C,SAAU;AAAA;AAAA,cACX;AAAA;AAAA,UACD;AAAA,UACA;AAAA,YAAC,kBAAAA;AAAA,YAAA;AAAA,cACA,WAAQ,gBAAI,WAAY;AAAA,cACxB,kBAAgB;AAAA,cAChB,UAAW,MAAM,cAAc;AAAA,cAC/B,YAAa,MACZ,cAAe;AAAA,gBACd,WAAW;AAAA,cACZ,CAAE;AAAA,cAGH;AAAA,gBAAC;AAAA;AAAA,kBACA,uBAAqB;AAAA,kBACrB,cAAa;AAAA,kBACb,WAAQ,gBAAI,WAAY;AAAA,kBACxB,OAAQ;AAAA,kBACR,UAAW,CAAE,UACZ,cAAe,EAAE,WAAW,MAAM,CAAE;AAAA,kBAErC,QAAS,MAAM;AACd,wBAAK,CAAE,WAAY;AAClB,oCAAe;AAAA,wBACd,WAAW;AAAA,sBACZ,CAAE;AAAA,oBACH;AAAA,kBACD;AAAA;AAAA,cACD;AAAA;AAAA,UACD;AAAA;AAAA;AAAA,IACD,GACD;AAAA,IACA,6CAAC,yCAAkB,OAAM,YACxB;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAQ,gBAAI,kBAAmB;AAAA,UAC/B,SAAU;AAAA,UACV,UAAW,CAAE,UACZ,cAAe,EAAE,gBAAgB,MAAM,CAAE;AAAA,UAE1C,UAAO;AAAA,YACN;AAAA,UACD;AAAA;AAAA,MACD;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,WAAQ,gBAAI,uBAAwB;AAAA,UACpC,SAAU;AAAA,UACV,UAAW,CAAE,UACZ,cAAe,EAAE,iBAAiB,MAAM,CAAE;AAAA,UAE3C,UAAO;AAAA,YACN;AAAA,UACD;AAAA;AAAA,MACD;AAAA,OACD;AAAA,IACA,4CAAC,SAAM,GAAG,YACP,4BACD,cAEA,4CAAC,0BAAQ,OAAM,QAAS,mBAAS,GAEnC;AAAA,KACD;AAEF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tTextControl,\n\tCheckboxControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { useServerSideRender } from '@wordpress/server-side-render';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst separatorDefaultValue = '/';\n\nexport default function BreadcrumbEdit( {\n\tattributes,\n\tsetAttributes,\n\tname,\n\tcontext: { postId, postType, templateSlug },\n} ) {\n\tconst {\n\t\tseparator,\n\t\tshowHomeItem,\n\t\tshowCurrentItem,\n\t\tprefersTaxonomy,\n\t\tshowOnHomePage,\n\t} = attributes;\n\tconst {\n\t\tpost,\n\t\tisPostTypeHierarchical,\n\t\tpostTypeHasTaxonomies,\n\t\thasTermsAssigned,\n\t\tisLoading,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! postType ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst _post = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst postTypeObject = select( coreStore ).getPostType( postType );\n\t\t\tconst _postTypeHasTaxonomies =\n\t\t\t\tpostTypeObject && postTypeObject.taxonomies.length;\n\t\t\tlet taxonomies;\n\t\t\tif ( _postTypeHasTaxonomies ) {\n\t\t\t\ttaxonomies = select( coreStore ).getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpost: _post,\n\t\t\t\tisPostTypeHierarchical: postTypeObject?.hierarchical,\n\t\t\t\tpostTypeHasTaxonomies: _postTypeHasTaxonomies,\n\t\t\t\thasTermsAssigned:\n\t\t\t\t\t_post &&\n\t\t\t\t\t( taxonomies || [] )\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.some( ( taxonomy ) => {\n\t\t\t\t\t\t\treturn !! _post[ taxonomy.rest_base ]?.length;\n\t\t\t\t\t\t} ),\n\t\t\t\tisLoading:\n\t\t\t\t\t( postId && ! _post ) ||\n\t\t\t\t\t! postTypeObject ||\n\t\t\t\t\t( _postTypeHasTaxonomies && ! taxonomies ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\t/**\n\t * Counter used to cache-bust `useServerSideRender`.\n\t *\n\t * This is a catch-all signal to re-render the block when a post's title,\n\t * parent ID, or terms change.\n\t *\n\t * This is fundamentally imperfect, because there are other entities which\n\t * could change in the meantime (the titles of ancestor posts, or the\n\t * labels of taxonomy terms), hence the choice to re-render systematically\n\t * upon saving.\n\t */\n\tconst [ invalidationKey, setInvalidationKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tsetInvalidationKey( ( c ) => c + 1 );\n\t}, [ post ] );\n\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { content } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: name,\n\t\turlQueryArgs: { post_id: postId, invalidationKey },\n\t} );\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Try to determine breadcrumb type for more accurate previews.\n\tlet _showTerms;\n\t// Some non-hierarchical post types (e.g., attachments) can have parents.\n\t// Use hierarchical breadcrumbs if a parent exists, otherwise use taxonomy breadcrumbs.\n\tif ( ! isPostTypeHierarchical && ! post?.parent ) {\n\t\t_showTerms = true;\n\t} else if ( ! postTypeHasTaxonomies ) {\n\t\t// Hierarchical post type without taxonomies can only use ancestors.\n\t\t_showTerms = false;\n\t} else {\n\t\t// For hierarchical post types with taxonomies, use the attribute.\n\t\t_showTerms = prefersTaxonomy;\n\t}\n\tlet placeholder = null;\n\t// This is fragile because this block is server side rendered and we'll have to\n\t// update the placeholder html if the server side rendering output changes.\n\tconst showPlaceholder =\n\t\t! postId ||\n\t\t! postType ||\n\t\t// When `templateSlug` is set only show placeholder if the post type is not.\n\t\t// This is needed because when we are showing the template in post editor we\n\t\t// want to show the real breadcrumbs if we have the post type.\n\t\t( templateSlug && ! postType ) ||\n\t\t( ! _showTerms && ! isPostTypeHierarchical ) ||\n\t\t( _showTerms && ! hasTermsAssigned );\n\tif ( showPlaceholder ) {\n\t\tconst placeholderItems = [];\n\t\tif ( showHomeItem ) {\n\t\t\tplaceholderItems.push( __( 'Home' ) );\n\t\t}\n\t\tif ( templateSlug && ! postId ) {\n\t\t\tplaceholderItems.push( __( 'Page' ) );\n\t\t} else if ( _showTerms ) {\n\t\t\tplaceholderItems.push( __( 'Category' ) );\n\t\t} else {\n\t\t\tplaceholderItems.push( __( 'Ancestor' ), __( 'Parent' ) );\n\t\t}\n\t\tplaceholder = (\n\t\t\t<nav\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--separator': `'${ separator }'`,\n\t\t\t\t} }\n\t\t\t\tinert=\"true\"\n\t\t\t>\n\t\t\t\t<ol>\n\t\t\t\t\t{ placeholderItems.map( ( text, index ) => (\n\t\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t\t<a href={ `#breadcrumbs-pseudo-link-${ index }` }>\n\t\t\t\t\t\t\t\t{ text }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t\t\t{ showCurrentItem && (\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span aria-current=\"page\">{ __( 'Current' ) }</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) }\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\tshowHomeItem: true,\n\t\t\t\t\t\t\tshowCurrentItem: true,\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\tlabel={ __( 'Show home breadcrumb' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showHomeItem }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowHomeItem: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show home breadcrumb' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHomeItem: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showHomeItem }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show current breadcrumb' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showCurrentItem }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowCurrentItem: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show current breadcrumb' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showCurrentItem: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showCurrentItem }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => separator !== separatorDefaultValue }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\t\tvalue={ separator }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { separator: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tif ( ! separator ) {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tlabel={ __( 'Show on homepage' ) }\n\t\t\t\t\tchecked={ showOnHomePage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showOnHomePage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'If this breadcrumbs block appears in a template or template part that\u2019s shown on the homepage, enable this option to display the breadcrumb trail. Otherwise, this setting has no effect.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tlabel={ __( 'Prefer taxonomy terms' ) }\n\t\t\t\t\tchecked={ prefersTaxonomy }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { prefersTaxonomy: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The exact type of breadcrumbs shown will vary automatically depending on the page in which this block is displayed. In the specific case of a hierarchical post type with taxonomies, the breadcrumbs can either reflect its post hierarchy (default) or the hierarchy of its assigned taxonomy terms.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showPlaceholder ? (\n\t\t\t\t\tplaceholder\n\t\t\t\t) : (\n\t\t\t\t\t<RawHTML inert=\"true\">{ content }</RawHTML>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["coreStore", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -61,7 +61,15 @@ var settings = {
61
61
  merge: (a, { text = "" }) => ({
62
62
  ...a,
63
63
  text: (a.text || "") + text
64
- })
64
+ }),
65
+ __experimentalLabel(attributes, { context }) {
66
+ const { text } = attributes;
67
+ const customName = attributes?.metadata?.name;
68
+ const hasContent = text?.trim().length > 0;
69
+ if (context === "list-view" && (customName || hasContent)) {
70
+ return customName || text;
71
+ }
72
+ }
65
73
  };
66
74
  if (window.__experimentalContentOnlyInspectorFields) {
67
75
  settings[fieldsKey] = [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/button/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'text',\n\t\t\tlabel: __( 'Content' ),\n\t\t\ttype: 'richtext',\n\t\t},\n\t\t{\n\t\t\tid: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'link',\n\t\t\tmapping: {\n\t\t\t\turl: 'url',\n\t\t\t\trel: 'rel',\n\t\t\t\tlinkTarget: 'linkTarget',\n\t\t\t},\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'text' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA+B;AAC/B,oBAAiD;AAKjD,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,WAAW;AAAA,MACX,UAAM,gBAAI,gBAAiB;AAAA,IAC5B;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,OAAO,CAAE,GAAG,EAAE,OAAO,GAAG,OAAS;AAAA,IAChC,GAAG;AAAA,IACH,OAAQ,EAAE,QAAQ,MAAO;AAAA,EAC1B;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,SAAU;AAAA,MACrB,MAAM;AAAA,IACP;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,QACR,KAAK;AAAA,QACL,KAAK;AAAA,QACL,YAAY;AAAA,MACb;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,MAAO;AAAA,EAClB;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { text } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = text?.trim().length > 0;\n\n\t\t// In the list view, use the block's text as the label.\n\t\t// If the text is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || text;\n\t\t}\n\t},\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'text',\n\t\t\tlabel: __( 'Content' ),\n\t\t\ttype: 'richtext',\n\t\t},\n\t\t{\n\t\t\tid: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'link',\n\t\t\tmapping: {\n\t\t\t\turl: 'url',\n\t\t\t\trel: 'rel',\n\t\t\t\tlinkTarget: 'linkTarget',\n\t\t\t},\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'text' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA+B;AAC/B,oBAAiD;AAKjD,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,WAAW;AAAA,MACX,UAAM,gBAAI,gBAAiB;AAAA,IAC5B;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,OAAO,CAAE,GAAG,EAAE,OAAO,GAAG,OAAS;AAAA,IAChC,GAAG;AAAA,IACH,OAAQ,EAAE,QAAQ,MAAO;AAAA,EAC1B;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,KAAK,IAAI;AAEjB,UAAM,aAAa,YAAY,UAAU;AACzC,UAAM,aAAa,MAAM,KAAK,EAAE,SAAS;AAIzC,QAAK,YAAY,gBAAiB,cAAc,aAAe;AAC9D,aAAO,cAAc;AAAA,IACtB;AAAA,EACD;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,SAAU;AAAA,MACrB,MAAM;AAAA,IACP;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,QACR,KAAK;AAAA,QACL,KAAK;AAAA,QACL,YAAY;AAAA,MACb;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,MAAO;AAAA,EAClB;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "blocksPrivateApis", "icon", "edit", "save", "deprecated", "initBlock", "metadata"]
7
7
  }
@@ -63,6 +63,7 @@
63
63
  "interactivity": {
64
64
  "clientNavigation": true
65
65
  },
66
+ "listView": true,
66
67
  "contentRole": true
67
68
  },
68
69
  "editorStyle": "wp-block-buttons-editor",
@@ -15,9 +15,6 @@
15
15
  "linkTarget": {
16
16
  "type": "string",
17
17
  "default": "_self"
18
- },
19
- "textAlign": {
20
- "type": "string"
21
18
  }
22
19
  },
23
20
  "usesContext": [ "commentId" ],
@@ -39,6 +36,7 @@
39
36
  "typography": {
40
37
  "fontSize": true,
41
38
  "lineHeight": true,
39
+ "textAlign": true,
42
40
  "__experimentalFontFamily": true,
43
41
  "__experimentalFontWeight": true,
44
42
  "__experimentalFontStyle": true,