@wordpress/block-library 9.40.2-next.v.202602271551.0 → 9.40.2

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 (250) hide show
  1. package/build/accordion/view.cjs +34 -0
  2. package/build/accordion/view.cjs.map +2 -2
  3. package/build/comment-reply-link/edit.cjs +2 -1
  4. package/build/comment-reply-link/edit.cjs.map +2 -2
  5. package/build/comments/edit/placeholder.cjs +2 -1
  6. package/build/comments/edit/placeholder.cjs.map +2 -2
  7. package/build/cover/edit/index.cjs +39 -26
  8. package/build/cover/edit/index.cjs.map +2 -2
  9. package/build/cover/embed-video-utils.cjs +8 -6
  10. package/build/cover/embed-video-utils.cjs.map +2 -2
  11. package/build/embed/embed-preview.cjs +2 -1
  12. package/build/embed/embed-preview.cjs.map +2 -2
  13. package/build/html/block.json +2 -1
  14. package/build/html/modal.cjs +147 -230
  15. package/build/html/modal.cjs.map +3 -3
  16. package/build/icon/block.json +3 -12
  17. package/build/image/image.cjs +1 -1
  18. package/build/image/image.cjs.map +2 -2
  19. package/build/latest-comments/deprecated.cjs +33 -0
  20. package/build/latest-comments/deprecated.cjs.map +2 -2
  21. package/build/navigation/edit/index.cjs +125 -123
  22. package/build/navigation/edit/index.cjs.map +3 -3
  23. package/build/navigation/edit/leaf-more-menu.cjs +6 -68
  24. package/build/navigation/edit/leaf-more-menu.cjs.map +3 -3
  25. package/build/navigation/edit/menu-inspector-controls.cjs +91 -20
  26. package/build/navigation/edit/menu-inspector-controls.cjs.map +3 -3
  27. package/build/navigation/edit/navigation-menu-selector.cjs +4 -5
  28. package/build/navigation/edit/navigation-menu-selector.cjs.map +3 -3
  29. package/build/navigation/edit/placeholder/index.cjs +2 -2
  30. package/build/navigation/edit/placeholder/index.cjs.map +3 -3
  31. package/build/navigation/use-navigation-entities.cjs +67 -0
  32. package/build/navigation/use-navigation-entities.cjs.map +7 -0
  33. package/build/navigation/view.cjs +9 -2
  34. package/build/navigation/view.cjs.map +2 -2
  35. package/build/navigation-link/edit.cjs +2 -1
  36. package/build/navigation-link/edit.cjs.map +2 -2
  37. package/build/navigation-link/shared/use-handle-link-change.cjs +19 -3
  38. package/build/navigation-link/shared/use-handle-link-change.cjs.map +3 -3
  39. package/build/navigation-link/shared/use-link-preview.cjs +2 -2
  40. package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
  41. package/build/navigation-submenu/edit.cjs +8 -22
  42. package/build/navigation-submenu/edit.cjs.map +2 -2
  43. package/build/nextpage/block.json +0 -1
  44. package/build/paragraph/edit.cjs +1 -1
  45. package/build/paragraph/edit.cjs.map +1 -1
  46. package/build/post-navigation-link/block.json +3 -1
  47. package/build/post-navigation-link/edit.cjs +36 -2
  48. package/build/post-navigation-link/edit.cjs.map +3 -3
  49. package/build/post-navigation-link/index.cjs +0 -2
  50. package/build/post-navigation-link/index.cjs.map +3 -3
  51. package/build/post-title/block.json +3 -1
  52. package/build/post-title/deprecated.cjs +1 -82
  53. package/build/post-title/deprecated.cjs.map +3 -3
  54. package/build/post-title/edit.cjs +36 -10
  55. package/build/post-title/edit.cjs.map +3 -3
  56. package/build/query-title/block.json +3 -1
  57. package/build/query-title/deprecated.cjs +1 -70
  58. package/build/query-title/deprecated.cjs.map +3 -3
  59. package/build/query-title/edit.cjs +35 -17
  60. package/build/query-title/edit.cjs.map +3 -3
  61. package/build/shortcode/block.json +2 -1
  62. package/build/site-tagline/block.json +4 -6
  63. package/build/site-tagline/deprecated.cjs +1 -66
  64. package/build/site-tagline/deprecated.cjs.map +3 -3
  65. package/build/site-tagline/edit.cjs +28 -14
  66. package/build/site-tagline/edit.cjs.map +3 -3
  67. package/build/site-title/block.json +3 -1
  68. package/build/site-title/deprecated.cjs +1 -79
  69. package/build/site-title/deprecated.cjs.map +3 -3
  70. package/build/site-title/edit.cjs +30 -14
  71. package/build/site-title/edit.cjs.map +3 -3
  72. package/build/tabs-menu-item/block.json +26 -1
  73. package/build/tabs-menu-item/controls.cjs +100 -2
  74. package/build/tabs-menu-item/controls.cjs.map +3 -3
  75. package/build/tabs-menu-item/edit.cjs +65 -6
  76. package/build/tabs-menu-item/edit.cjs.map +2 -2
  77. package/build/tabs-menu-item/save.cjs +15 -1
  78. package/build/tabs-menu-item/save.cjs.map +2 -2
  79. package/build-module/accordion/view.mjs +35 -1
  80. package/build-module/accordion/view.mjs.map +2 -2
  81. package/build-module/comment-reply-link/edit.mjs +3 -2
  82. package/build-module/comment-reply-link/edit.mjs.map +2 -2
  83. package/build-module/comments/edit/placeholder.mjs +3 -2
  84. package/build-module/comments/edit/placeholder.mjs.map +2 -2
  85. package/build-module/cover/edit/index.mjs +47 -29
  86. package/build-module/cover/edit/index.mjs.map +2 -2
  87. package/build-module/cover/embed-video-utils.mjs +7 -5
  88. package/build-module/cover/embed-video-utils.mjs.map +2 -2
  89. package/build-module/embed/embed-preview.mjs +2 -1
  90. package/build-module/embed/embed-preview.mjs.map +2 -2
  91. package/build-module/html/block.json +2 -1
  92. package/build-module/html/modal.mjs +149 -232
  93. package/build-module/html/modal.mjs.map +2 -2
  94. package/build-module/icon/block.json +3 -12
  95. package/build-module/image/image.mjs +1 -1
  96. package/build-module/image/image.mjs.map +2 -2
  97. package/build-module/latest-comments/deprecated.mjs +33 -0
  98. package/build-module/latest-comments/deprecated.mjs.map +2 -2
  99. package/build-module/navigation/edit/index.mjs +125 -123
  100. package/build-module/navigation/edit/index.mjs.map +2 -2
  101. package/build-module/navigation/edit/leaf-more-menu.mjs +7 -73
  102. package/build-module/navigation/edit/leaf-more-menu.mjs.map +2 -2
  103. package/build-module/navigation/edit/menu-inspector-controls.mjs +101 -21
  104. package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
  105. package/build-module/navigation/edit/navigation-menu-selector.mjs +5 -6
  106. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  107. package/build-module/navigation/edit/placeholder/index.mjs +2 -2
  108. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  109. package/build-module/navigation/use-navigation-entities.mjs +46 -0
  110. package/build-module/navigation/use-navigation-entities.mjs.map +7 -0
  111. package/build-module/navigation/view.mjs +9 -2
  112. package/build-module/navigation/view.mjs.map +2 -2
  113. package/build-module/navigation-link/edit.mjs +2 -1
  114. package/build-module/navigation-link/edit.mjs.map +2 -2
  115. package/build-module/navigation-link/shared/use-handle-link-change.mjs +19 -3
  116. package/build-module/navigation-link/shared/use-handle-link-change.mjs.map +2 -2
  117. package/build-module/navigation-link/shared/use-link-preview.mjs +2 -2
  118. package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
  119. package/build-module/navigation-submenu/edit.mjs +9 -23
  120. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  121. package/build-module/nextpage/block.json +0 -1
  122. package/build-module/paragraph/edit.mjs +2 -2
  123. package/build-module/paragraph/edit.mjs.map +1 -1
  124. package/build-module/post-navigation-link/block.json +3 -1
  125. package/build-module/post-navigation-link/edit.mjs +30 -3
  126. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  127. package/build-module/post-navigation-link/index.mjs +0 -2
  128. package/build-module/post-navigation-link/index.mjs.map +2 -2
  129. package/build-module/post-title/block.json +3 -1
  130. package/build-module/post-title/deprecated.mjs +1 -82
  131. package/build-module/post-title/deprecated.mjs.map +2 -2
  132. package/build-module/post-title/edit.mjs +27 -10
  133. package/build-module/post-title/edit.mjs.map +2 -2
  134. package/build-module/query-title/block.json +3 -1
  135. package/build-module/query-title/deprecated.mjs +1 -70
  136. package/build-module/query-title/deprecated.mjs.map +2 -2
  137. package/build-module/query-title/edit.mjs +36 -17
  138. package/build-module/query-title/edit.mjs.map +2 -2
  139. package/build-module/shortcode/block.json +2 -1
  140. package/build-module/site-tagline/block.json +4 -6
  141. package/build-module/site-tagline/deprecated.mjs +1 -66
  142. package/build-module/site-tagline/deprecated.mjs.map +2 -2
  143. package/build-module/site-tagline/edit.mjs +29 -14
  144. package/build-module/site-tagline/edit.mjs.map +2 -2
  145. package/build-module/site-title/block.json +3 -1
  146. package/build-module/site-title/deprecated.mjs +1 -79
  147. package/build-module/site-title/deprecated.mjs.map +2 -2
  148. package/build-module/site-title/edit.mjs +31 -14
  149. package/build-module/site-title/edit.mjs.map +2 -2
  150. package/build-module/tabs-menu-item/block.json +26 -1
  151. package/build-module/tabs-menu-item/controls.mjs +104 -3
  152. package/build-module/tabs-menu-item/controls.mjs.map +2 -2
  153. package/build-module/tabs-menu-item/edit.mjs +66 -6
  154. package/build-module/tabs-menu-item/edit.mjs.map +2 -2
  155. package/build-module/tabs-menu-item/save.mjs +15 -1
  156. package/build-module/tabs-menu-item/save.mjs.map +2 -2
  157. package/build-style/editor-rtl.css +20 -6
  158. package/build-style/editor.css +20 -6
  159. package/build-style/html/editor-rtl.css +10 -6
  160. package/build-style/html/editor.css +10 -6
  161. package/build-style/icon/editor-rtl.css +5 -0
  162. package/build-style/icon/editor.css +5 -0
  163. package/build-style/navigation/style-rtl.css +15 -1
  164. package/build-style/navigation/style.css +15 -1
  165. package/build-style/navigation-overlay-close/style-rtl.css +3 -3
  166. package/build-style/navigation-overlay-close/style.css +3 -3
  167. package/build-style/style-rtl.css +30 -7
  168. package/build-style/style.css +30 -7
  169. package/build-style/tabs-menu-item/editor-rtl.css +5 -0
  170. package/build-style/tabs-menu-item/editor.css +5 -0
  171. package/build-style/tabs-menu-item/style-rtl.css +12 -3
  172. package/build-style/tabs-menu-item/style.css +12 -3
  173. package/package.json +38 -38
  174. package/src/accordion/view.js +44 -1
  175. package/src/accordion-item/index.php +18 -5
  176. package/src/comment-reply-link/edit.js +5 -2
  177. package/src/comments/edit/placeholder.js +5 -2
  178. package/src/cover/edit/index.js +72 -35
  179. package/src/cover/embed-video-utils.js +9 -7
  180. package/src/cover/index.php +12 -4
  181. package/src/details/index.php +47 -0
  182. package/src/embed/embed-preview.js +6 -5
  183. package/src/html/block.json +2 -1
  184. package/src/html/editor.scss +15 -5
  185. package/src/html/modal.js +32 -99
  186. package/src/icon/block.json +3 -12
  187. package/src/icon/editor.scss +5 -0
  188. package/src/icon/index.php +3 -1
  189. package/src/image/image.js +14 -15
  190. package/src/image/index.php +7 -5
  191. package/src/latest-comments/deprecated.js +33 -0
  192. package/src/navigation/edit/index.js +136 -134
  193. package/src/navigation/edit/leaf-more-menu.js +11 -86
  194. package/src/navigation/edit/menu-inspector-controls.js +142 -23
  195. package/src/navigation/edit/navigation-menu-selector.js +5 -6
  196. package/src/navigation/edit/placeholder/index.js +2 -3
  197. package/src/navigation/edit/test/navigation-menu-selector.js +20 -23
  198. package/src/navigation/index.php +62 -9
  199. package/src/navigation/style.scss +17 -1
  200. package/src/navigation/use-navigation-entities.js +72 -0
  201. package/src/navigation/view.js +14 -2
  202. package/src/navigation-link/edit.js +1 -0
  203. package/src/navigation-link/shared/test/use-handle-link-change.test.js +212 -0
  204. package/src/navigation-link/shared/test/use-link-preview.test.js +9 -0
  205. package/src/navigation-link/shared/use-handle-link-change.js +36 -9
  206. package/src/navigation-link/shared/use-link-preview.js +6 -9
  207. package/src/navigation-overlay-close/style.scss +3 -3
  208. package/src/navigation-submenu/edit.js +11 -28
  209. package/src/nextpage/block.json +0 -1
  210. package/src/page-list/index.php +1 -1
  211. package/src/paragraph/edit.js +2 -2
  212. package/src/post-featured-image/index.php +4 -2
  213. package/src/post-navigation-link/block.json +3 -1
  214. package/src/post-navigation-link/edit.js +35 -2
  215. package/src/post-navigation-link/index.js +0 -2
  216. package/src/post-title/block.json +3 -1
  217. package/src/post-title/deprecated.js +1 -86
  218. package/src/post-title/edit.js +18 -2
  219. package/src/query-title/block.json +3 -1
  220. package/src/query-title/deprecated.js +1 -74
  221. package/src/query-title/edit.js +27 -11
  222. package/src/query-title/index.php +1 -1
  223. package/src/shortcode/block.json +2 -1
  224. package/src/site-tagline/block.json +4 -6
  225. package/src/site-tagline/deprecated.js +1 -70
  226. package/src/site-tagline/edit.js +22 -9
  227. package/src/site-title/block.json +3 -1
  228. package/src/site-title/deprecated.js +1 -83
  229. package/src/site-title/edit.js +22 -9
  230. package/src/tabs-menu-item/block.json +26 -1
  231. package/src/tabs-menu-item/controls.js +108 -0
  232. package/src/tabs-menu-item/edit.js +79 -6
  233. package/src/tabs-menu-item/editor.scss +6 -0
  234. package/src/tabs-menu-item/save.js +26 -1
  235. package/src/tabs-menu-item/style.scss +14 -3
  236. package/build/navigation/edit/navigation-link-ui.cjs +0 -97
  237. package/build/navigation/edit/navigation-link-ui.cjs.map +0 -7
  238. package/build/navigation/edit/navigation-list-view-header.cjs +0 -86
  239. package/build/navigation/edit/navigation-list-view-header.cjs.map +0 -7
  240. package/build/post-navigation-link/deprecated.cjs +0 -100
  241. package/build/post-navigation-link/deprecated.cjs.map +0 -7
  242. package/build-module/navigation/edit/navigation-link-ui.mjs +0 -76
  243. package/build-module/navigation/edit/navigation-link-ui.mjs.map +0 -7
  244. package/build-module/navigation/edit/navigation-list-view-header.mjs +0 -58
  245. package/build-module/navigation/edit/navigation-list-view-header.mjs.map +0 -7
  246. package/build-module/post-navigation-link/deprecated.mjs +0 -69
  247. package/build-module/post-navigation-link/deprecated.mjs.map +0 -7
  248. package/src/navigation/edit/navigation-link-ui.js +0 -115
  249. package/src/navigation/edit/navigation-list-view-header.js +0 -62
  250. package/src/post-navigation-link/deprecated.js +0 -72
@@ -18,7 +18,32 @@
18
18
  "core/tabs-activeTabIndex",
19
19
  "core/tabs-editorActiveTabIndex"
20
20
  ],
21
- "attributes": {},
21
+ "attributes": {
22
+ "activeBackgroundColor": {
23
+ "type": "string"
24
+ },
25
+ "customActiveBackgroundColor": {
26
+ "type": "string"
27
+ },
28
+ "activeTextColor": {
29
+ "type": "string"
30
+ },
31
+ "customActiveTextColor": {
32
+ "type": "string"
33
+ },
34
+ "hoverBackgroundColor": {
35
+ "type": "string"
36
+ },
37
+ "customHoverBackgroundColor": {
38
+ "type": "string"
39
+ },
40
+ "hoverTextColor": {
41
+ "type": "string"
42
+ },
43
+ "customHoverTextColor": {
44
+ "type": "string"
45
+ }
46
+ },
22
47
  "supports": {
23
48
  "html": false,
24
49
  "reusable": false,
@@ -9,7 +9,10 @@ import clsx from 'clsx';
9
9
  import { __, isRTL } from '@wordpress/i18n';
10
10
  import {
11
11
  BlockControls,
12
+ InspectorControls,
12
13
  store as blockEditorStore,
14
+ __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,
15
+ __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,
13
16
  } from '@wordpress/block-editor';
14
17
  import { ToolbarGroup, ToolbarItem, Button } from '@wordpress/components';
15
18
  import {
@@ -160,12 +163,32 @@ function TabBlockMover( {
160
163
  }
161
164
 
162
165
  export default function Controls( {
166
+ attributes,
167
+ setAttributes,
168
+ clientId,
163
169
  tabsClientId,
164
170
  tabClientId,
165
171
  tabIndex,
166
172
  tabsCount,
167
173
  tabsMenuClientId,
174
+ activeBackgroundColor,
175
+ setActiveBackgroundColor,
176
+ activeTextColor,
177
+ setActiveTextColor,
178
+ hoverBackgroundColor,
179
+ setHoverBackgroundColor,
180
+ hoverTextColor,
181
+ setHoverTextColor,
168
182
  } ) {
183
+ const {
184
+ customActiveBackgroundColor,
185
+ customActiveTextColor,
186
+ customHoverBackgroundColor,
187
+ customHoverTextColor,
188
+ } = attributes;
189
+
190
+ const colorSettings = useMultipleOriginColorsAndGradients();
191
+
169
192
  return (
170
193
  <>
171
194
  <TabBlockMover
@@ -177,6 +200,91 @@ export default function Controls( {
177
200
  />
178
201
  <AddTabToolbarControl tabsClientId={ tabsClientId } />
179
202
  <RemoveTabToolbarControl tabsClientId={ tabsClientId } />
203
+ <InspectorControls group="color">
204
+ <ColorGradientSettingsDropdown
205
+ settings={ [
206
+ {
207
+ label: __( 'Active background' ),
208
+ colorValue:
209
+ activeBackgroundColor?.color ??
210
+ customActiveBackgroundColor,
211
+ onColorChange: ( value ) => {
212
+ setActiveBackgroundColor( value );
213
+ setAttributes( {
214
+ customActiveBackgroundColor: value,
215
+ } );
216
+ },
217
+ resetAllFilter: () => {
218
+ setActiveBackgroundColor( undefined );
219
+ setAttributes( {
220
+ customActiveBackgroundColor: undefined,
221
+ } );
222
+ },
223
+ clearable: true,
224
+ },
225
+ {
226
+ label: __( 'Active text' ),
227
+ colorValue:
228
+ activeTextColor?.color ?? customActiveTextColor,
229
+ onColorChange: ( value ) => {
230
+ setActiveTextColor( value );
231
+ setAttributes( {
232
+ customActiveTextColor: value,
233
+ } );
234
+ },
235
+ resetAllFilter: () => {
236
+ setActiveTextColor( undefined );
237
+ setAttributes( {
238
+ customActiveTextColor: undefined,
239
+ } );
240
+ },
241
+ clearable: true,
242
+ },
243
+ {
244
+ label: __( 'Hover background' ),
245
+ colorValue:
246
+ hoverBackgroundColor?.color ??
247
+ customHoverBackgroundColor,
248
+ onColorChange: ( value ) => {
249
+ setHoverBackgroundColor( value );
250
+ setAttributes( {
251
+ customHoverBackgroundColor: value,
252
+ } );
253
+ },
254
+ resetAllFilter: () => {
255
+ setHoverBackgroundColor( undefined );
256
+ setAttributes( {
257
+ customHoverBackgroundColor: undefined,
258
+ } );
259
+ },
260
+ clearable: true,
261
+ },
262
+ {
263
+ label: __( 'Hover text' ),
264
+ colorValue:
265
+ hoverTextColor?.color ?? customHoverTextColor,
266
+ onColorChange: ( value ) => {
267
+ setHoverTextColor( value );
268
+ setAttributes( {
269
+ customHoverTextColor: value,
270
+ } );
271
+ },
272
+ resetAllFilter: () => {
273
+ setHoverTextColor( undefined );
274
+ setAttributes( {
275
+ customHoverTextColor: undefined,
276
+ } );
277
+ },
278
+ clearable: true,
279
+ },
280
+ ] }
281
+ panelId={ clientId }
282
+ disableCustomColors={ false }
283
+ __experimentalIsRenderedInSidebar
284
+ __next40pxDefaultSize
285
+ { ...colorSettings }
286
+ />
287
+ </InspectorControls>
180
288
  </>
181
289
  );
182
290
  }
@@ -9,6 +9,7 @@ import clsx from 'clsx';
9
9
  import { __, sprintf } from '@wordpress/i18n';
10
10
  import {
11
11
  useBlockProps,
12
+ withColors,
12
13
  store as blockEditorStore,
13
14
  RichText,
14
15
  } from '@wordpress/block-editor';
@@ -21,9 +22,19 @@ import { useCallback, useMemo } from '@wordpress/element';
21
22
  import slugFromLabel from '../tab/slug-from-label';
22
23
  import Controls from './controls';
23
24
 
24
- export default function Edit( {
25
+ function Edit( {
26
+ attributes,
27
+ setAttributes,
25
28
  context,
26
29
  clientId,
30
+ activeBackgroundColor,
31
+ setActiveBackgroundColor,
32
+ activeTextColor,
33
+ setActiveTextColor,
34
+ hoverBackgroundColor,
35
+ setHoverBackgroundColor,
36
+ hoverTextColor,
37
+ setHoverTextColor,
27
38
  __unstableLayoutClassNames: layoutClassNames,
28
39
  } ) {
29
40
  // Context from tabs-menu (per-item context via BlockContextProvider)
@@ -127,6 +138,47 @@ export default function Edit( {
127
138
  ]
128
139
  );
129
140
 
141
+ // Build CSS custom properties for active/hover color states
142
+ const customColorStyles = useMemo( () => {
143
+ const styles = {};
144
+
145
+ // Active/hover colors from custom attributes
146
+ const activeBg =
147
+ activeBackgroundColor?.color ||
148
+ attributes.customActiveBackgroundColor;
149
+ const activeText =
150
+ activeTextColor?.color || attributes.customActiveTextColor;
151
+ const hoverBg =
152
+ hoverBackgroundColor?.color ||
153
+ attributes.customHoverBackgroundColor;
154
+ const hoverText =
155
+ hoverTextColor?.color || attributes.customHoverTextColor;
156
+
157
+ if ( activeBg ) {
158
+ styles[ '--custom-tab-active-color' ] = activeBg;
159
+ }
160
+ if ( activeText ) {
161
+ styles[ '--custom-tab-active-text-color' ] = activeText;
162
+ }
163
+ if ( hoverBg ) {
164
+ styles[ '--custom-tab-hover-color' ] = hoverBg;
165
+ }
166
+ if ( hoverText ) {
167
+ styles[ '--custom-tab-hover-text-color' ] = hoverText;
168
+ }
169
+
170
+ return styles;
171
+ }, [
172
+ activeBackgroundColor?.color,
173
+ attributes.customActiveBackgroundColor,
174
+ activeTextColor?.color,
175
+ attributes.customActiveTextColor,
176
+ hoverBackgroundColor?.color,
177
+ attributes.customHoverBackgroundColor,
178
+ hoverTextColor?.color,
179
+ attributes.customHoverTextColor,
180
+ ] );
181
+
130
182
  const tabPanelId = tabId || `tab-${ tabIndex }`;
131
183
  const tabLabelId = `${ tabPanelId }--tab`;
132
184
 
@@ -136,6 +188,7 @@ export default function Edit( {
136
188
  'is-active': isActiveTab,
137
189
  'is-selected': isSelectedTab,
138
190
  } ),
191
+ style: customColorStyles,
139
192
  'aria-controls': tabPanelId,
140
193
  'aria-selected': isActiveTab,
141
194
  id: tabLabelId,
@@ -147,11 +200,24 @@ export default function Edit( {
147
200
  return (
148
201
  <>
149
202
  <Controls
150
- tabsClientId={ tabsClientId }
151
- tabClientId={ tabClientId }
152
- tabIndex={ tabIndex }
153
- tabsCount={ tabsList.length }
154
- tabsMenuClientId={ tabsMenuClientId }
203
+ { ...{
204
+ attributes,
205
+ setAttributes,
206
+ clientId,
207
+ tabsClientId,
208
+ tabClientId,
209
+ tabIndex,
210
+ tabsCount: tabsList.length,
211
+ tabsMenuClientId,
212
+ activeBackgroundColor,
213
+ setActiveBackgroundColor,
214
+ activeTextColor,
215
+ setActiveTextColor,
216
+ hoverBackgroundColor,
217
+ setHoverBackgroundColor,
218
+ hoverTextColor,
219
+ setHoverTextColor,
220
+ } }
155
221
  />
156
222
  <div { ...blockProps }>
157
223
  <RichText
@@ -169,3 +235,10 @@ export default function Edit( {
169
235
  </>
170
236
  );
171
237
  }
238
+
239
+ export default withColors(
240
+ 'activeBackgroundColor',
241
+ 'activeTextColor',
242
+ 'hoverBackgroundColor',
243
+ 'hoverTextColor'
244
+ )( Edit );
@@ -1,5 +1,6 @@
1
1
  .wp-block-tabs-menu-item {
2
2
  &.is-selected {
3
+ outline: 2px solid var(--wp-admin-theme-color, #007cba);
3
4
  outline-offset: 2px;
4
5
  }
5
6
  }
@@ -11,4 +12,9 @@
11
12
  .wp-block-tabs-menu-item {
12
13
  flex-basis: 100% !important;
13
14
  }
15
+
16
+ &:hover > .wp-block-tabs-menu-item {
17
+ background-color: var(--custom-tab-hover-color, #eaeaea) !important;
18
+ color: var(--custom-tab-hover-text-color, #000) !important;
19
+ }
14
20
  }
@@ -3,9 +3,34 @@
3
3
  */
4
4
  import { useBlockProps } from '@wordpress/block-editor';
5
5
 
6
- export default function save() {
6
+ export default function save( { attributes } ) {
7
+ // Build CSS custom properties for active/hover colors
8
+ const customColorStyles = {};
9
+
10
+ // Active/hover colors from custom attributes
11
+ if ( attributes.customActiveBackgroundColor ) {
12
+ customColorStyles[ '--custom-tab-active-color' ] =
13
+ attributes.customActiveBackgroundColor;
14
+ }
15
+ if ( attributes.customActiveTextColor ) {
16
+ customColorStyles[ '--custom-tab-active-text-color' ] =
17
+ attributes.customActiveTextColor;
18
+ }
19
+ if ( attributes.customHoverBackgroundColor ) {
20
+ customColorStyles[ '--custom-tab-hover-color' ] =
21
+ attributes.customHoverBackgroundColor;
22
+ }
23
+ if ( attributes.customHoverTextColor ) {
24
+ customColorStyles[ '--custom-tab-hover-text-color' ] =
25
+ attributes.customHoverTextColor;
26
+ }
27
+
28
+ // useBlockProps.save includes all core style engine classes and styles
29
+ // The button content is replaced by PHP during rendering, so we output
30
+ // an empty button as a template.
7
31
  const blockProps = useBlockProps.save( {
8
32
  className: 'wp-block-tabs-menu-item__template',
33
+ style: customColorStyles,
9
34
  type: 'button',
10
35
  role: 'tab',
11
36
  } );
@@ -15,7 +15,8 @@
15
15
  -webkit-appearance: none;
16
16
 
17
17
  margin: 0;
18
- padding: var(--wp--preset--spacing--20, 0.5em) var(--wp--preset--spacing--30, 1em);
18
+ padding-block: var(--tab-padding-block, var(--wp--preset--spacing--20, 0.5em));
19
+ padding-inline: var(--tab-padding-inline, var(--wp--preset--spacing--30, 1em));
19
20
 
20
21
  // Inherit typography from parent
21
22
  font-size: inherit;
@@ -26,13 +27,23 @@
26
27
  text-transform: inherit;
27
28
  text-align: inherit;
28
29
 
30
+ &:focus {
31
+ outline: none;
32
+ }
33
+
29
34
  &:focus-visible {
35
+ outline: 2px solid var(--tab-border-color-active, #000);
30
36
  outline-offset: 2px;
31
37
  }
32
38
 
39
+ &:hover {
40
+ background-color: var(--custom-tab-hover-color, #eaeaea) !important;
41
+ color: var(--custom-tab-hover-text-color, #000) !important;
42
+ }
43
+
33
44
  &[aria-selected="true"],
34
45
  &.is-active {
35
- background-color: #000;
36
- color: #fff;
46
+ background-color: var(--custom-tab-active-color, #000) !important;
47
+ color: var(--custom-tab-active-text-color, #fff) !important;
37
48
  }
38
49
  }
@@ -1,97 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // packages/block-library/src/navigation/edit/navigation-link-ui.js
21
- var navigation_link_ui_exports = {};
22
- __export(navigation_link_ui_exports, {
23
- NavigationLinkUI: () => NavigationLinkUI
24
- });
25
- module.exports = __toCommonJS(navigation_link_ui_exports);
26
- var import_block_editor = require("@wordpress/block-editor");
27
- var import_data = require("@wordpress/data");
28
- var import_shared = require("../../navigation-link/shared/index.cjs");
29
- var import_jsx_runtime = require("react/jsx-runtime");
30
- var BLOCKS_WITH_LINK_UI_SUPPORT = [
31
- "core/navigation-link",
32
- "core/navigation-submenu"
33
- ];
34
- function NavigationLinkUI({ block, insertedBlock, setInsertedBlock }) {
35
- const { updateBlockAttributes, removeBlock } = (0, import_data.useDispatch)(import_block_editor.store);
36
- const supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(
37
- insertedBlock?.name
38
- );
39
- const blockWasJustInserted = insertedBlock?.clientId === block.clientId;
40
- const showLinkControls = supportsLinkControls && blockWasJustInserted;
41
- const { createBinding, clearBinding } = (0, import_shared.useEntityBinding)({
42
- clientId: insertedBlock?.clientId,
43
- attributes: insertedBlock?.attributes || {}
44
- });
45
- if (!showLinkControls) {
46
- return null;
47
- }
48
- const cleanupInsertedBlock = () => {
49
- const shouldAutoSelectBlock = false;
50
- if (!insertedBlock?.attributes?.url && insertedBlock?.clientId) {
51
- removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
52
- }
53
- setInsertedBlock(null);
54
- };
55
- const setInsertedBlockAttributes = (_insertedBlockClientId) => (_updatedAttributes) => {
56
- if (!_insertedBlockClientId) {
57
- return;
58
- }
59
- updateBlockAttributes(_insertedBlockClientId, _updatedAttributes);
60
- };
61
- const handleSetInsertedBlock = (newBlock) => {
62
- const shouldAutoSelectBlock = false;
63
- if (insertedBlock?.clientId && newBlock) {
64
- removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
65
- }
66
- setInsertedBlock(newBlock);
67
- };
68
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
69
- import_shared.LinkUI,
70
- {
71
- clientId: insertedBlock?.clientId,
72
- link: insertedBlock?.attributes,
73
- onBlockInsert: handleSetInsertedBlock,
74
- onClose: () => {
75
- cleanupInsertedBlock();
76
- },
77
- onChange: (updatedValue) => {
78
- const { isEntityLink, attributes: updatedAttributes } = (0, import_shared.updateAttributes)(
79
- updatedValue,
80
- setInsertedBlockAttributes(insertedBlock?.clientId),
81
- insertedBlock?.attributes
82
- );
83
- if (isEntityLink) {
84
- createBinding(updatedAttributes);
85
- } else {
86
- clearBinding();
87
- }
88
- setInsertedBlock(null);
89
- }
90
- }
91
- );
92
- }
93
- // Annotate the CommonJS export names for ESM import in node:
94
- 0 && (module.exports = {
95
- NavigationLinkUI
96
- });
97
- //# sourceMappingURL=navigation-link-ui.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/navigation/edit/navigation-link-ui.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLinkUI,\n\tupdateAttributes,\n\tuseEntityBinding,\n} from '../../navigation-link/shared';\n\nconst BLOCKS_WITH_LINK_UI_SUPPORT = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\n\nexport function NavigationLinkUI( { block, insertedBlock, setInsertedBlock } ) {\n\tconst { updateBlockAttributes, removeBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(\n\t\tinsertedBlock?.name\n\t);\n\tconst blockWasJustInserted = insertedBlock?.clientId === block.clientId;\n\tconst showLinkControls = supportsLinkControls && blockWasJustInserted;\n\n\t// Get binding utilities for the inserted block\n\tconst { createBinding, clearBinding } = useEntityBinding( {\n\t\tclientId: insertedBlock?.clientId,\n\t\tattributes: insertedBlock?.attributes || {},\n\t} );\n\n\tif ( ! showLinkControls ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Cleanup function for auto-inserted Navigation Link blocks.\n\t *\n\t * Removes the block if it has no URL and clears the inserted block state.\n\t * This ensures consistent cleanup behavior across different contexts.\n\t */\n\tconst cleanupInsertedBlock = () => {\n\t\t// Prevent automatic block selection when removing blocks in list view context\n\t\t// This avoids focus stealing that would close the list view and switch to canvas\n\t\tconst shouldAutoSelectBlock = false;\n\n\t\t// Follows the exact same pattern as Navigation Link block's onClose handler\n\t\t// If there is no URL then remove the auto-inserted block to avoid empty blocks\n\t\tif ( ! insertedBlock?.attributes?.url && insertedBlock?.clientId ) {\n\t\t\t// Remove the block entirely to avoid poor UX\n\t\t\t// This matches the Navigation Link block's behavior\n\t\t\tremoveBlock( insertedBlock.clientId, shouldAutoSelectBlock );\n\t\t}\n\t\tsetInsertedBlock( null );\n\t};\n\n\tconst setInsertedBlockAttributes =\n\t\t( _insertedBlockClientId ) => ( _updatedAttributes ) => {\n\t\t\tif ( ! _insertedBlockClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( _insertedBlockClientId, _updatedAttributes );\n\t\t};\n\n\t// Wrapper function to clean up original block when a new block is selected\n\tconst handleSetInsertedBlock = ( newBlock ) => {\n\t\t// Prevent automatic block selection when removing blocks in list view context\n\t\t// This avoids focus stealing that would close the list view and switch to canvas\n\t\tconst shouldAutoSelectBlock = false;\n\n\t\t// If we have an existing inserted block and a new block is being set,\n\t\t// remove the original block to avoid duplicates\n\t\tif ( insertedBlock?.clientId && newBlock ) {\n\t\t\tremoveBlock( insertedBlock.clientId, shouldAutoSelectBlock );\n\t\t}\n\t\tsetInsertedBlock( newBlock );\n\t};\n\n\treturn (\n\t\t<LinkUI\n\t\t\tclientId={ insertedBlock?.clientId }\n\t\t\tlink={ insertedBlock?.attributes }\n\t\t\tonBlockInsert={ handleSetInsertedBlock }\n\t\t\tonClose={ () => {\n\t\t\t\t// Use cleanup function\n\t\t\t\tcleanupInsertedBlock();\n\t\t\t} }\n\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t// updateAttributes determines the final state and returns metadata\n\t\t\t\tconst { isEntityLink, attributes: updatedAttributes } =\n\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\tsetInsertedBlockAttributes( insertedBlock?.clientId ),\n\t\t\t\t\t\tinsertedBlock?.attributes\n\t\t\t\t\t);\n\n\t\t\t\t// Handle URL binding based on the final computed state\n\t\t\t\t// Only create bindings for entity links (posts, pages, taxonomies)\n\t\t\t\t// Never create bindings for custom links (manual URLs)\n\t\t\t\tif ( isEntityLink ) {\n\t\t\t\t\tcreateBinding( updatedAttributes );\n\t\t\t\t} else {\n\t\t\t\t\tclearBinding();\n\t\t\t\t}\n\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA0C;AAC1C,kBAA4B;AAK5B,oBAIO;AAuEL;AArEF,IAAM,8BAA8B;AAAA,EACnC;AAAA,EACA;AACD;AAEO,SAAS,iBAAkB,EAAE,OAAO,eAAe,iBAAiB,GAAI;AAC9E,QAAM,EAAE,uBAAuB,YAAY,QAC1C,yBAAa,oBAAAA,KAAiB;AAE/B,QAAM,uBAAuB,6BAA6B;AAAA,IACzD,eAAe;AAAA,EAChB;AACA,QAAM,uBAAuB,eAAe,aAAa,MAAM;AAC/D,QAAM,mBAAmB,wBAAwB;AAGjD,QAAM,EAAE,eAAe,aAAa,QAAI,gCAAkB;AAAA,IACzD,UAAU,eAAe;AAAA,IACzB,YAAY,eAAe,cAAc,CAAC;AAAA,EAC3C,CAAE;AAEF,MAAK,CAAE,kBAAmB;AACzB,WAAO;AAAA,EACR;AAQA,QAAM,uBAAuB,MAAM;AAGlC,UAAM,wBAAwB;AAI9B,QAAK,CAAE,eAAe,YAAY,OAAO,eAAe,UAAW;AAGlE,kBAAa,cAAc,UAAU,qBAAsB;AAAA,IAC5D;AACA,qBAAkB,IAAK;AAAA,EACxB;AAEA,QAAM,6BACL,CAAE,2BAA4B,CAAE,uBAAwB;AACvD,QAAK,CAAE,wBAAyB;AAC/B;AAAA,IACD;AACA,0BAAuB,wBAAwB,kBAAmB;AAAA,EACnE;AAGD,QAAM,yBAAyB,CAAE,aAAc;AAG9C,UAAM,wBAAwB;AAI9B,QAAK,eAAe,YAAY,UAAW;AAC1C,kBAAa,cAAc,UAAU,qBAAsB;AAAA,IAC5D;AACA,qBAAkB,QAAS;AAAA,EAC5B;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAW,eAAe;AAAA,MAC1B,MAAO,eAAe;AAAA,MACtB,eAAgB;AAAA,MAChB,SAAU,MAAM;AAEf,6BAAqB;AAAA,MACtB;AAAA,MACA,UAAW,CAAE,iBAAkB;AAE9B,cAAM,EAAE,cAAc,YAAY,kBAAkB,QACnD;AAAA,UACC;AAAA,UACA,2BAA4B,eAAe,QAAS;AAAA,UACpD,eAAe;AAAA,QAChB;AAKD,YAAK,cAAe;AACnB,wBAAe,iBAAkB;AAAA,QAClC,OAAO;AACN,uBAAa;AAAA,QACd;AAEA,yBAAkB,IAAK;AAAA,MACxB;AAAA;AAAA,EACD;AAEF;",
6
- "names": ["blockEditorStore"]
7
- }
@@ -1,86 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // packages/block-library/src/navigation/edit/navigation-list-view-header.js
31
- var navigation_list_view_header_exports = {};
32
- __export(navigation_list_view_header_exports, {
33
- default: () => NavigationListViewHeader
34
- });
35
- module.exports = __toCommonJS(navigation_list_view_header_exports);
36
- var import_components = require("@wordpress/components");
37
- var import_i18n = require("@wordpress/i18n");
38
- var import_block_editor = require("@wordpress/block-editor");
39
- var import_navigation_menu_selector = __toESM(require("./navigation-menu-selector.cjs"));
40
- var import_lock_unlock = require("../../lock-unlock.cjs");
41
- var import_jsx_runtime = require("react/jsx-runtime");
42
- var { useBlockDisplayTitle } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
43
- var actionLabel = (
44
- /* translators: %s: The name of a menu. */
45
- (0, import_i18n.__)("Switch to '%s'")
46
- );
47
- function NavigationListViewHeader({
48
- clientId,
49
- blockEditingMode,
50
- currentMenuId,
51
- onSelectClassicMenu,
52
- onSelectNavigationMenu,
53
- onCreateNew,
54
- createNavigationMenuIsSuccess,
55
- createNavigationMenuIsError,
56
- isManageMenusButtonDisabled
57
- }) {
58
- const blockTitle = useBlockDisplayTitle({
59
- clientId,
60
- context: "list-view"
61
- });
62
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { className: "wp-block-navigation-off-canvas-editor__header", children: [
63
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
64
- import_components.__experimentalHeading,
65
- {
66
- className: "wp-block-navigation-off-canvas-editor__title",
67
- level: 2,
68
- children: blockTitle
69
- }
70
- ),
71
- blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
72
- import_navigation_menu_selector.default,
73
- {
74
- currentMenuId,
75
- onSelectClassicMenu,
76
- onSelectNavigationMenu,
77
- onCreateNew,
78
- createNavigationMenuIsSuccess,
79
- createNavigationMenuIsError,
80
- actionLabel,
81
- isManageMenusButtonDisabled
82
- }
83
- )
84
- ] });
85
- }
86
- //# sourceMappingURL=navigation-list-view-header.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/navigation/edit/navigation-list-view-header.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport { unlock } from '../../lock-unlock';\n\nconst { useBlockDisplayTitle } = unlock( blockEditorPrivateApis );\n\nconst actionLabel =\n\t/* translators: %s: The name of a menu. */ __( \"Switch to '%s'\" );\n\nexport default function NavigationListViewHeader( {\n\tclientId,\n\tblockEditingMode,\n\tcurrentMenuId,\n\tonSelectClassicMenu,\n\tonSelectNavigationMenu,\n\tonCreateNew,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n\tisManageMenusButtonDisabled,\n} ) {\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\n\treturn (\n\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t<Heading\n\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\tlevel={ 2 }\n\t\t\t>\n\t\t\t\t{ blockTitle }\n\t\t\t</Heading>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tactionLabel={ actionLabel }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAGO;AACP,kBAAmB;AACnB,0BAAsD;AAKtD,sCAAmC;AACnC,yBAAuB;AAwBrB;AAtBF,IAAM,EAAE,qBAAqB,QAAI,2BAAQ,oBAAAA,WAAuB;AAEhE,IAAM;AAAA;AAAA,MACsC,gBAAI,gBAAiB;AAAA;AAElD,SAAR,yBAA2C;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,aAAa,qBAAsB;AAAA,IACxC;AAAA,IACA,SAAS;AAAA,EACV,CAAE;AAEF,SACC,6CAAC,kBAAAC,sBAAA,EAAO,WAAU,iDACjB;AAAA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAU;AAAA,QACV,OAAQ;AAAA,QAEN;AAAA;AAAA,IACH;AAAA,IACE,qBAAqB,aACtB;AAAA,MAAC,gCAAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAGA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;",
6
- "names": ["blockEditorPrivateApis", "HStack", "Heading", "NavigationMenuSelector"]
7
- }