@vonage/vivid 4.13.0 → 4.14.1

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 (512) hide show
  1. package/custom-elements.json +3088 -1610
  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 +3 -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.form-associated.d.ts +3 -2
  84. package/lib/file-picker/file-picker.template.d.ts +2 -3
  85. package/lib/header/definition.d.ts +1 -3
  86. package/lib/header/header.d.ts +2 -2
  87. package/lib/header/header.template.d.ts +2 -3
  88. package/lib/icon/definition.d.ts +1 -3
  89. package/lib/icon/icon.d.ts +2 -2
  90. package/lib/icon/icon.template.d.ts +1 -3
  91. package/lib/layout/definition.d.ts +1 -3
  92. package/lib/layout/layout.d.ts +2 -2
  93. package/lib/layout/layout.template.d.ts +1 -3
  94. package/lib/listbox/definition.d.ts +1 -3
  95. package/lib/listbox/listbox.template.d.ts +1 -3
  96. package/lib/menu/definition.d.ts +1 -11
  97. package/lib/menu/menu.d.ts +2 -2
  98. package/lib/menu/menu.template.d.ts +3 -3
  99. package/lib/menu-item/definition.d.ts +1 -3
  100. package/lib/menu-item/menu-item.d.ts +2 -2
  101. package/lib/menu-item/menu-item.template.d.ts +2 -3
  102. package/lib/nav/definition.d.ts +1 -3
  103. package/lib/nav/nav.d.ts +2 -2
  104. package/lib/nav/nav.template.d.ts +1 -3
  105. package/lib/nav-disclosure/definition.d.ts +1 -3
  106. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  107. package/lib/nav-disclosure/nav-disclosure.template.d.ts +2 -3
  108. package/lib/nav-item/definition.d.ts +1 -3
  109. package/lib/nav-item/nav-item.template.d.ts +2 -3
  110. package/lib/note/definition.d.ts +1 -3
  111. package/lib/note/note.d.ts +2 -2
  112. package/lib/note/note.template.d.ts +2 -3
  113. package/lib/number-field/definition.d.ts +1 -4
  114. package/lib/number-field/number-field.form-associated.d.ts +3 -2
  115. package/lib/number-field/number-field.template.d.ts +2 -3
  116. package/lib/option/definition.d.ts +1 -3
  117. package/lib/option/option.d.ts +3 -2
  118. package/lib/option/option.template.d.ts +2 -3
  119. package/lib/pagination/definition.d.ts +1 -3
  120. package/lib/pagination/pagination.d.ts +2 -2
  121. package/lib/pagination/pagination.template.d.ts +2 -3
  122. package/lib/popup/definition.d.ts +1 -3
  123. package/lib/popup/popup.template.d.ts +2 -3
  124. package/lib/progress/definition.d.ts +1 -3
  125. package/lib/progress/progress.d.ts +1 -1
  126. package/lib/progress/progress.template.d.ts +1 -4
  127. package/lib/progress-ring/definition.d.ts +1 -3
  128. package/lib/progress-ring/progress-ring.d.ts +1 -1
  129. package/lib/progress-ring/progress-ring.template.d.ts +1 -3
  130. package/lib/radio/definition.d.ts +1 -3
  131. package/lib/radio/radio.form-associated.d.ts +5 -2
  132. package/lib/radio/radio.template.d.ts +1 -3
  133. package/lib/radio-group/definition.d.ts +1 -11
  134. package/lib/radio-group/radio-group.d.ts +2 -2
  135. package/lib/radio-group/radio-group.template.d.ts +2 -3
  136. package/lib/range-slider/definition.d.ts +1 -3
  137. package/lib/range-slider/range-slider.form-associated.d.ts +3 -2
  138. package/lib/range-slider/range-slider.template.d.ts +2 -3
  139. package/lib/searchable-select/definition.d.ts +1 -4
  140. package/lib/searchable-select/option-tag.template.d.ts +2 -3
  141. package/lib/searchable-select/searchable-select.form-associated.d.ts +3 -2
  142. package/lib/searchable-select/searchable-select.template.d.ts +2 -3
  143. package/lib/select/definition.d.ts +1 -3
  144. package/lib/select/select.d.ts +14 -4
  145. package/lib/select/select.form-associated.d.ts +11 -0
  146. package/lib/select/select.template.d.ts +2 -3
  147. package/lib/selectable-box/definition.d.ts +1 -3
  148. package/lib/selectable-box/selectable-box.d.ts +2 -2
  149. package/lib/selectable-box/selectable-box.template.d.ts +2 -3
  150. package/lib/side-drawer/definition.d.ts +1 -3
  151. package/lib/side-drawer/side-drawer.d.ts +2 -2
  152. package/lib/side-drawer/side-drawer.template.d.ts +1 -3
  153. package/lib/slider/definition.d.ts +1 -3
  154. package/lib/slider/slider.form-associated.d.ts +3 -2
  155. package/lib/slider/slider.template.d.ts +3 -4
  156. package/lib/split-button/definition.d.ts +1 -1
  157. package/lib/split-button/split-button.d.ts +2 -2
  158. package/lib/split-button/split-button.template.d.ts +2 -3
  159. package/lib/switch/definition.d.ts +1 -3
  160. package/lib/switch/switch.form-associated.d.ts +3 -2
  161. package/lib/switch/switch.template.d.ts +1 -3
  162. package/lib/tab/definition.d.ts +1 -3
  163. package/lib/tab/tab.d.ts +2 -2
  164. package/lib/tab/tab.template.d.ts +2 -2
  165. package/lib/tab-panel/definition.d.ts +1 -3
  166. package/lib/tab-panel/tab-panel.d.ts +2 -2
  167. package/lib/tab-panel/tab-panel.template.d.ts +1 -1
  168. package/lib/tabs/definition.d.ts +1 -3
  169. package/lib/tabs/tabs.d.ts +3 -7
  170. package/lib/tabs/tabs.template.d.ts +1 -1
  171. package/lib/tag/definition.d.ts +1 -4
  172. package/lib/tag/tag.d.ts +2 -2
  173. package/lib/tag/tag.template.d.ts +2 -3
  174. package/lib/tag-group/definition.d.ts +1 -3
  175. package/lib/tag-group/tag-group.d.ts +2 -2
  176. package/lib/tag-group/tag-group.template.d.ts +1 -3
  177. package/lib/text-anchor/definition.d.ts +1 -3
  178. package/lib/text-anchor/text-anchor.d.ts +4 -3
  179. package/lib/text-anchor/text-anchor.template.d.ts +2 -3
  180. package/lib/text-area/definition.d.ts +1 -3
  181. package/lib/text-area/text-area.d.ts +1 -1
  182. package/lib/text-area/{text-field.form-associated.d.ts → text-area.form-associated.d.ts} +3 -2
  183. package/lib/text-area/text-area.template.d.ts +2 -3
  184. package/lib/text-field/definition.d.ts +1 -3
  185. package/lib/text-field/text-field.form-associated.d.ts +3 -2
  186. package/lib/text-field/text-field.template.d.ts +2 -3
  187. package/lib/time-picker/definition.d.ts +1 -3
  188. package/lib/time-picker/time-picker.form-associated.d.ts +3 -2
  189. package/lib/time-picker/time-picker.template.d.ts +2 -2
  190. package/lib/toggletip/definition.d.ts +1 -3
  191. package/lib/toggletip/toggletip.d.ts +2 -2
  192. package/lib/toggletip/toggletip.template.d.ts +2 -3
  193. package/lib/tooltip/definition.d.ts +1 -3
  194. package/lib/tooltip/tooltip.d.ts +2 -2
  195. package/lib/tooltip/tooltip.template.d.ts +2 -3
  196. package/lib/tree-item/definition.d.ts +1 -3
  197. package/lib/tree-item/tree-item.d.ts +11 -2
  198. package/lib/tree-item/tree-item.template.d.ts +3 -3
  199. package/lib/tree-view/definition.d.ts +1 -3
  200. package/lib/tree-view/tree-view.d.ts +16 -2
  201. package/lib/tree-view/tree-view.template.d.ts +1 -1
  202. package/lib/video-player/definition.d.ts +1 -3
  203. package/lib/video-player/video-player.d.ts +2 -2
  204. package/lib/video-player/video-player.template.d.ts +1 -3
  205. package/listbox/index.cjs +37 -39
  206. package/listbox/index.js +37 -39
  207. package/menu/index.cjs +1 -1
  208. package/menu/index.js +1 -1
  209. package/nav/index.cjs +1 -1
  210. package/nav/index.js +1 -1
  211. package/nav-disclosure/index.cjs +1 -1
  212. package/nav-disclosure/index.js +1 -1
  213. package/nav-item/index.cjs +1 -1
  214. package/nav-item/index.js +1 -1
  215. package/note/index.cjs +1 -1
  216. package/note/index.js +1 -1
  217. package/number-field/index.cjs +1 -1
  218. package/number-field/index.js +1 -1
  219. package/option/index.cjs +1 -1
  220. package/option/index.js +1 -1
  221. package/package.json +1 -1
  222. package/pagination/index.cjs +1 -1
  223. package/pagination/index.js +1 -1
  224. package/popup/index.cjs +1 -1
  225. package/popup/index.js +1 -1
  226. package/progress/index.cjs +1 -1
  227. package/progress/index.js +1 -1
  228. package/progress-ring/index.cjs +1 -1
  229. package/progress-ring/index.js +1 -1
  230. package/radio/index.cjs +1 -1
  231. package/radio/index.js +1 -1
  232. package/radio-group/index.cjs +1 -1
  233. package/radio-group/index.js +1 -1
  234. package/range-slider/index.cjs +1 -1
  235. package/range-slider/index.js +1 -1
  236. package/searchable-select/index.cjs +1 -1
  237. package/searchable-select/index.js +1 -1
  238. package/select/index.cjs +1 -1
  239. package/select/index.js +1 -1
  240. package/selectable-box/index.cjs +1 -1
  241. package/selectable-box/index.js +1 -1
  242. package/shared/affix.cjs +10 -10
  243. package/shared/affix.js +2 -2
  244. package/shared/anchor.cjs +59 -0
  245. package/shared/anchor.js +57 -0
  246. package/shared/anchored.cjs +6 -6
  247. package/shared/anchored.js +2 -2
  248. package/shared/apply-mixins.cjs +15 -17
  249. package/shared/apply-mixins.js +15 -17
  250. package/shared/apply-mixins2.cjs +25 -0
  251. package/shared/apply-mixins2.js +23 -0
  252. package/shared/applyMixinsWithObservables.cjs +4 -4
  253. package/shared/applyMixinsWithObservables.js +2 -2
  254. package/shared/aria-global.cjs +86 -67
  255. package/shared/aria-global.js +86 -67
  256. package/shared/aria-global2.cjs +68 -86
  257. package/shared/aria-global2.js +68 -86
  258. package/shared/base-progress.cjs +69 -63
  259. package/shared/base-progress.js +69 -63
  260. package/shared/breadcrumb-item.cjs +6 -58
  261. package/shared/breadcrumb-item.js +3 -55
  262. package/shared/button.cjs +177 -0
  263. package/shared/button.js +175 -0
  264. package/shared/calendar-event.cjs +9 -9
  265. package/shared/calendar-event.js +2 -2
  266. package/shared/children.cjs +2 -2
  267. package/shared/children.js +1 -1
  268. package/shared/date-picker/date-picker-base.form-associated.d.ts +3 -2
  269. package/shared/date-picker/date-picker-base.template.d.ts +2 -3
  270. package/shared/definition.cjs +25 -24
  271. package/shared/definition.js +16 -14
  272. package/shared/definition10.cjs +14 -12
  273. package/shared/definition10.js +14 -11
  274. package/shared/definition11.cjs +52 -248
  275. package/shared/definition11.js +24 -218
  276. package/shared/definition12.cjs +18 -14
  277. package/shared/definition12.js +17 -12
  278. package/shared/definition13.cjs +19 -19
  279. package/shared/definition13.js +10 -9
  280. package/shared/definition14.cjs +35 -38
  281. package/shared/definition14.js +15 -17
  282. package/shared/definition15.cjs +27 -26
  283. package/shared/definition15.js +16 -14
  284. package/shared/definition16.cjs +480 -612
  285. package/shared/definition16.js +473 -604
  286. package/shared/definition17.cjs +933 -1113
  287. package/shared/definition17.js +911 -1090
  288. package/shared/definition18.cjs +16 -20
  289. package/shared/definition18.js +19 -22
  290. package/shared/definition19.cjs +26 -30
  291. package/shared/definition19.js +21 -24
  292. package/shared/definition2.cjs +19 -22
  293. package/shared/definition2.js +20 -22
  294. package/shared/definition20.cjs +50 -52
  295. package/shared/definition20.js +34 -35
  296. package/shared/definition21.cjs +43 -47
  297. package/shared/definition21.js +19 -22
  298. package/shared/definition22.cjs +15 -13
  299. package/shared/definition22.js +14 -11
  300. package/shared/definition23.cjs +21 -20
  301. package/shared/definition23.js +14 -12
  302. package/shared/definition24.cjs +21 -173
  303. package/shared/definition24.js +18 -169
  304. package/shared/definition25.cjs +26 -28
  305. package/shared/definition25.js +18 -19
  306. package/shared/definition26.cjs +16 -14
  307. package/shared/definition26.js +14 -11
  308. package/shared/definition27.cjs +264 -12
  309. package/shared/definition27.js +261 -10
  310. package/shared/definition28.cjs +19 -17
  311. package/shared/definition28.js +15 -12
  312. package/shared/definition29.cjs +142 -68
  313. package/shared/definition29.js +101 -29
  314. package/shared/definition3.cjs +20 -16
  315. package/shared/definition3.js +16 -11
  316. package/shared/definition30.cjs +98 -76
  317. package/shared/definition30.js +97 -74
  318. package/shared/definition31.cjs +24 -97
  319. package/shared/definition31.js +25 -97
  320. package/shared/definition32.cjs +9 -25
  321. package/shared/definition32.js +8 -23
  322. package/shared/definition33.cjs +52 -14
  323. package/shared/definition33.js +51 -12
  324. package/shared/definition34.cjs +639 -34
  325. package/shared/definition34.js +636 -30
  326. package/shared/definition35.cjs +203 -596
  327. package/shared/definition35.js +197 -591
  328. package/shared/definition36.cjs +197 -233
  329. package/shared/definition36.js +192 -226
  330. package/shared/definition37.cjs +79 -206
  331. package/shared/definition37.js +75 -202
  332. package/shared/definition38.cjs +50 -56
  333. package/shared/definition38.js +48 -52
  334. package/shared/definition39.cjs +259 -56
  335. package/shared/definition39.js +258 -54
  336. package/shared/definition4.cjs +32 -35
  337. package/shared/definition4.js +19 -21
  338. package/shared/definition40.cjs +156 -225
  339. package/shared/definition40.js +152 -221
  340. package/shared/definition41.cjs +626 -36
  341. package/shared/definition41.js +625 -34
  342. package/shared/definition42.cjs +974 -487
  343. package/shared/definition42.js +971 -482
  344. package/shared/definition43.cjs +725 -932
  345. package/shared/definition43.js +713 -918
  346. package/shared/definition44.cjs +115 -734
  347. package/shared/definition44.js +113 -731
  348. package/shared/definition45.cjs +92 -116
  349. package/shared/definition45.js +92 -115
  350. package/shared/definition46.cjs +468 -89
  351. package/shared/definition46.js +465 -86
  352. package/shared/definition47.cjs +118 -470
  353. package/shared/definition47.js +115 -465
  354. package/shared/definition48.cjs +113 -120
  355. package/shared/definition48.js +111 -117
  356. package/shared/definition49.cjs +16 -134
  357. package/shared/definition49.js +15 -132
  358. package/shared/definition5.cjs +47 -49
  359. package/shared/definition5.js +18 -19
  360. package/shared/definition50.cjs +111 -15
  361. package/shared/definition50.js +109 -12
  362. package/shared/definition51.cjs +862 -84
  363. package/shared/definition51.js +858 -79
  364. package/shared/definition52.cjs +30 -873
  365. package/shared/definition52.js +28 -870
  366. package/shared/definition53.cjs +125 -28
  367. package/shared/definition53.js +123 -25
  368. package/shared/definition54.cjs +267 -107
  369. package/shared/definition54.js +261 -100
  370. package/shared/definition55.cjs +63 -278
  371. package/shared/definition55.js +61 -275
  372. package/shared/definition56.cjs +867 -76
  373. package/shared/definition56.js +866 -74
  374. package/shared/definition57.cjs +107 -826
  375. package/shared/definition57.js +105 -823
  376. package/shared/definition58.cjs +73 -100
  377. package/shared/definition58.js +69 -95
  378. package/shared/definition59.cjs +180 -106
  379. package/shared/definition59.js +174 -101
  380. package/shared/definition6.cjs +22 -21
  381. package/shared/definition6.js +14 -12
  382. package/shared/definition60.cjs +272 -70
  383. package/shared/definition60.js +272 -69
  384. package/shared/definition61.cjs +66154 -271
  385. package/shared/definition61.js +66153 -269
  386. package/shared/definition62.cjs +38 -66173
  387. package/shared/definition62.js +35 -66170
  388. package/shared/definition63.cjs +2153 -27
  389. package/shared/definition63.js +2150 -25
  390. package/shared/definition7.cjs +18 -15
  391. package/shared/definition7.js +13 -10
  392. package/shared/definition8.cjs +25 -27
  393. package/shared/definition8.js +16 -17
  394. package/shared/definition9.cjs +21 -21
  395. package/shared/definition9.js +18 -17
  396. package/shared/design-system/createRegisterFunction.d.ts +2 -0
  397. package/shared/design-system/defineVividComponent.d.ts +15 -0
  398. package/shared/{localization.js → direction.js} +11 -11
  399. package/shared/dom.cjs +0 -13
  400. package/shared/dom.js +1 -13
  401. package/shared/form-associated.cjs +422 -457
  402. package/shared/form-associated.js +422 -457
  403. package/shared/form-associated2.cjs +383 -0
  404. package/shared/form-associated2.js +381 -0
  405. package/shared/form-elements.cjs +15 -42
  406. package/shared/form-elements.js +2 -29
  407. package/shared/foundation/anchor/anchor.d.ts +1 -0
  408. package/shared/foundation/button/button.d.ts +3 -2
  409. package/shared/foundation/button/button.template.d.ts +2 -4
  410. package/shared/foundation/form-associated/form-associated.d.ts +51 -0
  411. package/shared/foundation/listbox/listbox.d.ts +22 -0
  412. package/shared/foundation/progress/base-progress.d.ts +9 -0
  413. package/shared/foundation/utilities/apply-mixins.d.ts +1 -0
  414. package/shared/foundation/vivid-element/vivid-element.d.ts +3 -0
  415. package/shared/index.cjs +7 -5097
  416. package/shared/index.js +7 -5079
  417. package/shared/key-codes.cjs +10 -0
  418. package/shared/key-codes.js +6 -1
  419. package/shared/key-codes2.cjs +1463 -6
  420. package/shared/key-codes2.js +1461 -4
  421. package/shared/listbox.cjs +427 -1195
  422. package/shared/listbox.js +411 -1176
  423. package/shared/listbox2.cjs +1267 -0
  424. package/shared/listbox2.js +1264 -0
  425. package/shared/localized.cjs +2 -2
  426. package/shared/localized.js +1 -1
  427. package/shared/numbers.cjs +12 -0
  428. package/shared/numbers.js +12 -1
  429. package/shared/patterns/affix.d.ts +2 -2
  430. package/shared/patterns/chevron.d.ts +2 -2
  431. package/shared/patterns/form-elements/form-elements.d.ts +2 -2
  432. package/shared/presentationDate.cjs +49 -49
  433. package/shared/presentationDate.js +6 -6
  434. package/shared/ref.cjs +2 -2
  435. package/shared/ref.js +1 -1
  436. package/shared/repeat.cjs +22 -22
  437. package/shared/repeat.js +1 -1
  438. package/shared/slider.template.cjs +5 -5
  439. package/shared/slider.template.js +2 -2
  440. package/shared/slotted.cjs +4 -4
  441. package/shared/slotted.js +1 -1
  442. package/shared/strings.cjs +0 -26
  443. package/shared/strings.js +1 -25
  444. package/shared/strings2.cjs +37 -0
  445. package/shared/strings2.js +33 -0
  446. package/shared/text-anchor.cjs +7 -89
  447. package/shared/text-anchor.js +4 -86
  448. package/shared/text-anchor.template.cjs +2 -2
  449. package/shared/text-anchor.template.js +1 -1
  450. package/shared/text-field2.cjs +28 -28
  451. package/shared/text-field2.js +5 -5
  452. package/shared/vivid-element.cjs +2616 -0
  453. package/shared/vivid-element.js +2595 -0
  454. package/side-drawer/index.cjs +1 -1
  455. package/side-drawer/index.js +1 -1
  456. package/slider/index.cjs +1 -1
  457. package/slider/index.js +1 -1
  458. package/split-button/index.cjs +1 -1
  459. package/split-button/index.js +1 -1
  460. package/styles/core/all.css +40 -1
  461. package/styles/core/theme.css +40 -1
  462. package/styles/core/typography.css +1 -1
  463. package/styles/tokens/theme-dark.css +25 -4
  464. package/styles/tokens/theme-light.css +25 -4
  465. package/styles/tokens/vivid-2-compat.css +1 -1
  466. package/switch/index.cjs +1 -1
  467. package/switch/index.js +1 -1
  468. package/tab/index.cjs +1 -1
  469. package/tab/index.js +1 -1
  470. package/tab-panel/index.cjs +1 -1
  471. package/tab-panel/index.js +1 -1
  472. package/tabs/index.cjs +1 -1
  473. package/tabs/index.js +1 -1
  474. package/tag/index.cjs +1 -1
  475. package/tag/index.js +1 -1
  476. package/tag-group/index.cjs +1 -1
  477. package/tag-group/index.js +1 -1
  478. package/text-anchor/index.cjs +10 -7
  479. package/text-anchor/index.js +10 -7
  480. package/text-area/index.cjs +1 -1
  481. package/text-area/index.js +1 -1
  482. package/text-field/index.cjs +1 -1
  483. package/text-field/index.js +1 -1
  484. package/time-picker/index.cjs +1 -1
  485. package/time-picker/index.js +1 -1
  486. package/toggletip/index.cjs +1 -1
  487. package/toggletip/index.js +1 -1
  488. package/tooltip/index.cjs +1 -1
  489. package/tooltip/index.js +1 -1
  490. package/tree-item/index.cjs +1 -1
  491. package/tree-item/index.js +1 -1
  492. package/tree-view/index.cjs +1 -1
  493. package/tree-view/index.js +1 -1
  494. package/video-player/index.cjs +1 -1
  495. package/video-player/index.js +1 -1
  496. package/vivid.api.json +2846 -7860
  497. package/shared/definition64.cjs +0 -2175
  498. package/shared/definition64.js +0 -2170
  499. package/shared/design-system/index.d.ts +0 -3
  500. package/shared/icon.cjs +0 -261
  501. package/shared/icon.js +0 -258
  502. package/shared/index2.cjs +0 -11
  503. package/shared/index2.js +0 -9
  504. package/shared/radio.cjs +0 -126
  505. package/shared/radio.js +0 -124
  506. package/shared/select.options.cjs +0 -12
  507. package/shared/select.options.js +0 -10
  508. package/shared/start-end.cjs +0 -52
  509. package/shared/start-end.js +0 -50
  510. package/shared/tree-item.cjs +0 -154
  511. package/shared/tree-item.js +0 -151
  512. package/shared/{localization.cjs → direction.cjs} +9 -9
@@ -1,58 +1,663 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index.cjs');
4
- const definition = require('./definition27.cjs');
5
- const applyMixins = require('./apply-mixins.cjs');
3
+ const definition = require('./definition11.cjs');
4
+ const definition$1 = require('./definition22.cjs');
5
+ const vividElement = require('./vivid-element.cjs');
6
+ const definition$2 = require('./definition27.cjs');
7
+ const applyMixinsWithObservables = require('./applyMixinsWithObservables.cjs');
8
+ const formAssociated$1 = require('./form-associated.cjs');
9
+ const keyCodes = require('./key-codes2.cjs');
10
+ const applyMixins = require('./apply-mixins2.cjs');
11
+ const formAssociated = require('./form-associated2.cjs');
12
+ const ariaGlobal = require('./aria-global2.cjs');
13
+ const keyCodes$1 = require('./key-codes.cjs');
14
+ const formElements = require('./form-elements.cjs');
6
15
  const affix = require('./affix.cjs');
16
+ const localized = require('./localized.cjs');
17
+ const enums = require('./enums.cjs');
7
18
  const when = require('./when.cjs');
19
+ const ref = require('./ref.cjs');
8
20
  const classNames = require('./class-names.cjs');
9
21
 
10
- const styles = ".base.connotation-success{--_connotation-color-intermediate: var(--vvd-note-success-intermediate, var(--vvd-color-success-500));--_connotation-color-faint: var(--vvd-note-success-faint, var(--vvd-color-success-50));--_connotation-color-fierce: var(--vvd-note-success-fierce, var(--vvd-color-success-700))}.base.connotation-information{--_connotation-color-intermediate: var(--vvd-note-information-intermediate, var(--vvd-color-information-500));--_connotation-color-faint: var(--vvd-note-information-faint, var(--vvd-color-information-50));--_connotation-color-fierce: var(--vvd-note-information-fierce, var(--vvd-color-information-700))}.base.connotation-alert{--_connotation-color-intermediate: var(--vvd-note-alert-intermediate, var(--vvd-color-alert-500));--_connotation-color-faint: var(--vvd-note-alert-faint, var(--vvd-color-alert-50));--_connotation-color-fierce: var(--vvd-note-alert-fierce, var(--vvd-color-alert-700))}.base.connotation-warning{--_connotation-color-intermediate: var(--vvd-note-warning-intermediate, var(--vvd-color-warning-300));--_connotation-color-faint: var(--vvd-note-warning-faint, var(--vvd-color-warning-50));--_connotation-color-fierce: var(--vvd-note-warning-fierce, var(--vvd-color-warning-700))}.base.connotation-announcement{--_connotation-color-intermediate: var(--vvd-note-announcement-intermediate, var(--vvd-color-announcement-500));--_connotation-color-faint: var(--vvd-note-announcement-faint, var(--vvd-color-announcement-50));--_connotation-color-fierce: var(--vvd-note-announcement-fierce, var(--vvd-color-announcement-700))}.base:not(.connotation-success,.connotation-information,.connotation-alert,.connotation-warning,.connotation-announcement){--_connotation-color-intermediate: var(--vvd-note-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-note-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-fierce: var(--vvd-note-accent-fierce, var(--vvd-color-neutral-700))}.base{--_appearance-color-text: var(--_connotation-color-fierce);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-intermediate)}.base{display:flex;align-items:flex-start;padding:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)));border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--vvd-color-canvas-text);column-gap:16px}@supports (contain: content){.base{contain:content}}@supports not (contain: content){.base{overflow:hidden}}slot[name=icon]{color:var(--_appearance-color-outline);font-size:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.text{display:flex;min-height:24px;flex-direction:column;flex-grow:1;align-items:flex-start;justify-content:center;gap:4px;text-align:start}.text .headline{font:var(--vvd-typography-base-bold)}.text .message{font:var(--vvd-typography-base)}";
22
+ class _TextField extends keyCodes.FoundationElement {
23
+ }
24
+ /**
25
+ * A form-associated base class for the {@link @microsoft/fast-foundation#(TextField:class)} component.
26
+ *
27
+ * @internal
28
+ */
29
+ class FormAssociatedTextField extends formAssociated.FormAssociated(_TextField) {
30
+ constructor() {
31
+ super(...arguments);
32
+ this.proxy = document.createElement("input");
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Text field sub-types
38
+ * @public
39
+ */
40
+ const TextFieldType = {
41
+ /**
42
+ * An email TextField
43
+ */
44
+ email: "email",
45
+ /**
46
+ * A password TextField
47
+ */
48
+ password: "password",
49
+ /**
50
+ * A telephone TextField
51
+ */
52
+ tel: "tel",
53
+ /**
54
+ * A text TextField
55
+ */
56
+ text: "text",
57
+ /**
58
+ * A URL TextField
59
+ */
60
+ url: "url",
61
+ };
62
+
63
+ /**
64
+ * A Text Field Custom HTML Element.
65
+ * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/text | <input type="text" /> element }.
66
+ *
67
+ * @slot start - Content which can be provided before the number field input
68
+ * @slot end - Content which can be provided after the number field input
69
+ * @slot - The default slot for the label
70
+ * @csspart label - The label
71
+ * @csspart root - The element wrapping the control, including start and end slots
72
+ * @csspart control - The text field element
73
+ * @fires change - Fires a custom 'change' event when the value has changed
74
+ *
75
+ * @public
76
+ */
77
+ class TextField extends FormAssociatedTextField {
78
+ constructor() {
79
+ super(...arguments);
80
+ /**
81
+ * Allows setting a type or mode of text.
82
+ * @public
83
+ * @remarks
84
+ * HTML Attribute: type
85
+ */
86
+ this.type = TextFieldType.text;
87
+ }
88
+ readOnlyChanged() {
89
+ if (this.proxy instanceof HTMLInputElement) {
90
+ this.proxy.readOnly = this.readOnly;
91
+ this.validate();
92
+ }
93
+ }
94
+ autofocusChanged() {
95
+ if (this.proxy instanceof HTMLInputElement) {
96
+ this.proxy.autofocus = this.autofocus;
97
+ this.validate();
98
+ }
99
+ }
100
+ placeholderChanged() {
101
+ if (this.proxy instanceof HTMLInputElement) {
102
+ this.proxy.placeholder = this.placeholder;
103
+ }
104
+ }
105
+ typeChanged() {
106
+ if (this.proxy instanceof HTMLInputElement) {
107
+ this.proxy.type = this.type;
108
+ this.validate();
109
+ }
110
+ }
111
+ listChanged() {
112
+ if (this.proxy instanceof HTMLInputElement) {
113
+ this.proxy.setAttribute("list", this.list);
114
+ this.validate();
115
+ }
116
+ }
117
+ maxlengthChanged() {
118
+ if (this.proxy instanceof HTMLInputElement) {
119
+ this.proxy.maxLength = this.maxlength;
120
+ this.validate();
121
+ }
122
+ }
123
+ minlengthChanged() {
124
+ if (this.proxy instanceof HTMLInputElement) {
125
+ this.proxy.minLength = this.minlength;
126
+ this.validate();
127
+ }
128
+ }
129
+ patternChanged() {
130
+ if (this.proxy instanceof HTMLInputElement) {
131
+ this.proxy.pattern = this.pattern;
132
+ this.validate();
133
+ }
134
+ }
135
+ sizeChanged() {
136
+ if (this.proxy instanceof HTMLInputElement) {
137
+ this.proxy.size = this.size;
138
+ }
139
+ }
140
+ spellcheckChanged() {
141
+ if (this.proxy instanceof HTMLInputElement) {
142
+ this.proxy.spellcheck = this.spellcheck;
143
+ }
144
+ }
145
+ /**
146
+ * @internal
147
+ */
148
+ connectedCallback() {
149
+ super.connectedCallback();
150
+ this.proxy.setAttribute("type", this.type);
151
+ this.validate();
152
+ if (this.autofocus) {
153
+ vividElement.DOM.queueUpdate(() => {
154
+ this.focus();
155
+ });
156
+ }
157
+ }
158
+ /**
159
+ * Selects all the text in the text field
160
+ *
161
+ * @public
162
+ */
163
+ select() {
164
+ this.control.select();
165
+ /**
166
+ * The select event does not permeate the shadow DOM boundary.
167
+ * This fn effectively proxies the select event,
168
+ * emitting a `select` event whenever the internal
169
+ * control emits a `select` event
170
+ */
171
+ this.$emit("select");
172
+ }
173
+ /**
174
+ * Handles the internal control's `input` event
175
+ * @internal
176
+ */
177
+ handleTextInput() {
178
+ this.value = this.control.value;
179
+ }
180
+ /**
181
+ * Change event handler for inner control.
182
+ * @remarks
183
+ * "Change" events are not `composable` so they will not
184
+ * permeate the shadow DOM boundary. This fn effectively proxies
185
+ * the change event, emitting a `change` event whenever the internal
186
+ * control emits a `change` event
187
+ * @internal
188
+ */
189
+ handleChange() {
190
+ this.$emit("change");
191
+ }
192
+ /** {@inheritDoc (FormAssociated:interface).validate} */
193
+ validate() {
194
+ super.validate(this.control);
195
+ }
196
+ }
197
+ keyCodes.__decorate([
198
+ vividElement.attr({ attribute: "readonly", mode: "boolean" })
199
+ ], TextField.prototype, "readOnly", void 0);
200
+ keyCodes.__decorate([
201
+ vividElement.attr({ mode: "boolean" })
202
+ ], TextField.prototype, "autofocus", void 0);
203
+ keyCodes.__decorate([
204
+ vividElement.attr
205
+ ], TextField.prototype, "placeholder", void 0);
206
+ keyCodes.__decorate([
207
+ vividElement.attr
208
+ ], TextField.prototype, "type", void 0);
209
+ keyCodes.__decorate([
210
+ vividElement.attr
211
+ ], TextField.prototype, "list", void 0);
212
+ keyCodes.__decorate([
213
+ vividElement.attr({ converter: vividElement.nullableNumberConverter })
214
+ ], TextField.prototype, "maxlength", void 0);
215
+ keyCodes.__decorate([
216
+ vividElement.attr({ converter: vividElement.nullableNumberConverter })
217
+ ], TextField.prototype, "minlength", void 0);
218
+ keyCodes.__decorate([
219
+ vividElement.attr
220
+ ], TextField.prototype, "pattern", void 0);
221
+ keyCodes.__decorate([
222
+ vividElement.attr({ converter: vividElement.nullableNumberConverter })
223
+ ], TextField.prototype, "size", void 0);
224
+ keyCodes.__decorate([
225
+ vividElement.attr({ mode: "boolean" })
226
+ ], TextField.prototype, "spellcheck", void 0);
227
+ keyCodes.__decorate([
228
+ vividElement.observable
229
+ ], TextField.prototype, "defaultSlottedNodes", void 0);
230
+ /**
231
+ * Includes ARIA states and properties relating to the ARIA textbox role
232
+ *
233
+ * @public
234
+ */
235
+ class DelegatesARIATextbox {
236
+ }
237
+ applyMixins.applyMixins(DelegatesARIATextbox, ariaGlobal.ARIAGlobalStatesAndProperties);
238
+ applyMixins.applyMixins(TextField, keyCodes.StartEnd, DelegatesARIATextbox);
239
+
240
+ const styles = ":host{display:inline-block}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.base:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.base:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.base:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.base:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.base:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.base{--_connotation-color-primary: var(--vvd-text-field-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-text-field-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-text-field-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-text-field-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-firm: var(--vvd-text-field-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-text-field-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-faint: var(--vvd-text-field-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-text-field-accent-soft, var(--vvd-color-neutral-100))}.base{--_text-field-gutter-start: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_text-field-gutter-end: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_text-field-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_text-field-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_text-field-border-radius: 8px;--_text-field-pill-border-radius: 24px;display:inline-grid;width:100%;gap:4px;grid-template-columns:min-content 1fr max-content}.base.size-condensed{--_text-field-gutter-start: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_text-field-gutter-end: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_text-field-icon-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_text-field-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_text-field-border-radius: 4px}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){--_low-ink-color: var(--vvd-color-neutral-600)}.base.disabled{--_low-ink-color: var(--_appearance-color-text)}.label:not(slot),.label::slotted(label){box-sizing:initial!important;padding:initial!important;margin:initial!important;color:var(--vvd-color-canvas-text)!important;contain:inline-size!important;font:var(--vvd-typography-base);grid-column:1/4;grid-row:1}.char-count+.label:not(slot),.char-count+.label::slotted(label){grid-column:1/3}.char-count{color:var(--_low-ink-color);font:var(--vvd-typography-base);grid-column:3/4}.fieldset{position:relative;display:flex;align-items:center;background-color:var(--_appearance-color-fill);font:var(--vvd-typography-base);grid-column:1/4;padding-block:0;transition:color .2s,background-color .2s}.fieldset:after{position:absolute;display:block;border-radius:inherit;block-size:100%;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:\"\";inline-size:100%;pointer-events:none;transition:box-shadow .2s}.fieldset:focus-visible{outline:none}.base>.fieldset{block-size:var(--_text-field-block-size)}.base:not(.shape-pill) .fieldset{border-radius:var(--_text-field-border-radius)}.base.shape-pill .fieldset{border-radius:var(--_text-field-pill-border-radius)}.wrapper{border-radius:inherit;block-size:100%;inline-size:100%}.control{border-radius:inherit;text-align:start}.control:not(slot),.control::slotted(input){width:100%!important;box-sizing:border-box!important;border:0 none!important;border-radius:inherit!important;margin:initial!important;appearance:none!important;background-color:transparent!important;block-size:100%!important;color:inherit!important;font:inherit;outline:transparent;padding-block:0!important;padding-inline:var(--_text-field-gutter-start) var(--_text-field-gutter-end)!important;text-align:inherit}.control:not(slot):disabled,.control::slotted(input:disabled){cursor:not-allowed!important;opacity:1!important;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control:not(slot)::placeholder{opacity:1!important;-webkit-text-fill-color:var(--_low-ink-color)!important}.control::slotted(input:-webkit-autofill),.control:not(slot):-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.has-icon .control:not(slot),.has-icon .control::slotted(input){padding-inline-start:calc(var(--_text-field-icon-size) + var(--_text-field-gutter-start) * 2)!important}.icon{position:absolute;z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);inset-block-start:50%;inset-inline-start:calc(100% + var(--_text-field-gutter-start));line-height:1;transform:translateY(-50%)}.leading-items-wrapper{position:relative}.base.no-leading .leading-items-wrapper{display:none}.action-items-wrapper{margin-inline-end:4px}.base:not(.action-items) .action-items-wrapper{display:none}@supports selector(:has(*)){.fieldset:has(.wrapper .control:focus-within):after{--focus-stroke-gap-color: transparent;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))}}@supports not selector(:has(*)){.wrapper:focus-within:after{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));--focus-stroke-gap-color: transparent;position:absolute;z-index:1;display:block;border-radius:inherit;content:\"\";inset:0;pointer-events:none}}:host([internal-part]) .fieldset{background-color:transparent;font:var(--vvd-typography-heading-4);line-height:1.1}:host([internal-part]) .fieldset:not(:focus-within):after{block-size:1px;inset-block-end:0}@supports selector(:has(*)){:host([internal-part]) .fieldset:has(.action-items-wrapper:focus-within):after{block-size:1px;inset-block-end:0}}:host([internal-part]) .control{text-align:center}slot[name=_mirrored-helper-text]{display:none}.base{--_text-field-gutter-end: 70px}.control::-webkit-outer-spin-button,.control::-webkit-inner-spin-button{appearance:none}.control-buttons{position:absolute;z-index:1;right:3px;display:flex}.readonly .control-buttons,.disabled .control-buttons{pointer-events:none}.control-buttons .divider{margin-block:8px}.control-buttons>*{flex-shrink:0}";
241
+
242
+ class _NumberField extends vividElement.VividElement {
243
+ }
244
+ class FormAssociatedNumberField extends formAssociated$1.FormAssociated(_NumberField) {
245
+ constructor() {
246
+ super(...arguments);
247
+ this.proxy = document.createElement("input");
248
+ }
249
+ }
11
250
 
12
251
  var __defProp = Object.defineProperty;
252
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
253
+ var __typeError = (msg) => {
254
+ throw TypeError(msg);
255
+ };
13
256
  var __decorateClass = (decorators, target, key, kind) => {
14
- var result = void 0 ;
257
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
15
258
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
16
259
  if (decorator = decorators[i])
17
- result = (decorator(target, key, result) ) || result;
18
- if (result) __defProp(target, key, result);
260
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
261
+ if (kind && result) __defProp(target, key, result);
19
262
  return result;
20
263
  };
21
- class Note extends index.FoundationElement {
264
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
265
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
266
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
267
+ var _NumberField_instances, valueToPresentationValue_fn, inputToPresentationValue_fn, presentationValueToValue_fn;
268
+ const STEP_DIRECTION = {
269
+ up: 1,
270
+ down: -1
271
+ };
272
+ function makeStep(element, direction) {
273
+ const value = parseFloat(element.value);
274
+ const stepUpValue = !isNaN(value) ? value + direction * element.step : element.min > 0 ? element.min : element.max < 0 ? element.max : !element.min ? direction * element.step : 0;
275
+ element.value = Number(stepUpValue.toFixed(12)).toString();
22
276
  }
277
+ const buildNumberPatterns = (decimalSeparator) => {
278
+ const ds = decimalSeparator.source;
279
+ return {
280
+ invalidCharacters: new RegExp(`[^0-9\\-+e${ds}]`, "g"),
281
+ additionalDecimalSeparators: new RegExp(`(?<=${ds}.*)${ds}`, "g"),
282
+ trailingDecimalSeparator: new RegExp(`${ds}$`),
283
+ decimalSeparator
284
+ };
285
+ };
286
+ const numberPatternsWithPeriod = buildNumberPatterns(/\./);
287
+ const numberPatternsWithComma = buildNumberPatterns(/,/);
288
+ const validNumber = /^-?((\d*\.\d+)|(\d+))$/;
289
+ let NumberField = class extends FormAssociatedNumberField {
290
+ constructor() {
291
+ super(...arguments);
292
+ __privateAdd(this, _NumberField_instances);
293
+ this.readOnly = false;
294
+ this.autofocus = false;
295
+ // eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value
296
+ this.step = 1;
297
+ /**
298
+ * Flag to indicate that the value change is from the user input
299
+ * @internal
300
+ */
301
+ this.isUserInput = false;
302
+ this._presentationValue = "";
303
+ this.incrementButtonAriaLabel = null;
304
+ this.decrementButtonAriaLabel = null;
305
+ }
306
+ stepChanged(_, next) {
307
+ this.proxy.setAttribute(
308
+ "step",
309
+ Number.isFinite(next) ? next.toString() : ""
310
+ );
311
+ }
312
+ /**
313
+ * Ensures that the max is greater than the min and that the value
314
+ * is less than the max
315
+ *
316
+ * @internal
317
+ */
318
+ maxChanged(_, next) {
319
+ this.max = Math.max(next, this.min ?? next);
320
+ this.proxy.max = this.max.toString();
321
+ this.validate();
322
+ }
323
+ /**
324
+ * Ensures that the min is less than the max and that the value
325
+ * is greater than the min
326
+ *
327
+ * @internal
328
+ */
329
+ minChanged(_, next) {
330
+ this.min = Math.min(next, this.max ?? next);
331
+ this.proxy.min = this.min.toString();
332
+ this.validate();
333
+ }
334
+ /**
335
+ * The value property, typed as a number.
336
+ *
337
+ * @public
338
+ */
339
+ get valueAsNumber() {
340
+ return parseFloat(super.value);
341
+ }
342
+ set valueAsNumber(next) {
343
+ this.value = next.toString();
344
+ }
345
+ /**
346
+ * @internal
347
+ */
348
+ valueChanged(previous, next) {
349
+ this.value = validNumber.test(next) ? next : "";
350
+ if (next !== this.value) {
351
+ return;
352
+ }
353
+ if (this.control && !this.isUserInput) {
354
+ this._presentationValue = __privateMethod(this, _NumberField_instances, valueToPresentationValue_fn).call(this, this.value);
355
+ }
356
+ super.valueChanged(previous, this.value);
357
+ if (previous !== void 0 && !this.isUserInput) {
358
+ this.$emit("input");
359
+ this.$emit("change");
360
+ }
361
+ }
362
+ /**
363
+ * @internal
364
+ */
365
+ get _numberPatterns() {
366
+ return this.locale.common.useCommaAsDecimalSeparator ? numberPatternsWithComma : numberPatternsWithPeriod;
367
+ }
368
+ /** {@inheritDoc (FormAssociated:interface).validate} */
369
+ validate() {
370
+ super.validate(this.control);
371
+ }
372
+ /**
373
+ * Increments the value using the step value
374
+ *
375
+ * @public
376
+ */
377
+ stepUp() {
378
+ makeStep(this, STEP_DIRECTION.up);
379
+ }
380
+ /**
381
+ * Decrements the value using the step value
382
+ *
383
+ * @public
384
+ */
385
+ stepDown() {
386
+ makeStep(this, STEP_DIRECTION.down);
387
+ }
388
+ /**
389
+ * Sets up the initial state of the number field
390
+ * @internal
391
+ */
392
+ connectedCallback() {
393
+ super.connectedCallback();
394
+ this.proxy.setAttribute("type", "number");
395
+ this.validate();
396
+ this._presentationValue = __privateMethod(this, _NumberField_instances, valueToPresentationValue_fn).call(this, this.value);
397
+ if (this.autofocus) {
398
+ vividElement.DOM.queueUpdate(() => {
399
+ this.focus();
400
+ });
401
+ }
402
+ }
403
+ /**
404
+ * Selects all the text in the number field
405
+ *
406
+ * @public
407
+ */
408
+ select() {
409
+ this.control.select();
410
+ this.$emit("select");
411
+ }
412
+ /**
413
+ * Handles the internal control's `input` event
414
+ * @internal
415
+ */
416
+ handleTextInput() {
417
+ this._presentationValue = __privateMethod(this, _NumberField_instances, inputToPresentationValue_fn).call(this, this.control.value);
418
+ if (this.control.value !== this._presentationValue) {
419
+ this.control.value = this._presentationValue;
420
+ }
421
+ this.isUserInput = true;
422
+ this.value = __privateMethod(this, _NumberField_instances, presentationValueToValue_fn).call(this, this._presentationValue);
423
+ this.isUserInput = false;
424
+ }
425
+ /**
426
+ * Change event handler for inner control.
427
+ * @remarks
428
+ * "Change" events are not `composable` so they will not
429
+ * permeate the shadow DOM boundary. This fn effectively proxies
430
+ * the change event, emitting a `change` event whenever the internal
431
+ * control emits a `change` event
432
+ * @internal
433
+ */
434
+ handleChange() {
435
+ this.$emit("change");
436
+ }
437
+ /**
438
+ * Handles the internal control's `keydown` event
439
+ * @internal
440
+ */
441
+ handleKeyDown(e) {
442
+ const key = e.key;
443
+ switch (key) {
444
+ case keyCodes$1.keyArrowUp:
445
+ this.stepUp();
446
+ return false;
447
+ case keyCodes$1.keyArrowDown:
448
+ this.stepDown();
449
+ return false;
450
+ }
451
+ return true;
452
+ }
453
+ };
454
+ _NumberField_instances = new WeakSet();
455
+ valueToPresentationValue_fn = function(value) {
456
+ return value.replace(
457
+ ".",
458
+ this.locale.common.useCommaAsDecimalSeparator ? "," : "."
459
+ );
460
+ };
461
+ inputToPresentationValue_fn = function(input) {
462
+ return input.replace(this._numberPatterns.invalidCharacters, "").replace(this._numberPatterns.additionalDecimalSeparators, "");
463
+ };
464
+ presentationValueToValue_fn = function(presentationValue) {
465
+ const candidate = presentationValue.replace(this._numberPatterns.trailingDecimalSeparator, "").replace(this._numberPatterns.decimalSeparator, ".");
466
+ return validNumber.test(candidate) ? candidate : "";
467
+ };
468
+ __decorateClass([
469
+ vividElement.attr({ attribute: "readonly", mode: "boolean" })
470
+ ], NumberField.prototype, "readOnly", 2);
23
471
  __decorateClass([
24
- index.attr
25
- ], Note.prototype, "headline");
472
+ vividElement.attr({ mode: "boolean" })
473
+ ], NumberField.prototype, "autofocus", 2);
26
474
  __decorateClass([
27
- index.attr
28
- ], Note.prototype, "connotation");
29
- applyMixins.applyMixins(Note, affix.AffixIcon);
475
+ vividElement.attr
476
+ ], NumberField.prototype, "placeholder", 2);
477
+ __decorateClass([
478
+ vividElement.attr
479
+ ], NumberField.prototype, "list", 2);
480
+ __decorateClass([
481
+ vividElement.attr({ converter: vividElement.nullableNumberConverter })
482
+ ], NumberField.prototype, "maxlength", 2);
483
+ __decorateClass([
484
+ vividElement.attr({ converter: vividElement.nullableNumberConverter })
485
+ ], NumberField.prototype, "minlength", 2);
486
+ __decorateClass([
487
+ vividElement.attr({ converter: vividElement.nullableNumberConverter })
488
+ ], NumberField.prototype, "size", 2);
489
+ __decorateClass([
490
+ vividElement.attr()
491
+ ], NumberField.prototype, "scale", 2);
492
+ __decorateClass([
493
+ vividElement.attr({ converter: vividElement.nullableNumberConverter })
494
+ ], NumberField.prototype, "step", 2);
495
+ __decorateClass([
496
+ vividElement.attr({ converter: vividElement.nullableNumberConverter })
497
+ ], NumberField.prototype, "max", 2);
498
+ __decorateClass([
499
+ vividElement.attr({ converter: vividElement.nullableNumberConverter })
500
+ ], NumberField.prototype, "min", 2);
501
+ __decorateClass([
502
+ vividElement.observable
503
+ ], NumberField.prototype, "defaultSlottedNodes", 2);
504
+ __decorateClass([
505
+ vividElement.observable
506
+ ], NumberField.prototype, "_presentationValue", 2);
507
+ __decorateClass([
508
+ vividElement.attr({ attribute: "increment-button-aria-label" })
509
+ ], NumberField.prototype, "incrementButtonAriaLabel", 2);
510
+ __decorateClass([
511
+ vividElement.attr({ attribute: "decrement-button-aria-label" })
512
+ ], NumberField.prototype, "decrementButtonAriaLabel", 2);
513
+ __decorateClass([
514
+ vividElement.attr
515
+ ], NumberField.prototype, "appearance", 2);
516
+ __decorateClass([
517
+ vividElement.attr
518
+ ], NumberField.prototype, "shape", 2);
519
+ __decorateClass([
520
+ vividElement.attr
521
+ ], NumberField.prototype, "autoComplete", 2);
522
+ NumberField = __decorateClass([
523
+ formElements.errorText,
524
+ formElements.formElements
525
+ ], NumberField);
526
+ applyMixinsWithObservables.applyMixinsWithObservables(
527
+ NumberField,
528
+ localized.Localized,
529
+ affix.AffixIcon,
530
+ formElements.FormElementCharCount,
531
+ formElements.FormElementHelperText,
532
+ formElements.FormElementSuccessText,
533
+ DelegatesARIATextbox
534
+ );
30
535
 
31
- const getClasses = ({ connotation }) => classNames.classNames("base", `connotation-${connotation}`);
32
- function getHeaderTemplate() {
33
- return index.html`<div class="headline">${(x) => x.headline}</div>`;
536
+ const getStateClasses = ({
537
+ errorValidationMessage,
538
+ disabled,
539
+ value,
540
+ readOnly,
541
+ placeholder,
542
+ appearance,
543
+ shape,
544
+ label,
545
+ successText,
546
+ scale
547
+ }) => classNames.classNames(
548
+ ["error", Boolean(errorValidationMessage)],
549
+ ["disabled", disabled],
550
+ ["has-value", Boolean(value)],
551
+ ["readonly", readOnly],
552
+ ["placeholder", Boolean(placeholder)],
553
+ [`appearance-${appearance}`, Boolean(appearance)],
554
+ [`shape-${shape}`, Boolean(shape)],
555
+ ["no-label", !label],
556
+ ["success", !!successText],
557
+ [`size-${scale}`, Boolean(scale)]
558
+ );
559
+ function renderLabel() {
560
+ return vividElement.html` <label for="control" class="label">
561
+ ${(x) => x.label}
562
+ </label>`;
563
+ }
564
+ function setControlButtonShape(numberField) {
565
+ return numberField.shape === enums.Shape.Pill ? enums.Shape.Pill : null;
566
+ }
567
+ function getTabIndex(numberField) {
568
+ return numberField.disabled || numberField.readOnly ? "-1" : null;
569
+ }
570
+ function numberControlButtons(context) {
571
+ const buttonTag = context.tagFor(definition.Button);
572
+ const dividerTag = context.tagFor(definition$1.Divider);
573
+ return vividElement.html`
574
+ <div class="control-buttons"
575
+ ?inert="${(x) => x.disabled || x.readOnly}">
576
+ <${buttonTag} id="subtract" icon="minus-line"
577
+ ?disabled="${(x) => x.disabled || x.readOnly}"
578
+ aria-label=${(x) => x.decrementButtonAriaLabel || x.locale.numberField.decrementButtonLabel}
579
+ shape="${setControlButtonShape}"
580
+ type="button"
581
+ size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
582
+ tabindex="${getTabIndex}"
583
+ @click="${(x) => x.stepDown()}"></${buttonTag}>
584
+ <${dividerTag} class="divider" orientation="vertical"></${dividerTag}>
585
+ <${buttonTag} id="add" icon="plus-line"
586
+ ?disabled="${(x) => x.disabled || x.readOnly}"
587
+ aria-label=${(x) => x.incrementButtonAriaLabel || x.locale.numberField.incrementButtonLabel}
588
+ shape="${setControlButtonShape}"
589
+ type="button"
590
+ size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
591
+ tabindex="${getTabIndex}"
592
+ @click="${(x) => x.stepUp()}"></${buttonTag}>
593
+ </div>
594
+ `;
34
595
  }
35
- const NoteTemplate = (context) => {
36
- const affixIconTemplate = affix.affixIconTemplateFactory(context);
37
- return index.html`
38
- <div class="${getClasses}">
39
- ${(x) => affixIconTemplate(x.icon, affix.IconWrapper.Slot)}
40
- <div class="text">
41
- ${when.when((x) => x.headline, getHeaderTemplate())}
42
- <slot class="message"></slot>
596
+ const NumberFieldTemplate = (context) => {
597
+ return vividElement.html`
598
+ <div class="base ${getStateClasses}">
599
+ ${when.when((x) => x.label, renderLabel())}
600
+ <div class="fieldset">
601
+ <div class="wrapper">
602
+ <input
603
+ class="control"
604
+ id="control"
605
+ @input="${(x) => x.handleTextInput()}"
606
+ @change="${(x) => x.handleChange()}"
607
+ @keydown="${(x, c) => x.handleKeyDown(c.event)}"
608
+ ?autofocus="${(x) => x.autofocus}"
609
+ ?disabled="${(x) => x.disabled}"
610
+ list="${(x) => x.list}"
611
+ maxlength="${(x) => x.maxlength}"
612
+ minlength="${(x) => x.minlength}"
613
+ placeholder="${(x) => x.placeholder}"
614
+ ?readonly="${(x) => x.readOnly}"
615
+ ?required="${(x) => x.required}"
616
+ size="${(x) => x.size}"
617
+ autocomplete="${(x) => x.autoComplete}"
618
+ name="${(x) => x.name}"
619
+ ?spellcheck="${(x) => x.spellcheck}"
620
+ :value="${(x) => x._presentationValue}"
621
+ type="text"
622
+ aria-atomic="${(x) => x.ariaAtomic}"
623
+ aria-busy="${(x) => x.ariaBusy}"
624
+ aria-current="${(x) => x.ariaCurrent}"
625
+ aria-details="${(x) => x.ariaDetails}"
626
+ aria-disabled="${(x) => x.ariaDisabled}"
627
+ aria-errormessage="${(x) => x.ariaErrormessage}"
628
+ aria-haspopup="${(x) => x.ariaHaspopup}"
629
+ aria-hidden="${(x) => x.ariaHidden}"
630
+ aria-invalid="${(x) => x.ariaInvalid}"
631
+ aria-keyshortcuts="${(x) => x.ariaKeyshortcuts}"
632
+ aria-label="${(x) => x.ariaLabel}"
633
+ aria-live="${(x) => x.ariaLive}"
634
+ aria-relevant="${(x) => x.ariaRelevant}"
635
+ aria-roledescription="${(x) => x.ariaRoledescription}"
636
+ ${ref.ref("control")}
637
+ />
638
+ </div>
639
+ ${() => numberControlButtons(context)}
43
640
  </div>
641
+ ${formElements.getFeedbackTemplate(context)}
44
642
  </div>
45
643
  `;
46
644
  };
47
645
 
48
- const noteDefinition = Note.compose({
49
- baseName: "note",
50
- template: NoteTemplate,
51
- styles
52
- });
53
- const noteRegistries = [noteDefinition(), ...definition.iconRegistries];
54
- const registerNote = index.registerFactory(noteRegistries);
646
+ const numberFieldDefinition = vividElement.defineVividComponent(
647
+ "number-field",
648
+ NumberField,
649
+ NumberFieldTemplate,
650
+ [definition.buttonDefinition, definition$1.dividerDefinition, definition$2.iconDefinition],
651
+ {
652
+ styles,
653
+ shadowOptions: {
654
+ delegatesFocus: true
655
+ }
656
+ }
657
+ );
658
+ const registerNumberField = vividElement.createRegisterFunction(
659
+ numberFieldDefinition
660
+ );
55
661
 
56
- exports.noteDefinition = noteDefinition;
57
- exports.noteRegistries = noteRegistries;
58
- exports.registerNote = registerNote;
662
+ exports.numberFieldDefinition = numberFieldDefinition;
663
+ exports.registerNumberField = registerNumberField;