@vonage/vivid 4.24.0 → 4.26.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 (402) hide show
  1. package/custom-elements.json +23176 -14463
  2. package/elevation/index.cjs +1 -1
  3. package/elevation/index.js +1 -1
  4. package/index.cjs +112 -150
  5. package/index.js +37 -35
  6. package/lib/accordion-item/accordion-item.d.ts +7 -1
  7. package/lib/action-group/action-group.d.ts +7 -1
  8. package/lib/alert/alert.d.ts +22 -2
  9. package/lib/audio-player/audio-player.d.ts +7 -1
  10. package/lib/badge/badge.d.ts +10 -2
  11. package/lib/banner/banner.d.ts +28 -3
  12. package/lib/breadcrumb/breadcrumb.d.ts +7 -1
  13. package/lib/breadcrumb-item/breadcrumb-item.d.ts +64 -8
  14. package/lib/button/button.d.ts +733 -8
  15. package/lib/button/locale.d.ts +3 -0
  16. package/lib/calendar/calendar.d.ts +2 -0
  17. package/lib/calendar-event/calendar-event.d.ts +7 -1
  18. package/lib/card/card.d.ts +394 -2
  19. package/lib/card/card.template.d.ts +2 -1
  20. package/lib/checkbox/checkbox.d.ts +1830 -13
  21. package/lib/combobox/combobox.d.ts +1827 -20
  22. package/lib/data-grid/data-grid-cell.d.ts +342 -2
  23. package/lib/data-grid/data-grid-row.d.ts +1 -0
  24. package/lib/data-grid/data-grid.d.ts +1 -1
  25. package/lib/data-grid/locale.d.ts +5 -0
  26. package/lib/date-picker/date-picker.d.ts +1676 -207
  27. package/lib/date-range-picker/date-range-picker.d.ts +840 -107
  28. package/lib/date-time-picker/date-time-picker.d.ts +1678 -209
  29. package/lib/dial-pad/dial-pad.d.ts +9 -1
  30. package/lib/dialog/dialog.d.ts +15 -2
  31. package/lib/divider/divider.d.ts +7 -1
  32. package/lib/fab/fab.d.ts +7 -1
  33. package/lib/file-picker/file-picker.d.ts +1509 -31
  34. package/lib/header/header.d.ts +7 -1
  35. package/lib/icon/icon.d.ts +1 -0
  36. package/lib/icon/icon.template.d.ts +2 -1
  37. package/lib/menu/menu.d.ts +17 -8
  38. package/lib/menu/name.d.ts +1 -0
  39. package/lib/menu-item/menu-item.d.ts +16 -4
  40. package/lib/nav/nav.d.ts +7 -1
  41. package/lib/nav-disclosure/nav-disclosure.d.ts +15 -2
  42. package/lib/nav-item/nav-item.d.ts +406 -4
  43. package/lib/note/note.d.ts +7 -1
  44. package/lib/number-field/locale.d.ts +3 -2
  45. package/lib/number-field/number-field.d.ts +1859 -38
  46. package/lib/option/option.d.ts +14 -2
  47. package/lib/pagination/locale.d.ts +5 -0
  48. package/lib/pagination/pagination.d.ts +341 -2
  49. package/lib/popup/popup.d.ts +1 -0
  50. package/lib/progress/progress.d.ts +7 -1
  51. package/lib/progress-ring/progress-ring.d.ts +7 -1
  52. package/lib/radio/radio.d.ts +1137 -4
  53. package/lib/radio-group/radio-group.d.ts +21 -3
  54. package/lib/range-slider/range-slider.d.ts +765 -18
  55. package/lib/rich-text-editor/definition.d.ts +2 -2
  56. package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +3 -1
  57. package/lib/rich-text-editor/locale.d.ts +1 -0
  58. package/lib/rich-text-editor/menubar/menubar.d.ts +7 -1
  59. package/lib/rich-text-editor/rich-text-editor.d.ts +352 -2
  60. package/lib/searchable-select/option-tag.d.ts +7 -1
  61. package/lib/searchable-select/searchable-select.d.ts +1859 -38
  62. package/lib/select/select.d.ts +1844 -29
  63. package/lib/selectable-box/selectable-box.d.ts +7 -1
  64. package/lib/slider/slider.d.ts +386 -4
  65. package/lib/split-button/split-button.d.ts +21 -3
  66. package/lib/switch/switch.d.ts +387 -4
  67. package/lib/tab/tab.d.ts +21 -4
  68. package/lib/tab-panel/tab-panel.d.ts +7 -1
  69. package/lib/tag/tag.d.ts +14 -2
  70. package/lib/tag-group/tag-group.d.ts +7 -1
  71. package/lib/text-area/text-area.d.ts +2174 -19
  72. package/lib/text-field/text-field.d.ts +2197 -33
  73. package/lib/time-picker/time-picker.d.ts +839 -106
  74. package/lib/toggletip/toggletip.d.ts +10 -4
  75. package/lib/tooltip/tooltip.d.ts +10 -4
  76. package/lib/tree-item/tree-item.d.ts +14 -2
  77. package/lib/tree-view/tree-view.d.ts +7 -1
  78. package/lib/video-player/video-player.d.ts +7 -1
  79. package/lib/visually-hidden/definition.d.ts +4 -0
  80. package/lib/visually-hidden/visually-hidden.d.ts +3 -0
  81. package/lib/visually-hidden/visually-hidden.template.d.ts +3 -0
  82. package/locales/de-DE.cjs +54 -4
  83. package/locales/de-DE.js +54 -4
  84. package/locales/en-GB.cjs +54 -4
  85. package/locales/en-GB.js +54 -4
  86. package/locales/en-US.cjs +54 -4
  87. package/locales/en-US.js +54 -4
  88. package/locales/ja-JP.cjs +54 -4
  89. package/locales/ja-JP.js +54 -4
  90. package/locales/zh-CN.cjs +54 -4
  91. package/locales/zh-CN.js +54 -4
  92. package/menu/index.cjs +1 -1
  93. package/menu/index.js +1 -1
  94. package/nav/index.cjs +1 -1
  95. package/nav/index.js +1 -1
  96. package/nav-disclosure/index.cjs +1 -1
  97. package/nav-disclosure/index.js +1 -1
  98. package/nav-item/index.cjs +1 -1
  99. package/nav-item/index.js +1 -1
  100. package/note/index.cjs +1 -1
  101. package/note/index.js +1 -1
  102. package/number-field/index.cjs +1 -1
  103. package/number-field/index.js +1 -1
  104. package/option/index.cjs +1 -1
  105. package/option/index.js +1 -1
  106. package/package.json +1 -1
  107. package/pagination/index.cjs +1 -1
  108. package/pagination/index.js +1 -1
  109. package/popup/index.cjs +1 -1
  110. package/popup/index.js +1 -1
  111. package/progress/index.cjs +1 -1
  112. package/progress/index.js +1 -1
  113. package/progress-ring/index.cjs +1 -1
  114. package/progress-ring/index.js +1 -1
  115. package/radio/index.cjs +1 -1
  116. package/radio/index.js +1 -1
  117. package/radio-group/index.cjs +1 -1
  118. package/radio-group/index.js +1 -1
  119. package/range-slider/index.cjs +1 -1
  120. package/range-slider/index.js +1 -1
  121. package/rich-text-editor/index.cjs +1 -1
  122. package/rich-text-editor/index.js +1 -1
  123. package/searchable-select/index.cjs +1 -1
  124. package/searchable-select/index.js +1 -1
  125. package/select/index.cjs +1 -1
  126. package/select/index.js +1 -1
  127. package/selectable-box/index.cjs +1 -1
  128. package/selectable-box/index.js +1 -1
  129. package/shared/affix.cjs +13 -7
  130. package/shared/affix.js +13 -8
  131. package/shared/aria/delegates-aria.d.ts +7 -1
  132. package/shared/aria/host-semantics.d.ts +7 -1
  133. package/shared/breadcrumb-item.cjs +2 -5
  134. package/shared/breadcrumb-item.js +2 -5
  135. package/shared/button.cjs +13 -11
  136. package/shared/button.js +13 -11
  137. package/shared/calendar-picker.template.cjs +3 -3
  138. package/shared/calendar-picker.template.js +1 -1
  139. package/shared/char-count.cjs +92 -0
  140. package/shared/char-count.js +90 -0
  141. package/shared/definition.cjs +19 -3
  142. package/shared/definition.js +20 -4
  143. package/shared/definition10.js +1 -1
  144. package/shared/definition11.cjs +27 -44
  145. package/shared/definition11.js +28 -45
  146. package/shared/definition12.js +1 -1
  147. package/shared/definition13.cjs +25 -0
  148. package/shared/definition13.js +26 -1
  149. package/shared/definition14.cjs +53 -22
  150. package/shared/definition14.js +54 -23
  151. package/shared/definition15.cjs +32 -37
  152. package/shared/definition15.js +31 -37
  153. package/shared/definition16.cjs +44 -64
  154. package/shared/definition16.js +43 -64
  155. package/shared/definition17.cjs +608 -524
  156. package/shared/definition17.js +604 -520
  157. package/shared/definition18.cjs +10 -14
  158. package/shared/definition18.js +9 -14
  159. package/shared/definition19.cjs +85 -100
  160. package/shared/definition19.js +75 -91
  161. package/shared/definition2.js +1 -1
  162. package/shared/definition20.cjs +15 -20
  163. package/shared/definition20.js +14 -20
  164. package/shared/definition21.cjs +24 -5
  165. package/shared/definition21.js +25 -6
  166. package/shared/definition22.cjs +12 -6
  167. package/shared/definition22.js +13 -7
  168. package/shared/definition23.cjs +5 -38
  169. package/shared/definition23.js +5 -37
  170. package/shared/definition24.cjs +2 -7
  171. package/shared/definition24.js +3 -8
  172. package/shared/definition25.js +1 -1
  173. package/shared/definition26.cjs +157 -171
  174. package/shared/definition26.js +156 -171
  175. package/shared/definition27.cjs +1 -1
  176. package/shared/definition27.js +2 -2
  177. package/shared/definition28.cjs +33 -18
  178. package/shared/definition28.js +34 -19
  179. package/shared/definition29.js +1 -1
  180. package/shared/definition3.cjs +1 -1
  181. package/shared/definition3.js +2 -2
  182. package/shared/definition30.cjs +96 -482
  183. package/shared/definition30.js +99 -482
  184. package/shared/definition31.cjs +334 -57
  185. package/shared/definition31.js +333 -56
  186. package/shared/definition32.cjs +104 -19
  187. package/shared/definition32.js +105 -20
  188. package/shared/definition33.cjs +67 -15
  189. package/shared/definition33.js +66 -14
  190. package/shared/definition34.cjs +15 -50
  191. package/shared/definition34.js +14 -49
  192. package/shared/definition35.cjs +28 -397
  193. package/shared/definition35.js +27 -397
  194. package/shared/definition36.cjs +415 -54
  195. package/shared/definition36.js +415 -55
  196. package/shared/definition37.cjs +57 -234
  197. package/shared/definition37.js +57 -233
  198. package/shared/definition38.cjs +228 -66
  199. package/shared/definition38.js +227 -65
  200. package/shared/definition39.cjs +52 -44
  201. package/shared/definition39.js +51 -43
  202. package/shared/definition4.cjs +31 -24
  203. package/shared/definition4.js +33 -26
  204. package/shared/definition40.cjs +56 -266
  205. package/shared/definition40.js +55 -265
  206. package/shared/definition41.cjs +285 -142
  207. package/shared/definition41.js +285 -142
  208. package/shared/definition42.cjs +156 -564
  209. package/shared/definition42.js +156 -565
  210. package/shared/definition43.cjs +554 -14378
  211. package/shared/definition43.js +553 -14377
  212. package/shared/definition44.cjs +14418 -1155
  213. package/shared/definition44.js +14417 -1156
  214. package/shared/definition45.cjs +1049 -677
  215. package/shared/definition45.js +1050 -678
  216. package/shared/definition46.cjs +848 -113
  217. package/shared/definition46.js +847 -112
  218. package/shared/definition47.cjs +125 -90
  219. package/shared/definition47.js +124 -89
  220. package/shared/definition48.cjs +88 -455
  221. package/shared/definition48.js +87 -454
  222. package/shared/definition49.cjs +466 -109
  223. package/shared/definition49.js +466 -109
  224. package/shared/definition5.cjs +8 -7
  225. package/shared/definition5.js +6 -5
  226. package/shared/definition50.cjs +106 -106
  227. package/shared/definition50.js +105 -105
  228. package/shared/definition51.cjs +136 -15
  229. package/shared/definition51.js +135 -14
  230. package/shared/definition52.cjs +16 -115
  231. package/shared/definition52.js +15 -114
  232. package/shared/definition53.cjs +78 -412
  233. package/shared/definition53.js +77 -410
  234. package/shared/definition54.cjs +445 -23
  235. package/shared/definition54.js +443 -22
  236. package/shared/definition55.cjs +22 -136
  237. package/shared/definition55.js +21 -135
  238. package/shared/definition56.cjs +95 -291
  239. package/shared/definition56.js +95 -292
  240. package/shared/definition57.cjs +192 -480
  241. package/shared/definition57.js +190 -479
  242. package/shared/definition58.cjs +411 -24
  243. package/shared/definition58.js +410 -24
  244. package/shared/definition59.cjs +27 -144
  245. package/shared/definition59.js +27 -143
  246. package/shared/definition6.js +1 -1
  247. package/shared/definition60.cjs +83 -54
  248. package/shared/definition60.js +82 -53
  249. package/shared/definition61.cjs +78 -166
  250. package/shared/definition61.js +77 -164
  251. package/shared/definition62.cjs +143 -232
  252. package/shared/definition62.js +141 -231
  253. package/shared/definition63.cjs +234 -69417
  254. package/shared/definition63.js +233 -69416
  255. package/shared/definition64.cjs +69454 -28
  256. package/shared/definition64.js +69453 -27
  257. package/shared/definition65.cjs +28 -2168
  258. package/shared/definition65.js +27 -2166
  259. package/shared/definition66.cjs +27 -0
  260. package/shared/definition66.js +23 -0
  261. package/shared/definition67.cjs +2203 -0
  262. package/shared/definition67.js +2198 -0
  263. package/shared/definition7.cjs +11 -2
  264. package/shared/definition7.js +12 -3
  265. package/shared/definition8.cjs +24 -11
  266. package/shared/definition8.js +26 -13
  267. package/shared/definition9.cjs +1 -2
  268. package/shared/definition9.js +2 -3
  269. package/shared/delegates-aria.js +1 -1
  270. package/shared/deprecation/replaced-props.d.ts +20 -0
  271. package/shared/divider.cjs +41 -0
  272. package/shared/divider.js +38 -0
  273. package/shared/feedback/feedback-message.d.ts +345 -0
  274. package/shared/feedback/locale.d.ts +4 -0
  275. package/{lib/text-anchor/text-anchor.d.ts → shared/feedback/mixins.d.ts} +64 -41
  276. package/shared/form-associated.cjs +124 -100
  277. package/shared/form-associated.js +125 -101
  278. package/shared/form-element.cjs +84 -0
  279. package/shared/form-element.js +82 -0
  280. package/shared/foundation/button/button.d.ts +379 -3
  281. package/shared/foundation/form-associated/form-associated.d.ts +753 -49
  282. package/shared/foundation/listbox/listbox.d.ts +1 -1
  283. package/shared/foundation/vivid-element/vivid-element.d.ts +16 -0
  284. package/shared/host-semantics.js +1 -1
  285. package/shared/key-codes.js +1 -1
  286. package/shared/linkable.cjs +70 -0
  287. package/shared/linkable.js +68 -0
  288. package/shared/localization/Locale.d.ts +16 -0
  289. package/shared/mixins.cjs +309 -0
  290. package/shared/mixins.js +303 -0
  291. package/shared/patterns/affix.d.ts +18 -3
  292. package/shared/patterns/anchored.d.ts +20 -8
  293. package/shared/patterns/char-count/char-count.d.ts +351 -0
  294. package/shared/patterns/char-count/index.d.ts +1 -0
  295. package/shared/patterns/char-count/locale.d.ts +4 -0
  296. package/shared/patterns/form-elements/form-element.d.ts +744 -0
  297. package/shared/patterns/form-elements/index.d.ts +3 -1
  298. package/shared/patterns/form-elements/with-error-text.d.ts +1122 -0
  299. package/shared/patterns/form-elements/with-success-text.d.ts +341 -0
  300. package/shared/patterns/index.d.ts +2 -0
  301. package/shared/patterns/linkable.d.ts +394 -0
  302. package/shared/patterns/localized.d.ts +7 -1
  303. package/shared/patterns/trapped-focus.d.ts +7 -1
  304. package/shared/picker-field/mixins/calendar-picker.d.ts +420 -52
  305. package/shared/picker-field/mixins/calendar-picker.template.d.ts +420 -52
  306. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +7 -1
  307. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +843 -107
  308. package/shared/picker-field/mixins/single-date-picker.d.ts +1259 -155
  309. package/shared/picker-field/mixins/single-value-picker.d.ts +417 -49
  310. package/shared/picker-field/mixins/time-selection-picker.d.ts +842 -106
  311. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +839 -103
  312. package/shared/picker-field/picker-field.d.ts +1492 -16
  313. package/shared/picker-field.template.cjs +26 -35
  314. package/shared/picker-field.template.js +27 -36
  315. package/shared/repeat.js +1 -1
  316. package/shared/slider.template.cjs +1 -1
  317. package/shared/slider.template.js +1 -1
  318. package/shared/time-selection-picker.template.cjs +10 -15
  319. package/shared/time-selection-picker.template.js +10 -16
  320. package/shared/vivid-element.cjs +63 -4
  321. package/shared/vivid-element.js +63 -3
  322. package/shared/with-error-text.cjs +56 -0
  323. package/shared/with-error-text.js +54 -0
  324. package/shared/with-success-text.cjs +23 -0
  325. package/shared/with-success-text.js +21 -0
  326. package/side-drawer/index.cjs +1 -1
  327. package/side-drawer/index.js +1 -1
  328. package/slider/index.cjs +1 -1
  329. package/slider/index.js +1 -1
  330. package/split-button/index.cjs +1 -1
  331. package/split-button/index.js +1 -1
  332. package/styles/core/all.css +1 -1
  333. package/styles/core/theme.css +1 -1
  334. package/styles/core/typography.css +1 -1
  335. package/styles/tokens/theme-dark.css +4 -4
  336. package/styles/tokens/theme-light.css +4 -4
  337. package/styles/tokens/vivid-2-compat.css +1 -1
  338. package/switch/index.cjs +1 -1
  339. package/switch/index.js +1 -1
  340. package/tab/index.cjs +1 -1
  341. package/tab/index.js +1 -1
  342. package/tab-panel/index.cjs +1 -1
  343. package/tab-panel/index.js +1 -1
  344. package/tabs/index.cjs +1 -1
  345. package/tabs/index.js +1 -1
  346. package/tag/index.cjs +1 -1
  347. package/tag/index.js +1 -1
  348. package/tag-group/index.cjs +1 -1
  349. package/tag-group/index.js +1 -1
  350. package/text-area/index.cjs +1 -1
  351. package/text-area/index.js +1 -1
  352. package/text-field/index.cjs +1 -1
  353. package/text-field/index.js +1 -1
  354. package/time-picker/index.cjs +1 -1
  355. package/time-picker/index.js +1 -1
  356. package/toggletip/index.cjs +1 -1
  357. package/toggletip/index.js +1 -1
  358. package/tooltip/index.cjs +1 -1
  359. package/tooltip/index.js +1 -1
  360. package/tree-item/index.cjs +1 -1
  361. package/tree-item/index.js +1 -1
  362. package/tree-view/index.cjs +1 -1
  363. package/tree-view/index.js +1 -1
  364. package/video-player/index.cjs +1 -1
  365. package/video-player/index.js +1 -1
  366. package/visually-hidden/index.cjs +5 -0
  367. package/visually-hidden/index.js +3 -0
  368. package/vivid.api.json +845 -1503
  369. package/lib/checkbox/checkbox.form-associated.d.ts +0 -11
  370. package/lib/file-picker/file-picker.form-associated.d.ts +0 -11
  371. package/lib/number-field/number-field.form-associated.d.ts +0 -11
  372. package/lib/radio/radio.form-associated.d.ts +0 -13
  373. package/lib/range-slider/range-slider.form-associated.d.ts +0 -11
  374. package/lib/searchable-select/searchable-select.form-associated.d.ts +0 -11
  375. package/lib/select/select.form-associated.d.ts +0 -11
  376. package/lib/slider/slider.form-associated.d.ts +0 -11
  377. package/lib/switch/switch.form-associated.d.ts +0 -11
  378. package/lib/text-anchor/definition.d.ts +0 -2
  379. package/lib/text-anchor/text-anchor.template.d.ts +0 -3
  380. package/lib/text-area/text-area.form-associated.d.ts +0 -11
  381. package/lib/text-field/text-field.form-associated.d.ts +0 -11
  382. package/shared/anchor.cjs +0 -49
  383. package/shared/anchor.js +0 -47
  384. package/shared/apply-mixins.cjs +0 -23
  385. package/shared/apply-mixins.js +0 -21
  386. package/shared/applyMixinsWithObservables.cjs +0 -15
  387. package/shared/applyMixinsWithObservables.js +0 -13
  388. package/shared/direction.cjs +0 -17
  389. package/shared/direction.js +0 -15
  390. package/shared/form-elements.cjs +0 -209
  391. package/shared/form-elements.js +0 -202
  392. package/shared/foundation/anchor/anchor.d.ts +0 -11
  393. package/shared/foundation/utilities/apply-mixins.d.ts +0 -1
  394. package/shared/patterns/form-elements/form-elements.d.ts +0 -58
  395. package/shared/picker-field/picker-field.form-associated.d.ts +0 -11
  396. package/shared/text-anchor.cjs +0 -38
  397. package/shared/text-anchor.js +0 -36
  398. package/shared/text-anchor.template.cjs +0 -35
  399. package/shared/text-anchor.template.js +0 -33
  400. package/shared/utils/applyMixinsWithObservables.d.ts +0 -1
  401. package/text-anchor/index.cjs +0 -17
  402. package/text-anchor/index.js +0 -15
package/shared/affix.js CHANGED
@@ -45,7 +45,7 @@ const IconAriaHidden = {
45
45
  Hidden: "true"};
46
46
  const affixIconTemplateFactory = (context) => {
47
47
  const iconTag = context.tagFor(Icon);
48
- return (icon, slottedState = IconWrapper.Span, ariaHidden = IconAriaHidden.Hidden) => {
48
+ return (icon, slottedState = IconWrapper.Span, ariaHidden = IconAriaHidden.Hidden, announcement = { label: "", announceOnUpdate: false }) => {
49
49
  if (!icon && !slottedState) {
50
50
  return html`<slot
51
51
  name="icon"
@@ -56,13 +56,18 @@ const affixIconTemplateFactory = (context) => {
56
56
  if (!icon && slottedState) {
57
57
  return null;
58
58
  }
59
- const iconTemplate = html`<${iconTag} :name="${() => icon}"></${iconTag}>`;
60
- return slottedState ? html`<span class="icon" aria-hidden="${() => ariaHidden}"
61
- >${iconTemplate}</span
62
- >` : html`<slot name="icon" aria-hidden="${() => ariaHidden}"
63
- >${iconTemplate}</slot
64
- >`;
59
+ const iconTemplate = html`<${iconTag} :name="${() => icon}" :label="${() => announcement?.label || void 0}"></${iconTag}>`;
60
+ const wrapperTag = slottedState ? "span" : "slot";
61
+ return html`<${wrapperTag}
62
+ class="${() => slottedState ? "icon" : void 0}"
63
+ :name="${() => slottedState ? void 0 : "icon"}"
64
+ aria-hidden="${() => announcement?.label ? false : ariaHidden}"
65
+ :role="${() => announcement?.announceOnUpdate ? "status" : void 0}"
66
+ :ariaLive="${() => announcement?.announceOnUpdate ? "polite" : void 0}"
67
+ >
68
+ ${iconTemplate}
69
+ </${wrapperTag}>`;
65
70
  };
66
71
  };
67
72
 
68
- export { AffixIconWithTrailing as A, IconWrapper as I, affixIconTemplateFactory as a, AffixIcon as b };
73
+ export { AffixIconWithTrailing as A, IconWrapper as I, affixIconTemplateFactory as a, AffixIcon as b, IconAriaHidden as c };
@@ -9,10 +9,10 @@ export declare function delegateAria<T>(boundProperties?: BoundAriaProperties<T>
9
9
  export declare const DelegatesAria: <T extends Constructor<VividElement>>(Base: T) => {
10
10
  new (...args: any[]): {
11
11
  _vividAriaBehaviour: "delegate";
12
+ connectedCallback(): void;
12
13
  specialHandling: boolean;
13
14
  readonly $fastController: import("@microsoft/fast-element").Controller;
14
15
  $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
15
- connectedCallback(): void;
16
16
  disconnectedCallback(): void;
17
17
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
18
18
  accessKey: string;
@@ -335,6 +335,12 @@ export declare const DelegatesAria: <T extends Constructor<VividElement>>(Base:
335
335
  ariaDescription: string | null;
336
336
  ariaRowIndexText: string | null;
337
337
  ariaRelevant: string | null;
338
+ "__#1@#handleReplacedProp"(replacedProp: {
339
+ newPropertyName: string;
340
+ deprecatedPropertyName: string;
341
+ fromDeprecated: (v: any) => any;
342
+ toDeprecated?: ((v: any) => any) | undefined;
343
+ }): void;
338
344
  };
339
345
  } & T;
340
346
  export type DelegatesAriaElement = MixinType<typeof DelegatesAria>;
@@ -6,10 +6,10 @@ export declare function applyHostSemantics<T>(boundProperties?: BoundAriaPropert
6
6
  export declare const HostSemantics: <T extends Constructor<VividElement>>(Base: T) => {
7
7
  new (...args: any[]): {
8
8
  _vividAriaBehaviour: "host";
9
+ connectedCallback(): void;
9
10
  specialHandling: boolean;
10
11
  readonly $fastController: import("@microsoft/fast-element").Controller;
11
12
  $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
12
- connectedCallback(): void;
13
13
  disconnectedCallback(): void;
14
14
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
15
15
  accessKey: string;
@@ -332,6 +332,12 @@ export declare const HostSemantics: <T extends Constructor<VividElement>>(Base:
332
332
  ariaDescription: string | null;
333
333
  ariaRowIndexText: string | null;
334
334
  ariaRelevant: string | null;
335
+ "__#1@#handleReplacedProp"(replacedProp: {
336
+ newPropertyName: string;
337
+ deprecatedPropertyName: string;
338
+ fromDeprecated: (v: any) => any;
339
+ toDeprecated?: ((v: any) => any) | undefined;
340
+ }): void;
335
341
  };
336
342
  } & T;
337
343
  export type HostSemanticsElement = MixinType<typeof HostSemantics>;
@@ -1,9 +1,7 @@
1
1
  'use strict';
2
2
 
3
- const anchor = require('./anchor.cjs');
4
3
  const vividElement = require('./vivid-element.cjs');
5
- const applyMixins = require('./apply-mixins.cjs');
6
- const delegatesAria = require('./delegates-aria.cjs');
4
+ const linkable = require('./linkable.cjs');
7
5
 
8
6
  var __defProp = Object.defineProperty;
9
7
  var __decorateClass = (decorators, target, key, kind) => {
@@ -14,7 +12,7 @@ var __decorateClass = (decorators, target, key, kind) => {
14
12
  if (result) __defProp(target, key, result);
15
13
  return result;
16
14
  };
17
- class BreadcrumbItem extends delegatesAria.DelegatesAria(vividElement.VividElement) {
15
+ class BreadcrumbItem extends linkable.Linkable(vividElement.VividElement) {
18
16
  constructor() {
19
17
  super(...arguments);
20
18
  this.separator = true;
@@ -26,6 +24,5 @@ __decorateClass([
26
24
  __decorateClass([
27
25
  vividElement.observable
28
26
  ], BreadcrumbItem.prototype, "separator");
29
- applyMixins.applyMixins(BreadcrumbItem, anchor.Anchor);
30
27
 
31
28
  exports.BreadcrumbItem = BreadcrumbItem;
@@ -1,7 +1,5 @@
1
- import { A as Anchor } from './anchor.js';
2
1
  import { V as VividElement, a as attr, o as observable } from './vivid-element.js';
3
- import { a as applyMixins } from './apply-mixins.js';
4
- import { D as DelegatesAria } from './delegates-aria.js';
2
+ import { L as Linkable } from './linkable.js';
5
3
 
6
4
  var __defProp = Object.defineProperty;
7
5
  var __decorateClass = (decorators, target, key, kind) => {
@@ -12,7 +10,7 @@ var __decorateClass = (decorators, target, key, kind) => {
12
10
  if (result) __defProp(target, key, result);
13
11
  return result;
14
12
  };
15
- class BreadcrumbItem extends DelegatesAria(VividElement) {
13
+ class BreadcrumbItem extends Linkable(VividElement) {
16
14
  constructor() {
17
15
  super(...arguments);
18
16
  this.separator = true;
@@ -24,6 +22,5 @@ __decorateClass([
24
22
  __decorateClass([
25
23
  observable
26
24
  ], BreadcrumbItem.prototype, "separator");
27
- applyMixins(BreadcrumbItem, Anchor);
28
25
 
29
26
  export { BreadcrumbItem as B };
package/shared/button.cjs CHANGED
@@ -1,17 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  const delegatesAria = require('./delegates-aria.cjs');
4
- const formAssociated = require('./form-associated.cjs');
5
4
  const vividElement = require('./vivid-element.cjs');
6
-
7
- class _FoundationButton extends vividElement.VividElement {
8
- }
9
- class FormAssociatedButton extends formAssociated.FormAssociated(_FoundationButton) {
10
- constructor() {
11
- super(...arguments);
12
- this.proxy = document.createElement("input");
13
- }
14
- }
5
+ const formAssociated = require('./form-associated.cjs');
15
6
 
16
7
  var __defProp = Object.defineProperty;
17
8
  var __decorateClass = (decorators, target, key, kind) => {
@@ -22,9 +13,15 @@ var __decorateClass = (decorators, target, key, kind) => {
22
13
  if (result) __defProp(target, key, result);
23
14
  return result;
24
15
  };
25
- class VividFoundationButton extends delegatesAria.DelegatesAria(FormAssociatedButton) {
16
+ class VividFoundationButton extends delegatesAria.DelegatesAria(
17
+ formAssociated.FormAssociated(vividElement.VividElement)
18
+ ) {
26
19
  constructor() {
27
20
  super(...arguments);
21
+ /**
22
+ * @internal
23
+ */
24
+ this.proxy = document.createElement("input");
28
25
  /**
29
26
  * Prevent events to propagate if disabled
30
27
  * @internal
@@ -121,6 +118,11 @@ class VividFoundationButton extends delegatesAria.DelegatesAria(FormAssociatedBu
121
118
  super.connectedCallback();
122
119
  this.proxy.setAttribute("type", this.type);
123
120
  this.handleUnsupportedDelegatesFocus();
121
+ if (this.autofocus) {
122
+ vividElement.DOM.queueUpdate(() => {
123
+ this.focus();
124
+ });
125
+ }
124
126
  const elements = Array.from(this.control.children);
125
127
  if (elements) {
126
128
  elements.forEach((span) => {
package/shared/button.js CHANGED
@@ -1,15 +1,6 @@
1
1
  import { D as DelegatesAria } from './delegates-aria.js';
2
+ import { V as VividElement, D as DOM, a as attr } from './vivid-element.js';
2
3
  import { F as FormAssociated } from './form-associated.js';
3
- import { V as VividElement, a as attr } from './vivid-element.js';
4
-
5
- class _FoundationButton extends VividElement {
6
- }
7
- class FormAssociatedButton extends FormAssociated(_FoundationButton) {
8
- constructor() {
9
- super(...arguments);
10
- this.proxy = document.createElement("input");
11
- }
12
- }
13
4
 
14
5
  var __defProp = Object.defineProperty;
15
6
  var __decorateClass = (decorators, target, key, kind) => {
@@ -20,9 +11,15 @@ var __decorateClass = (decorators, target, key, kind) => {
20
11
  if (result) __defProp(target, key, result);
21
12
  return result;
22
13
  };
23
- class VividFoundationButton extends DelegatesAria(FormAssociatedButton) {
14
+ class VividFoundationButton extends DelegatesAria(
15
+ FormAssociated(VividElement)
16
+ ) {
24
17
  constructor() {
25
18
  super(...arguments);
19
+ /**
20
+ * @internal
21
+ */
22
+ this.proxy = document.createElement("input");
26
23
  /**
27
24
  * Prevent events to propagate if disabled
28
25
  * @internal
@@ -119,6 +116,11 @@ class VividFoundationButton extends DelegatesAria(FormAssociatedButton) {
119
116
  super.connectedCallback();
120
117
  this.proxy.setAttribute("type", this.type);
121
118
  this.handleUnsupportedDelegatesFocus();
119
+ if (this.autofocus) {
120
+ DOM.queueUpdate(() => {
121
+ this.focus();
122
+ });
123
+ }
122
124
  const elements = Array.from(this.control.children);
123
125
  if (elements) {
124
126
  elements.forEach((span) => {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const vividElement = require('./vivid-element.cjs');
4
- const definition$1 = require('./definition23.cjs');
4
+ const divider = require('./divider.cjs');
5
5
  const definition = require('./definition11.cjs');
6
6
  const repeat = require('./repeat.cjs');
7
7
  const when = require('./when.cjs');
@@ -6140,7 +6140,7 @@ function renderDialogHeader(context) {
6140
6140
  </div>`;
6141
6141
  }
6142
6142
  function renderCalendarGrid(context) {
6143
- const dividerTag = context.tagFor(definition$1.Divider);
6143
+ const dividerTag = context.tagFor(divider.Divider);
6144
6144
  return vividElement.html`
6145
6145
  <div
6146
6146
  class='calendar'
@@ -6245,7 +6245,7 @@ function renderCalendarGrid(context) {
6245
6245
  )}`;
6246
6246
  }
6247
6247
  function renderMonthPickerGrid(context) {
6248
- const dividerTag = context.tagFor(definition$1.Divider);
6248
+ const dividerTag = context.tagFor(divider.Divider);
6249
6249
  return vividElement.html`
6250
6250
  <${dividerTag}
6251
6251
  class='months-separator'
@@ -1,5 +1,5 @@
1
1
  import { o as observable, v as volatile, D as DOM, a as attr, h as html } from './vivid-element.js';
2
- import { D as Divider } from './definition23.js';
2
+ import { D as Divider } from './divider.js';
3
3
  import { B as Button } from './definition11.js';
4
4
  import { r as repeat } from './repeat.js';
5
5
  import { w as when } from './when.js';
@@ -0,0 +1,92 @@
1
+ 'use strict';
2
+
3
+ const definition = require('./definition66.cjs');
4
+ const localized = require('./localized.cjs');
5
+ const vividElement = require('./vivid-element.cjs');
6
+ const ref = require('./ref.cjs');
7
+
8
+ var __defProp = Object.defineProperty;
9
+ var __decorateClass = (decorators, target, key, kind) => {
10
+ var result = void 0 ;
11
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
12
+ if (decorator = decorators[i])
13
+ result = (decorator(target, key, result) ) || result;
14
+ if (result) __defProp(target, key, result);
15
+ return result;
16
+ };
17
+ const WithCharCount = (Base) => {
18
+ class ElementWithCharCount extends localized.Localized(Base) {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.charCount = false;
22
+ /**
23
+ * Timeout of the character count update,
24
+ * used to debounce screen reader announcements
25
+ * @internal
26
+ */
27
+ this.#charCountTimeout = null;
28
+ /**
29
+ * ID of the character count limit description
30
+ * @internal
31
+ */
32
+ this._charCountDescribedBy = "char-count-description";
33
+ /**
34
+ * @internal
35
+ */
36
+ this._renderCharCountRemaining = () => {
37
+ if (!this.charCount || !this.maxlength) {
38
+ return;
39
+ }
40
+ this.charCountRemaining.textContent = this.locale.charCount.charactersRemainingMessage(
41
+ this.maxlength - this.value.length
42
+ );
43
+ };
44
+ /**
45
+ * @internal
46
+ */
47
+ this._updateCharCountRemaining = () => {
48
+ const delay = 1e3;
49
+ if (this.#charCountTimeout !== null) {
50
+ clearTimeout(this.#charCountTimeout);
51
+ }
52
+ this.#charCountTimeout = setTimeout(
53
+ () => this._renderCharCountRemaining(),
54
+ delay
55
+ );
56
+ };
57
+ /**
58
+ * @internal
59
+ */
60
+ this._getCharCountTemplate = (context) => {
61
+ const visuallyHiddenTag = context.tagFor(definition.VisuallyHidden);
62
+ return vividElement.html`
63
+ <div class="char-count">
64
+ <span aria-hidden="true"
65
+ > ${(x) => x.value ? x.value.length : 0} / ${(x) => x.maxlength}</span
66
+ >
67
+ <${visuallyHiddenTag} id="${(x) => x._charCountDescribedBy}"
68
+ >${(x) => x.locale.charCount.charactersLimitMessage(
69
+ x.maxlength
70
+ )}</${visuallyHiddenTag}
71
+ >
72
+ <${visuallyHiddenTag} id="char-count-remaining" aria-live="polite" ${ref.ref(
73
+ "charCountRemaining"
74
+ )}
75
+ ></${visuallyHiddenTag}
76
+ >
77
+ </div>
78
+ `;
79
+ };
80
+ }
81
+ #charCountTimeout;
82
+ }
83
+ __decorateClass([
84
+ vividElement.attr({
85
+ attribute: "char-count",
86
+ mode: "boolean"
87
+ })
88
+ ], ElementWithCharCount.prototype, "charCount");
89
+ return ElementWithCharCount;
90
+ };
91
+
92
+ exports.WithCharCount = WithCharCount;
@@ -0,0 +1,90 @@
1
+ import { V as VisuallyHidden } from './definition66.js';
2
+ import { L as Localized } from './localized.js';
3
+ import { a as attr, h as html } from './vivid-element.js';
4
+ import { r as ref } from './ref.js';
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __decorateClass = (decorators, target, key, kind) => {
8
+ var result = void 0 ;
9
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
10
+ if (decorator = decorators[i])
11
+ result = (decorator(target, key, result) ) || result;
12
+ if (result) __defProp(target, key, result);
13
+ return result;
14
+ };
15
+ const WithCharCount = (Base) => {
16
+ class ElementWithCharCount extends Localized(Base) {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.charCount = false;
20
+ /**
21
+ * Timeout of the character count update,
22
+ * used to debounce screen reader announcements
23
+ * @internal
24
+ */
25
+ this.#charCountTimeout = null;
26
+ /**
27
+ * ID of the character count limit description
28
+ * @internal
29
+ */
30
+ this._charCountDescribedBy = "char-count-description";
31
+ /**
32
+ * @internal
33
+ */
34
+ this._renderCharCountRemaining = () => {
35
+ if (!this.charCount || !this.maxlength) {
36
+ return;
37
+ }
38
+ this.charCountRemaining.textContent = this.locale.charCount.charactersRemainingMessage(
39
+ this.maxlength - this.value.length
40
+ );
41
+ };
42
+ /**
43
+ * @internal
44
+ */
45
+ this._updateCharCountRemaining = () => {
46
+ const delay = 1e3;
47
+ if (this.#charCountTimeout !== null) {
48
+ clearTimeout(this.#charCountTimeout);
49
+ }
50
+ this.#charCountTimeout = setTimeout(
51
+ () => this._renderCharCountRemaining(),
52
+ delay
53
+ );
54
+ };
55
+ /**
56
+ * @internal
57
+ */
58
+ this._getCharCountTemplate = (context) => {
59
+ const visuallyHiddenTag = context.tagFor(VisuallyHidden);
60
+ return html`
61
+ <div class="char-count">
62
+ <span aria-hidden="true"
63
+ > ${(x) => x.value ? x.value.length : 0} / ${(x) => x.maxlength}</span
64
+ >
65
+ <${visuallyHiddenTag} id="${(x) => x._charCountDescribedBy}"
66
+ >${(x) => x.locale.charCount.charactersLimitMessage(
67
+ x.maxlength
68
+ )}</${visuallyHiddenTag}
69
+ >
70
+ <${visuallyHiddenTag} id="char-count-remaining" aria-live="polite" ${ref(
71
+ "charCountRemaining"
72
+ )}
73
+ ></${visuallyHiddenTag}
74
+ >
75
+ </div>
76
+ `;
77
+ };
78
+ }
79
+ #charCountTimeout;
80
+ }
81
+ __decorateClass([
82
+ attr({
83
+ attribute: "char-count",
84
+ mode: "boolean"
85
+ })
86
+ ], ElementWithCharCount.prototype, "charCount");
87
+ return ElementWithCharCount;
88
+ };
89
+
90
+ export { WithCharCount as W };
@@ -4,6 +4,7 @@ const vividElement = require('./vivid-element.cjs');
4
4
  const definition = require('./definition28.cjs');
5
5
  const affix = require('./affix.cjs');
6
6
  const ref = require('./ref.cjs');
7
+ const slotted = require('./slotted.cjs');
7
8
  const when = require('./when.cjs');
8
9
 
9
10
  const styles = ":host{--_vvd-accordion-item-accent-firm-wrapper: var( --vvd-accordion-item-accent-firm )}.heading-button{--vvd-accordion-item-accent-firm: var( --_vvd-accordion-item-accent-firm-wrapper, var(--vvd-accordion-item-accent-primary) )}:host{display:flex;box-sizing:border-box;flex-direction:column}.heading-container{margin:0}.heading-button{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.heading-button:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.heading-button:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.heading-button{--_connotation-color-faint: var(--vvd-accordion-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-accordion-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-accordion-item-accent-firm, var(--vvd-color-canvas-text))}.heading-button{--focus-stroke-gap-color: transparent;display:flex;width:100%;align-items:center;padding:16px;border:none;background-color:var(--_appearance-color-fill);color:var(--_appearance-color-text);cursor:pointer;text-align:left}.heading-button:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.heading-button.size-condensed{font:var(--vvd-typography-base-extended-bold);gap:12px}.heading-button:not(.size-condensed){font:var(--vvd-typography-heading-4);gap:16px}.heading-content{flex:auto}.meta{overflow:hidden;max-width:var(--accordion-item-meta-inline-size, 20%);flex-shrink:0;color:var(--vvd-color-neutral-600);text-align:end;text-overflow:ellipsis;white-space:nowrap}.heading-button:not(.size-condensed) .meta{font:var(--vvd-typography-base-bold)}.heading-button.size-condensed .meta{font:var(--vvd-typography-base-condensed-bold)}.region{display:none;padding:8px 32px 24px 16px}.region:not(.size-condensed).padded{padding-inline-start:52px}:host([expanded]) .region{display:block}.region.size-condensed.padded{padding-inline-start:44px}slot[name=icon]{color:var(--vvd-color-neutral-600)}.heading-button:not(.size-condensed) slot[name=icon]{font:inherit}.heading-button.size-condensed slot[name=icon]{font:var(--vvd-typography-base-extended)}:host(:not([icon-trailing])) slot[name=icon]:last-of-type{color:var(--_appearance-color-text)}";
@@ -52,12 +53,18 @@ __decorateClass([
52
53
  __decorateClass([
53
54
  vividElement.attr
54
55
  ], AccordionItem.prototype, "heading");
56
+ __decorateClass([
57
+ vividElement.observable
58
+ ], AccordionItem.prototype, "_headingSlottedContent");
55
59
  __decorateClass([
56
60
  vividElement.attr({ mode: "boolean", attribute: "no-indicator" })
57
61
  ], AccordionItem.prototype, "noIndicator");
58
62
  __decorateClass([
59
63
  vividElement.attr
60
64
  ], AccordionItem.prototype, "meta");
65
+ __decorateClass([
66
+ vividElement.observable
67
+ ], AccordionItem.prototype, "_metaSlottedContent");
61
68
  __decorateClass([
62
69
  vividElement.attr
63
70
  ], AccordionItem.prototype, "size");
@@ -77,13 +84,22 @@ const header = (context, hTag) => {
77
84
 
78
85
  ${(x) => !x.iconTrailing ? affixIconTemplate(x.icon, affix.IconWrapper.Slot) : null}
79
86
 
80
- <span class="heading-content">${(x) => x.heading}</span>
87
+ <span class="heading-content">
88
+ <slot name="heading" ${slotted.slotted("_headingSlottedContent")}></slot>
89
+ ${when.when(
90
+ (x) => x.heading && !x._headingSlottedContent?.length,
91
+ vividElement.html`${(x) => x.heading}`
92
+ )}
93
+ </span>
81
94
 
82
- ${when.when((x) => x.meta, vividElement.html`<span class="meta">${(x) => x.meta}</span>`)}
95
+ <span class="meta">
96
+ <slot name="meta" ${slotted.slotted("_metaSlottedContent")}></slot>
97
+ ${when.when((x) => x.meta && !x._metaSlottedContent?.length, vividElement.html`${(x) => x.meta}`)}
98
+ </span>
83
99
 
84
100
  ${(x) => x.icon && x.iconTrailing ? affixIconTemplate(x.icon) : null}
85
101
  ${(x) => !(x.icon && x.iconTrailing) && !x.noIndicator ? affixIconTemplate(
86
- x.expanded ? "chevron-up-solid" : "chevron-down-solid"
102
+ x.expanded ? "chevron-up-line" : "chevron-down-line"
87
103
  ) : null}
88
104
 
89
105
  </button>
@@ -1,7 +1,8 @@
1
- import { V as VividElement, a as attr, n as nullableNumberConverter, h as html, g as createRegisterFunction, i as defineVividComponent } from './vivid-element.js';
1
+ import { V as VividElement, a as attr, n as nullableNumberConverter, o as observable, h as html, d as createRegisterFunction, f as defineVividComponent } from './vivid-element.js';
2
2
  import { i as iconDefinition } from './definition28.js';
3
3
  import { A as AffixIconWithTrailing, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
4
4
  import { r as ref } from './ref.js';
5
+ import { s as slotted } from './slotted.js';
5
6
  import { w as when } from './when.js';
6
7
 
7
8
  const styles = ":host{--_vvd-accordion-item-accent-firm-wrapper: var( --vvd-accordion-item-accent-firm )}.heading-button{--vvd-accordion-item-accent-firm: var( --_vvd-accordion-item-accent-firm-wrapper, var(--vvd-accordion-item-accent-primary) )}:host{display:flex;box-sizing:border-box;flex-direction:column}.heading-container{margin:0}.heading-button{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.heading-button:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.heading-button:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.heading-button{--_connotation-color-faint: var(--vvd-accordion-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-accordion-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-accordion-item-accent-firm, var(--vvd-color-canvas-text))}.heading-button{--focus-stroke-gap-color: transparent;display:flex;width:100%;align-items:center;padding:16px;border:none;background-color:var(--_appearance-color-fill);color:var(--_appearance-color-text);cursor:pointer;text-align:left}.heading-button:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.heading-button.size-condensed{font:var(--vvd-typography-base-extended-bold);gap:12px}.heading-button:not(.size-condensed){font:var(--vvd-typography-heading-4);gap:16px}.heading-content{flex:auto}.meta{overflow:hidden;max-width:var(--accordion-item-meta-inline-size, 20%);flex-shrink:0;color:var(--vvd-color-neutral-600);text-align:end;text-overflow:ellipsis;white-space:nowrap}.heading-button:not(.size-condensed) .meta{font:var(--vvd-typography-base-bold)}.heading-button.size-condensed .meta{font:var(--vvd-typography-base-condensed-bold)}.region{display:none;padding:8px 32px 24px 16px}.region:not(.size-condensed).padded{padding-inline-start:52px}:host([expanded]) .region{display:block}.region.size-condensed.padded{padding-inline-start:44px}slot[name=icon]{color:var(--vvd-color-neutral-600)}.heading-button:not(.size-condensed) slot[name=icon]{font:inherit}.heading-button.size-condensed slot[name=icon]{font:var(--vvd-typography-base-extended)}:host(:not([icon-trailing])) slot[name=icon]:last-of-type{color:var(--_appearance-color-text)}";
@@ -50,12 +51,18 @@ __decorateClass([
50
51
  __decorateClass([
51
52
  attr
52
53
  ], AccordionItem.prototype, "heading");
54
+ __decorateClass([
55
+ observable
56
+ ], AccordionItem.prototype, "_headingSlottedContent");
53
57
  __decorateClass([
54
58
  attr({ mode: "boolean", attribute: "no-indicator" })
55
59
  ], AccordionItem.prototype, "noIndicator");
56
60
  __decorateClass([
57
61
  attr
58
62
  ], AccordionItem.prototype, "meta");
63
+ __decorateClass([
64
+ observable
65
+ ], AccordionItem.prototype, "_metaSlottedContent");
59
66
  __decorateClass([
60
67
  attr
61
68
  ], AccordionItem.prototype, "size");
@@ -75,13 +82,22 @@ const header = (context, hTag) => {
75
82
 
76
83
  ${(x) => !x.iconTrailing ? affixIconTemplate(x.icon, IconWrapper.Slot) : null}
77
84
 
78
- <span class="heading-content">${(x) => x.heading}</span>
85
+ <span class="heading-content">
86
+ <slot name="heading" ${slotted("_headingSlottedContent")}></slot>
87
+ ${when(
88
+ (x) => x.heading && !x._headingSlottedContent?.length,
89
+ html`${(x) => x.heading}`
90
+ )}
91
+ </span>
79
92
 
80
- ${when((x) => x.meta, html`<span class="meta">${(x) => x.meta}</span>`)}
93
+ <span class="meta">
94
+ <slot name="meta" ${slotted("_metaSlottedContent")}></slot>
95
+ ${when((x) => x.meta && !x._metaSlottedContent?.length, html`${(x) => x.meta}`)}
96
+ </span>
81
97
 
82
98
  ${(x) => x.icon && x.iconTrailing ? affixIconTemplate(x.icon) : null}
83
99
  ${(x) => !(x.icon && x.iconTrailing) && !x.noIndicator ? affixIconTemplate(
84
- x.expanded ? "chevron-up-solid" : "chevron-down-solid"
100
+ x.expanded ? "chevron-up-line" : "chevron-down-line"
85
101
  ) : null}
86
102
 
87
103
  </button>
@@ -1,4 +1,4 @@
1
- import { h as html, V as VividElement, o as observable, g as createRegisterFunction, i as defineVividComponent } from './vivid-element.js';
1
+ import { h as html, V as VividElement, o as observable, d as createRegisterFunction, f as defineVividComponent } from './vivid-element.js';
2
2
  import { d as delegateAria, D as DelegatesAria } from './delegates-aria.js';
3
3
  import { s as slotted, e as elements } from './slotted.js';
4
4
  import { B as BreadcrumbItem } from './breadcrumb-item.js';