@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
@@ -0,0 +1,303 @@
1
+ import { f as defineVividComponent, h as html, V as VividElement, a as attr, H as HTMLDirective, D as DOM, O as Observable, o as observable } from './vivid-element.js';
2
+ import { i as iconDefinition, I as Icon } from './definition28.js';
3
+ import { v as visuallyHiddenDefinition } from './definition66.js';
4
+ import { c as classNames } from './class-names.js';
5
+ import { w as when } from './when.js';
6
+ import { L as Localized } from './localized.js';
7
+ import { s as slotted } from './slotted.js';
8
+
9
+ const styles = ":host{display:contents}.message{display:flex;contain:inline-size;font:var(--vvd-typography-base-condensed);gap:4px;grid-column:1/-1}.message.none-message{display:none}.message.helper-message{color:var(--_low-ink-color)}.message.error-message,.message.success-message{color:var(--vvd-color-canvas-text)}slot{display:inline}.icon{font-size:16px}.error-message .icon{color:var(--vvd-color-alert-500)}.success-message .icon{color:var(--vvd-color-success-500)}.announcement{display:contents}";
10
+
11
+ var __defProp$1 = Object.defineProperty;
12
+ var __decorateClass$1 = (decorators, target, key, kind) => {
13
+ var result = void 0 ;
14
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
15
+ if (decorator = decorators[i])
16
+ result = (decorator(target, key, result) ) || result;
17
+ if (result) __defProp$1(target, key, result);
18
+ return result;
19
+ };
20
+ class FeedbackMessage extends Localized(VividElement) {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.type = "none";
24
+ }
25
+ }
26
+ __decorateClass$1([
27
+ attr
28
+ ], FeedbackMessage.prototype, "type");
29
+ function iconTemplate(context, icon, textI18nKey) {
30
+ const iconTag = context.tagFor(Icon);
31
+ return html`<${iconTag} class="icon" name="${icon}" label="${(x) => x.locale.feedbackMessage[textI18nKey]}"></${iconTag}>`;
32
+ }
33
+ function iconForType(context) {
34
+ const iconTemplateForType = {
35
+ none: "",
36
+ helper: "",
37
+ error: iconTemplate(context, "info-line", "errorIconText"),
38
+ success: iconTemplate(context, "check-circle-line", "successIconText")
39
+ };
40
+ return html`${(x) => iconTemplateForType[x.type]}`;
41
+ }
42
+ const shouldAnnounce = (type) => type === "error";
43
+ const FeedbackMessageTemplate = (ctx) => {
44
+ const message = html`<div
45
+ class="${(x) => classNames("message", `${x.type}-message`)}"
46
+ >
47
+ ${iconForType(ctx)}<slot></slot>
48
+ </div>`;
49
+ return html`${when((x) => !shouldAnnounce(x.type), message)}
50
+ <span class="announcement" role="status" aria-live="polite">
51
+ ${when((x) => shouldAnnounce(x.type), message)}
52
+ </span>`;
53
+ };
54
+ const feedbackMessageDefinition = defineVividComponent(
55
+ "feedback-message",
56
+ FeedbackMessage,
57
+ FeedbackMessageTemplate,
58
+ [iconDefinition, visuallyHiddenDefinition],
59
+ {
60
+ styles
61
+ }
62
+ );
63
+
64
+ class RenderInLightDomBehaviour {
65
+ constructor(templateBinding, isTemplateBindingVolatile) {
66
+ this.source = null;
67
+ this.templateBindingObserver = Observable.binding(
68
+ templateBinding,
69
+ this,
70
+ isTemplateBindingVolatile
71
+ );
72
+ }
73
+ bind(source, context) {
74
+ this.source = source;
75
+ this.context = context;
76
+ if (!this.insertionPoint) {
77
+ this.insertionPoint = document.createComment("");
78
+ source.appendChild(this.insertionPoint);
79
+ }
80
+ this.handleChange();
81
+ }
82
+ unbind() {
83
+ this.source = null;
84
+ this.view.unbind();
85
+ this.templateBindingObserver.disconnect();
86
+ }
87
+ /**
88
+ * Handles change of the template itself.
89
+ */
90
+ handleChange() {
91
+ this.instantiateTemplate(
92
+ this.templateBindingObserver.observe(this.source, this.context)
93
+ );
94
+ }
95
+ instantiateTemplate(template) {
96
+ if (this.view) {
97
+ this.view.dispose();
98
+ }
99
+ this.view = template.create();
100
+ this.view.bind(this.source, this.context);
101
+ this.view.insertBefore(this.insertionPoint);
102
+ }
103
+ }
104
+ class RenderInLightDomDirective extends HTMLDirective {
105
+ constructor(templateBinding) {
106
+ super();
107
+ this.templateBinding = templateBinding;
108
+ this.createPlaceholder = DOM.createBlockPlaceholder;
109
+ this.isTemplateBindingVolatile = Observable.isVolatileBinding(templateBinding);
110
+ }
111
+ createBehavior() {
112
+ return new RenderInLightDomBehaviour(
113
+ this.templateBinding,
114
+ this.isTemplateBindingVolatile
115
+ );
116
+ }
117
+ }
118
+ function renderInLightDOM(templateOrTemplateBinding) {
119
+ const templateBinding = typeof templateOrTemplateBinding === "function" ? templateOrTemplateBinding : () => templateOrTemplateBinding;
120
+ return new RenderInLightDomDirective(templateBinding);
121
+ }
122
+
123
+ const byteToHex = [];
124
+ for (let i = 0; i < 256; ++i) {
125
+ byteToHex.push((i + 0x100).toString(16).slice(1));
126
+ }
127
+ function unsafeStringify(arr, offset = 0) {
128
+ return (byteToHex[arr[offset + 0]] +
129
+ byteToHex[arr[offset + 1]] +
130
+ byteToHex[arr[offset + 2]] +
131
+ byteToHex[arr[offset + 3]] +
132
+ '-' +
133
+ byteToHex[arr[offset + 4]] +
134
+ byteToHex[arr[offset + 5]] +
135
+ '-' +
136
+ byteToHex[arr[offset + 6]] +
137
+ byteToHex[arr[offset + 7]] +
138
+ '-' +
139
+ byteToHex[arr[offset + 8]] +
140
+ byteToHex[arr[offset + 9]] +
141
+ '-' +
142
+ byteToHex[arr[offset + 10]] +
143
+ byteToHex[arr[offset + 11]] +
144
+ byteToHex[arr[offset + 12]] +
145
+ byteToHex[arr[offset + 13]] +
146
+ byteToHex[arr[offset + 14]] +
147
+ byteToHex[arr[offset + 15]]).toLowerCase();
148
+ }
149
+
150
+ let getRandomValues;
151
+ const rnds8 = new Uint8Array(16);
152
+ function rng() {
153
+ if (!getRandomValues) {
154
+ if (typeof crypto === 'undefined' || !crypto.getRandomValues) {
155
+ throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
156
+ }
157
+ getRandomValues = crypto.getRandomValues.bind(crypto);
158
+ }
159
+ return getRandomValues(rnds8);
160
+ }
161
+
162
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
163
+ const native = { randomUUID };
164
+
165
+ function v4(options, buf, offset) {
166
+ if (native.randomUUID && true && !options) {
167
+ return native.randomUUID();
168
+ }
169
+ options = options || {};
170
+ const rnds = options.random ?? options.rng?.() ?? rng();
171
+ if (rnds.length < 16) {
172
+ throw new Error('Random bytes length must be >= 16');
173
+ }
174
+ rnds[6] = (rnds[6] & 0x0f) | 0x40;
175
+ rnds[8] = (rnds[8] & 0x3f) | 0x80;
176
+ return unsafeStringify(rnds);
177
+ }
178
+
179
+ const generateRandomId = () => v4();
180
+
181
+ var __defProp = Object.defineProperty;
182
+ var __decorateClass = (decorators, target, key, kind) => {
183
+ var result = void 0 ;
184
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
185
+ if (decorator = decorators[i])
186
+ result = (decorator(target, key, result) ) || result;
187
+ if (result) __defProp(target, key, result);
188
+ return result;
189
+ };
190
+ const WithFeedback = (Base) => {
191
+ class ElementWithFeedback extends Base {
192
+ /**
193
+ * Ids of the feedback content that the control should use for aria-describedby.
194
+ *
195
+ * @internal
196
+ */
197
+ get _feedbackDescribedBy() {
198
+ return "feedback slotted-helper-text-feedback";
199
+ }
200
+ /**
201
+ * @internal
202
+ */
203
+ _internalFeedback() {
204
+ const helperText = this._helperTextSlottedContent?.length ? "" : this.helperText;
205
+ const errorText = this.errorValidationMessage;
206
+ const successText = this.successText;
207
+ if (successText) return { type: "success", message: successText };
208
+ if (errorText) return { type: "error", message: errorText };
209
+ if (helperText) return { type: "helper", message: helperText };
210
+ return { type: "none", message: "" };
211
+ }
212
+ /**
213
+ * @internal
214
+ */
215
+ _slottedHelperTextFeedbackType() {
216
+ const shouldShowSlottedHelperText = this._internalFeedback().type === "none" && this._helperTextSlottedContent?.length;
217
+ return shouldShowSlottedHelperText ? "helper" : "none";
218
+ }
219
+ /**
220
+ * @internal
221
+ */
222
+ _getFeedbackTemplate(ctx) {
223
+ const feedbackTag = ctx.tagFor(FeedbackMessage);
224
+ return html`
225
+ <${feedbackTag} id="feedback" :type="${(x) => x._internalFeedback().type}">
226
+ ${(x) => x._internalFeedback().message}
227
+ </${feedbackTag}>
228
+ <${feedbackTag}
229
+ id="slotted-helper-text-feedback"
230
+ :type="${(x) => x._slottedHelperTextFeedbackType()}"
231
+ >
232
+ <slot name="helper-text" ${slotted("_helperTextSlottedContent")}></slot>
233
+ </${feedbackTag}>
234
+ `;
235
+ }
236
+ }
237
+ __decorateClass([
238
+ attr({ attribute: "helper-text" })
239
+ ], ElementWithFeedback.prototype, "helperText");
240
+ __decorateClass([
241
+ observable
242
+ ], ElementWithFeedback.prototype, "_helperTextSlottedContent");
243
+ return ElementWithFeedback;
244
+ };
245
+ const WithLightDOMFeedback = (Base) => {
246
+ const randomFeedbackId = () => `vvd-feedback-${generateRandomId()}`;
247
+ const randomSlottedContentId = () => `vvd-slotted-feedback-${generateRandomId()}`;
248
+ class ElementWithLightDOMFeedback extends WithFeedback(Base) {
249
+ constructor() {
250
+ super(...arguments);
251
+ this._slottedHelperTextIds = [];
252
+ /**
253
+ * @internal
254
+ */
255
+ this._feedbackId = randomFeedbackId();
256
+ }
257
+ /**
258
+ * @internal
259
+ */
260
+ _helperTextSlottedContentChanged(_, newContent) {
261
+ for (const el of newContent) {
262
+ if (!el.id) {
263
+ el.id = randomSlottedContentId();
264
+ }
265
+ }
266
+ this._slottedHelperTextIds = newContent.map((el) => el.id);
267
+ }
268
+ /**
269
+ * @internal
270
+ */
271
+ get _feedbackDescribedBy() {
272
+ return [this._feedbackId, ...this._slottedHelperTextIds].join(" ");
273
+ }
274
+ /**
275
+ * @internal
276
+ */
277
+ _getFeedbackTemplate(ctx) {
278
+ const feedbackTag = ctx.tagFor(FeedbackMessage);
279
+ return html`
280
+ <slot name="_feedback"></slot>
281
+ ${renderInLightDOM(html`<${feedbackTag}
282
+ slot="_feedback"
283
+ id="${(x) => x._feedbackId}"
284
+ :type="${(x) => x._internalFeedback().type}"
285
+ >
286
+ ${(x) => x._internalFeedback().message}
287
+ </${feedbackTag}>`)}
288
+ <${feedbackTag} :type="${(x) => x._slottedHelperTextFeedbackType()}">
289
+ <slot
290
+ name="helper-text"
291
+ ${slotted("_helperTextSlottedContent")}
292
+ ></slot>
293
+ </${feedbackTag}>
294
+ `;
295
+ }
296
+ }
297
+ __decorateClass([
298
+ observable
299
+ ], ElementWithLightDOMFeedback.prototype, "_slottedHelperTextIds");
300
+ return ElementWithLightDOMFeedback;
301
+ };
302
+
303
+ export { WithLightDOMFeedback as W, WithFeedback as a, feedbackMessageDefinition as f, generateRandomId as g, renderInLightDOM as r };
@@ -6,11 +6,11 @@ export declare const AffixIcon: <T extends Constructor<VividElement>>(Base: T) =
6
6
  new (...args: any[]): {
7
7
  icon?: string | undefined;
8
8
  iconSlottedContent?: HTMLElement[] | undefined;
9
+ connectedCallback(): void;
9
10
  specialHandling: boolean;
10
11
  _vividAriaBehaviour: import("../aria/aria-mixin").VividAriaBehaviour;
11
12
  readonly $fastController: import("@microsoft/fast-element").Controller;
12
13
  $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
13
- connectedCallback(): void;
14
14
  disconnectedCallback(): void;
15
15
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
16
16
  accessKey: string;
@@ -333,6 +333,12 @@ export declare const AffixIcon: <T extends Constructor<VividElement>>(Base: T) =
333
333
  ariaDescription: string | null;
334
334
  ariaRowIndexText: string | null;
335
335
  ariaRelevant: string | null;
336
+ "__#1@#handleReplacedProp"(replacedProp: {
337
+ newPropertyName: string;
338
+ deprecatedPropertyName: string;
339
+ fromDeprecated: (v: any) => any;
340
+ toDeprecated?: ((v: any) => any) | undefined;
341
+ }): void;
336
342
  };
337
343
  } & T;
338
344
  export type AffixIconElement = MixinType<typeof AffixIcon>;
@@ -341,11 +347,11 @@ export declare const AffixIconWithTrailing: <T extends Constructor<VividElement>
341
347
  iconTrailing: boolean;
342
348
  icon?: string | undefined;
343
349
  iconSlottedContent?: HTMLElement[] | undefined;
350
+ connectedCallback(): void;
344
351
  specialHandling: boolean;
345
352
  _vividAriaBehaviour: import("../aria/aria-mixin").VividAriaBehaviour;
346
353
  readonly $fastController: import("@microsoft/fast-element").Controller;
347
354
  $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
348
- connectedCallback(): void;
349
355
  disconnectedCallback(): void;
350
356
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
351
357
  accessKey: string;
@@ -668,6 +674,12 @@ export declare const AffixIconWithTrailing: <T extends Constructor<VividElement>
668
674
  ariaDescription: string | null;
669
675
  ariaRowIndexText: string | null;
670
676
  ariaRelevant: string | null;
677
+ "__#1@#handleReplacedProp"(replacedProp: {
678
+ newPropertyName: string;
679
+ deprecatedPropertyName: string;
680
+ fromDeprecated: (v: any) => any;
681
+ toDeprecated?: ((v: any) => any) | undefined;
682
+ }): void;
671
683
  };
672
684
  } & T;
673
685
  export declare const IconWrapper: {
@@ -678,6 +690,9 @@ export declare const IconAriaHidden: {
678
690
  Hidden: string;
679
691
  Visible: string;
680
692
  };
681
- type affixIconTemplateFactoryReturnType = (context: VividElementDefinitionContext) => (icon?: string, slottedState?: boolean, ariaHidden?: string) => ViewTemplate<AffixIconElement> | null;
693
+ type affixIconTemplateFactoryReturnType = (context: VividElementDefinitionContext) => (icon?: string, slottedState?: boolean, ariaHidden?: string, announcement?: {
694
+ label: string;
695
+ announceOnUpdate?: boolean;
696
+ }) => ViewTemplate<AffixIconElement> | null;
682
697
  export declare const affixIconTemplateFactory: affixIconTemplateFactoryReturnType;
683
698
  export {};
@@ -8,10 +8,10 @@ export declare const Anchored: <T extends Constructor<VividElement>>(Base: T) =>
8
8
  _slottedAnchor?: HTMLElement[] | undefined;
9
9
  _slottedAnchorChanged(): void;
10
10
  _anchorEl?: HTMLElement | undefined;
11
- "__#7@#updateAnchorEl": () => void;
12
- "__#7@#observer"?: MutationObserver | undefined;
13
- "__#7@#observeMissingAnchor": (anchorId: string) => void;
14
- "__#7@#cleanupObserverIfNeeded": () => void;
11
+ "__#9@#updateAnchorEl": () => void;
12
+ "__#9@#observer"?: MutationObserver | undefined;
13
+ "__#9@#observeMissingAnchor": (anchorId: string) => void;
14
+ "__#9@#cleanupObserverIfNeeded": () => void;
15
15
  connectedCallback(): void;
16
16
  disconnectedCallback(): void;
17
17
  specialHandling: boolean;
@@ -339,6 +339,12 @@ export declare const Anchored: <T extends Constructor<VividElement>>(Base: T) =>
339
339
  ariaDescription: string | null;
340
340
  ariaRowIndexText: string | null;
341
341
  ariaRelevant: string | null;
342
+ "__#1@#handleReplacedProp"(replacedProp: {
343
+ newPropertyName: string;
344
+ deprecatedPropertyName: string;
345
+ fromDeprecated: (v: any) => any;
346
+ toDeprecated?: ((v: any) => any) | undefined;
347
+ }): void;
342
348
  };
343
349
  } & T;
344
350
  export type AnchoredElement = MixinType<typeof Anchored>;
@@ -348,10 +354,10 @@ export declare const anchorSlotTemplateFactory: () => import("@microsoft/fast-el
348
354
  _slottedAnchor?: HTMLElement[] | undefined;
349
355
  _slottedAnchorChanged(): void;
350
356
  _anchorEl?: HTMLElement | undefined;
351
- "__#7@#updateAnchorEl": () => void;
352
- "__#7@#observer"?: MutationObserver | undefined;
353
- "__#7@#observeMissingAnchor": (anchorId: string) => void;
354
- "__#7@#cleanupObserverIfNeeded": () => void;
357
+ "__#9@#updateAnchorEl": () => void;
358
+ "__#9@#observer"?: MutationObserver | undefined;
359
+ "__#9@#observeMissingAnchor": (anchorId: string) => void;
360
+ "__#9@#cleanupObserverIfNeeded": () => void;
355
361
  connectedCallback(): void;
356
362
  disconnectedCallback(): void;
357
363
  specialHandling: boolean;
@@ -679,5 +685,11 @@ export declare const anchorSlotTemplateFactory: () => import("@microsoft/fast-el
679
685
  ariaDescription: string | null;
680
686
  ariaRowIndexText: string | null;
681
687
  ariaRelevant: string | null;
688
+ "__#1@#handleReplacedProp"(replacedProp: {
689
+ newPropertyName: string;
690
+ deprecatedPropertyName: string;
691
+ fromDeprecated: (v: any) => any;
692
+ toDeprecated?: ((v: any) => any) | undefined;
693
+ }): void;
682
694
  } & VividElement, any>;
683
695
  export {};