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