@vonage/vivid 5.18.0 → 5.20.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 (776) hide show
  1. package/accordion/definition.cjs +1 -2
  2. package/accordion/definition.js +1 -2
  3. package/accordion/index.cjs +2 -2
  4. package/accordion/index.js +3 -4
  5. package/accordion-item/definition.cjs +1 -2
  6. package/accordion-item/definition.js +1 -2
  7. package/accordion-item/index.cjs +1 -1
  8. package/accordion-item/index.js +0 -2
  9. package/action-group/definition.cjs +1 -1
  10. package/action-group/definition.js +1 -1
  11. package/action-group/index.cjs +4 -4
  12. package/action-group/index.js +7 -7
  13. package/alert/definition.cjs +0 -1
  14. package/alert/definition.js +0 -1
  15. package/alert/index.cjs +5 -5
  16. package/alert/index.js +20 -21
  17. package/audio-player/definition.cjs +0 -1
  18. package/audio-player/definition.js +0 -1
  19. package/audio-player/index.cjs +13 -13
  20. package/audio-player/index.js +75 -76
  21. package/avatar/definition.cjs +0 -1
  22. package/avatar/definition.js +0 -1
  23. package/avatar/index.cjs +8 -8
  24. package/avatar/index.js +21 -22
  25. package/badge/definition.cjs +0 -1
  26. package/badge/definition.js +0 -1
  27. package/badge/index.cjs +1 -1
  28. package/badge/index.js +0 -2
  29. package/banner/definition.cjs +0 -1
  30. package/banner/definition.js +0 -1
  31. package/banner/index.cjs +6 -6
  32. package/banner/index.js +20 -21
  33. package/breadcrumb/index.cjs +2 -2
  34. package/breadcrumb/index.js +4 -4
  35. package/breadcrumb-item/definition.cjs +0 -1
  36. package/breadcrumb-item/definition.js +0 -1
  37. package/breadcrumb-item/index.cjs +5 -5
  38. package/breadcrumb-item/index.js +7 -8
  39. package/bundled/affix.cjs +2 -2
  40. package/bundled/affix.js +11 -11
  41. package/bundled/anchored.cjs +1 -1
  42. package/bundled/anchored.js +6 -6
  43. package/bundled/aria-binding-directive.cjs +1 -0
  44. package/bundled/aria-binding-directive.js +101 -0
  45. package/bundled/base-color-picker.cjs +3 -3
  46. package/bundled/base-color-picker.js +5 -5
  47. package/bundled/base-progress.cjs +1 -1
  48. package/bundled/base-progress.js +3 -3
  49. package/bundled/breadcrumb-item.cjs +1 -1
  50. package/bundled/breadcrumb-item.js +1 -1
  51. package/bundled/button.cjs +1 -1
  52. package/bundled/button.js +1 -1
  53. package/bundled/calendar-event.cjs +1 -1
  54. package/bundled/calendar-event.js +5 -5
  55. package/bundled/calendar-picker.template.cjs +23 -24
  56. package/bundled/calendar-picker.template.js +29 -30
  57. package/bundled/char-count.cjs +2 -2
  58. package/bundled/char-count.js +10 -10
  59. package/bundled/children.cjs +1 -1
  60. package/bundled/children.js +7 -9
  61. package/bundled/decorate.js +1 -1
  62. package/bundled/definition.cjs +1 -1
  63. package/bundled/definition.js +2 -2
  64. package/bundled/definition10.cjs +3 -3
  65. package/bundled/definition10.js +19 -19
  66. package/bundled/definition11.cjs +2 -2
  67. package/bundled/definition11.js +8 -8
  68. package/bundled/definition12.cjs +15 -16
  69. package/bundled/definition12.js +28 -28
  70. package/bundled/definition13.cjs +3 -3
  71. package/bundled/definition13.js +6 -6
  72. package/bundled/definition14.cjs +2 -2
  73. package/bundled/definition14.js +3 -3
  74. package/bundled/definition15.cjs +7 -8
  75. package/bundled/definition15.js +18 -18
  76. package/bundled/definition16.cjs +3 -3
  77. package/bundled/definition16.js +22 -22
  78. package/bundled/definition17.cjs +7 -7
  79. package/bundled/definition17.js +12 -12
  80. package/bundled/definition18.cjs +18 -18
  81. package/bundled/definition18.js +33 -33
  82. package/bundled/definition19.cjs +2 -2
  83. package/bundled/definition19.js +3 -3
  84. package/bundled/definition2.cjs +10 -9
  85. package/bundled/definition2.js +27 -27
  86. package/bundled/definition20.cjs +19 -14
  87. package/bundled/definition20.js +53 -42
  88. package/bundled/definition21.cjs +9 -9
  89. package/bundled/definition21.js +31 -31
  90. package/bundled/definition22.cjs +3 -3
  91. package/bundled/definition22.js +8 -8
  92. package/bundled/definition23.cjs +4 -4
  93. package/bundled/definition23.js +9 -9
  94. package/bundled/definition24.cjs +8 -8
  95. package/bundled/definition24.js +23 -23
  96. package/bundled/definition3.cjs +1 -1
  97. package/bundled/definition3.js +33 -33
  98. package/bundled/definition4.cjs +9 -9
  99. package/bundled/definition4.js +20 -20
  100. package/bundled/definition5.cjs +5 -5
  101. package/bundled/definition5.js +9 -9
  102. package/bundled/definition6.cjs +7 -7
  103. package/bundled/definition6.js +27 -27
  104. package/bundled/definition7.cjs +2 -2
  105. package/bundled/definition7.js +4 -4
  106. package/bundled/definition8.cjs +4 -4
  107. package/bundled/definition8.js +15 -15
  108. package/bundled/definition9.cjs +10 -6
  109. package/bundled/definition9.js +54 -40
  110. package/bundled/delegates-aria.cjs +1 -1
  111. package/bundled/delegates-aria.js +23 -51
  112. package/bundled/divider.cjs +1 -1
  113. package/bundled/divider.js +1 -1
  114. package/bundled/form-associated.cjs +1 -1
  115. package/bundled/form-associated.js +1 -1
  116. package/bundled/form-element.cjs +1 -1
  117. package/bundled/form-element.js +8 -6
  118. package/bundled/host-semantics.cjs +1 -1
  119. package/bundled/host-semantics.js +11 -39
  120. package/bundled/kbd-shortcut.cjs +1 -0
  121. package/bundled/kbd-shortcut.js +14 -0
  122. package/bundled/linkable.cjs +2 -2
  123. package/bundled/linkable.js +5 -5
  124. package/bundled/listbox.cjs +1 -1
  125. package/bundled/listbox.js +13 -13
  126. package/bundled/localized.cjs +1 -1
  127. package/bundled/localized.js +7 -6
  128. package/bundled/mixins.cjs +16 -16
  129. package/bundled/mixins.js +39 -105
  130. package/bundled/picker-field.template.cjs +6 -6
  131. package/bundled/picker-field.template.js +33 -32
  132. package/bundled/platform.cjs +1 -0
  133. package/bundled/platform.js +9 -0
  134. package/bundled/ref.cjs +1 -1
  135. package/bundled/ref.js +2 -2
  136. package/bundled/render-in-light-dom.cjs +1 -0
  137. package/bundled/render-in-light-dom.js +57 -0
  138. package/bundled/repeat.cjs +1 -1
  139. package/bundled/repeat.js +129 -119
  140. package/bundled/slider.template.cjs +7 -7
  141. package/bundled/slider.template.js +13 -13
  142. package/bundled/slottable-request.cjs +1 -1
  143. package/bundled/slottable-request.js +1 -1
  144. package/bundled/slotted.cjs +1 -1
  145. package/bundled/slotted.js +2 -2
  146. package/bundled/text-field.cjs +1 -1
  147. package/bundled/text-field.js +1 -1
  148. package/bundled/time-selection-picker.template.cjs +4 -4
  149. package/bundled/time-selection-picker.template.js +23 -23
  150. package/bundled/vivid-element.cjs +3 -3
  151. package/bundled/vivid-element.js +634 -556
  152. package/bundled/when.cjs +1 -1
  153. package/bundled/when.js +2 -2
  154. package/bundled/with-contextual-help.cjs +1 -1
  155. package/bundled/with-contextual-help.js +1 -1
  156. package/bundled/with-error-text.cjs +1 -1
  157. package/bundled/with-error-text.js +1 -1
  158. package/bundled/with-success-text.cjs +1 -1
  159. package/bundled/with-success-text.js +1 -1
  160. package/button/definition.cjs +0 -1
  161. package/button/definition.js +0 -1
  162. package/button/index.cjs +1 -1
  163. package/button/index.js +0 -2
  164. package/calendar/index.cjs +8 -8
  165. package/calendar/index.js +9 -9
  166. package/calendar-event/index.cjs +6 -6
  167. package/calendar-event/index.js +8 -8
  168. package/card/definition.cjs +0 -1
  169. package/card/definition.js +0 -1
  170. package/card/index.cjs +24 -25
  171. package/card/index.js +42 -44
  172. package/checkbox/definition.cjs +0 -1
  173. package/checkbox/definition.js +0 -1
  174. package/checkbox/index.cjs +1 -1
  175. package/checkbox/index.js +0 -2
  176. package/color-picker/definition.cjs +0 -1
  177. package/color-picker/definition.js +0 -1
  178. package/color-picker/index.cjs +29 -29
  179. package/color-picker/index.js +114 -114
  180. package/combobox/definition.cjs +0 -1
  181. package/combobox/definition.js +0 -1
  182. package/combobox/index.cjs +13 -13
  183. package/combobox/index.js +31 -32
  184. package/contextual-help/definition.cjs +0 -1
  185. package/contextual-help/definition.js +0 -1
  186. package/contextual-help/index.cjs +1 -1
  187. package/contextual-help/index.js +0 -2
  188. package/country/definition.cjs +0 -1
  189. package/country/definition.js +0 -1
  190. package/country/index.cjs +1 -1
  191. package/country/index.js +0 -2
  192. package/country-group/definition.cjs +0 -1
  193. package/country-group/definition.js +0 -1
  194. package/country-group/index.cjs +4 -4
  195. package/country-group/index.js +30 -30
  196. package/custom-elements.json +3831 -3147
  197. package/data-grid/definition.cjs +0 -1
  198. package/data-grid/definition.js +0 -1
  199. package/data-grid/index.cjs +34 -34
  200. package/data-grid/index.js +96 -98
  201. package/date-picker/definition.cjs +1 -2
  202. package/date-picker/definition.js +1 -2
  203. package/date-picker/index.cjs +1 -1
  204. package/date-picker/index.js +2 -3
  205. package/date-range-picker/definition.cjs +1 -2
  206. package/date-range-picker/definition.js +1 -2
  207. package/date-range-picker/index.cjs +1 -1
  208. package/date-range-picker/index.js +6 -7
  209. package/date-time-picker/definition.cjs +1 -2
  210. package/date-time-picker/definition.js +1 -2
  211. package/date-time-picker/index.cjs +2 -2
  212. package/date-time-picker/index.js +4 -5
  213. package/dial-pad/definition.cjs +1 -2
  214. package/dial-pad/definition.js +1 -2
  215. package/dial-pad/index.cjs +8 -8
  216. package/dial-pad/index.js +13 -14
  217. package/dialog/definition.cjs +1 -2
  218. package/dialog/definition.js +1 -2
  219. package/dialog/index.cjs +18 -16
  220. package/dialog/index.js +39 -35
  221. package/divider/definition.cjs +1 -1
  222. package/divider/definition.js +1 -1
  223. package/divider/index.cjs +1 -1
  224. package/divider/index.js +0 -1
  225. package/elevation/index.cjs +1 -1
  226. package/elevation/index.js +0 -1
  227. package/empty-state/definition.cjs +1 -2
  228. package/empty-state/definition.js +1 -2
  229. package/empty-state/index.cjs +5 -5
  230. package/empty-state/index.js +11 -12
  231. package/fab/definition.cjs +1 -2
  232. package/fab/definition.js +1 -2
  233. package/fab/index.cjs +3 -3
  234. package/fab/index.js +9 -10
  235. package/file-picker/definition.cjs +1 -2
  236. package/file-picker/definition.js +1 -2
  237. package/file-picker/index.cjs +10 -11
  238. package/file-picker/index.js +29 -31
  239. package/flag/definition.cjs +0 -1
  240. package/flag/definition.js +0 -1
  241. package/flag/index.cjs +3 -3
  242. package/flag/index.js +11 -11
  243. package/header/definition.cjs +1 -1
  244. package/header/definition.js +1 -1
  245. package/header/index.cjs +5 -5
  246. package/header/index.js +11 -11
  247. package/icon/definition.cjs +1 -2
  248. package/icon/definition.js +1 -2
  249. package/icon/index.cjs +1 -1
  250. package/icon/index.js +0 -2
  251. package/index.cjs +184 -173
  252. package/index.js +52 -50
  253. package/kbd-key/definition.cjs +5 -0
  254. package/kbd-key/definition.js +2 -0
  255. package/kbd-key/index.cjs +5 -0
  256. package/kbd-key/index.js +65 -0
  257. package/kbd-shortcut/definition.cjs +5 -0
  258. package/kbd-shortcut/definition.js +2 -0
  259. package/kbd-shortcut/index.cjs +3 -0
  260. package/kbd-shortcut/index.js +27 -0
  261. package/layout/definition.cjs +1 -1
  262. package/layout/definition.js +1 -1
  263. package/layout/index.cjs +2 -2
  264. package/layout/index.js +3 -3
  265. package/lib/accordion-item/accordion-item.d.ts +18 -1
  266. package/lib/action-group/action-group.d.ts +18 -1
  267. package/lib/alert/alert.d.ts +36 -2
  268. package/lib/audio-player/audio-player.d.ts +18 -1
  269. package/lib/avatar/avatar.d.ts +19 -2
  270. package/lib/badge/badge.d.ts +18 -1
  271. package/lib/banner/banner.d.ts +54 -3
  272. package/lib/breadcrumb/breadcrumb.d.ts +18 -1
  273. package/lib/breadcrumb-item/breadcrumb-item.d.ts +19 -2
  274. package/lib/button/button.d.ts +55 -4
  275. package/lib/calendar-event/calendar-event.d.ts +18 -1
  276. package/lib/card/card.d.ts +19 -2
  277. package/lib/checkbox/checkbox.d.ts +107 -5
  278. package/lib/color-picker/color-picker.d.ts +126 -7
  279. package/lib/combobox/combobox.d.ts +124 -5
  280. package/lib/components.d.ts +4 -1
  281. package/lib/country-group/country-group.d.ts +36 -2
  282. package/lib/data-grid/data-grid-cell.d.ts +36 -2
  283. package/lib/data-grid/data-grid-row.d.ts +18 -1
  284. package/lib/date-picker/date-picker.d.ts +140 -4
  285. package/lib/date-range-picker/date-range-picker.d.ts +70 -2
  286. package/lib/date-time-picker/date-time-picker.d.ts +140 -4
  287. package/lib/dial-pad/dial-pad.d.ts +18 -1
  288. package/lib/dialog/dialog.d.ts +36 -2
  289. package/lib/divider/divider.d.ts +18 -1
  290. package/lib/fab/fab.d.ts +18 -1
  291. package/lib/file-picker/file-picker.d.ts +124 -5
  292. package/lib/header/header.d.ts +18 -1
  293. package/lib/icon/icon.template.d.ts +1 -2
  294. package/lib/kbd-key/definition.d.ts +4 -0
  295. package/lib/kbd-key/index.d.ts +1 -0
  296. package/lib/kbd-key/kbd-key.d.ts +18 -0
  297. package/lib/kbd-key/kbd-key.template.d.ts +4 -0
  298. package/lib/kbd-shortcut/definition.d.ts +3 -0
  299. package/lib/kbd-shortcut/index.d.ts +1 -0
  300. package/lib/kbd-shortcut/kbd-shortcut.d.ts +4 -0
  301. package/lib/kbd-shortcut/kbd-shortcut.template.d.ts +4 -0
  302. package/lib/menu/menu.d.ts +35 -1
  303. package/lib/menu-item/menu-item.d.ts +463 -2
  304. package/lib/nav/nav.d.ts +18 -1
  305. package/lib/nav-disclosure/nav-disclosure.d.ts +36 -2
  306. package/lib/nav-item/nav-item.d.ts +37 -3
  307. package/lib/note/note.d.ts +18 -1
  308. package/lib/number-field/number-field.d.ts +160 -7
  309. package/lib/option/option.d.ts +36 -2
  310. package/lib/pagination/pagination.d.ts +18 -1
  311. package/lib/platform-switch/definition.d.ts +3 -0
  312. package/lib/platform-switch/index.d.ts +1 -0
  313. package/lib/platform-switch/platform-switch.d.ts +4 -0
  314. package/lib/platform-switch/platform-switch.template.d.ts +4 -0
  315. package/lib/popover/popover.d.ts +36 -2
  316. package/lib/progress/progress.d.ts +18 -1
  317. package/lib/progress-ring/progress-ring.d.ts +18 -1
  318. package/lib/radio/radio.d.ts +53 -2
  319. package/lib/radio-group/radio-group.d.ts +18 -1
  320. package/lib/range-slider/range-slider.d.ts +52 -1
  321. package/lib/rich-text-editor/locale.d.ts +1 -0
  322. package/lib/rich-text-editor/popover.d.ts +1 -0
  323. package/lib/rich-text-editor/rich-text-editor.d.ts +17 -0
  324. package/lib/rich-text-editor/rte/utils/ui.d.ts +3 -1
  325. package/lib/searchable-select/option-tag.d.ts +18 -1
  326. package/lib/searchable-select/searchable-select.d.ts +160 -7
  327. package/lib/select/select.d.ts +160 -7
  328. package/lib/selectable-box/selectable-box.d.ts +18 -1
  329. package/lib/simple-color-picker/simple-color-picker.d.ts +35 -1
  330. package/lib/slider/slider.d.ts +53 -2
  331. package/lib/split-button/split-button.d.ts +54 -3
  332. package/lib/status/status.d.ts +18 -1
  333. package/lib/switch/switch.d.ts +36 -2
  334. package/lib/tab/tab.d.ts +54 -3
  335. package/lib/tab-panel/tab-panel.d.ts +18 -1
  336. package/lib/table/table-cell.d.ts +18 -1
  337. package/lib/table/table-header-cell.d.ts +18 -1
  338. package/lib/table/table-row.d.ts +18 -1
  339. package/lib/table/table-sorting-button.d.ts +18 -1
  340. package/lib/tag/tag.d.ts +54 -3
  341. package/lib/tag-group/tag-group.d.ts +18 -1
  342. package/lib/tag-name-map.d.ts +4 -1
  343. package/lib/text-area/text-area.d.ts +142 -6
  344. package/lib/text-field/text-field.d.ts +160 -7
  345. package/lib/time-picker/time-picker.d.ts +70 -2
  346. package/lib/toggletip/toggletip.d.ts +35 -1
  347. package/lib/tooltip/tooltip.d.ts +444 -0
  348. package/lib/tree-item/tree-item.d.ts +36 -2
  349. package/lib/tree-view/tree-view.d.ts +18 -1
  350. package/lib/video-player/video-player.d.ts +18 -1
  351. package/locales/de-DE.cjs +2 -1
  352. package/locales/de-DE.js +1 -0
  353. package/locales/en-GB.cjs +2 -1
  354. package/locales/en-GB.js +1 -0
  355. package/locales/en-US.cjs +2 -1
  356. package/locales/en-US.js +1 -0
  357. package/locales/ja-JP.cjs +2 -1
  358. package/locales/ja-JP.js +1 -0
  359. package/locales/zh-CN.cjs +2 -1
  360. package/locales/zh-CN.js +1 -0
  361. package/menu/definition.cjs +0 -1
  362. package/menu/definition.js +0 -1
  363. package/menu/index.cjs +1 -1
  364. package/menu/index.js +0 -2
  365. package/menu-item/definition.cjs +0 -1
  366. package/menu-item/definition.js +0 -1
  367. package/menu-item/index.cjs +1 -1
  368. package/menu-item/index.js +0 -2
  369. package/nav/definition.cjs +1 -1
  370. package/nav/definition.js +1 -1
  371. package/nav/index.cjs +2 -2
  372. package/nav/index.js +2 -2
  373. package/nav-disclosure/definition.cjs +1 -2
  374. package/nav-disclosure/definition.js +1 -2
  375. package/nav-disclosure/index.cjs +4 -5
  376. package/nav-disclosure/index.js +18 -19
  377. package/nav-item/definition.cjs +1 -2
  378. package/nav-item/definition.js +1 -2
  379. package/nav-item/index.cjs +2 -2
  380. package/nav-item/index.js +8 -9
  381. package/note/definition.cjs +1 -2
  382. package/note/definition.js +1 -2
  383. package/note/index.cjs +2 -2
  384. package/note/index.js +7 -8
  385. package/number-field/definition.cjs +1 -2
  386. package/number-field/definition.js +1 -2
  387. package/number-field/index.cjs +8 -9
  388. package/number-field/index.js +24 -26
  389. package/option/definition.cjs +0 -1
  390. package/option/definition.js +0 -1
  391. package/option/index.cjs +1 -1
  392. package/option/index.js +0 -2
  393. package/package.json +23 -23
  394. package/pagination/definition.cjs +1 -2
  395. package/pagination/definition.js +1 -2
  396. package/pagination/index.cjs +9 -9
  397. package/pagination/index.js +18 -19
  398. package/platform-switch/definition.cjs +5 -0
  399. package/platform-switch/definition.js +2 -0
  400. package/platform-switch/index.cjs +1 -0
  401. package/platform-switch/index.js +28 -0
  402. package/popover/definition.cjs +1 -2
  403. package/popover/definition.js +1 -2
  404. package/popover/index.cjs +8 -8
  405. package/popover/index.js +33 -34
  406. package/popup/definition.cjs +0 -1
  407. package/popup/definition.js +0 -1
  408. package/popup/index.cjs +1 -1
  409. package/popup/index.js +0 -2
  410. package/progress/definition.cjs +1 -1
  411. package/progress/definition.js +1 -1
  412. package/progress/index.cjs +5 -5
  413. package/progress/index.js +9 -9
  414. package/progress-ring/definition.cjs +1 -1
  415. package/progress-ring/definition.js +1 -1
  416. package/progress-ring/index.cjs +1 -1
  417. package/progress-ring/index.js +0 -1
  418. package/radio/definition.cjs +1 -1
  419. package/radio/definition.js +1 -1
  420. package/radio/index.cjs +1 -1
  421. package/radio/index.js +0 -1
  422. package/radio-group/definition.cjs +1 -2
  423. package/radio-group/definition.js +1 -2
  424. package/radio-group/index.cjs +6 -9
  425. package/radio-group/index.js +26 -26
  426. package/range-slider/definition.cjs +1 -2
  427. package/range-slider/definition.js +1 -2
  428. package/range-slider/index.cjs +5 -5
  429. package/range-slider/index.js +58 -59
  430. package/rich-text-editor/definition.cjs +1 -2
  431. package/rich-text-editor/definition.js +1 -2
  432. package/rich-text-editor/index.cjs +12 -10
  433. package/rich-text-editor/index.js +2080 -1988
  434. package/rich-text-view/definition.cjs +1 -1
  435. package/rich-text-view/definition.js +1 -1
  436. package/rich-text-view/index.cjs +1 -1
  437. package/rich-text-view/index.js +3 -3
  438. package/searchable-select/definition.cjs +1 -2
  439. package/searchable-select/definition.js +1 -2
  440. package/searchable-select/index.cjs +39 -41
  441. package/searchable-select/index.js +127 -126
  442. package/select/definition.cjs +1 -2
  443. package/select/definition.js +1 -2
  444. package/select/index.cjs +1 -1
  445. package/select/index.js +0 -2
  446. package/selectable-box/definition.cjs +1 -2
  447. package/selectable-box/definition.js +1 -2
  448. package/selectable-box/index.cjs +9 -9
  449. package/selectable-box/index.js +20 -21
  450. package/shared/aria/aria-binding-directive.d.ts +21 -0
  451. package/shared/aria/aria-change-subscription.d.ts +1 -0
  452. package/shared/aria/aria-mixin.d.ts +21 -3
  453. package/shared/aria/delegates-aria.d.ts +19 -2
  454. package/shared/aria/host-semantics.d.ts +19 -2
  455. package/shared/aria/idrefs-controller.d.ts +17 -0
  456. package/shared/color-picker/base-color-picker.d.ts +18 -1
  457. package/shared/feedback/feedback-message.d.ts +18 -1
  458. package/shared/feedback/mixins.d.ts +36 -2
  459. package/shared/foundation/button/button.d.ts +35 -1
  460. package/shared/foundation/form-associated/form-associated.d.ts +35 -1
  461. package/shared/foundation/vivid-element/vivid-element.d.ts +375 -0
  462. package/shared/framework/reactive-controller.d.ts +373 -0
  463. package/shared/patterns/affix.d.ts +36 -2
  464. package/shared/patterns/anchored.d.ts +34 -0
  465. package/shared/patterns/char-count/char-count.d.ts +18 -1
  466. package/shared/patterns/form-elements/form-element.d.ts +17 -0
  467. package/shared/patterns/form-elements/with-contextual-help.d.ts +18 -1
  468. package/shared/patterns/form-elements/with-error-text.d.ts +18 -1
  469. package/shared/patterns/form-elements/with-success-text.d.ts +18 -1
  470. package/shared/patterns/index.d.ts +1 -0
  471. package/shared/patterns/kbd-shortcut.d.ts +431 -0
  472. package/shared/patterns/linkable.d.ts +19 -2
  473. package/shared/patterns/localized.d.ts +35 -1
  474. package/shared/patterns/trapped-focus.d.ts +18 -1
  475. package/shared/picker-field/mixins/calendar-picker.d.ts +35 -1
  476. package/shared/picker-field/mixins/calendar-picker.template.d.ts +35 -1
  477. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +18 -1
  478. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +35 -1
  479. package/shared/picker-field/mixins/single-date-picker.d.ts +35 -1
  480. package/shared/picker-field/mixins/single-value-picker.d.ts +35 -1
  481. package/shared/picker-field/mixins/time-selection-picker.d.ts +35 -1
  482. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +70 -2
  483. package/shared/picker-field/picker-field.d.ts +124 -5
  484. package/shared/templating/render-in-light-dom.d.ts +7 -20
  485. package/shared/utils/platform.d.ts +1 -0
  486. package/side-drawer/definition.cjs +1 -1
  487. package/side-drawer/definition.js +1 -1
  488. package/side-drawer/index.cjs +3 -3
  489. package/side-drawer/index.js +4 -4
  490. package/simple-color-picker/definition.cjs +1 -2
  491. package/simple-color-picker/definition.js +1 -2
  492. package/simple-color-picker/index.cjs +2 -2
  493. package/simple-color-picker/index.js +19 -20
  494. package/slider/definition.cjs +0 -1
  495. package/slider/definition.js +0 -1
  496. package/slider/index.cjs +1 -1
  497. package/slider/index.js +0 -2
  498. package/split-button/definition.cjs +1 -2
  499. package/split-button/definition.js +1 -2
  500. package/split-button/index.cjs +6 -7
  501. package/split-button/index.js +15 -16
  502. package/status/definition.cjs +1 -2
  503. package/status/definition.js +1 -2
  504. package/status/index.cjs +4 -4
  505. package/status/index.js +11 -12
  506. package/styles/core/all.css +24 -2
  507. package/styles/core/typography.css +24 -2
  508. package/styles/fonts/spezia-variable.css +6 -0
  509. package/styles/tokens/theme-dark.css +2 -0
  510. package/styles/tokens/theme-light.css +2 -0
  511. package/switch/definition.cjs +1 -2
  512. package/switch/definition.js +1 -2
  513. package/switch/index.cjs +5 -5
  514. package/switch/index.js +8 -9
  515. package/tab/definition.cjs +1 -2
  516. package/tab/definition.js +1 -2
  517. package/tab/index.cjs +1 -1
  518. package/tab/index.js +0 -2
  519. package/tab-panel/definition.cjs +1 -1
  520. package/tab-panel/definition.js +1 -1
  521. package/tab-panel/index.cjs +1 -1
  522. package/tab-panel/index.js +0 -1
  523. package/table/definition.cjs +1 -2
  524. package/table/definition.js +1 -2
  525. package/table/index.cjs +9 -9
  526. package/table/index.js +24 -25
  527. package/tabs/definition.cjs +1 -2
  528. package/tabs/definition.js +1 -2
  529. package/tabs/index.cjs +8 -8
  530. package/tabs/index.js +34 -35
  531. package/tag/definition.cjs +1 -2
  532. package/tag/definition.js +1 -2
  533. package/tag/index.cjs +11 -11
  534. package/tag/index.js +21 -22
  535. package/tag-group/definition.cjs +1 -1
  536. package/tag-group/definition.js +1 -1
  537. package/tag-group/index.cjs +4 -4
  538. package/tag-group/index.js +6 -6
  539. package/text-area/definition.cjs +1 -2
  540. package/text-area/definition.js +1 -2
  541. package/text-area/index.cjs +8 -9
  542. package/text-area/index.js +29 -31
  543. package/text-field/definition.cjs +0 -1
  544. package/text-field/definition.js +0 -1
  545. package/text-field/index.cjs +1 -1
  546. package/text-field/index.js +0 -2
  547. package/time-picker/definition.cjs +1 -2
  548. package/time-picker/definition.js +1 -2
  549. package/time-picker/index.cjs +1 -1
  550. package/time-picker/index.js +2 -3
  551. package/toggletip/definition.cjs +0 -1
  552. package/toggletip/definition.js +0 -1
  553. package/toggletip/index.cjs +1 -1
  554. package/toggletip/index.js +0 -2
  555. package/tooltip/definition.cjs +0 -1
  556. package/tooltip/definition.js +0 -1
  557. package/tooltip/index.cjs +1 -1
  558. package/tooltip/index.js +0 -2
  559. package/tree-item/definition.cjs +1 -2
  560. package/tree-item/definition.js +1 -2
  561. package/tree-item/index.cjs +1 -1
  562. package/tree-item/index.js +0 -2
  563. package/tree-view/definition.cjs +1 -2
  564. package/tree-view/definition.js +1 -2
  565. package/tree-view/index.cjs +4 -4
  566. package/tree-view/index.js +10 -10
  567. package/unbundled/affix.cjs +1 -1
  568. package/unbundled/affix.js +1 -1
  569. package/unbundled/aria-binding-directive.cjs +152 -0
  570. package/unbundled/aria-binding-directive.js +140 -0
  571. package/unbundled/calendar-picker.template.cjs +9 -11
  572. package/unbundled/calendar-picker.template.js +9 -11
  573. package/unbundled/char-count.cjs +3 -2
  574. package/unbundled/char-count.js +3 -2
  575. package/unbundled/decorate.cjs +1 -1
  576. package/unbundled/decorate.js +1 -1
  577. package/unbundled/definition.cjs +91 -17
  578. package/unbundled/definition.js +88 -14
  579. package/unbundled/definition10.cjs +5 -4
  580. package/unbundled/definition10.js +6 -5
  581. package/unbundled/definition11.cjs +14 -10
  582. package/unbundled/definition11.js +15 -11
  583. package/unbundled/definition12.cjs +17 -4
  584. package/unbundled/definition12.js +19 -6
  585. package/unbundled/definition13.cjs +7 -6
  586. package/unbundled/definition13.js +8 -7
  587. package/unbundled/definition14.cjs +67 -58
  588. package/unbundled/definition14.js +68 -59
  589. package/unbundled/definition15.cjs +1 -1
  590. package/unbundled/definition15.js +2 -2
  591. package/unbundled/definition16.cjs +1 -1
  592. package/unbundled/definition16.js +2 -2
  593. package/unbundled/definition17.cjs +11 -9
  594. package/unbundled/definition17.js +12 -10
  595. package/unbundled/definition18.cjs +1 -1
  596. package/unbundled/definition18.js +2 -2
  597. package/unbundled/definition19.js +1 -1
  598. package/unbundled/definition2.cjs +96 -75
  599. package/unbundled/definition2.js +94 -73
  600. package/unbundled/definition20.js +1 -1
  601. package/unbundled/definition21.js +1 -1
  602. package/unbundled/definition22.cjs +2 -3
  603. package/unbundled/definition22.js +3 -4
  604. package/unbundled/definition23.cjs +4 -4
  605. package/unbundled/definition23.js +6 -6
  606. package/unbundled/definition24.cjs +17 -13
  607. package/unbundled/definition24.js +18 -14
  608. package/unbundled/definition25.cjs +1 -1
  609. package/unbundled/definition25.js +2 -2
  610. package/unbundled/definition26.cjs +24 -8
  611. package/unbundled/definition26.js +23 -7
  612. package/unbundled/definition27.cjs +39 -22
  613. package/unbundled/definition27.js +41 -24
  614. package/unbundled/definition28.cjs +10 -7
  615. package/unbundled/definition28.js +12 -9
  616. package/unbundled/definition29.cjs +1 -1
  617. package/unbundled/definition29.js +2 -2
  618. package/unbundled/definition3.cjs +154 -95
  619. package/unbundled/definition3.js +146 -93
  620. package/unbundled/definition30.cjs +5 -3
  621. package/unbundled/definition30.js +7 -5
  622. package/unbundled/definition31.cjs +1 -1
  623. package/unbundled/definition31.js +2 -2
  624. package/unbundled/definition32.cjs +30 -23
  625. package/unbundled/definition32.js +31 -24
  626. package/unbundled/definition33.cjs +5 -3
  627. package/unbundled/definition33.js +6 -4
  628. package/unbundled/definition34.cjs +303 -113
  629. package/unbundled/definition34.js +302 -112
  630. package/unbundled/definition35.cjs +26 -326
  631. package/unbundled/definition35.js +24 -247
  632. package/unbundled/definition36.cjs +131 -25
  633. package/unbundled/definition36.js +124 -23
  634. package/unbundled/definition37.cjs +326 -51
  635. package/unbundled/definition37.js +324 -49
  636. package/unbundled/definition38.cjs +137 -316
  637. package/unbundled/definition38.js +135 -314
  638. package/unbundled/definition39.cjs +337 -173
  639. package/unbundled/definition39.js +334 -170
  640. package/unbundled/definition4.cjs +34 -153
  641. package/unbundled/definition4.js +25 -145
  642. package/unbundled/definition40.cjs +234 -339
  643. package/unbundled/definition40.js +230 -335
  644. package/unbundled/definition41.cjs +48 -266
  645. package/unbundled/definition41.js +44 -262
  646. package/unbundled/definition42.cjs +68 -49
  647. package/unbundled/definition42.js +65 -46
  648. package/unbundled/definition43.cjs +424 -56
  649. package/unbundled/definition43.js +422 -54
  650. package/unbundled/definition44.cjs +45 -427
  651. package/unbundled/definition44.js +42 -424
  652. package/unbundled/definition45.cjs +45 -54
  653. package/unbundled/definition45.js +42 -51
  654. package/unbundled/definition46.cjs +178 -30
  655. package/unbundled/definition46.js +175 -26
  656. package/unbundled/definition47.cjs +29 -93
  657. package/unbundled/definition47.js +25 -90
  658. package/unbundled/definition48.cjs +76 -36
  659. package/unbundled/definition48.js +73 -33
  660. package/unbundled/definition49.cjs +56 -23
  661. package/unbundled/definition49.js +54 -18
  662. package/unbundled/definition5.cjs +56 -38
  663. package/unbundled/definition5.js +52 -28
  664. package/unbundled/definition50.cjs +23 -40
  665. package/unbundled/definition50.js +18 -38
  666. package/unbundled/definition51.cjs +30 -338
  667. package/unbundled/definition51.js +30 -338
  668. package/unbundled/definition52.cjs +317 -187
  669. package/unbundled/definition52.js +314 -184
  670. package/unbundled/definition53.cjs +194 -285
  671. package/unbundled/definition53.js +189 -280
  672. package/unbundled/definition54.cjs +47 -54
  673. package/unbundled/definition54.js +44 -50
  674. package/unbundled/definition55.cjs +279 -131
  675. package/unbundled/definition55.js +277 -128
  676. package/unbundled/definition56.cjs +50 -261
  677. package/unbundled/definition56.js +48 -260
  678. package/unbundled/definition57.cjs +128 -449
  679. package/unbundled/definition57.js +126 -448
  680. package/unbundled/definition58.cjs +235 -3596
  681. package/unbundled/definition58.js +231 -3429
  682. package/unbundled/definition59.cjs +419 -729
  683. package/unbundled/definition59.js +417 -727
  684. package/unbundled/definition6.cjs +18 -64
  685. package/unbundled/definition6.js +15 -60
  686. package/unbundled/definition60.cjs +3666 -106
  687. package/unbundled/definition60.js +3498 -101
  688. package/unbundled/definition61.cjs +625 -873
  689. package/unbundled/definition61.js +619 -867
  690. package/unbundled/definition62.cjs +106 -108
  691. package/unbundled/definition62.js +103 -105
  692. package/unbundled/definition63.cjs +1045 -71
  693. package/unbundled/definition63.js +1041 -66
  694. package/unbundled/definition64.cjs +105 -170
  695. package/unbundled/definition64.js +102 -167
  696. package/unbundled/definition65.cjs +70 -113
  697. package/unbundled/definition65.js +66 -110
  698. package/unbundled/definition66.cjs +185 -54
  699. package/unbundled/definition66.js +182 -51
  700. package/unbundled/definition67.cjs +110 -77
  701. package/unbundled/definition67.js +111 -77
  702. package/unbundled/definition68.cjs +58 -21
  703. package/unbundled/definition68.js +56 -16
  704. package/unbundled/definition69.cjs +82 -75
  705. package/unbundled/definition69.js +81 -75
  706. package/unbundled/definition7.cjs +2 -2
  707. package/unbundled/definition7.js +3 -3
  708. package/unbundled/definition70.cjs +19 -344
  709. package/unbundled/definition70.js +15 -336
  710. package/unbundled/definition71.cjs +88 -26
  711. package/unbundled/definition71.js +86 -23
  712. package/unbundled/definition72.cjs +309 -118
  713. package/unbundled/definition72.js +234 -115
  714. package/unbundled/definition73.cjs +293 -217
  715. package/unbundled/definition73.js +287 -218
  716. package/unbundled/definition74.cjs +39 -30
  717. package/unbundled/definition74.js +29 -28
  718. package/unbundled/definition75.cjs +106 -121
  719. package/unbundled/definition75.js +104 -113
  720. package/unbundled/definition76.cjs +260 -178
  721. package/unbundled/definition76.js +258 -175
  722. package/unbundled/definition77.cjs +29 -514
  723. package/unbundled/definition77.js +27 -503
  724. package/unbundled/definition78.cjs +171 -0
  725. package/unbundled/definition78.js +147 -0
  726. package/unbundled/definition79.cjs +233 -0
  727. package/unbundled/definition79.js +214 -0
  728. package/unbundled/definition8.js +1 -1
  729. package/unbundled/definition80.cjs +533 -0
  730. package/unbundled/definition80.js +513 -0
  731. package/unbundled/definition9.cjs +10 -8
  732. package/unbundled/definition9.js +11 -9
  733. package/unbundled/delegates-aria.cjs +19 -60
  734. package/unbundled/delegates-aria.js +20 -60
  735. package/unbundled/divider.cjs +6 -0
  736. package/unbundled/divider.js +6 -0
  737. package/unbundled/form-element.cjs +7 -5
  738. package/unbundled/form-element.js +7 -5
  739. package/unbundled/host-semantics.cjs +11 -45
  740. package/unbundled/host-semantics.js +11 -44
  741. package/unbundled/kbd-shortcut.cjs +26 -0
  742. package/unbundled/kbd-shortcut.js +20 -0
  743. package/unbundled/mixins.cjs +7 -77
  744. package/unbundled/mixins.js +6 -64
  745. package/unbundled/picker-field.template.cjs +20 -15
  746. package/unbundled/picker-field.template.js +20 -15
  747. package/unbundled/platform.cjs +17 -0
  748. package/unbundled/platform.js +12 -0
  749. package/unbundled/randomId.cjs +47 -0
  750. package/unbundled/randomId.js +35 -0
  751. package/unbundled/text-field.cjs +1 -1
  752. package/unbundled/text-field.js +1 -1
  753. package/unbundled/time-selection-picker.template.cjs +4 -3
  754. package/unbundled/time-selection-picker.template.js +5 -4
  755. package/unbundled/vivid-element.cjs +91 -9
  756. package/unbundled/vivid-element.js +66 -8
  757. package/video-player/definition.cjs +1 -1
  758. package/video-player/definition.js +1 -1
  759. package/video-player/index.cjs +24 -24
  760. package/video-player/index.js +3087 -3010
  761. package/visually-hidden/definition.cjs +1 -1
  762. package/visually-hidden/definition.js +1 -1
  763. package/visually-hidden/index.cjs +1 -1
  764. package/visually-hidden/index.js +0 -1
  765. package/vivid.api.json +605 -7
  766. package/bundled/attribute-binding-behaviour.cjs +0 -1
  767. package/bundled/attribute-binding-behaviour.js +0 -18
  768. package/bundled/normalize.cjs +0 -1
  769. package/bundled/normalize.js +0 -7
  770. package/bundled/strings.cjs +0 -1
  771. package/bundled/strings.js +0 -7
  772. package/shared/aria/delegate-aria-behavior.d.ts +0 -23
  773. package/shared/aria/host-semantics-behavior.d.ts +0 -19
  774. package/shared/templating/attribute-binding-behaviour.d.ts +0 -14
  775. package/unbundled/attribute-binding-behaviour.cjs +0 -37
  776. package/unbundled/attribute-binding-behaviour.js +0 -31
@@ -1,498 +1,176 @@
1
- import { o as defineVividComponent, s as createRegisterFunction, t as VividElement } from "./vivid-element.js";
1
+ import { d as createRegisterFunction, t as VividElement, u as defineVividComponent } from "./vivid-element.js";
2
2
  import { t as __decorate } from "./decorate.js";
3
- import { n as FormAssociated } from "./form-associated.js";
3
+ import { t as CheckableFormAssociated } from "./form-associated.js";
4
4
  import { t as FormElement } from "./form-element.js";
5
- import { t as Localized } from "./localized.js";
6
- import { i as Popup, r as PlacementStrategy, t as popupDefinition } from "./definition10.js";
7
- import { n as keyArrowRight$1, t as keyArrowLeft$1 } from "./key-codes.js";
8
- import { a as defaultToOneConverter, i as lerp, n as getMarkersTemplate, o as roundToStepValue, r as inverseLerp } from "./slider.template.js";
9
- import { attr, html, nullableNumberConverter, observable, ref, when } from "@microsoft/fast-element";
10
- import { Orientation, classNames, keyArrowDown, keyArrowUp, keyEnd, keyHome, limit } from "@microsoft/fast-web-utilities";
11
- //#region src/lib/range-slider/range-slider.scss?inline
12
- var range_slider_default = ":host{display:inline-block}:host(:not([orientation=vertical])){inline-size:100%}:host([orientation=vertical]){block-size:100%;min-block-size:calc(var(--_thumb-interaction-indicator-size) * 5)}:host([disabled]){cursor:not-allowed}.control.connotation-cta{--_connotation-color-primary:var(--vvd-slider-cta-primary,var(--vvd-color-cta-500))}.control:not(.connotation-cta){--_connotation-color-primary:var(--vvd-slider-accent-primary,var(--vvd-color-canvas-text))}.control{--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-primary);--_appearance-color-outline:transparent;--_thumb-size:12px;--_thumb-interaction-indicator-size:36px;--_track-start-inset-inline-start:0;--_track-start-inset-block-start:0;cursor:pointer;user-select:none;outline:none}.control .positioning-region{position:relative}.control .track{background:var(--_track-background-color);border-radius:4px;position:absolute}.control .track-start{border-radius:inherit;background:var(--_track-start-background-color);block-size:100%;position:absolute;inset-inline-start:var(--_track-start-inset-inline-start)}.control.horizontal{block-size:var(--_thumb-interaction-indicator-size);inline-size:calc(100% - var(--_thumb-size));min-inline-size:var(--_thumb-size);margin-inline-start:calc(var(--_thumb-size) / 2)}.control.horizontal .track{top:calc((var(--_thumb-interaction-indicator-size) - 2px) / 2);block-size:2px;left:0;right:0}:host([markers]) .control.horizontal .track-start{--_track-start-inset-inline-start:1px;border-top-left-radius:0;border-bottom-left-radius:0}.control.horizontal .track .mark{block-size:6px;inline-size:100%;position:absolute;inset-block-start:-2px;inset-inline-start:0}.control.vertical{margin-top:calc(var(--_thumb-interaction-indicator-size) / 2);block-size:calc(100% - var(--_thumb-interaction-indicator-size));inline-size:var(--_thumb-interaction-indicator-size);min-block-size:var(--_thumb-interaction-indicator-size)}.control.vertical .positioning-region{block-size:100%}.control.vertical .track{left:calc((var(--_thumb-interaction-indicator-size) - 2px) / 2);block-size:100%;inline-size:2px}.control.vertical .track .mark{block-size:100%;inline-size:6px;position:absolute;inset-block-start:0;inset-inline-start:-2px}.control.vertical .track-start{block-size:auto;inline-size:100%;inset-block-start:var(--_track-start-inset-block-start)}:host([markers]) .control.vertical .track-start{--_track-start-inset-block-start:1px;border-radius:0}.control.disabled{--_track-background-color:var(--vvd-color-neutral-100);--_track-start-background-color:var(--vvd-color-neutral-300);pointer-events:none}.control:not(.disabled){--_track-background-color:var(--vvd-color-neutral-300);--_track-start-background-color:var(--_appearance-color-fill)}.control:not(.disabled) .mark{color:var(--vvd-color-neutral-950)}.control.disabled .mark{color:var(--_track-start-background-color)}.thumb-container{block-size:var(--_thumb-interaction-indicator-size);cursor:inherit;inline-size:var(--_thumb-interaction-indicator-size);touch-action:none;border-radius:50%;outline:none;position:absolute}.thumb-container.focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;--_thumb-interaction-indicator-alpha:.05;border-radius:50%}.control.horizontal .thumb-container{transform:translateX(calc(var(--_thumb-interaction-indicator-size) / 2))}.control.vertical .thumb-container{transform:translateY(calc(var(--_thumb-interaction-indicator-size) / 2))}@media (hover:hover){.control:not(.disabled) .thumb-container:hover{--_thumb-interaction-indicator-alpha:.12}}.control:not(.disabled) .thumb-container:active{--_thumb-interaction-indicator-alpha:.25}.thumb-container:before{border-radius:inherit;background-color:var(--_track-start-background-color);block-size:var(--_thumb-interaction-indicator-size);content:\"\";inline-size:var(--_thumb-interaction-indicator-size);opacity:var(--_thumb-interaction-indicator-alpha,0);transition:opacity .2s ease-out;display:block;position:absolute}.thumb-container:after{border-radius:inherit;background-color:var(--_track-start-background-color);block-size:var(--_thumb-size);content:\"\";inline-size:var(--_thumb-size);inset:calc((var(--_thumb-interaction-indicator-size) - var(--_thumb-size)) / 2);display:block;position:absolute}.popup{pointer-events:none}.tooltip{width:auto;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);padding:8px 12px}:host([internal-part]) .thumb-container{opacity:0;transition:opacity .2s}:host([internal-part]) .control.horizontal .track{block-size:4px;top:16px;overflow:hidden}:host([internal-part]) .control:focus .thumb-container{opacity:1}@media (hover:hover){:host([internal-part]) .control:hover .thumb-container{opacity:1}}.control,:host([markers]) .control.horizontal .track-start,:host([markers]) .control.vertical .track-start{--_track-start-inset-inline-start:auto;--_track-start-inset-block-start:auto}";
5
+ import { t as WithErrorText } from "./with-error-text.js";
6
+ import { Updates, attr, html, observable, when } from "@microsoft/fast-element";
7
+ import { classNames, keySpace } from "@microsoft/fast-web-utilities";
8
+ //#region src/lib/radio/radio.scss?inline
9
+ var radio_default = ":host(:focus-visible){outline:none}:host([disabled]){cursor:not-allowed}.base.connotation-cta{--_connotation-color-primary:var(--vvd-radio-cta-primary,var(--vvd-color-cta-500));--_connotation-color-primary-text:var(--vvd-radio-cta-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-radio-cta-primary-increment,var(--vvd-color-cta-600));--_connotation-color-intermediate:var(--vvd-radio-cta-intermediate,var(--vvd-color-cta-500));--_connotation-color-firm:var(--vvd-radio-cta-firm,var(--vvd-color-cta-600));--_connotation-color-fierce:var(--vvd-radio-cta-fierce,var(--vvd-color-cta-700))}.base:not(.connotation-cta){--_connotation-color-primary:var(--vvd-radio-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-radio-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-radio-accent-primary-increment,var(--vvd-color-neutral-800));--_connotation-color-intermediate:var(--vvd-radio-accent-intermediate,var(--vvd-color-neutral-500));--_connotation-color-firm:var(--vvd-radio-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-fierce:var(--vvd-radio-accent-fierce,var(--vvd-color-neutral-700))}.base{--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-500)}@media (hover:hover){.base: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(--vvd-color-neutral-700)}}.base.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(--vvd-color-neutral-700)}.base:checked:where(:not(.disabled,:disabled)),.base.checked:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-primary);--_appearance-color-outline:var(--_connotation-color-primary)}@media (hover:hover){.base:checked:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-primary-increment);--_appearance-color-outline:var(--_connotation-color-primary-increment)}}.base.checked.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-primary-increment);--_appearance-color-outline:var(--_connotation-color-primary-increment)}.base:disabled,.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.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{cursor:pointer;align-items:center;gap:8px;display:inline-flex}@supports (user-select:none){.base{user-select:none}}.base.disabled{pointer-events:none}.control{block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 20));box-shadow:inset 0 0 0 2px var(--_appearance-color-outline);inline-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 20));border-radius:50%;flex-shrink:0;position:relative}.base:not(.checked) .control{background-color:var(--_appearance-color-fill)}.control:after{border-radius:inherit;background-color:var(--_appearance-color-outline);content:\"\";opacity:1;transition:opacity .2s;position:absolute;inset:5px}.base:not(.checked) .control:after{opacity:0}:host(:focus-visible) .control{--focus-stroke-gap-color:transparent;position:relative}:host(:focus-visible) .control:before{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));border-radius:var(--focus-border-radius,inherit);block-size:calc(100% + var(--focus-block-size-addition,4px));content:\"\";inline-size:calc(100% + var(--focus-block-size-addition,4px));display:block;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}label{color:var(--vvd-color-canvas-text);cursor:pointer;font:var(--vvd-typography-base)}";
13
10
  //#endregion
14
- //#region src/lib/range-slider/range-slider.ts
15
- var Direction$1 = {
16
- Increment: 1,
17
- Decrement: -1
18
- };
11
+ //#region src/lib/radio/radio.ts
19
12
  /**
20
- * Base class for range-slider
21
- *
22
- * @component range-slider
23
13
  * @public
24
- * @event {CustomEvent<undefined>} input:start - Event emitted when the start value changes
25
- * @event {CustomEvent<undefined>} input:end - Event emitted when the end value changes
26
- * @event {CustomEvent<undefined>} input - Event emitted when either the start or end value changes.
27
- * @event {CustomEvent<undefined>} change - Event emitted when either the start or end value changes.
28
- * @vueModel start start input:start `event.currentTarget.start`
29
- * @vueModel end end input:end `event.currentTarget.end`
30
- * @vueModel startAsNumber startAsNumber input:start `event.currentTarget.startAsNumber`
31
- * @vueModel endAsNumber endAsNumber input:end `event.currentTarget.endAsNumber`
32
- * @testSelector byLabel byLabel
33
- * @testAction slideStartTo slideTo #track #startThumb
34
- * @testAction slideEndTo slideTo #track #endThumb
35
- * @testQuery range rangeAsNumber
36
- * @testRef track shadow .control
37
- * @testRef startThumb shadow #start-thumb
38
- * @testRef endThumb shadow #end-thumb
14
+ * @event {CustomEvent<undefined>} change - Fires a custom 'change' event when the value changes
15
+ * @component radio
16
+ * @testAction check click #control
17
+ * @testQuery checked checked true
18
+ * @testQuery unchecked checked false
19
+ * @testRef control shadow .control
39
20
  */
40
- var RangeSlider = class extends Localized(FormElement(FormAssociated(VividElement))) {
41
- constructor(..._args) {
42
- super(..._args);
43
- this.start = "";
44
- this.end = "";
45
- this.min = 0;
46
- this.max = 10;
47
- this.step = 1;
48
- this.orientation = Orientation.horizontal;
49
- this.ariaStartLabel = null;
50
- this.ariaEndLabel = null;
51
- this.markers = false;
52
- this.pin = false;
53
- this.valueTextFormatter = (value) => parseFloat(value).toLocaleString(this.locale.lang);
54
- this.proxy = document.createElement("input");
55
- this._trackEl = null;
56
- this._startThumbEl = null;
57
- this._endThumbEl = null;
58
- this._draggingThumb = false;
59
- this._visiblyFocusedThumb = null;
60
- this._hoveredThumb = null;
61
- this._startThumbCss = "";
62
- this._endThumbCss = "";
63
- this._selectedRangeCss = "";
64
- }
65
- #isInternalValueUpdate = false;
66
- /**
67
- * @internal
68
- */
69
- startChanged() {
70
- this.currentStart = this.start;
71
- if (!this.#isInternalValueUpdate) {
72
- this.dirtyValue = true;
73
- this.#updateFormValue();
74
- }
75
- if (this.$fastController.isConnected) this.#updateThumbPositions();
76
- }
21
+ var Radio = class extends WithErrorText(FormElement(CheckableFormAssociated(VividElement))) {
77
22
  /**
78
23
  * @internal
79
24
  */
80
- initialStartChanged(_, newValue) {
81
- if (newValue && !this.dirtyValue) {
82
- this.start = newValue;
83
- this.dirtyValue = false;
84
- }
25
+ readOnlyChanged() {
26
+ /* v8 ignore if -- @preserve */
27
+ if (this.proxy instanceof HTMLInputElement) this.proxy.readOnly = this.readOnly;
85
28
  }
86
29
  /**
87
30
  * @internal
88
31
  */
89
- currentStartChanged() {
90
- this.start = this.currentStart;
91
- }
92
- /**
93
- * The start property, typed as a number.
94
- *
95
- * @public
96
- */
97
- get startAsNumber() {
98
- return parseFloat(this.start);
99
- }
100
- set startAsNumber(next) {
101
- this.start = next.toString();
102
- }
103
- /**
104
- * @internal
105
- */
106
- endChanged() {
107
- this.currentEnd = this.end;
108
- if (!this.#isInternalValueUpdate) {
109
- this.dirtyValue = true;
110
- this.#updateFormValue();
111
- }
112
- if (this.$fastController.isConnected) this.#updateThumbPositions();
113
- }
114
- /**
115
- * @internal
116
- */
117
- initialEndChanged(_, newValue) {
118
- if (newValue && !this.dirtyValue) {
119
- this.end = newValue;
120
- this.dirtyValue = false;
121
- }
122
- }
123
- /**
124
- * @internal
125
- */
126
- currentEndChanged() {
127
- this.end = this.currentEnd;
128
- }
129
- /**
130
- * The end property, typed as a number.
131
- *
132
- * @public
133
- */
134
- get endAsNumber() {
135
- return parseFloat(this.end);
136
- }
137
- set endAsNumber(next) {
138
- this.end = next.toString();
139
- }
140
- #updateValues({ start, end }, emitEvents = true) {
141
- if (start === this.start) start = void 0;
142
- if (end === this.end) end = void 0;
143
- if (start === void 0 && end === void 0) return;
144
- this.#isInternalValueUpdate = true;
145
- if (start !== void 0) this.start = start;
146
- if (end !== void 0) this.end = end;
147
- this.#isInternalValueUpdate = false;
148
- if (emitEvents) {
149
- if (start !== void 0) this.$emit("input:start");
150
- if (end !== void 0) this.$emit("input:end");
151
- this.$emit("input");
152
- this.$emit("change");
153
- this.dirtyValue = true;
32
+ defaultCheckedChanged() {
33
+ if (this.$fastController.isConnected && !this.dirtyChecked) {
34
+ /* v8 ignore else -- @preserve */
35
+ if (!this.isInsideRadioGroup()) {
36
+ this.checked = this.defaultChecked;
37
+ this.dirtyChecked = false;
38
+ }
154
39
  }
155
- this.#updateFormValue();
156
40
  }
157
- #applyStep(thumb, direction) {
158
- this.#updateValues({ [thumb]: this.#roundToNearestStep(thumb, Number(this[thumb]) + direction * this.step).toString() });
41
+ constructor() {
42
+ super();
43
+ this.initialValue = "on";
44
+ this.defaultSlottedNodes = [];
45
+ this.keypressHandler = (e) => {
46
+ switch (e.key) {
47
+ case keySpace:
48
+ if (!this.checked && !this.readOnly) this.checked = true;
49
+ return;
50
+ }
51
+ return true;
52
+ };
53
+ this.proxy = document.createElement("input");
54
+ this.#validateValueMissingWithSiblings = () => {
55
+ const siblings = this.#radioSiblings;
56
+ const group = this.#radioGroup;
57
+ if (siblings && siblings.length > 1) {
58
+ if (siblings.some((x) => x.checked)) {
59
+ this.setValidity({ valueMissing: false });
60
+ this.errorValidationMessage = "";
61
+ if (group) group.errorValidationMessage = "";
62
+ }
63
+ }
64
+ };
65
+ this.#syncSiblingsRequiredValidationStatus = () => {
66
+ if (this.elementInternals && !this.validity.valueMissing) {
67
+ const siblings = this.#radioSiblings;
68
+ const group = this.#radioGroup;
69
+ if (siblings && siblings.length > 1) siblings.forEach((x) => {
70
+ x.elementInternals.setValidity({ valueMissing: false });
71
+ x.errorValidationMessage = "";
72
+ if (group) group.errorValidationMessage = "";
73
+ });
74
+ }
75
+ };
76
+ this.proxy.setAttribute("type", "radio");
77
+ this.proxy.setAttribute("name", this.name);
78
+ this.checked = this.defaultChecked;
79
+ this.dirtyChecked = false;
159
80
  }
160
81
  /**
161
82
  * @internal
162
83
  */
163
- orientationChanged() {
164
- if (this.$fastController.isConnected) this.#updateThumbPositions();
84
+ nameChanged(previous, next) {
85
+ super.nameChanged(previous, next);
86
+ next !== null ? this.proxy.setAttribute("name", this.name) : this.proxy.removeAttribute("name");
87
+ Updates.enqueue(this.validate);
165
88
  }
166
89
  /**
167
90
  * @internal
168
91
  */
169
- nameChanged(previous, next) {
170
- super.nameChanged(previous, next);
171
- this.#updateFormValue();
172
- }
173
- #updateFormValue() {
174
- if (!this.name) this.setFormValue(null);
175
- else {
176
- const formData = new FormData();
177
- formData.append(this.name, this.start);
178
- formData.append(this.name, this.end);
179
- this.setFormValue(formData);
92
+ connectedCallback() {
93
+ super.connectedCallback();
94
+ Updates.enqueue(this.validate);
95
+ if (this.parentElement.getAttribute("data-vvd-component") !== "radio-group" && this.getAttribute("tabindex") === null) {
96
+ /* v8 ignore else -- @preserve */
97
+ if (!this.disabled) this.setAttribute("tabindex", "0");
180
98
  }
181
- }
182
- formResetCallback() {
183
- this.#updateValues({
184
- start: this.initialStart ?? this.min.toString(),
185
- end: this.initialEnd ?? this.max.toString()
186
- });
187
- super.formResetCallback();
188
- }
189
- get #thumbs() {
190
- return {
191
- start: this._startThumbEl,
192
- end: this._endThumbEl
193
- };
194
- }
195
- get #thumbConstraints() {
196
- return {
197
- start: {
198
- min: this.min,
199
- max: this.endAsNumber
200
- },
201
- end: {
202
- min: this.startAsNumber,
203
- max: this.max
99
+ if (this.defaultChecked) {
100
+ /* v8 ignore else -- @preserve */
101
+ if (!this.dirtyChecked) {
102
+ if (!this.isInsideRadioGroup()) {
103
+ this.checked = this.defaultChecked;
104
+ this.dirtyChecked = false;
105
+ }
204
106
  }
205
- };
206
- }
207
- #getThumbId(thumb) {
208
- return thumb === this._startThumbEl ? "start" : "end";
209
- }
210
- #getThumbIdFromEvent(e) {
211
- return this.#getThumbId(e.target);
212
- }
213
- #updateThumbPositions() {
214
- const startOffsetPct = this.#thumbTrackEndOffset(this.startAsNumber);
215
- const endOffsetPct = this.#thumbTrackEndOffset(this.endAsNumber);
216
- const [dirProp, dimProp] = this.orientation === Orientation.horizontal ? ["right", "width"] : ["bottom", "height"];
217
- const transition = `transition: ${this._draggingThumb ? "none" : "all 0.2s ease"};`;
218
- this._startThumbCss = `${dirProp}: ${startOffsetPct}%; ${transition}`;
219
- this._endThumbCss = `${dirProp}: ${endOffsetPct}%; ${transition}`;
220
- this._selectedRangeCss = `${dirProp}: ${endOffsetPct}%; ${dimProp}: ${startOffsetPct - endOffsetPct}%; ${transition}`;
221
- }
222
- #thumbTrackEndOffset(value) {
223
- return (1 - inverseLerp(this.min, this.max, value)) * 100;
224
- }
225
- #calculateValueFromMouseEvent(e) {
226
- const trackClientRect = this._trackEl.getBoundingClientRect();
227
- const [minPos, maxPos, valuePos] = this.orientation === Orientation.horizontal ? [
228
- this._trackEl.clientLeft,
229
- this._trackEl.clientWidth,
230
- e.pageX - document.documentElement.scrollLeft - this.getBoundingClientRect().left
231
- ] : [
232
- trackClientRect.top,
233
- trackClientRect.bottom,
234
- e.pageY - document.documentElement.scrollTop
235
- ];
236
- return lerp(this.min, this.max, inverseLerp(minPos, maxPos, valuePos));
237
- }
238
- #roundToNearestStep(thumb, value) {
239
- return limit(this.#thumbConstraints[thumb].min, this.#thumbConstraints[thumb].max, roundToStepValue(value - this.min, this.step) + this.min);
107
+ }
240
108
  }
241
- #isNonVisibleFocus = false;
242
- #focusThumbNonVisibly(thumb) {
243
- this.#isNonVisibleFocus = true;
244
- thumb.focus();
245
- this.#isNonVisibleFocus = false;
109
+ isInsideRadioGroup() {
110
+ return this.closest("[data-vvd-component=\"radio-group\"]") !== null;
246
111
  }
247
112
  /**
248
113
  * @internal
249
114
  */
250
- _isThumbPopupOpen(thumb) {
251
- return this._visiblyFocusedThumb === thumb || this._hoveredThumb === thumb || this._draggingThumb === thumb;
252
- }
253
- connectedCallback() {
254
- super.connectedCallback();
255
- this.#updateValues({
256
- start: this.start || this.initialStart || this.min.toString(),
257
- end: this.end || this.initialEnd || this.max.toString()
258
- }, false);
259
- this.#registerThumbListeners();
260
- this.#updateThumbPositions();
261
- document.addEventListener("visibilitychange", this.#onVisibilityChange);
115
+ clickHandler(_) {
116
+ if (!this.disabled && !this.readOnly && !this.checked) this.checked = true;
262
117
  }
263
- disconnectedCallback() {
264
- super.disconnectedCallback();
265
- this.#unregisterThumbListeners();
266
- this.#unregisterDragListeners();
267
- document.removeEventListener("visibilitychange", this.#onVisibilityChange);
118
+ get #radioSiblings() {
119
+ const siblings = this.parentElement?.querySelectorAll(`${this.tagName.toLocaleLowerCase()}[name="${this.name}"]`);
120
+ if (siblings) return Array.from(siblings);
121
+ return [];
268
122
  }
269
- #registerThumbListeners() {
270
- for (const thumb of ["start", "end"]) {
271
- this.#thumbs[thumb].addEventListener("keydown", this.#onThumbKeydown);
272
- this.#thumbs[thumb].addEventListener("mousedown", this.#onThumbMousedown, { passive: true });
273
- this.#thumbs[thumb].addEventListener("touchstart", this.#onThumbMousedown, { passive: true });
274
- this.#thumbs[thumb].addEventListener("mouseover", this.#onMouseOver, { passive: true });
275
- this.#thumbs[thumb].addEventListener("mouseout", this.#onMouseOut, { passive: true });
276
- this.#thumbs[thumb].addEventListener("focus", this.#onThumbFocus);
277
- this.#thumbs[thumb].addEventListener("blur", this.#onThumbBlur);
278
- }
279
- }
280
- #unregisterThumbListeners() {
281
- for (const thumb of ["start", "end"]) {
282
- this.#thumbs[thumb].removeEventListener("keydown", this.#onThumbKeydown);
283
- this.#thumbs[thumb].removeEventListener("mousedown", this.#onThumbMousedown);
284
- this.#thumbs[thumb].removeEventListener("touchstart", this.#onThumbMousedown);
285
- this.#thumbs[thumb].removeEventListener("mouseover", this.#onMouseOver);
286
- this.#thumbs[thumb].removeEventListener("mouseout", this.#onMouseOut);
287
- this.#thumbs[thumb].removeEventListener("focus", this.#onThumbFocus);
288
- this.#thumbs[thumb].removeEventListener("blur", this.#onThumbBlur);
289
- }
123
+ get #radioGroup() {
124
+ const parentGroup = this.closest(`${this.tagName.toLocaleLowerCase()}-group[name="${this.name}"]`);
125
+ if (parentGroup) return parentGroup;
126
+ return null;
290
127
  }
128
+ #validateValueMissingWithSiblings;
129
+ #syncSiblingsRequiredValidationStatus;
291
130
  /**
292
131
  * @internal
293
132
  */
294
- _onMouseDown(e) {
295
- if (this.disabled || this._draggingThumb) return;
296
- const value = this.#calculateValueFromMouseEvent(e);
297
- const startDistance = Math.abs(value - Number(this.start));
298
- const endDistance = Math.abs(value - Number(this.end));
299
- const thumb = startDistance < endDistance || startDistance === endDistance && value < Number(this.start) ? "start" : "end";
300
- this.#updateValues({ [thumb]: `${this.#roundToNearestStep(thumb, value)}` });
301
- this._draggingThumb = thumb;
302
- this.#focusThumbNonVisibly(this.#thumbs[thumb]);
303
- this.#registerDragHandlers();
304
- }
305
- #onThumbFocus = (e) => {
306
- if (!this.#isNonVisibleFocus) this._visiblyFocusedThumb = this.#getThumbIdFromEvent(e);
307
- this.#isNonVisibleFocus = false;
308
- };
309
- #onThumbBlur = () => {
310
- this._visiblyFocusedThumb = null;
311
- };
312
- #onVisibilityChange = () => {
313
- if (document.hidden && (this.shadowRoot.activeElement === this._startThumbEl || this.shadowRoot.activeElement === this._endThumbEl)) this.#isNonVisibleFocus = true;
314
- };
315
- #onMouseOver = (e) => {
316
- this._hoveredThumb = this.#getThumbIdFromEvent(e);
317
- };
318
- #onMouseOut = () => {
319
- this._hoveredThumb = null;
320
- };
321
- #onThumbMousedown = (event) => {
322
- if (this.disabled || event.defaultPrevented) return;
323
- let target = event.target;
324
- if (target === this._endThumbEl && this.startAsNumber === this.max && this.endAsNumber === this.max) target = this._startThumbEl;
325
- this.#focusThumbNonVisibly(target);
326
- this._draggingThumb = this.#getThumbId(target);
327
- this.#registerDragHandlers();
328
- };
329
- #onThumbKeydown = (e) => {
330
- const thumb = this.#getThumbIdFromEvent(e);
331
- this._visiblyFocusedThumb = thumb;
332
- if (e.key === keyHome) {
333
- e.preventDefault();
334
- this.#updateValues({ [thumb]: `${this.#thumbConstraints[thumb].min}` });
335
- } else if (e.key === keyEnd) {
336
- e.preventDefault();
337
- this.#updateValues({ [thumb]: `${this.#thumbConstraints[thumb].max}` });
338
- } else {
339
- if (e.shiftKey) return;
340
- switch (e.key) {
341
- case keyArrowRight$1:
342
- case keyArrowDown:
343
- e.preventDefault();
344
- this.#applyStep(thumb, Direction$1.Increment);
345
- break;
346
- case keyArrowLeft$1:
347
- case keyArrowUp:
348
- e.preventDefault();
349
- this.#applyStep(thumb, Direction$1.Decrement);
350
- break;
351
- }
133
+ validate(anchor) {
134
+ super.validate(anchor);
135
+ if (this.proxy) {
136
+ this.errorValidationMessage = this.validationMessage || "";
137
+ if (this.validity.valueMissing) this.#validateValueMissingWithSiblings();
138
+ else this.#syncSiblingsRequiredValidationStatus();
352
139
  }
353
- };
354
- #registerDragHandlers() {
355
- window.addEventListener("mousemove", this.#onDragMove, { passive: true });
356
- window.addEventListener("touchmove", this.#onDragMove, { passive: true });
357
- window.addEventListener("mouseup", this.#onDragEnd);
358
- window.addEventListener("touchend", this.#onDragEnd);
359
- window.document.addEventListener("mouseleave", this.#onDragEnd);
360
- }
361
- #unregisterDragListeners() {
362
- window.removeEventListener("mouseup", this.#onDragEnd);
363
- window.document.removeEventListener("mouseleave", this.#onDragEnd);
364
- window.removeEventListener("mousemove", this.#onDragMove);
365
- window.removeEventListener("touchmove", this.#onDragMove);
366
- window.removeEventListener("touchend", this.#onDragEnd);
367
140
  }
368
- #onDragMove = (e) => {
369
- if (this.disabled || e.defaultPrevented || !this._draggingThumb) return;
370
- const sourceEvent = "TouchEvent" in window && e instanceof TouchEvent ? e.touches[0] : e;
371
- const value = this.#calculateValueFromMouseEvent(sourceEvent);
372
- this.#updateValues({ [this._draggingThumb]: `${this.#roundToNearestStep(this._draggingThumb, value)}` });
373
- };
374
- #onDragEnd = () => {
375
- this._draggingThumb = false;
376
- this.#unregisterDragListeners();
377
- };
378
141
  };
379
- __decorate([observable], RangeSlider.prototype, "start", void 0);
142
+ __decorate([attr], Radio.prototype, "connotation", void 0);
380
143
  __decorate([attr({
381
- mode: "fromView",
382
- attribute: "start"
383
- })], RangeSlider.prototype, "initialStart", void 0);
384
- __decorate([attr({ attribute: "current-start" })], RangeSlider.prototype, "currentStart", void 0);
385
- __decorate([observable], RangeSlider.prototype, "end", void 0);
386
- __decorate([attr({
387
- mode: "fromView",
388
- attribute: "end"
389
- })], RangeSlider.prototype, "initialEnd", void 0);
390
- __decorate([attr({ attribute: "current-end" })], RangeSlider.prototype, "currentEnd", void 0);
391
- __decorate([attr({ converter: nullableNumberConverter })], RangeSlider.prototype, "min", void 0);
392
- __decorate([attr({ converter: nullableNumberConverter })], RangeSlider.prototype, "max", void 0);
393
- __decorate([attr({ converter: defaultToOneConverter })], RangeSlider.prototype, "step", void 0);
394
- __decorate([attr], RangeSlider.prototype, "orientation", void 0);
395
- __decorate([attr({ attribute: "aria-start-label" })], RangeSlider.prototype, "ariaStartLabel", void 0);
396
- __decorate([attr({ attribute: "aria-end-label" })], RangeSlider.prototype, "ariaEndLabel", void 0);
397
- __decorate([attr({ mode: "boolean" })], RangeSlider.prototype, "markers", void 0);
398
- __decorate([attr], RangeSlider.prototype, "connotation", void 0);
399
- __decorate([attr({ mode: "boolean" })], RangeSlider.prototype, "pin", void 0);
400
- __decorate([observable], RangeSlider.prototype, "valueTextFormatter", void 0);
401
- __decorate([observable], RangeSlider.prototype, "_draggingThumb", void 0);
402
- __decorate([observable], RangeSlider.prototype, "_visiblyFocusedThumb", void 0);
403
- __decorate([observable], RangeSlider.prototype, "_hoveredThumb", void 0);
404
- __decorate([observable], RangeSlider.prototype, "_startThumbCss", void 0);
405
- __decorate([observable], RangeSlider.prototype, "_endThumbCss", void 0);
406
- __decorate([observable], RangeSlider.prototype, "_selectedRangeCss", void 0);
144
+ attribute: "readonly",
145
+ mode: "boolean"
146
+ })], Radio.prototype, "readOnly", void 0);
147
+ __decorate([observable], Radio.prototype, "defaultSlottedNodes", void 0);
407
148
  //#endregion
408
- //#region src/lib/range-slider/range-slider.template.ts
409
- var getClasses = ({ disabled, connotation }) => classNames("control", ["disabled", Boolean(disabled)], [`connotation-${connotation}`, Boolean(connotation)]);
410
- var getThumbClassesFor = (thumb) => ({ _visiblyFocusedThumb }) => classNames("thumb-container", ["focus-visible", _visiblyFocusedThumb === thumb]);
411
- var RangeSliderTemplate = (context) => {
412
- const popupTag = context.tagFor(Popup);
413
- return html` <template
414
- @mousedown="${(x, c) => x._onMouseDown(c.event)}"
415
- >
416
- <div class="${getClasses} ${(x) => x.orientation}">
417
- <div class="positioning-region">
418
- <div ${ref("_trackEl")} class="track">
419
- <div class="track-start" style="${(x) => x._selectedRangeCss}"></div>
420
- ${when((x) => x.markers, html`${(x) => getMarkersTemplate(x.orientation === Orientation.horizontal, Math.floor((x.max - x.min) / x.step))}`)}
421
- </div>
422
- <div
423
- id="start-thumb"
424
- ${ref("_startThumbEl")}
425
- class="${getThumbClassesFor("start")}"
426
- style="${(x) => x._startThumbCss}"
427
- role="slider"
428
- tabindex="${(x) => x.disabled ? null : 0}"
429
- aria-label="${(x) => x.ariaStartLabel || x.locale.rangeSlider.startThumbLabel}"
430
- aria-valuetext="${(x) => x.valueTextFormatter(x.start)}"
431
- aria-valuenow="${(x) => x.start}"
432
- aria-valuemin="${(x) => x.min}"
433
- aria-valuemax="${(x) => x.end}"
434
- aria-disabled="${(x) => x.disabled}"
435
- aria-orientation="${(x) => x.orientation}"
436
- ></div>
437
- ${when((x) => x.pin, html`<${popupTag}
438
- class="popup"
439
- arrow
440
- alternate
441
- :anchor="${(x) => x._startThumbEl}"
442
- :open=${(x) => x._isThumbPopupOpen("start")}
443
- :placementStrategy=${(x) => x.orientation === Orientation.horizontal ? PlacementStrategy.AutoPlacementHorizontal : PlacementStrategy.AutoPlacementVertical}
444
- animation-frame
445
- exportparts="vvd-theme-alternate"
446
- aria-hidden="true"
447
- >
448
- <div class="tooltip">${(x) => x.valueTextFormatter(x.start)}</div>
449
- </${popupTag}>`)}
450
- <div
451
- id="end-thumb"
452
- ${ref("_endThumbEl")}
453
- class="${getThumbClassesFor("end")}"
454
- style="${(x) => x._endThumbCss}"
455
- role="slider"
456
- tabindex="${(x) => x.disabled ? null : 0}"
457
- aria-label="${(x) => x.ariaEndLabel || x.locale.rangeSlider.endThumbLabel}"
458
- aria-valuetext="${(x) => x.valueTextFormatter(x.end)}"
459
- aria-valuenow="${(x) => x.end}"
460
- aria-valuemin="${(x) => x.start}"
461
- aria-valuemax="${(x) => x.max}"
462
- aria-disabled="${(x) => x.disabled}"
463
- aria-orientation="${(x) => x.orientation}"
464
- ></div>
465
- ${when((x) => x.pin, html`<${popupTag}
466
- class="popup"
467
- arrow
468
- alternate
469
- :anchor="${(x) => x._endThumbEl}"
470
- :open=${(x) => x._isThumbPopupOpen("end")}
471
- :placementStrategy=${(x) => x.orientation === Orientation.horizontal ? PlacementStrategy.AutoPlacementHorizontal : PlacementStrategy.AutoPlacementVertical}
472
- animation-frame
473
- exportparts="vvd-theme-alternate"
474
- aria-hidden="true"
475
- >
476
- <div class="tooltip">${(x) => x.valueTextFormatter(x.end)}</div>
477
- </${popupTag}>`)}
478
- </div>
479
- </div>
480
- </template>`;
481
- };
149
+ //#region src/lib/radio/radio.template.ts
150
+ var getClasses = ({ connotation, checked, readOnly, disabled }) => classNames("base", [`connotation-${connotation}`, Boolean(connotation)], ["checked", Boolean(checked)], ["readonly", Boolean(readOnly)], ["disabled", Boolean(disabled)]);
482
151
  //#endregion
483
- //#region src/lib/range-slider/definition.ts
152
+ //#region src/lib/radio/definition.ts
484
153
  /**
485
154
  * @internal
486
155
  */
487
- var rangeSliderDefinition = defineVividComponent("range-slider", RangeSlider, RangeSliderTemplate, [popupDefinition], {
488
- styles: range_slider_default,
489
- shadowOptions: { delegatesFocus: true }
490
- });
156
+ var radioDefinition = defineVividComponent("radio", Radio, html`<template
157
+ aria-checked="${(x) => x?.checked}"
158
+ aria-disabled="${(x) => x?.disabled}"
159
+ aria-required="${(x) => x?.required}"
160
+ @keypress="${(x, c) => x?.keypressHandler(c.event)}"
161
+ @click="${(x, c) => x?.clickHandler(c.event)}"
162
+ role="radio"
163
+ >
164
+ <div class="${getClasses}">
165
+ <div class="control"></div>
166
+ ${when((x) => x?.label, html`<label class="label">${(x) => x?.label}</label>`)}
167
+ </div>
168
+ </template>`, [], { styles: radio_default });
491
169
  /**
492
- * Registers the range-slider element with the design system.
170
+ * Registers the radio elements with the design system.
493
171
  *
494
172
  * @param prefix - the prefix to use for the component name
495
173
  */
496
- var registerRangeSlider = createRegisterFunction(rangeSliderDefinition);
174
+ var registerRadio = createRegisterFunction(radioDefinition);
497
175
  //#endregion
498
- export { registerRangeSlider as n, RangeSlider as r, rangeSliderDefinition as t };
176
+ export { registerRadio as n, Radio as r, radioDefinition as t };