@vonage/vivid 4.12.1 → 4.14.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 (523) hide show
  1. package/custom-elements.json +7489 -4858
  2. package/elevation/index.cjs +1 -1
  3. package/elevation/index.js +1 -1
  4. package/index.cjs +70 -136
  5. package/index.d.ts +0 -1
  6. package/index.js +60 -62
  7. package/lib/accordion/accordion.d.ts +2 -2
  8. package/lib/accordion/accordion.template.d.ts +1 -2
  9. package/lib/accordion/definition.d.ts +1 -1
  10. package/lib/accordion-item/accordion-item.d.ts +2 -2
  11. package/lib/accordion-item/accordion-item.template.d.ts +2 -3
  12. package/lib/accordion-item/definition.d.ts +1 -1
  13. package/lib/action-group/action-group.d.ts +2 -2
  14. package/lib/action-group/action-group.template.d.ts +1 -3
  15. package/lib/action-group/definition.d.ts +1 -1
  16. package/lib/alert/alert.d.ts +2 -2
  17. package/lib/alert/alert.template.d.ts +2 -3
  18. package/lib/alert/definition.d.ts +1 -1
  19. package/lib/audio-player/audio-player.d.ts +2 -2
  20. package/lib/audio-player/audio-player.template.d.ts +2 -3
  21. package/lib/audio-player/definition.d.ts +1 -3
  22. package/lib/avatar/avatar.d.ts +2 -2
  23. package/lib/avatar/avatar.template.d.ts +2 -3
  24. package/lib/avatar/definition.d.ts +1 -1
  25. package/lib/badge/badge.d.ts +2 -2
  26. package/lib/badge/badge.template.d.ts +2 -3
  27. package/lib/badge/definition.d.ts +1 -3
  28. package/lib/banner/banner.d.ts +2 -2
  29. package/lib/banner/banner.template.d.ts +2 -3
  30. package/lib/banner/definition.d.ts +1 -1
  31. package/lib/breadcrumb/breadcrumb.d.ts +2 -2
  32. package/lib/breadcrumb/breadcrumb.template.d.ts +3 -4
  33. package/lib/breadcrumb/definition.d.ts +1 -1
  34. package/lib/breadcrumb-item/breadcrumb-item.d.ts +2 -2
  35. package/lib/breadcrumb-item/breadcrumb-item.template.d.ts +2 -3
  36. package/lib/breadcrumb-item/definition.d.ts +1 -1
  37. package/lib/button/button.d.ts +2 -2
  38. package/lib/button/button.template.d.ts +2 -4
  39. package/lib/button/definition.d.ts +1 -1
  40. package/lib/calendar/calendar.d.ts +2 -2
  41. package/lib/calendar/calendar.template.d.ts +1 -3
  42. package/lib/calendar/definition.d.ts +1 -1
  43. package/lib/calendar-event/calendar-event.d.ts +2 -2
  44. package/lib/calendar-event/calendar-event.template.d.ts +1 -3
  45. package/lib/calendar-event/definition.d.ts +1 -1
  46. package/lib/card/card.d.ts +2 -2
  47. package/lib/card/card.template.d.ts +2 -3
  48. package/lib/card/definition.d.ts +1 -1
  49. package/lib/checkbox/checkbox.form-associated.d.ts +3 -2
  50. package/lib/checkbox/checkbox.template.d.ts +2 -3
  51. package/lib/checkbox/definition.d.ts +1 -1
  52. package/lib/combobox/combobox.d.ts +17 -2
  53. package/lib/combobox/combobox.options.d.ts +7 -0
  54. package/lib/combobox/combobox.template.d.ts +2 -3
  55. package/lib/combobox/definition.d.ts +1 -2
  56. package/lib/data-grid/data-grid-cell.d.ts +16 -13
  57. package/lib/data-grid/data-grid-cell.template.d.ts +2 -3
  58. package/lib/data-grid/data-grid-row.d.ts +19 -2
  59. package/lib/data-grid/data-grid-row.template.d.ts +2 -2
  60. package/lib/data-grid/data-grid.d.ts +45 -4
  61. package/lib/data-grid/data-grid.template.d.ts +2 -2
  62. package/lib/data-grid/definition.d.ts +1 -6
  63. package/lib/date-picker/definition.d.ts +1 -3
  64. package/lib/date-range-picker/definition.d.ts +1 -3
  65. package/lib/dial-pad/definition.d.ts +1 -3
  66. package/lib/dial-pad/dial-pad.d.ts +2 -2
  67. package/lib/dial-pad/dial-pad.template.d.ts +2 -3
  68. package/lib/dialog/definition.d.ts +1 -1
  69. package/lib/dialog/dialog.d.ts +2 -2
  70. package/lib/dialog/dialog.template.d.ts +2 -3
  71. package/lib/divider/definition.d.ts +1 -1
  72. package/lib/divider/divider.d.ts +2 -2
  73. package/lib/divider/divider.template.d.ts +1 -3
  74. package/lib/elevation/definition.d.ts +1 -1
  75. package/lib/elevation/elevation.d.ts +2 -2
  76. package/lib/elevation/elevation.template.d.ts +1 -3
  77. package/lib/empty-state/definition.d.ts +1 -3
  78. package/lib/empty-state/empty-state.d.ts +2 -2
  79. package/lib/empty-state/empty-state.template.d.ts +2 -3
  80. package/lib/fab/definition.d.ts +1 -3
  81. package/lib/fab/fab.template.d.ts +2 -3
  82. package/lib/file-picker/definition.d.ts +1 -3
  83. package/lib/file-picker/file-picker.d.ts +6 -0
  84. package/lib/file-picker/file-picker.form-associated.d.ts +3 -2
  85. package/lib/file-picker/file-picker.template.d.ts +2 -3
  86. package/lib/header/definition.d.ts +1 -3
  87. package/lib/header/header.d.ts +2 -2
  88. package/lib/header/header.template.d.ts +2 -3
  89. package/lib/icon/definition.d.ts +1 -3
  90. package/lib/icon/icon.d.ts +2 -2
  91. package/lib/icon/icon.template.d.ts +1 -3
  92. package/lib/layout/definition.d.ts +1 -3
  93. package/lib/layout/layout.d.ts +2 -2
  94. package/lib/layout/layout.template.d.ts +1 -3
  95. package/lib/listbox/definition.d.ts +1 -3
  96. package/lib/listbox/listbox.template.d.ts +1 -3
  97. package/lib/menu/definition.d.ts +1 -11
  98. package/lib/menu/menu.d.ts +16 -3
  99. package/lib/menu/menu.template.d.ts +3 -3
  100. package/lib/menu-item/definition.d.ts +1 -3
  101. package/lib/menu-item/menu-item.d.ts +10 -2
  102. package/lib/menu-item/menu-item.template.d.ts +2 -3
  103. package/lib/nav/definition.d.ts +1 -3
  104. package/lib/nav/nav.d.ts +2 -2
  105. package/lib/nav/nav.template.d.ts +1 -3
  106. package/lib/nav-disclosure/definition.d.ts +1 -3
  107. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  108. package/lib/nav-disclosure/nav-disclosure.template.d.ts +2 -3
  109. package/lib/nav-item/definition.d.ts +1 -3
  110. package/lib/nav-item/nav-item.template.d.ts +2 -3
  111. package/lib/note/definition.d.ts +1 -3
  112. package/lib/note/note.d.ts +2 -2
  113. package/lib/note/note.template.d.ts +2 -3
  114. package/lib/number-field/definition.d.ts +1 -4
  115. package/lib/number-field/number-field.form-associated.d.ts +3 -2
  116. package/lib/number-field/number-field.template.d.ts +2 -3
  117. package/lib/option/definition.d.ts +1 -3
  118. package/lib/option/option.d.ts +28 -7
  119. package/lib/option/option.template.d.ts +2 -3
  120. package/lib/pagination/definition.d.ts +1 -3
  121. package/lib/pagination/pagination.d.ts +2 -2
  122. package/lib/pagination/pagination.template.d.ts +2 -3
  123. package/lib/popup/definition.d.ts +1 -3
  124. package/lib/popup/popup.template.d.ts +2 -3
  125. package/lib/progress/definition.d.ts +1 -3
  126. package/lib/progress/progress.d.ts +1 -1
  127. package/lib/progress/progress.template.d.ts +1 -4
  128. package/lib/progress-ring/definition.d.ts +1 -3
  129. package/lib/progress-ring/progress-ring.d.ts +1 -1
  130. package/lib/progress-ring/progress-ring.template.d.ts +1 -3
  131. package/lib/radio/definition.d.ts +1 -3
  132. package/lib/radio/radio.form-associated.d.ts +3 -2
  133. package/lib/radio/radio.template.d.ts +1 -3
  134. package/lib/radio-group/definition.d.ts +1 -11
  135. package/lib/radio-group/radio-group.d.ts +2 -2
  136. package/lib/radio-group/radio-group.template.d.ts +2 -3
  137. package/lib/range-slider/definition.d.ts +1 -3
  138. package/lib/range-slider/range-slider.form-associated.d.ts +3 -2
  139. package/lib/range-slider/range-slider.template.d.ts +2 -3
  140. package/lib/searchable-select/definition.d.ts +1 -4
  141. package/lib/searchable-select/option-tag.template.d.ts +2 -3
  142. package/lib/searchable-select/searchable-select.form-associated.d.ts +3 -2
  143. package/lib/searchable-select/searchable-select.template.d.ts +2 -3
  144. package/lib/select/definition.d.ts +1 -3
  145. package/lib/select/select.d.ts +14 -4
  146. package/lib/select/select.form-associated.d.ts +11 -0
  147. package/lib/select/select.template.d.ts +2 -3
  148. package/lib/selectable-box/definition.d.ts +1 -3
  149. package/lib/selectable-box/selectable-box.d.ts +2 -2
  150. package/lib/selectable-box/selectable-box.template.d.ts +2 -3
  151. package/lib/side-drawer/definition.d.ts +1 -3
  152. package/lib/side-drawer/side-drawer.d.ts +2 -2
  153. package/lib/side-drawer/side-drawer.template.d.ts +1 -3
  154. package/lib/slider/definition.d.ts +1 -3
  155. package/lib/slider/slider.form-associated.d.ts +3 -2
  156. package/lib/slider/slider.template.d.ts +3 -4
  157. package/lib/split-button/definition.d.ts +1 -1
  158. package/lib/split-button/split-button.d.ts +2 -2
  159. package/lib/split-button/split-button.template.d.ts +2 -3
  160. package/lib/switch/definition.d.ts +1 -3
  161. package/lib/switch/switch.d.ts +5 -2
  162. package/lib/switch/switch.form-associated.d.ts +11 -0
  163. package/lib/switch/switch.template.d.ts +1 -3
  164. package/lib/tab/definition.d.ts +1 -3
  165. package/lib/tab/tab.d.ts +2 -2
  166. package/lib/tab/tab.template.d.ts +2 -2
  167. package/lib/tab-panel/definition.d.ts +1 -3
  168. package/lib/tab-panel/tab-panel.d.ts +2 -2
  169. package/lib/tab-panel/tab-panel.template.d.ts +1 -1
  170. package/lib/tabs/definition.d.ts +1 -3
  171. package/lib/tabs/tabs.d.ts +6 -4
  172. package/lib/tabs/tabs.template.d.ts +1 -1
  173. package/lib/tag/definition.d.ts +1 -4
  174. package/lib/tag/tag.d.ts +2 -2
  175. package/lib/tag/tag.template.d.ts +2 -3
  176. package/lib/tag-group/definition.d.ts +1 -3
  177. package/lib/tag-group/tag-group.d.ts +2 -2
  178. package/lib/tag-group/tag-group.template.d.ts +1 -3
  179. package/lib/text-anchor/definition.d.ts +1 -3
  180. package/lib/text-anchor/text-anchor.d.ts +4 -3
  181. package/lib/text-anchor/text-anchor.template.d.ts +2 -3
  182. package/lib/text-area/definition.d.ts +1 -3
  183. package/lib/text-area/text-area.d.ts +25 -3
  184. package/lib/text-area/text-area.form-associated.d.ts +11 -0
  185. package/lib/text-area/text-area.template.d.ts +2 -3
  186. package/lib/text-field/definition.d.ts +1 -3
  187. package/lib/text-field/text-field.d.ts +28 -3
  188. package/lib/text-field/text-field.form-associated.d.ts +11 -0
  189. package/lib/text-field/text-field.template.d.ts +2 -3
  190. package/lib/time-picker/definition.d.ts +1 -3
  191. package/lib/time-picker/time-picker.form-associated.d.ts +3 -2
  192. package/lib/time-picker/time-picker.template.d.ts +2 -2
  193. package/lib/toggletip/definition.d.ts +1 -3
  194. package/lib/toggletip/toggletip.d.ts +2 -2
  195. package/lib/toggletip/toggletip.template.d.ts +2 -3
  196. package/lib/tooltip/definition.d.ts +1 -3
  197. package/lib/tooltip/tooltip.d.ts +2 -2
  198. package/lib/tooltip/tooltip.template.d.ts +2 -3
  199. package/lib/tree-item/definition.d.ts +1 -3
  200. package/lib/tree-item/tree-item.d.ts +11 -2
  201. package/lib/tree-item/tree-item.template.d.ts +3 -3
  202. package/lib/tree-view/definition.d.ts +1 -3
  203. package/lib/tree-view/tree-view.d.ts +16 -2
  204. package/lib/tree-view/tree-view.template.d.ts +1 -1
  205. package/lib/video-player/definition.d.ts +1 -3
  206. package/lib/video-player/video-player.d.ts +2 -2
  207. package/lib/video-player/video-player.template.d.ts +1 -3
  208. package/listbox/index.cjs +37 -39
  209. package/listbox/index.js +37 -39
  210. package/menu/index.cjs +1 -1
  211. package/menu/index.js +1 -1
  212. package/nav/index.cjs +1 -1
  213. package/nav/index.js +1 -1
  214. package/nav-disclosure/index.cjs +1 -1
  215. package/nav-disclosure/index.js +1 -1
  216. package/nav-item/index.cjs +1 -1
  217. package/nav-item/index.js +1 -1
  218. package/note/index.cjs +1 -1
  219. package/note/index.js +1 -1
  220. package/number-field/index.cjs +1 -1
  221. package/number-field/index.js +1 -1
  222. package/option/index.cjs +1 -1
  223. package/option/index.js +1 -1
  224. package/package.json +1 -1
  225. package/pagination/index.cjs +1 -1
  226. package/pagination/index.js +1 -1
  227. package/popup/index.cjs +1 -1
  228. package/popup/index.js +1 -1
  229. package/progress/index.cjs +1 -1
  230. package/progress/index.js +1 -1
  231. package/progress-ring/index.cjs +1 -1
  232. package/progress-ring/index.js +1 -1
  233. package/radio/index.cjs +1 -1
  234. package/radio/index.js +1 -1
  235. package/radio-group/index.cjs +1 -1
  236. package/radio-group/index.js +1 -1
  237. package/range-slider/index.cjs +1 -1
  238. package/range-slider/index.js +1 -1
  239. package/searchable-select/index.cjs +1 -1
  240. package/searchable-select/index.js +1 -1
  241. package/select/index.cjs +1 -1
  242. package/select/index.js +1 -1
  243. package/selectable-box/index.cjs +1 -1
  244. package/selectable-box/index.js +1 -1
  245. package/shared/affix.cjs +10 -10
  246. package/shared/affix.js +2 -2
  247. package/shared/anchor.cjs +59 -0
  248. package/shared/anchor.js +57 -0
  249. package/shared/anchored.cjs +6 -6
  250. package/shared/anchored.js +2 -2
  251. package/shared/apply-mixins.cjs +15 -17
  252. package/shared/apply-mixins.js +15 -17
  253. package/shared/apply-mixins2.cjs +25 -0
  254. package/shared/apply-mixins2.js +23 -0
  255. package/shared/applyMixinsWithObservables.cjs +4 -4
  256. package/shared/applyMixinsWithObservables.js +2 -2
  257. package/shared/aria-global.cjs +86 -67
  258. package/shared/aria-global.js +86 -67
  259. package/shared/aria-global2.cjs +68 -86
  260. package/shared/aria-global2.js +68 -86
  261. package/shared/base-progress.cjs +70 -63
  262. package/shared/base-progress.js +69 -62
  263. package/shared/breadcrumb-item.cjs +7 -58
  264. package/shared/breadcrumb-item.js +4 -55
  265. package/shared/button.cjs +178 -0
  266. package/shared/button.js +176 -0
  267. package/shared/calendar-event.cjs +10 -9
  268. package/shared/calendar-event.js +3 -2
  269. package/shared/children.cjs +2 -2
  270. package/shared/children.js +1 -1
  271. package/shared/date-picker/date-picker-base.form-associated.d.ts +3 -2
  272. package/shared/date-picker/date-picker-base.template.d.ts +2 -3
  273. package/shared/defineVividComponent.cjs +2612 -0
  274. package/shared/defineVividComponent.js +2592 -0
  275. package/shared/definition.cjs +26 -24
  276. package/shared/definition.js +17 -14
  277. package/shared/definition10.cjs +15 -12
  278. package/shared/definition10.js +15 -11
  279. package/shared/definition11.cjs +53 -249
  280. package/shared/definition11.js +25 -219
  281. package/shared/definition12.cjs +18 -14
  282. package/shared/definition12.js +17 -12
  283. package/shared/definition13.cjs +20 -19
  284. package/shared/definition13.js +11 -9
  285. package/shared/definition14.cjs +36 -38
  286. package/shared/definition14.js +16 -17
  287. package/shared/definition15.cjs +28 -26
  288. package/shared/definition15.js +17 -14
  289. package/shared/definition16.cjs +478 -611
  290. package/shared/definition16.js +471 -603
  291. package/shared/definition17.cjs +934 -1113
  292. package/shared/definition17.js +913 -1091
  293. package/shared/definition18.cjs +16 -20
  294. package/shared/definition18.js +19 -22
  295. package/shared/definition19.cjs +26 -30
  296. package/shared/definition19.js +21 -24
  297. package/shared/definition2.cjs +20 -22
  298. package/shared/definition2.js +21 -22
  299. package/shared/definition20.cjs +53 -53
  300. package/shared/definition20.js +36 -35
  301. package/shared/definition21.cjs +43 -46
  302. package/shared/definition21.js +19 -21
  303. package/shared/definition22.cjs +16 -13
  304. package/shared/definition22.js +15 -11
  305. package/shared/definition23.cjs +22 -20
  306. package/shared/definition23.js +15 -12
  307. package/shared/definition24.cjs +20 -172
  308. package/shared/definition24.js +17 -168
  309. package/shared/definition25.cjs +48 -28
  310. package/shared/definition25.js +43 -22
  311. package/shared/definition26.cjs +17 -14
  312. package/shared/definition26.js +15 -11
  313. package/shared/definition27.cjs +265 -12
  314. package/shared/definition27.js +262 -10
  315. package/shared/definition28.cjs +19 -16
  316. package/shared/definition28.js +15 -11
  317. package/shared/definition29.cjs +478 -604
  318. package/shared/definition29.js +450 -578
  319. package/shared/definition3.cjs +21 -16
  320. package/shared/definition3.js +17 -11
  321. package/shared/definition30.cjs +100 -75
  322. package/shared/definition30.js +99 -73
  323. package/shared/definition31.cjs +24 -97
  324. package/shared/definition31.js +25 -97
  325. package/shared/definition32.cjs +10 -25
  326. package/shared/definition32.js +9 -23
  327. package/shared/definition33.cjs +53 -14
  328. package/shared/definition33.js +52 -12
  329. package/shared/definition34.cjs +641 -34
  330. package/shared/definition34.js +638 -30
  331. package/shared/definition35.cjs +205 -377
  332. package/shared/definition35.js +200 -373
  333. package/shared/definition36.cjs +204 -104
  334. package/shared/definition36.js +199 -97
  335. package/shared/definition37.cjs +79 -206
  336. package/shared/definition37.js +75 -202
  337. package/shared/definition38.cjs +50 -56
  338. package/shared/definition38.js +48 -52
  339. package/shared/definition39.cjs +260 -56
  340. package/shared/definition39.js +259 -54
  341. package/shared/definition4.cjs +33 -35
  342. package/shared/definition4.js +20 -21
  343. package/shared/definition40.cjs +112 -229
  344. package/shared/definition40.js +109 -226
  345. package/shared/definition41.cjs +627 -36
  346. package/shared/definition41.js +626 -34
  347. package/shared/definition42.cjs +975 -487
  348. package/shared/definition42.js +972 -482
  349. package/shared/definition43.cjs +725 -932
  350. package/shared/definition43.js +713 -918
  351. package/shared/definition44.cjs +116 -734
  352. package/shared/definition44.js +114 -731
  353. package/shared/definition45.cjs +93 -116
  354. package/shared/definition45.js +93 -115
  355. package/shared/definition46.cjs +469 -89
  356. package/shared/definition46.js +466 -86
  357. package/shared/definition47.cjs +119 -479
  358. package/shared/definition47.js +116 -474
  359. package/shared/definition48.cjs +114 -120
  360. package/shared/definition48.js +112 -117
  361. package/shared/definition49.cjs +18 -160
  362. package/shared/definition49.js +16 -157
  363. package/shared/definition5.cjs +48 -49
  364. package/shared/definition5.js +19 -19
  365. package/shared/definition50.cjs +112 -15
  366. package/shared/definition50.js +110 -12
  367. package/shared/definition51.cjs +847 -84
  368. package/shared/definition51.js +843 -79
  369. package/shared/definition52.cjs +31 -859
  370. package/shared/definition52.js +29 -856
  371. package/shared/definition53.cjs +126 -28
  372. package/shared/definition53.js +124 -25
  373. package/shared/definition54.cjs +268 -107
  374. package/shared/definition54.js +262 -100
  375. package/shared/definition55.cjs +63 -298
  376. package/shared/definition55.js +61 -295
  377. package/shared/definition56.cjs +799 -311
  378. package/shared/definition56.js +795 -306
  379. package/shared/definition57.cjs +108 -825
  380. package/shared/definition57.js +106 -822
  381. package/shared/definition58.cjs +74 -100
  382. package/shared/definition58.js +70 -95
  383. package/shared/definition59.cjs +181 -106
  384. package/shared/definition59.js +175 -101
  385. package/shared/definition6.cjs +23 -21
  386. package/shared/definition6.js +15 -12
  387. package/shared/definition60.cjs +273 -70
  388. package/shared/definition60.js +273 -69
  389. package/shared/definition61.cjs +66157 -271
  390. package/shared/definition61.js +66156 -269
  391. package/shared/definition62.cjs +36 -66174
  392. package/shared/definition62.js +33 -66171
  393. package/shared/definition63.cjs +2154 -27
  394. package/shared/definition63.js +2151 -25
  395. package/shared/definition7.cjs +19 -15
  396. package/shared/definition7.js +14 -10
  397. package/shared/definition8.cjs +26 -27
  398. package/shared/definition8.js +17 -17
  399. package/shared/definition9.cjs +21 -21
  400. package/shared/definition9.js +18 -17
  401. package/shared/design-system/createRegisterFunction.d.ts +2 -0
  402. package/shared/design-system/defineVividComponent.d.ts +15 -0
  403. package/shared/direction.cjs +10 -1
  404. package/shared/direction.js +10 -1
  405. package/shared/dom.cjs +0 -13
  406. package/shared/dom.js +1 -13
  407. package/shared/form-associated.cjs +422 -457
  408. package/shared/form-associated.js +422 -457
  409. package/shared/form-associated2.cjs +383 -0
  410. package/shared/form-associated2.js +381 -0
  411. package/shared/form-elements.cjs +15 -42
  412. package/shared/form-elements.js +2 -29
  413. package/shared/foundation/anchor/anchor.d.ts +1 -0
  414. package/shared/foundation/button/button.d.ts +3 -2
  415. package/shared/foundation/button/button.template.d.ts +2 -4
  416. package/shared/foundation/form-associated/form-associated.d.ts +51 -0
  417. package/shared/foundation/listbox/listbox.d.ts +22 -0
  418. package/shared/foundation/progress/base-progress.d.ts +9 -0
  419. package/shared/foundation/utilities/apply-mixins.d.ts +1 -0
  420. package/shared/foundation/vivid-element/vivid-element.d.ts +3 -0
  421. package/shared/foundation-element.cjs +1417 -0
  422. package/shared/foundation-element.js +1414 -0
  423. package/shared/index.cjs +7 -5097
  424. package/shared/index.js +7 -5079
  425. package/shared/key-codes.cjs +10 -0
  426. package/shared/key-codes.js +6 -1
  427. package/shared/key-codes2.cjs +50 -6
  428. package/shared/key-codes2.js +50 -4
  429. package/shared/listbox.cjs +409 -981
  430. package/shared/listbox.js +410 -979
  431. package/shared/listbox2.cjs +1268 -0
  432. package/shared/listbox2.js +1265 -0
  433. package/shared/localized.cjs +2 -2
  434. package/shared/localized.js +1 -1
  435. package/shared/numbers.cjs +12 -0
  436. package/shared/numbers.js +12 -1
  437. package/shared/patterns/affix.d.ts +2 -2
  438. package/shared/patterns/chevron.d.ts +2 -2
  439. package/shared/patterns/form-elements/form-elements.d.ts +2 -2
  440. package/shared/presentationDate.cjs +56 -55
  441. package/shared/presentationDate.js +8 -7
  442. package/shared/ref.cjs +2 -2
  443. package/shared/ref.js +1 -1
  444. package/shared/repeat.cjs +22 -22
  445. package/shared/repeat.js +1 -1
  446. package/shared/slider.template.cjs +5 -5
  447. package/shared/slider.template.js +2 -2
  448. package/shared/slotted.cjs +4 -4
  449. package/shared/slotted.js +1 -1
  450. package/shared/strings.cjs +0 -26
  451. package/shared/strings.js +1 -25
  452. package/shared/strings2.cjs +37 -0
  453. package/shared/strings2.js +33 -0
  454. package/shared/text-anchor.cjs +8 -89
  455. package/shared/text-anchor.js +5 -86
  456. package/shared/text-anchor.template.cjs +2 -2
  457. package/shared/text-anchor.template.js +1 -1
  458. package/shared/text-field2.cjs +539 -194
  459. package/shared/text-field2.js +539 -194
  460. package/shared/vivid-element.cjs +8 -0
  461. package/shared/vivid-element.js +6 -0
  462. package/side-drawer/index.cjs +1 -1
  463. package/side-drawer/index.js +1 -1
  464. package/slider/index.cjs +1 -1
  465. package/slider/index.js +1 -1
  466. package/split-button/index.cjs +1 -1
  467. package/split-button/index.js +1 -1
  468. package/styles/core/all.css +21 -1
  469. package/styles/core/theme.css +21 -1
  470. package/styles/core/typography.css +1 -1
  471. package/styles/tokens/theme-dark.css +4 -4
  472. package/styles/tokens/theme-light.css +4 -4
  473. package/styles/tokens/vivid-2-compat.css +1 -1
  474. package/switch/index.cjs +1 -1
  475. package/switch/index.js +1 -1
  476. package/tab/index.cjs +1 -1
  477. package/tab/index.js +1 -1
  478. package/tab-panel/index.cjs +1 -1
  479. package/tab-panel/index.js +1 -1
  480. package/tabs/index.cjs +1 -1
  481. package/tabs/index.js +1 -1
  482. package/tag/index.cjs +1 -1
  483. package/tag/index.js +1 -1
  484. package/tag-group/index.cjs +1 -1
  485. package/tag-group/index.js +1 -1
  486. package/text-anchor/index.cjs +10 -7
  487. package/text-anchor/index.js +10 -7
  488. package/text-area/index.cjs +1 -1
  489. package/text-area/index.js +1 -1
  490. package/text-field/index.cjs +1 -1
  491. package/text-field/index.js +1 -1
  492. package/time-picker/index.cjs +1 -1
  493. package/time-picker/index.js +1 -1
  494. package/toggletip/index.cjs +1 -1
  495. package/toggletip/index.js +1 -1
  496. package/tooltip/index.cjs +1 -1
  497. package/tooltip/index.js +1 -1
  498. package/tree-item/index.cjs +1 -1
  499. package/tree-item/index.js +1 -1
  500. package/tree-view/index.cjs +1 -1
  501. package/tree-view/index.js +1 -1
  502. package/video-player/index.cjs +1 -1
  503. package/video-player/index.js +1 -1
  504. package/vivid.api.json +2848 -7818
  505. package/shared/Reflector.cjs +0 -71
  506. package/shared/Reflector.js +0 -69
  507. package/shared/definition64.cjs +0 -2164
  508. package/shared/definition64.js +0 -2159
  509. package/shared/design-system/index.d.ts +0 -3
  510. package/shared/icon.cjs +0 -261
  511. package/shared/icon.js +0 -258
  512. package/shared/index2.cjs +0 -11
  513. package/shared/index2.js +0 -9
  514. package/shared/listbox-option.cjs +0 -204
  515. package/shared/listbox-option.js +0 -201
  516. package/shared/radio.cjs +0 -126
  517. package/shared/radio.js +0 -124
  518. package/shared/select.options.cjs +0 -12
  519. package/shared/select.options.js +0 -10
  520. package/shared/start-end.cjs +0 -52
  521. package/shared/start-end.js +0 -50
  522. package/shared/tree-item.cjs +0 -154
  523. package/shared/tree-item.js +0 -151
@@ -1,16 +1,17 @@
1
- import { F as FoundationElement, a as attr, h as html, r as registerFactory } from './index.js';
2
- import { a as iconRegistries } from './definition27.js';
3
- import { c as Button, a as buttonRegistries } from './definition11.js';
1
+ import { i as iconDefinition } from './definition27.js';
2
+ import { B as Button, b as buttonDefinition } from './definition11.js';
3
+ import { a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './defineVividComponent.js';
4
4
  import { C as Connotation } from './enums.js';
5
5
  import { a as applyMixinsWithObservables } from './applyMixinsWithObservables.js';
6
6
  import { F as FormAssociated } from './form-associated.js';
7
+ import { V as VividElement } from './vivid-element.js';
7
8
  import { e as errorText, f as formElements, a as FormElementHelperText, g as getFeedbackTemplate } from './form-elements.js';
8
9
  import { L as Localized } from './localized.js';
9
10
  import { w as when } from './when.js';
10
11
  import { r as ref } from './ref.js';
11
12
  import { c as classNames } from './class-names.js';
12
13
 
13
- const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover{border-style:solid;background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{color:var(--vvd-color-alert-500);font:var(--vvd-typography-base-condensed);margin-block-start:4px}.dz-preview:not(.dz-error) .dz-error-message{display:none}.dz-preview.dz-error{border:1px solid var(--vvd-color-alert-500)}.dz-preview.dz-error .dz-details .dz-size,.dz-preview.dz-error .dz-progress{display:none}.dz-preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:empty{display:none}";
14
+ const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover,.control:active,.control:focus-visible{background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{color:var(--vvd-color-alert-500);font:var(--vvd-typography-base-condensed);margin-block-start:4px}.dz-preview:not(.dz-error) .dz-error-message{display:none}.dz-preview.dz-error{border:1px solid var(--vvd-color-alert-500)}.dz-preview.dz-error .dz-details .dz-size,.dz-preview.dz-error .dz-progress{display:none}.dz-preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}.preview-list{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.preview-list{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.preview-list ::-webkit-scrollbar{width:4px}.preview-list ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.preview-list ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-thumb-color)}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:empty{display:none}";
14
15
 
15
16
  var objectExtend = extend;
16
17
 
@@ -2138,7 +2139,7 @@ function $3ed269f2f0fb224b$var$__guardMethod__(obj, methodName, transform) {
2138
2139
  else return undefined;
2139
2140
  }
2140
2141
 
2141
- class _FilePicker extends FoundationElement {
2142
+ class _FilePicker extends VividElement {
2142
2143
  }
2143
2144
  class FormAssociatedFilePicker extends FormAssociated(_FilePicker) {
2144
2145
  constructor() {
@@ -2253,6 +2254,18 @@ let FilePicker = class extends FormAssociatedFilePicker {
2253
2254
  }
2254
2255
  __privateGet(this, _dropzone).options.acceptedFiles = newValue;
2255
2256
  }
2257
+ invalidFileTypeErrorChanged(_oldValue, newValue) {
2258
+ if (__privateGet(this, _dropzone))
2259
+ __privateGet(this, _dropzone).options.dictInvalidFileType = newValue || this.locale.filePicker.invalidFileTypeError;
2260
+ }
2261
+ maxFilesExceededErrorChanged(_oldValue, newValue) {
2262
+ if (__privateGet(this, _dropzone))
2263
+ __privateGet(this, _dropzone).options.dictMaxFilesExceeded = newValue || this.locale.filePicker.maxFilesExceededError;
2264
+ }
2265
+ fileTooBigErrorChanged(_oldValue, newValue) {
2266
+ if (__privateGet(this, _dropzone))
2267
+ __privateGet(this, _dropzone).options.dictFileTooBig = newValue || this.locale.filePicker.fileTooBigError;
2268
+ }
2256
2269
  nameChanged(previous, next) {
2257
2270
  super.nameChanged(previous, next);
2258
2271
  __privateMethod(this, _FilePicker_instances, updateFormValue_fn).call(this);
@@ -2276,9 +2289,9 @@ let FilePicker = class extends FormAssociatedFilePicker {
2276
2289
  previewsContainer: previewList,
2277
2290
  createImageThumbnails: false,
2278
2291
  previewTemplate: generateFilePreviewTemplate(this.buttonTag, this.locale),
2279
- dictInvalidFileType: this.locale.filePicker.invalidFileTypeError,
2280
- dictMaxFilesExceeded: this.locale.filePicker.maxFilesExceededError,
2281
- dictFileTooBig: this.locale.filePicker.fileTooBigError,
2292
+ dictInvalidFileType: this.invalidFileTypeError || this.locale.filePicker.invalidFileTypeError,
2293
+ dictMaxFilesExceeded: this.maxFilesExceededError || this.locale.filePicker.maxFilesExceededError,
2294
+ dictFileTooBig: this.fileTooBigError || this.locale.filePicker.fileTooBigError,
2282
2295
  error: __privateGet(this, _localizeErrorMessage)
2283
2296
  }));
2284
2297
  __privateGet(this, _localizeFileSizeNumberAndUnits).call(this);
@@ -2421,6 +2434,15 @@ __decorateClass([
2421
2434
  __decorateClass([
2422
2435
  attr
2423
2436
  ], FilePicker.prototype, "size", 2);
2437
+ __decorateClass([
2438
+ attr({ attribute: "invalid-file-type-error" })
2439
+ ], FilePicker.prototype, "invalidFileTypeError", 2);
2440
+ __decorateClass([
2441
+ attr({ attribute: "max-files-exceeded-error" })
2442
+ ], FilePicker.prototype, "maxFilesExceededError", 2);
2443
+ __decorateClass([
2444
+ attr({ attribute: "file-too-big-error" })
2445
+ ], FilePicker.prototype, "fileTooBigError", 2);
2424
2446
  FilePicker = __decorateClass([
2425
2447
  errorText,
2426
2448
  formElements
@@ -2456,19 +2478,18 @@ const FilePickerTemplate = (context) => {
2456
2478
  `;
2457
2479
  };
2458
2480
 
2459
- const filePickerDefinition = FilePicker.compose({
2460
- baseName: "file-picker",
2461
- template: FilePickerTemplate,
2462
- styles,
2463
- shadowOptions: {
2464
- delegatesFocus: true
2481
+ const filePickerDefinition = defineVividComponent(
2482
+ "file-picker",
2483
+ FilePicker,
2484
+ FilePickerTemplate,
2485
+ [iconDefinition, buttonDefinition],
2486
+ {
2487
+ styles,
2488
+ shadowOptions: {
2489
+ delegatesFocus: true
2490
+ }
2465
2491
  }
2466
- });
2467
- const filePickerRegistries = [
2468
- filePickerDefinition(),
2469
- ...iconRegistries,
2470
- ...buttonRegistries
2471
- ];
2472
- const registerFilePicker = registerFactory(filePickerRegistries);
2492
+ );
2493
+ const registerFilePicker = createRegisterFunction(filePickerDefinition);
2473
2494
 
2474
- export { filePickerRegistries as a, filePickerDefinition as f, registerFilePicker as r };
2495
+ export { filePickerDefinition as f, registerFilePicker as r };
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index.cjs');
4
- const definition = require('./definition63.cjs');
3
+ const definition = require('./definition62.cjs');
4
+ const defineVividComponent = require('./defineVividComponent.cjs');
5
+ const vividElement = require('./vivid-element.cjs');
5
6
  const classNames = require('./class-names.cjs');
6
7
 
7
8
  const styles = ".base{z-index:1;block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));font:var(--vvd-typography-heading-4);inline-size:100%}.base .header-content{display:inline-flex;align-items:center;column-gap:4px}.container{display:flex;box-sizing:border-box;justify-content:space-between;background-color:var(--header-bg-color, var(--vvd-color-canvas));block-size:inherit;color:var(--vvd-color-canvas-text);column-gap:12px;padding-block:8px;padding-inline:16px}.container[part~=vvd-theme-alternate]{color-scheme:var(--vvd-color-scheme)}.app-content{--vvd-header-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2)) + 1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }";
@@ -15,7 +16,7 @@ var __decorateClass = (decorators, target, key, kind) => {
15
16
  if (result) __defProp(target, key, result);
16
17
  return result;
17
18
  };
18
- class Header extends index.FoundationElement {
19
+ class Header extends vividElement.VividElement {
19
20
  constructor() {
20
21
  super(...arguments);
21
22
  this.elevationShadow = false;
@@ -23,13 +24,13 @@ class Header extends index.FoundationElement {
23
24
  }
24
25
  }
25
26
  __decorateClass([
26
- index.attr({
27
+ defineVividComponent.attr({
27
28
  attribute: "elevation-shadow",
28
29
  mode: "boolean"
29
30
  })
30
31
  ], Header.prototype, "elevationShadow");
31
32
  __decorateClass([
32
- index.attr({
33
+ defineVividComponent.attr({
33
34
  mode: "boolean"
34
35
  })
35
36
  ], Header.prototype, "alternate");
@@ -37,7 +38,7 @@ __decorateClass([
37
38
  const getPartAlternate = ({ alternate }) => classNames.classNames(["vvd-theme-alternate", Boolean(alternate)]);
38
39
  const headerTemplate = (context) => {
39
40
  const elevationTag = context.tagFor(definition.Elevation);
40
- return index.html`
41
+ return defineVividComponent.html`
41
42
  <${elevationTag} dp="4" ?no-shadow=${(x) => !x.elevationShadow}>
42
43
  <header class="base" part="base">
43
44
  <!-- a container is needed to distinguish the surface background color of the
@@ -58,14 +59,16 @@ const headerTemplate = (context) => {
58
59
  `;
59
60
  };
60
61
 
61
- const headerDefinition = Header.compose({
62
- baseName: "header",
63
- template: headerTemplate,
64
- styles
65
- });
66
- const headerRegistries = [headerDefinition(), ...definition.elevationRegistries];
67
- const registerHeader = index.registerFactory(headerRegistries);
62
+ const headerDefinition = defineVividComponent.defineVividComponent(
63
+ "header",
64
+ Header,
65
+ headerTemplate,
66
+ [definition.elevationDefinition],
67
+ {
68
+ styles
69
+ }
70
+ );
71
+ const registerHeader = defineVividComponent.createRegisterFunction(headerDefinition);
68
72
 
69
73
  exports.headerDefinition = headerDefinition;
70
- exports.headerRegistries = headerRegistries;
71
74
  exports.registerHeader = registerHeader;
@@ -1,5 +1,6 @@
1
- import { F as FoundationElement, a as attr, h as html, r as registerFactory } from './index.js';
2
- import { E as Elevation, e as elevationRegistries } from './definition63.js';
1
+ import { E as Elevation, e as elevationDefinition } from './definition62.js';
2
+ import { a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './defineVividComponent.js';
3
+ import { V as VividElement } from './vivid-element.js';
3
4
  import { c as classNames } from './class-names.js';
4
5
 
5
6
  const styles = ".base{z-index:1;block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));font:var(--vvd-typography-heading-4);inline-size:100%}.base .header-content{display:inline-flex;align-items:center;column-gap:4px}.container{display:flex;box-sizing:border-box;justify-content:space-between;background-color:var(--header-bg-color, var(--vvd-color-canvas));block-size:inherit;color:var(--vvd-color-canvas-text);column-gap:12px;padding-block:8px;padding-inline:16px}.container[part~=vvd-theme-alternate]{color-scheme:var(--vvd-color-scheme)}.app-content{--vvd-header-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2)) + 1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }";
@@ -13,7 +14,7 @@ var __decorateClass = (decorators, target, key, kind) => {
13
14
  if (result) __defProp(target, key, result);
14
15
  return result;
15
16
  };
16
- class Header extends FoundationElement {
17
+ class Header extends VividElement {
17
18
  constructor() {
18
19
  super(...arguments);
19
20
  this.elevationShadow = false;
@@ -56,12 +57,15 @@ const headerTemplate = (context) => {
56
57
  `;
57
58
  };
58
59
 
59
- const headerDefinition = Header.compose({
60
- baseName: "header",
61
- template: headerTemplate,
62
- styles
63
- });
64
- const headerRegistries = [headerDefinition(), ...elevationRegistries];
65
- const registerHeader = registerFactory(headerRegistries);
60
+ const headerDefinition = defineVividComponent(
61
+ "header",
62
+ Header,
63
+ headerTemplate,
64
+ [elevationDefinition],
65
+ {
66
+ styles
67
+ }
68
+ );
69
+ const registerHeader = createRegisterFunction(headerDefinition);
66
70
 
67
- export { headerRegistries as a, headerDefinition as h, registerHeader as r };
71
+ export { headerDefinition as h, registerHeader as r };
@@ -1,40 +1,293 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index.cjs');
4
- const icon = require('./icon.cjs');
5
- const classNames = require('./class-names.cjs');
3
+ const defineVividComponent = require('./defineVividComponent.cjs');
4
+ const vividElement = require('./vivid-element.cjs');
5
+ const _has = require('./_has.cjs');
6
6
  const when = require('./when.cjs');
7
+ const classNames = require('./class-names.cjs');
7
8
 
8
9
  const styles = ":host{display:inline-block;vertical-align:sub}.control.connotation-accent{--_connotation-color-primary: var(--vvd-icon-accent-primary, var(--vvd-color-canvas-text))}.control.connotation-announcement{--_connotation-color-primary: var(--vvd-icon-announcement-primary, var(--vvd-color-announcement-500))}.control.connotation-cta{--_connotation-color-primary: var(--vvd-icon-cta-primary, var(--vvd-color-cta-500))}.control.connotation-success{--_connotation-color-primary: var(--vvd-icon-success-primary, var(--vvd-color-success-500))}.control.connotation-warning{--_connotation-color-primary: var(--vvd-icon-warning-primary, var(--vvd-color-warning-300))}.control.connotation-alert{--_connotation-color-primary: var(--vvd-icon-alert-primary, var(--vvd-color-alert-500))}.control.connotation-information{--_connotation-color-primary: var(--vvd-icon-information-primary, var(--vvd-color-information-500))}.control.size--6{--_icon-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2)) - (1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2)))) }.control.size--5{--_icon-block-size: calc(1px*(20 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--4{--_icon-block-size: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--3{--_icon-block-size: calc(1px*(28 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--2{--_icon-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--1{--_icon-block-size: calc(1px*(36 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-0{--_icon-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-1{--_icon-block-size: calc(1px*(44 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-2{--_icon-block-size: calc(1px*(48 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-3{--_icon-block-size: calc(1px*(52 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-4{--_icon-block-size: calc(1px*(56 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-5{--_icon-block-size: calc(1px*(60 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control:not(.size--6,.size--5,.size--4,.size--3,.size--2,.size--1,.size-0,.size-1,.size-2,.size-3,.size-4,.size-5){--_icon-block-size: 1em}.control{display:flex;margin:unset;block-size:var(--_icon-block-size);color:currentColor;contain:strict;inline-size:var(--_icon-block-size)}.control[class*=connotation]{color:var(--_connotation-color-primary)}slot,svg,::slotted(:where(svg,img)){margin:auto;block-size:inherit;inline-size:inherit}";
9
10
 
11
+ function _arity(n, fn) {
12
+ /* eslint-disable no-unused-vars */
13
+ switch (n) {
14
+ case 0:
15
+ return function () {
16
+ return fn.apply(this, arguments);
17
+ };
18
+
19
+ case 1:
20
+ return function (a0) {
21
+ return fn.apply(this, arguments);
22
+ };
23
+
24
+ case 2:
25
+ return function (a0, a1) {
26
+ return fn.apply(this, arguments);
27
+ };
28
+
29
+ case 3:
30
+ return function (a0, a1, a2) {
31
+ return fn.apply(this, arguments);
32
+ };
33
+
34
+ case 4:
35
+ return function (a0, a1, a2, a3) {
36
+ return fn.apply(this, arguments);
37
+ };
38
+
39
+ case 5:
40
+ return function (a0, a1, a2, a3, a4) {
41
+ return fn.apply(this, arguments);
42
+ };
43
+
44
+ case 6:
45
+ return function (a0, a1, a2, a3, a4, a5) {
46
+ return fn.apply(this, arguments);
47
+ };
48
+
49
+ case 7:
50
+ return function (a0, a1, a2, a3, a4, a5, a6) {
51
+ return fn.apply(this, arguments);
52
+ };
53
+
54
+ case 8:
55
+ return function (a0, a1, a2, a3, a4, a5, a6, a7) {
56
+ return fn.apply(this, arguments);
57
+ };
58
+
59
+ case 9:
60
+ return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
61
+ return fn.apply(this, arguments);
62
+ };
63
+
64
+ case 10:
65
+ return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
66
+ return fn.apply(this, arguments);
67
+ };
68
+
69
+ default:
70
+ throw new Error('First argument to _arity must be a non-negative integer no greater than ten');
71
+ }
72
+ }
73
+
74
+ function _identity(x) {
75
+ return x;
76
+ }
77
+
78
+ /**
79
+ * A function that does nothing but return the parameter supplied to it. Good
80
+ * as a default or placeholder function.
81
+ *
82
+ * @func
83
+ * @memberOf R
84
+ * @since v0.1.0
85
+ * @category Function
86
+ * @sig a -> a
87
+ * @param {*} x The value to return.
88
+ * @return {*} The input value, `x`.
89
+ * @example
90
+ *
91
+ * R.identity(1); //=> 1
92
+ *
93
+ * const obj = {};
94
+ * R.identity(obj) === obj; //=> true
95
+ * @symb R.identity(a) = a
96
+ */
97
+
98
+ var identity =
99
+ /*#__PURE__*/
100
+ _has._curry1(_identity);
101
+
102
+ /**
103
+ * Creates a new function that, when invoked, caches the result of calling `fn`
104
+ * for a given argument set and returns the result. Subsequent calls to the
105
+ * memoized `fn` with the same argument set will not result in an additional
106
+ * call to `fn`; instead, the cached result for that set of arguments will be
107
+ * returned.
108
+ *
109
+ * Care must be taken when implementing key generation to avoid key collision,
110
+ * or if tracking references, memory leaks and mutating arguments.
111
+ *
112
+ * @func
113
+ * @memberOf R
114
+ * @since v0.24.0
115
+ * @category Function
116
+ * @sig (*... -> String) -> (*... -> a) -> (*... -> a)
117
+ * @param {Function} fn The function to generate the cache key.
118
+ * @param {Function} fn The function to memoize.
119
+ * @return {Function} Memoized version of `fn`.
120
+ * @example
121
+ *
122
+ * let count = 0;
123
+ * const factorial = R.memoizeWith(Number, n => {
124
+ * count += 1;
125
+ * return R.product(R.range(1, n + 1));
126
+ * });
127
+ * factorial(5); //=> 120
128
+ * factorial(5); //=> 120
129
+ * factorial(5); //=> 120
130
+ * count; //=> 1
131
+ */
132
+
133
+ var memoizeWith =
134
+ /*#__PURE__*/
135
+ _has._curry2(function memoizeWith(mFn, fn) {
136
+ var cache = {};
137
+ return _arity(fn.length, function () {
138
+ var key = mFn.apply(this, arguments);
139
+
140
+ if (!_has._has(key, cache)) {
141
+ cache[key] = fn.apply(this, arguments);
142
+ }
143
+
144
+ return cache[key];
145
+ });
146
+ });
147
+
148
+ const ICONS_BASE_URL = "https://icon.resources.vonage.com";
149
+ const ICONS_VERSION = "4.6.2";
150
+
151
+ const numberConverter = {
152
+ toView(value) {
153
+ if (value === void 0) {
154
+ return null;
155
+ }
156
+ return value.toString();
157
+ },
158
+ fromView(value) {
159
+ if (typeof value === "string") {
160
+ value = parseFloat(value.toString());
161
+ }
162
+ if (typeof value !== "number") {
163
+ return void 0;
164
+ }
165
+ return isNaN(value) || !isFinite(value) ? void 0 : value;
166
+ }
167
+ };
168
+
169
+ const PLACEHOLDER_ICON = `<svg width="80%" height="80%" viewBox="0 0 64 64">
170
+ <g>
171
+ <g stroke-width="6" stroke-linecap="round" fill="none">
172
+ <path stroke="currentColor" d="M4,32 c0,15,12,28,28,28c8,0,16-4,21-9">
173
+ </path>
174
+ <path d="M60,32 C60,16,47.464,4,32,4S4,16,4,32">
175
+ </path>
176
+ <animateTransform values="0,32,32;360,32,32" attributeName="transform" type="rotate" repeatCount="indefinite" dur="750ms">
177
+ </animateTransform>
178
+ </g>
179
+ </g>
180
+ </svg>`;
181
+
182
+ var __defProp = Object.defineProperty;
183
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
184
+ var __decorateClass = (decorators, target, key, kind) => {
185
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
186
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
187
+ if (decorator = decorators[i])
188
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
189
+ if (kind && result) __defProp(target, key, result);
190
+ return result;
191
+ };
192
+ const PLACEHOLDER_DELAY = 500;
193
+ const PLACEHOLDER_TIMEOUT = 2e3;
194
+ const baseUrlTemplate = (resource, version) => [ICONS_BASE_URL, `v${version}`, resource].join("/");
195
+ const assertIsValidResponse = ({ ok, headers }) => {
196
+ if (!ok || headers.get("content-type") !== "image/svg+xml") {
197
+ throw new Error("Something went wrong");
198
+ }
199
+ };
200
+ const extractSvg = (response) => {
201
+ assertIsValidResponse(response);
202
+ return response.text();
203
+ };
204
+ const loadSvg = (iconId, signal) => fetch(baseUrlTemplate([iconId, "svg"].join("."), ICONS_VERSION), {
205
+ signal
206
+ }).then(extractSvg);
207
+ const resolveIcon = memoizeWith(
208
+ identity,
209
+ (iconId, signal) => iconId.trim() ? loadSvg(iconId, signal) : Promise.resolve("")
210
+ );
211
+ class Icon extends vividElement.VividElement {
212
+ constructor() {
213
+ super(...arguments);
214
+ this.iconLoaded = false;
215
+ this.#abortController = null;
216
+ }
217
+ get iconUrl() {
218
+ return !this.name ? this._svg : baseUrlTemplate(`${this.name}.svg`, ICONS_VERSION);
219
+ }
220
+ #abortController;
221
+ async nameChanged() {
222
+ if (this.#abortController) {
223
+ this.#abortController.abort();
224
+ }
225
+ this.#abortController = new AbortController();
226
+ this._svg = void 0;
227
+ this.iconLoaded = false;
228
+ let timeout = setTimeout(() => {
229
+ this._svg = PLACEHOLDER_ICON;
230
+ timeout = setTimeout(() => {
231
+ if (this._svg === PLACEHOLDER_ICON) {
232
+ this._svg = void 0;
233
+ }
234
+ }, PLACEHOLDER_TIMEOUT);
235
+ }, PLACEHOLDER_DELAY);
236
+ await resolveIcon(this.name ? this.name : "", this.#abortController.signal).then((svg) => {
237
+ this._svg = svg;
238
+ }).catch(() => {
239
+ this._svg = void 0;
240
+ }).finally(() => {
241
+ clearTimeout(timeout);
242
+ this.iconLoaded = true;
243
+ });
244
+ }
245
+ }
246
+ __decorateClass([
247
+ defineVividComponent.attr
248
+ ], Icon.prototype, "connotation", 2);
249
+ __decorateClass([
250
+ defineVividComponent.attr({ converter: numberConverter })
251
+ ], Icon.prototype, "size", 2);
252
+ __decorateClass([
253
+ defineVividComponent.observable
254
+ ], Icon.prototype, "_svg", 2);
255
+ __decorateClass([
256
+ defineVividComponent.observable
257
+ ], Icon.prototype, "iconLoaded", 2);
258
+ __decorateClass([
259
+ defineVividComponent.attr
260
+ ], Icon.prototype, "name", 2);
261
+ __decorateClass([
262
+ defineVividComponent.volatile
263
+ ], Icon.prototype, "iconUrl", 1);
264
+
10
265
  const getClasses = ({ connotation, size }) => classNames.classNames(
11
266
  "control",
12
267
  [`connotation-${connotation}`, Boolean(connotation)],
13
268
  [`size-${size}`, typeof size === "number"]
14
269
  );
15
- const iconTemplate = () => index.html`
270
+ const iconTemplate = defineVividComponent.html`
16
271
  <figure class="${getClasses}" ?aria-busy="${(x) => !x.iconLoaded}">
17
272
  <slot>
18
273
  ${when.when(
19
274
  (x) => !x.iconLoaded,
20
- index.html`<img alt="${(x) => x.name}" src="${(x) => x.iconUrl}" />`
275
+ defineVividComponent.html`<img alt="${(x) => x.name}" src="${(x) => x.iconUrl}" />`
21
276
  )}
22
277
  ${when.when(
23
278
  (x) => x.iconLoaded && x._svg,
24
- (x) => index.html`${x._svg}`
279
+ (x) => defineVividComponent.html`${x._svg}`
25
280
  )}
26
281
  </slot>
27
282
  </figure>
28
283
  `;
29
284
 
30
- const iconDefinition = icon.Icon.compose({
31
- baseName: "icon",
32
- template: iconTemplate,
285
+ const iconDefinition = defineVividComponent.defineVividComponent("icon", Icon, iconTemplate, [], {
33
286
  styles
34
287
  });
35
- const iconRegistries = [iconDefinition()];
36
- const registerIcon = index.registerFactory(iconRegistries);
288
+ const registerIcon = defineVividComponent.createRegisterFunction(iconDefinition);
37
289
 
290
+ exports.Icon = Icon;
38
291
  exports.iconDefinition = iconDefinition;
39
- exports.iconRegistries = iconRegistries;
292
+ exports.memoizeWith = memoizeWith;
40
293
  exports.registerIcon = registerIcon;