@vonage/vivid 5.23.1-preview.0 → 5.24.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 (746) hide show
  1. package/accordion/index.cjs +1 -1
  2. package/accordion/index.js +1 -1
  3. package/accordion-item/index.cjs +1 -1
  4. package/accordion-item/index.js +1 -1
  5. package/action-group/index.cjs +1 -1
  6. package/action-group/index.js +1 -1
  7. package/alert/definition.cjs +1 -1
  8. package/alert/definition.js +1 -1
  9. package/alert/index.cjs +7 -7
  10. package/alert/index.js +13 -14
  11. package/audio-player/definition.cjs +1 -1
  12. package/audio-player/definition.js +1 -1
  13. package/audio-player/index.cjs +19 -17
  14. package/audio-player/index.js +24 -22
  15. package/avatar/definition.cjs +1 -1
  16. package/avatar/definition.js +1 -1
  17. package/avatar/index.cjs +4 -4
  18. package/avatar/index.js +6 -6
  19. package/badge/definition.cjs +1 -1
  20. package/badge/definition.js +1 -1
  21. package/badge/index.cjs +1 -1
  22. package/badge/index.js +1 -1
  23. package/banner/definition.cjs +1 -1
  24. package/banner/definition.js +1 -1
  25. package/banner/index.cjs +3 -3
  26. package/banner/index.js +8 -8
  27. package/breadcrumb/definition.cjs +1 -1
  28. package/breadcrumb/definition.js +1 -1
  29. package/breadcrumb-item/definition.cjs +1 -1
  30. package/breadcrumb-item/definition.js +1 -1
  31. package/breadcrumb-item/index.cjs +2 -2
  32. package/breadcrumb-item/index.js +5 -5
  33. package/bundled/affix.cjs +1 -1
  34. package/bundled/affix.js +1 -1
  35. package/bundled/base-color-picker.cjs +2 -2
  36. package/bundled/base-color-picker.js +5 -5
  37. package/bundled/calendar-picker.template.cjs +1 -1
  38. package/bundled/calendar-picker.template.js +1 -1
  39. package/bundled/definition11.cjs +4 -4
  40. package/bundled/definition11.js +5 -5
  41. package/bundled/definition12.cjs +9 -7
  42. package/bundled/definition12.js +28 -26
  43. package/bundled/definition13.cjs +9 -7
  44. package/bundled/definition13.js +16 -15
  45. package/bundled/definition15.cjs +8 -7
  46. package/bundled/definition15.js +26 -24
  47. package/bundled/definition16.cjs +4 -2
  48. package/bundled/definition16.js +8 -6
  49. package/bundled/definition17.cjs +8 -6
  50. package/bundled/definition17.js +15 -14
  51. package/bundled/definition18.cjs +12 -83
  52. package/bundled/definition18.js +35 -420
  53. package/bundled/definition19.cjs +87 -5
  54. package/bundled/definition19.js +432 -14
  55. package/bundled/definition2.cjs +1 -13
  56. package/bundled/definition2.js +181 -48
  57. package/bundled/definition20.cjs +7 -35
  58. package/bundled/definition20.js +17 -170
  59. package/bundled/definition21.cjs +35 -27
  60. package/bundled/definition21.js +154 -155
  61. package/bundled/definition22.cjs +29 -4
  62. package/bundled/definition22.js +171 -17
  63. package/bundled/definition23.cjs +6 -12
  64. package/bundled/definition23.js +17 -32
  65. package/bundled/definition24.cjs +12 -39
  66. package/bundled/definition24.js +32 -67
  67. package/bundled/definition25.cjs +44 -0
  68. package/bundled/definition25.js +77 -0
  69. package/bundled/definition3.cjs +13 -1
  70. package/bundled/definition3.js +48 -181
  71. package/bundled/definition4.cjs +9 -7
  72. package/bundled/definition4.js +18 -16
  73. package/bundled/definition5.cjs +5 -5
  74. package/bundled/definition5.js +9 -9
  75. package/bundled/definition6.cjs +3 -3
  76. package/bundled/definition6.js +16 -16
  77. package/bundled/definition7.cjs +1 -1
  78. package/bundled/definition7.js +1 -1
  79. package/bundled/definition8.cjs +7 -7
  80. package/bundled/definition8.js +9 -7
  81. package/bundled/definition9.cjs +4 -4
  82. package/bundled/definition9.js +12 -12
  83. package/bundled/extractOptions.cjs +1 -0
  84. package/bundled/extractOptions.js +11 -0
  85. package/bundled/listbox.cjs +1 -1
  86. package/bundled/listbox.js +24 -11
  87. package/bundled/mixins.cjs +3 -3
  88. package/bundled/mixins.js +5 -5
  89. package/bundled/numberConverter.cjs +1 -1
  90. package/bundled/numberConverter.js +36 -1
  91. package/bundled/picker-field.template.cjs +13 -13
  92. package/bundled/picker-field.template.js +16 -16
  93. package/bundled/render-in-light-dom.cjs +1 -1
  94. package/bundled/render-in-light-dom.js +16 -19
  95. package/bundled/slider.template.cjs +8 -8
  96. package/bundled/slider.template.js +9 -9
  97. package/bundled/text-field.cjs +1 -1
  98. package/bundled/text-field.js +1 -1
  99. package/bundled/time-selection-picker.template.cjs +3 -3
  100. package/bundled/time-selection-picker.template.js +9 -9
  101. package/bundled/vivid-element.cjs +1 -1
  102. package/bundled/vivid-element.js +9 -1
  103. package/button/definition.cjs +1 -1
  104. package/button/definition.js +1 -1
  105. package/calendar/definition.cjs +1 -1
  106. package/calendar/definition.js +1 -1
  107. package/calendar/index.cjs +9 -9
  108. package/calendar/index.js +7 -7
  109. package/calendar-event/definition.cjs +1 -1
  110. package/calendar-event/definition.js +1 -1
  111. package/calendar-event/index.cjs +2 -2
  112. package/calendar-event/index.js +2 -2
  113. package/card/definition.cjs +1 -1
  114. package/card/definition.js +1 -1
  115. package/card/index.cjs +3 -3
  116. package/card/index.js +6 -6
  117. package/color-picker/index.cjs +10 -10
  118. package/color-picker/index.js +52 -52
  119. package/combobox/definition.cjs +1 -1
  120. package/combobox/definition.js +1 -1
  121. package/combobox/index.cjs +11 -8
  122. package/combobox/index.js +59 -49
  123. package/country/definition.cjs +1 -1
  124. package/country/definition.js +1 -1
  125. package/country/index.cjs +1 -1
  126. package/country/index.js +1 -1
  127. package/country-group/definition.cjs +1 -1
  128. package/country-group/definition.js +1 -1
  129. package/country-group/index.cjs +1 -1
  130. package/country-group/index.js +2 -2
  131. package/custom-elements.json +837 -1225
  132. package/data-grid/definition.cjs +1 -1
  133. package/data-grid/definition.js +1 -1
  134. package/data-grid/index.cjs +8 -6
  135. package/data-grid/index.js +22 -20
  136. package/date-picker/definition.cjs +1 -1
  137. package/date-picker/definition.js +1 -1
  138. package/date-picker/index.cjs +1 -1
  139. package/date-picker/index.js +1 -1
  140. package/date-range-picker/definition.cjs +1 -1
  141. package/date-range-picker/definition.js +1 -1
  142. package/date-range-picker/index.cjs +1 -1
  143. package/date-range-picker/index.js +1 -1
  144. package/date-time-picker/definition.cjs +1 -1
  145. package/date-time-picker/definition.js +1 -1
  146. package/date-time-picker/index.cjs +1 -1
  147. package/date-time-picker/index.js +1 -1
  148. package/dial-pad/definition.cjs +1 -1
  149. package/dial-pad/definition.js +1 -1
  150. package/dial-pad/index.cjs +25 -23
  151. package/dial-pad/index.js +127 -56
  152. package/dialog/definition.cjs +1 -1
  153. package/dialog/definition.js +1 -1
  154. package/dialog/index.cjs +14 -14
  155. package/dialog/index.js +17 -18
  156. package/divider/definition.cjs +1 -1
  157. package/divider/definition.js +1 -1
  158. package/divider/index.cjs +1 -1
  159. package/divider/index.js +1 -1
  160. package/elevation/definition.cjs +1 -1
  161. package/elevation/definition.js +1 -1
  162. package/empty-state/definition.cjs +1 -1
  163. package/empty-state/definition.js +1 -1
  164. package/empty-state/index.cjs +4 -4
  165. package/empty-state/index.js +7 -11
  166. package/fab/definition.cjs +1 -1
  167. package/fab/definition.js +1 -1
  168. package/fab/index.cjs +4 -4
  169. package/fab/index.js +9 -13
  170. package/file-picker/definition.cjs +1 -1
  171. package/file-picker/definition.js +1 -1
  172. package/file-picker/index.cjs +8 -8
  173. package/file-picker/index.js +19 -19
  174. package/flag/definition.cjs +1 -1
  175. package/flag/definition.js +1 -1
  176. package/flag/index.cjs +5 -5
  177. package/flag/index.js +8 -12
  178. package/header/definition.cjs +1 -1
  179. package/header/definition.js +1 -1
  180. package/header/index.cjs +7 -7
  181. package/header/index.js +6 -10
  182. package/icon/index.cjs +1 -1
  183. package/icon/index.js +1 -1
  184. package/index.cjs +214 -209
  185. package/index.js +67 -66
  186. package/kbd-key/definition.cjs +1 -1
  187. package/kbd-key/definition.js +1 -1
  188. package/kbd-key/index.cjs +3 -3
  189. package/kbd-key/index.js +2 -6
  190. package/kbd-shortcut/definition.cjs +1 -1
  191. package/kbd-shortcut/definition.js +1 -1
  192. package/layout/definition.cjs +1 -1
  193. package/layout/definition.js +1 -1
  194. package/layout/index.cjs +3 -1
  195. package/layout/index.js +3 -1
  196. package/lib/accordion/variations.browser-spec.d.ts +1 -0
  197. package/lib/accordion-item/accordion-item.d.ts +2 -1
  198. package/lib/accordion-item/variations.browser-spec.d.ts +1 -0
  199. package/lib/action-group/action-group.d.ts +1 -1
  200. package/lib/action-group/variations.browser-spec.d.ts +1 -0
  201. package/lib/alert/alert.d.ts +2 -2
  202. package/lib/alert/variations.browser-spec.d.ts +1 -0
  203. package/lib/audio-player/audio-player.d.ts +1 -1
  204. package/lib/audio-player/variations.browser-spec.d.ts +1 -0
  205. package/lib/avatar/avatar.d.ts +1 -1
  206. package/lib/avatar/variations.browser-spec.d.ts +1 -0
  207. package/lib/badge/badge.d.ts +5 -5
  208. package/lib/badge/badge.template.d.ts +1 -2
  209. package/lib/badge/variations.browser-spec.d.ts +1 -0
  210. package/lib/banner/banner.d.ts +3 -3
  211. package/lib/banner/variations.browser-spec.d.ts +1 -0
  212. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  213. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  214. package/lib/breadcrumb-item/variations.browser-spec.d.ts +1 -0
  215. package/lib/button/button.d.ts +3 -3
  216. package/lib/button/variations.browser-spec.d.ts +1 -0
  217. package/lib/calendar/variations.browser-spec.d.ts +1 -0
  218. package/lib/calendar-event/calendar-event.d.ts +1 -1
  219. package/lib/calendar-event/variations.browser-spec.d.ts +1 -0
  220. package/lib/card/card.d.ts +5 -5
  221. package/lib/card/variations.browser-spec.d.ts +1 -0
  222. package/lib/checkbox/checkbox.d.ts +6 -6
  223. package/lib/checkbox/variations.browser-spec.d.ts +1 -0
  224. package/lib/color-picker/color-picker.d.ts +8 -8
  225. package/lib/color-picker/variations.browser-spec.d.ts +1 -0
  226. package/lib/combobox/combobox.d.ts +7 -7
  227. package/lib/combobox/variations.browser-spec.d.ts +1 -0
  228. package/lib/components.d.ts +1 -0
  229. package/lib/contextual-help/variations.browser-spec.d.ts +1 -0
  230. package/lib/country/variations.browser-spec.d.ts +1 -0
  231. package/lib/country-group/country-group.d.ts +2 -2
  232. package/lib/data-grid/data-grid-cell.d.ts +4 -3
  233. package/lib/data-grid/data-grid-row.d.ts +3 -2
  234. package/lib/data-grid/data-grid.options.d.ts +5 -0
  235. package/lib/data-grid/variations.browser-spec.d.ts +1 -0
  236. package/lib/date-picker/date-picker.d.ts +8 -8
  237. package/lib/date-picker/variations.browser-spec.d.ts +1 -0
  238. package/lib/date-range-picker/date-range-picker.d.ts +4 -4
  239. package/lib/date-range-picker/variations.browser-spec.d.ts +1 -0
  240. package/lib/date-time-picker/date-time-picker.d.ts +8 -8
  241. package/lib/date-time-picker/variations.browser-spec.d.ts +1 -0
  242. package/lib/dial-pad/dial-pad.d.ts +2 -1
  243. package/lib/dial-pad/variations.browser-spec.d.ts +1 -0
  244. package/lib/dialog/dialog.d.ts +2 -2
  245. package/lib/dialog/variations.browser-spec.d.ts +1 -0
  246. package/lib/divider/divider.d.ts +1 -1
  247. package/lib/divider/variations.browser-spec.d.ts +1 -0
  248. package/lib/empty-state/variations.browser-spec.d.ts +1 -0
  249. package/lib/fab/fab.d.ts +6 -6
  250. package/lib/fab/variations.browser-spec.d.ts +1 -0
  251. package/lib/file-picker/file-picker.d.ts +7 -7
  252. package/lib/file-picker/variations.browser-spec.d.ts +1 -0
  253. package/lib/flag/variations.browser-spec.d.ts +1 -0
  254. package/lib/header/header.d.ts +1 -1
  255. package/lib/header/variations.browser-spec.d.ts +1 -0
  256. package/lib/icon/variations.browser-spec.d.ts +1 -0
  257. package/lib/kbd-key/variations.browser-spec.d.ts +1 -0
  258. package/lib/kbd-shortcut/variations.browser-spec.d.ts +1 -0
  259. package/lib/layout/variations.browser-spec.d.ts +1 -0
  260. package/lib/menu/menu.d.ts +2 -2
  261. package/lib/menu/variations.browser-spec.d.ts +1 -0
  262. package/lib/menu-item/menu-item.d.ts +3 -3
  263. package/lib/menu-item/variations.browser-spec.d.ts +1 -0
  264. package/lib/nav/nav.d.ts +1 -1
  265. package/lib/nav/variations.browser-spec.d.ts +1 -0
  266. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  267. package/lib/nav-disclosure/variations.browser-spec.d.ts +1 -0
  268. package/lib/nav-item/nav-item.d.ts +2 -2
  269. package/lib/nav-item/variations.browser-spec.d.ts +1 -0
  270. package/lib/note/note.d.ts +1 -1
  271. package/lib/note/variations.browser-spec.d.ts +1 -0
  272. package/lib/number-field/number-field.d.ts +9 -9
  273. package/lib/number-field/variations.browser-spec.d.ts +1 -0
  274. package/lib/optgroup/definition.d.ts +3 -0
  275. package/lib/optgroup/index.d.ts +1 -0
  276. package/lib/optgroup/optgroup.d.ts +430 -0
  277. package/lib/optgroup/optgroup.template.d.ts +2 -0
  278. package/lib/optgroup/variations.browser-spec.d.ts +1 -0
  279. package/lib/option/option.d.ts +2 -2
  280. package/lib/option/variations.browser-spec.d.ts +1 -0
  281. package/lib/pagination/pagination.d.ts +1 -1
  282. package/lib/pagination/variations.browser-spec.d.ts +1 -0
  283. package/lib/popover/popover.d.ts +2 -2
  284. package/lib/popover/variations.browser-spec.d.ts +1 -0
  285. package/lib/progress/progress.d.ts +1 -1
  286. package/lib/progress/variations.browser-spec.d.ts +1 -0
  287. package/lib/progress-ring/progress-ring.d.ts +1 -1
  288. package/lib/progress-ring/variations.browser-spec.d.ts +1 -0
  289. package/lib/radio/radio.d.ts +3 -3
  290. package/lib/radio/variations.browser-spec.d.ts +1 -0
  291. package/lib/radio-group/radio-group.d.ts +1 -1
  292. package/lib/radio-group/variations.browser-spec.d.ts +1 -0
  293. package/lib/range-slider/range-slider.d.ts +3 -3
  294. package/lib/range-slider/variations.browser-spec.d.ts +1 -0
  295. package/lib/rich-text-editor/rich-text-editor.d.ts +1 -1
  296. package/lib/rich-text-editor/rte/features/internal/cursor-fix.d.ts +6 -1
  297. package/lib/rich-text-editor/variations.browser-spec.d.ts +1 -0
  298. package/lib/rich-text-view/variations.browser-spec.d.ts +1 -0
  299. package/lib/searchable-select/option-tag.d.ts +1 -1
  300. package/lib/searchable-select/searchable-select.d.ts +47 -47
  301. package/lib/searchable-select/variations.browser-spec.d.ts +1 -0
  302. package/lib/select/select.d.ts +9 -9
  303. package/lib/select/variations.browser-spec.d.ts +1 -0
  304. package/lib/selectable-box/selectable-box.d.ts +1 -1
  305. package/lib/selectable-box/variations.browser-spec.d.ts +1 -0
  306. package/lib/side-drawer/variations.browser-spec.d.ts +1 -0
  307. package/lib/simple-color-picker/simple-color-picker.d.ts +4 -4
  308. package/lib/simple-color-picker/variations.browser-spec.d.ts +1 -0
  309. package/lib/slider/slider.d.ts +3 -3
  310. package/lib/slider/variations.browser-spec.d.ts +1 -0
  311. package/lib/split-button/split-button.d.ts +3 -3
  312. package/lib/split-button/variations.browser-spec.d.ts +1 -0
  313. package/lib/status/status.d.ts +1 -1
  314. package/lib/status/variations.browser-spec.d.ts +1 -0
  315. package/lib/switch/switch.d.ts +2 -2
  316. package/lib/switch/variations.browser-spec.d.ts +1 -0
  317. package/lib/tab/tab.d.ts +15 -15
  318. package/lib/tab-panel/tab-panel.d.ts +1 -1
  319. package/lib/table/table-cell.d.ts +1 -1
  320. package/lib/table/table-header-cell.d.ts +1 -1
  321. package/lib/table/table-row.d.ts +1 -1
  322. package/lib/table/table-sorting-button.d.ts +1 -1
  323. package/lib/table/variations.browser-spec.d.ts +1 -0
  324. package/lib/tabs/variations.browser-spec.d.ts +1 -0
  325. package/lib/tag/tag.d.ts +15 -15
  326. package/lib/tag/variations.browser-spec.d.ts +1 -0
  327. package/lib/tag-group/tag-group.d.ts +1 -1
  328. package/lib/tag-name-map.d.ts +2 -1
  329. package/lib/text-area/text-area.d.ts +8 -8
  330. package/lib/text-area/text-area.template.d.ts +1 -2
  331. package/lib/text-area/variations.browser-spec.d.ts +1 -0
  332. package/lib/text-field/text-field.d.ts +9 -9
  333. package/lib/text-field/variations.browser-spec.d.ts +1 -0
  334. package/lib/time-picker/time-picker.d.ts +4 -4
  335. package/lib/time-picker/variations.browser-spec.d.ts +1 -0
  336. package/lib/toggletip/toggletip.d.ts +2 -2
  337. package/lib/toggletip/variations.browser-spec.d.ts +1 -0
  338. package/lib/tooltip/tooltip.d.ts +2 -2
  339. package/lib/tooltip/variations.browser-spec.d.ts +1 -0
  340. package/lib/tree-item/tree-item.d.ts +2 -2
  341. package/lib/tree-item/variations.browser-spec.d.ts +1 -0
  342. package/lib/tree-view/tree-view.d.ts +1 -1
  343. package/lib/video-player/variations.browser-spec.d.ts +1 -0
  344. package/lib/video-player/video-player.d.ts +1 -1
  345. package/menu/definition.cjs +1 -1
  346. package/menu/definition.js +1 -1
  347. package/menu/index.cjs +1 -1
  348. package/menu/index.js +1 -1
  349. package/menu-item/definition.cjs +1 -1
  350. package/menu-item/definition.js +1 -1
  351. package/menu-item/index.cjs +1 -1
  352. package/menu-item/index.js +1 -1
  353. package/nav/definition.cjs +1 -1
  354. package/nav/definition.js +1 -1
  355. package/nav-disclosure/definition.cjs +1 -1
  356. package/nav-disclosure/definition.js +1 -1
  357. package/nav-disclosure/index.cjs +6 -6
  358. package/nav-disclosure/index.js +11 -15
  359. package/nav-item/definition.cjs +1 -1
  360. package/nav-item/definition.js +1 -1
  361. package/nav-item/index.cjs +2 -2
  362. package/nav-item/index.js +11 -15
  363. package/note/definition.cjs +1 -1
  364. package/note/definition.js +1 -1
  365. package/note/index.cjs +5 -5
  366. package/note/index.js +10 -11
  367. package/number-field/definition.cjs +1 -1
  368. package/number-field/definition.js +1 -1
  369. package/number-field/index.cjs +12 -12
  370. package/number-field/index.js +35 -36
  371. package/optgroup/definition.cjs +5 -0
  372. package/optgroup/definition.js +2 -0
  373. package/optgroup/index.cjs +1 -0
  374. package/optgroup/index.js +4 -0
  375. package/package.json +15 -6
  376. package/pagination/definition.cjs +1 -1
  377. package/pagination/definition.js +1 -1
  378. package/platform-switch/definition.cjs +1 -1
  379. package/platform-switch/definition.js +1 -1
  380. package/popover/definition.cjs +1 -1
  381. package/popover/definition.js +1 -1
  382. package/popover/index.cjs +8 -8
  383. package/popover/index.js +11 -15
  384. package/popup/definition.cjs +1 -1
  385. package/popup/definition.js +1 -1
  386. package/progress/definition.cjs +1 -1
  387. package/progress/definition.js +1 -1
  388. package/progress/index.cjs +8 -8
  389. package/progress/index.js +9 -10
  390. package/radio/definition.cjs +1 -1
  391. package/radio/definition.js +1 -1
  392. package/radio-group/definition.cjs +1 -1
  393. package/radio-group/definition.js +1 -1
  394. package/range-slider/definition.cjs +1 -1
  395. package/range-slider/definition.js +1 -1
  396. package/range-slider/index.cjs +10 -8
  397. package/range-slider/index.js +26 -24
  398. package/rich-text-editor/definition.cjs +1 -1
  399. package/rich-text-editor/definition.js +1 -1
  400. package/rich-text-editor/index.cjs +3 -3
  401. package/rich-text-editor/index.js +762 -751
  402. package/rich-text-view/definition.cjs +1 -1
  403. package/rich-text-view/definition.js +1 -1
  404. package/searchable-select/definition.cjs +2 -1
  405. package/searchable-select/definition.js +2 -2
  406. package/searchable-select/index.cjs +30 -27
  407. package/searchable-select/index.js +104 -85
  408. package/select/definition.cjs +1 -1
  409. package/select/definition.js +1 -1
  410. package/select/index.cjs +1 -1
  411. package/select/index.js +1 -1
  412. package/selectable-box/definition.cjs +1 -1
  413. package/selectable-box/definition.js +1 -1
  414. package/selectable-box/index.cjs +8 -8
  415. package/selectable-box/index.js +8 -9
  416. package/shared/aria/delegates-aria.d.ts +1 -1
  417. package/shared/aria/host-semantics.d.ts +1 -1
  418. package/shared/color-picker/base-color-picker.d.ts +1 -1
  419. package/shared/feedback/feedback-message.d.ts +1 -1
  420. package/shared/feedback/mixins.d.ts +2 -2
  421. package/shared/foundation/button/button.d.ts +2 -2
  422. package/shared/foundation/form-associated/form-associated.d.ts +2 -2
  423. package/shared/foundation/listbox/extractOptions.d.ts +2 -0
  424. package/shared/foundation/listbox/listbox.d.ts +2 -0
  425. package/shared/patterns/affix.d.ts +2 -2
  426. package/shared/patterns/anchored.d.ts +2 -2
  427. package/shared/patterns/char-count/char-count.d.ts +1 -1
  428. package/shared/patterns/form-elements/form-element.d.ts +1 -1
  429. package/shared/patterns/form-elements/with-contextual-help.d.ts +1 -1
  430. package/shared/patterns/form-elements/with-error-text.d.ts +1 -1
  431. package/shared/patterns/form-elements/with-success-text.d.ts +1 -1
  432. package/shared/patterns/kbd-shortcut.d.ts +1 -1
  433. package/shared/patterns/linkable.d.ts +1 -1
  434. package/shared/patterns/localized.d.ts +2 -2
  435. package/shared/patterns/trapped-focus.d.ts +1 -1
  436. package/shared/picker-field/mixins/calendar-picker.d.ts +2 -2
  437. package/shared/picker-field/mixins/calendar-picker.template.d.ts +2 -2
  438. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +1 -1
  439. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +2 -2
  440. package/shared/picker-field/mixins/single-date-picker.d.ts +2 -2
  441. package/shared/picker-field/mixins/single-value-picker.d.ts +2 -2
  442. package/shared/picker-field/mixins/time-selection-picker.d.ts +2 -2
  443. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +4 -4
  444. package/shared/picker-field/picker-field.d.ts +7 -7
  445. package/side-drawer/definition.cjs +1 -1
  446. package/side-drawer/definition.js +1 -1
  447. package/side-drawer/index.cjs +3 -3
  448. package/side-drawer/index.js +3 -3
  449. package/simple-color-picker/definition.cjs +1 -1
  450. package/simple-color-picker/definition.js +1 -1
  451. package/simple-color-picker/index.cjs +4 -4
  452. package/simple-color-picker/index.js +6 -6
  453. package/slider/definition.cjs +1 -1
  454. package/slider/definition.js +1 -1
  455. package/slider/index.cjs +1 -1
  456. package/slider/index.js +1 -1
  457. package/split-button/definition.cjs +1 -1
  458. package/split-button/definition.js +1 -1
  459. package/split-button/index.cjs +5 -4
  460. package/split-button/index.js +10 -9
  461. package/status/definition.cjs +1 -1
  462. package/status/definition.js +1 -1
  463. package/status/index.cjs +7 -5
  464. package/status/index.js +14 -12
  465. package/styles/core/all.css +5 -7
  466. package/styles/core/theme.css +5 -7
  467. package/styles/core/typography.css +0 -3
  468. package/styles/tokens/vivid-2-compat.css +1 -6
  469. package/switch/definition.cjs +1 -1
  470. package/switch/definition.js +1 -1
  471. package/switch/index.cjs +5 -4
  472. package/switch/index.js +14 -12
  473. package/tab/definition.cjs +1 -1
  474. package/tab/definition.js +1 -1
  475. package/tab-panel/definition.cjs +1 -1
  476. package/tab-panel/definition.js +1 -1
  477. package/table/definition.cjs +1 -1
  478. package/table/definition.js +1 -1
  479. package/table/index.cjs +10 -10
  480. package/table/index.js +12 -12
  481. package/tabs/definition.cjs +1 -1
  482. package/tabs/definition.js +1 -1
  483. package/tabs/index.cjs +6 -4
  484. package/tabs/index.js +10 -9
  485. package/tag/definition.cjs +1 -1
  486. package/tag/definition.js +1 -1
  487. package/tag/index.cjs +6 -6
  488. package/tag/index.js +8 -8
  489. package/tag-group/definition.cjs +1 -1
  490. package/tag-group/definition.js +1 -1
  491. package/text-area/definition.cjs +1 -1
  492. package/text-area/definition.js +1 -1
  493. package/text-area/index.cjs +8 -6
  494. package/text-area/index.js +20 -19
  495. package/time-picker/definition.cjs +1 -1
  496. package/time-picker/definition.js +1 -1
  497. package/tree-item/definition.cjs +1 -1
  498. package/tree-item/definition.js +1 -1
  499. package/tree-view/definition.cjs +1 -1
  500. package/tree-view/definition.js +1 -1
  501. package/unbundled/affix.cjs +2 -7
  502. package/unbundled/affix.js +2 -7
  503. package/unbundled/anchored.cjs +2 -6
  504. package/unbundled/anchored.js +2 -6
  505. package/unbundled/aria-binding-directive.cjs +1 -3
  506. package/unbundled/aria-binding-directive.js +1 -3
  507. package/unbundled/base-color-picker.cjs +18 -52
  508. package/unbundled/base-color-picker.js +18 -52
  509. package/unbundled/base-progress.cjs +4 -14
  510. package/unbundled/base-progress.js +4 -14
  511. package/unbundled/button.cjs +2 -8
  512. package/unbundled/button.js +2 -8
  513. package/unbundled/calendar-picker.template.cjs +31 -85
  514. package/unbundled/calendar-picker.template.js +30 -84
  515. package/unbundled/char-count.cjs +2 -4
  516. package/unbundled/char-count.js +2 -4
  517. package/unbundled/data-grid.options.cjs +3 -19
  518. package/unbundled/data-grid.options.js +3 -19
  519. package/unbundled/definition.cjs +3 -8
  520. package/unbundled/definition.js +3 -8
  521. package/unbundled/definition10.cjs +316 -211
  522. package/unbundled/definition10.js +313 -202
  523. package/unbundled/definition11.cjs +262 -356
  524. package/unbundled/definition11.js +248 -354
  525. package/unbundled/definition12.cjs +243 -274
  526. package/unbundled/definition12.js +241 -260
  527. package/unbundled/definition13.cjs +341 -255
  528. package/unbundled/definition13.js +338 -252
  529. package/unbundled/definition14.cjs +61 -371
  530. package/unbundled/definition14.js +57 -367
  531. package/unbundled/definition15.cjs +32 -77
  532. package/unbundled/definition15.js +28 -73
  533. package/unbundled/definition16.cjs +120 -32
  534. package/unbundled/definition16.js +117 -29
  535. package/unbundled/definition17.cjs +24 -132
  536. package/unbundled/definition17.js +24 -126
  537. package/unbundled/definition18.cjs +74 -26
  538. package/unbundled/definition18.js +67 -25
  539. package/unbundled/definition19.cjs +33 -79
  540. package/unbundled/definition19.js +32 -73
  541. package/unbundled/definition2.cjs +11 -8
  542. package/unbundled/definition2.js +11 -8
  543. package/unbundled/definition20.cjs +272 -29
  544. package/unbundled/definition20.js +264 -27
  545. package/unbundled/definition21.cjs +135 -263
  546. package/unbundled/definition21.js +133 -260
  547. package/unbundled/definition22.cjs +17 -155
  548. package/unbundled/definition22.js +13 -151
  549. package/unbundled/definition23.cjs +9 -17
  550. package/unbundled/definition23.js +10 -18
  551. package/unbundled/definition24.cjs +4 -10
  552. package/unbundled/definition24.js +4 -10
  553. package/unbundled/definition25.cjs +2 -10
  554. package/unbundled/definition25.js +2 -10
  555. package/unbundled/definition26.cjs +28 -70
  556. package/unbundled/definition26.js +28 -70
  557. package/unbundled/definition27.cjs +6 -13
  558. package/unbundled/definition27.js +6 -13
  559. package/unbundled/definition28.cjs +30 -77
  560. package/unbundled/definition28.js +30 -77
  561. package/unbundled/definition29.cjs +7 -14
  562. package/unbundled/definition29.js +7 -14
  563. package/unbundled/definition3.cjs +5 -16
  564. package/unbundled/definition3.js +5 -16
  565. package/unbundled/definition30.cjs +66 -516
  566. package/unbundled/definition30.js +58 -514
  567. package/unbundled/definition31.cjs +502 -42
  568. package/unbundled/definition31.js +500 -40
  569. package/unbundled/definition32.cjs +42 -253
  570. package/unbundled/definition32.js +39 -250
  571. package/unbundled/definition33.cjs +238 -81
  572. package/unbundled/definition33.js +235 -78
  573. package/unbundled/definition34.cjs +75 -2059
  574. package/unbundled/definition34.js +72 -2032
  575. package/unbundled/definition35.cjs +1990 -25
  576. package/unbundled/definition35.js +1960 -24
  577. package/unbundled/definition36.cjs +27 -134
  578. package/unbundled/definition36.js +24 -126
  579. package/unbundled/definition37.cjs +71 -368
  580. package/unbundled/definition37.js +66 -363
  581. package/unbundled/definition38.cjs +300 -176
  582. package/unbundled/definition38.js +295 -171
  583. package/unbundled/definition39.cjs +184 -374
  584. package/unbundled/definition39.js +180 -370
  585. package/unbundled/definition4.cjs +2 -11
  586. package/unbundled/definition4.js +2 -7
  587. package/unbundled/definition40.cjs +392 -237
  588. package/unbundled/definition40.js +389 -234
  589. package/unbundled/definition41.cjs +264 -50
  590. package/unbundled/definition41.js +259 -45
  591. package/unbundled/definition42.cjs +48 -71
  592. package/unbundled/definition42.js +46 -69
  593. package/unbundled/definition43.cjs +56 -426
  594. package/unbundled/definition43.js +55 -425
  595. package/unbundled/definition44.cjs +387 -48
  596. package/unbundled/definition44.js +383 -44
  597. package/unbundled/definition45.cjs +54 -48
  598. package/unbundled/definition45.js +50 -44
  599. package/unbundled/definition46.cjs +40 -173
  600. package/unbundled/definition46.js +36 -169
  601. package/unbundled/definition47.cjs +172 -33
  602. package/unbundled/definition47.js +168 -28
  603. package/unbundled/definition48.cjs +31 -97
  604. package/unbundled/definition48.js +23 -95
  605. package/unbundled/definition49.cjs +71 -38
  606. package/unbundled/definition49.js +68 -35
  607. package/unbundled/definition5.cjs +2 -5
  608. package/unbundled/definition5.js +2 -5
  609. package/unbundled/definition50.cjs +55 -26
  610. package/unbundled/definition50.js +53 -21
  611. package/unbundled/definition51.cjs +24 -43
  612. package/unbundled/definition51.js +18 -40
  613. package/unbundled/definition52.cjs +30 -340
  614. package/unbundled/definition52.js +28 -338
  615. package/unbundled/definition53.cjs +295 -197
  616. package/unbundled/definition53.js +292 -194
  617. package/unbundled/definition54.cjs +211 -45
  618. package/unbundled/definition54.js +207 -41
  619. package/unbundled/definition55.cjs +42 -308
  620. package/unbundled/definition55.js +38 -304
  621. package/unbundled/definition56.cjs +266 -53
  622. package/unbundled/definition56.js +263 -49
  623. package/unbundled/definition57.cjs +51 -162
  624. package/unbundled/definition57.js +49 -160
  625. package/unbundled/definition58.cjs +135 -253
  626. package/unbundled/definition58.js +130 -251
  627. package/unbundled/definition59.cjs +209 -457
  628. package/unbundled/definition59.js +206 -454
  629. package/unbundled/definition6.cjs +179 -17
  630. package/unbundled/definition6.js +170 -14
  631. package/unbundled/definition60.cjs +441 -3722
  632. package/unbundled/definition60.js +435 -3553
  633. package/unbundled/definition61.cjs +3713 -761
  634. package/unbundled/definition61.js +3540 -751
  635. package/unbundled/definition62.cjs +761 -95
  636. package/unbundled/definition62.js +758 -92
  637. package/unbundled/definition63.cjs +106 -1055
  638. package/unbundled/definition63.js +98 -1047
  639. package/unbundled/definition64.cjs +991 -103
  640. package/unbundled/definition64.js +986 -101
  641. package/unbundled/definition65.cjs +111 -83
  642. package/unbundled/definition65.js +106 -77
  643. package/unbundled/definition66.cjs +71 -179
  644. package/unbundled/definition66.js +62 -176
  645. package/unbundled/definition67.cjs +154 -120
  646. package/unbundled/definition67.js +151 -117
  647. package/unbundled/definition68.cjs +126 -52
  648. package/unbundled/definition68.js +122 -48
  649. package/unbundled/definition69.cjs +52 -94
  650. package/unbundled/definition69.js +50 -91
  651. package/unbundled/definition7.cjs +31 -177
  652. package/unbundled/definition7.js +24 -170
  653. package/unbundled/definition70.cjs +92 -22
  654. package/unbundled/definition70.js +87 -17
  655. package/unbundled/definition71.cjs +21 -93
  656. package/unbundled/definition71.js +15 -90
  657. package/unbundled/definition72.cjs +77 -309
  658. package/unbundled/definition72.js +72 -232
  659. package/unbundled/definition73.cjs +288 -335
  660. package/unbundled/definition73.js +217 -329
  661. package/unbundled/definition74.cjs +327 -29
  662. package/unbundled/definition74.js +318 -26
  663. package/unbundled/definition75.cjs +28 -129
  664. package/unbundled/definition75.js +23 -125
  665. package/unbundled/definition76.cjs +107 -271
  666. package/unbundled/definition76.js +103 -267
  667. package/unbundled/definition77.cjs +258 -27
  668. package/unbundled/definition77.js +249 -25
  669. package/unbundled/definition78.cjs +30 -155
  670. package/unbundled/definition78.js +28 -140
  671. package/unbundled/definition79.cjs +117 -183
  672. package/unbundled/definition79.js +108 -179
  673. package/unbundled/definition8.cjs +152 -36
  674. package/unbundled/definition8.js +148 -31
  675. package/unbundled/definition80.cjs +180 -492
  676. package/unbundled/definition80.js +175 -486
  677. package/unbundled/definition81.cjs +517 -0
  678. package/unbundled/definition81.js +497 -0
  679. package/unbundled/definition9.cjs +200 -135
  680. package/unbundled/definition9.js +189 -130
  681. package/unbundled/delegates-aria.cjs +1 -3
  682. package/unbundled/delegates-aria.js +1 -3
  683. package/unbundled/divider.cjs +2 -7
  684. package/unbundled/divider.js +2 -7
  685. package/unbundled/extractOptions.cjs +21 -0
  686. package/unbundled/extractOptions.js +16 -0
  687. package/unbundled/form-associated.cjs +20 -60
  688. package/unbundled/form-associated.js +20 -60
  689. package/unbundled/form-element.cjs +5 -15
  690. package/unbundled/form-element.js +5 -15
  691. package/unbundled/host-semantics.cjs +1 -3
  692. package/unbundled/host-semantics.js +1 -3
  693. package/unbundled/kbd-shortcut.cjs +1 -3
  694. package/unbundled/kbd-shortcut.js +1 -3
  695. package/unbundled/linkable.cjs +1 -3
  696. package/unbundled/linkable.js +1 -3
  697. package/unbundled/listbox.cjs +29 -26
  698. package/unbundled/listbox.js +29 -26
  699. package/unbundled/localized.cjs +3 -9
  700. package/unbundled/localized.js +3 -9
  701. package/unbundled/mixins.cjs +9 -25
  702. package/unbundled/mixins.js +9 -25
  703. package/unbundled/numberConverter.cjs +39 -9
  704. package/unbundled/numberConverter.js +39 -9
  705. package/unbundled/picker-field.template.cjs +16 -36
  706. package/unbundled/picker-field.template.js +16 -36
  707. package/unbundled/platform.cjs +1 -3
  708. package/unbundled/platform.js +1 -3
  709. package/unbundled/playbackRates.cjs +1 -3
  710. package/unbundled/playbackRates.js +1 -3
  711. package/unbundled/randomId.cjs +1 -3
  712. package/unbundled/randomId.js +1 -3
  713. package/unbundled/single-date-picker.cjs +6 -18
  714. package/unbundled/single-date-picker.js +6 -18
  715. package/unbundled/single-value-picker.cjs +7 -21
  716. package/unbundled/single-value-picker.js +7 -21
  717. package/unbundled/slider.template.cjs +6 -14
  718. package/unbundled/slider.template.js +6 -14
  719. package/unbundled/slottable-request.cjs +2 -6
  720. package/unbundled/slottable-request.js +2 -6
  721. package/unbundled/text-field.cjs +1 -1
  722. package/unbundled/text-field.js +1 -1
  723. package/unbundled/time-selection-picker.template.cjs +27 -79
  724. package/unbundled/time-selection-picker.template.js +27 -79
  725. package/unbundled/trapped-focus.cjs +1 -3
  726. package/unbundled/trapped-focus.js +1 -3
  727. package/unbundled/vivid-element.cjs +16 -19
  728. package/unbundled/vivid-element.js +16 -19
  729. package/unbundled/with-contextual-help.cjs +4 -13
  730. package/unbundled/with-contextual-help.js +4 -13
  731. package/unbundled/with-error-text.cjs +2 -6
  732. package/unbundled/with-error-text.js +2 -6
  733. package/unbundled/with-success-text.cjs +1 -3
  734. package/unbundled/with-success-text.js +1 -3
  735. package/video-player/definition.cjs +1 -1
  736. package/video-player/definition.js +1 -1
  737. package/video-player/index.cjs +3 -3
  738. package/video-player/index.js +5 -5
  739. package/visually-hidden/definition.cjs +1 -1
  740. package/visually-hidden/definition.js +1 -1
  741. package/vivid.api.json +194 -0
  742. package/shared/color-picker/index.d.ts +0 -3
  743. package/shared/foundation/button/index.d.ts +0 -2
  744. package/shared/patterns/char-count/index.d.ts +0 -1
  745. package/shared/patterns/form-elements/index.d.ts +0 -4
  746. package/shared/patterns/index.d.ts +0 -7
@@ -1,288 +1,443 @@
1
1
  import { d as createRegisterFunction, t as VividElement, u as defineVividComponent } from "./vivid-element.js";
2
2
  import { r as Icon, t as iconDefinition } from "./definition.js";
3
3
  import { t as __decorate } from "./decorate.js";
4
- import { n as delegateAria, t as DelegatesAria } from "./delegates-aria.js";
5
4
  import { t as Localized } from "./localized.js";
6
- import { i as Button, t as buttonDefinition } from "./definition7.js";
7
- import { r as Elevation, t as elevationDefinition } from "./definition8.js";
8
- import { t as handleEscapeKeyAndStopPropogation } from "./dialog.js";
9
- import { attr, html, observable, slotted, when } from "@microsoft/fast-element";
10
- import { classNames } from "@microsoft/fast-web-utilities";
11
- //#region src/lib/dialog/dialog.scss?inline
12
- var dialog_default = ".base{white-space:initial;box-sizing:border-box;color:var(--vvd-color-canvas-text);max-block-size:none;max-inline-size:var(--dialog-max-inline-size,var(--_dialog-default-max-inline-size));min-block-size:fit-content;min-inline-size:var(--dialog-min-inline-size,280px);background-color:#0000;border:none;border-radius:8px;padding:0}@media not all and (width>=600px){.base{--_dialog-default-max-inline-size:90vw}}@media (width>=600px){.base{--_dialog-default-max-inline-size:560px}}.base:not(.scrollable-body){max-block-size:var(--dialog-max-block-size,calc(100vh - 64px))}.base:not(.modal){z-index:var(--dialog-z-index,1);inset-block:var(--dialog-inset-block,auto);inset-inline:var(--dialog-inset-inline,0)}.base.modal{box-shadow:0 4px 20px #00000059}.base.modal::backdrop{background-color:var(--vvd-color-canvas-text,currentColor);opacity:.5}.base: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))}.main-wrapper{box-sizing:border-box;flex-direction:column;gap:24px;padding-block:24px;display:flex}.main-wrapper>*{box-sizing:border-box}.header{justify-content:space-between;align-items:flex-start;inline-size:100%;padding-inline:24px;display:grid}.base:not(.icon-placement-side) .header{grid-template-rows:auto auto auto;grid-template-columns:1fr auto}.base:not(.icon-placement-side) .header .icon{font-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));grid-area:1/1/2/2;margin-block-end:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16));line-height:1}.base.icon-placement-side .header{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto}.base.icon-placement-side .header .icon{font-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 12))}.base.icon-placement-side .header ::slotted(*),.base.icon-placement-side .header .icon{grid-area:1/1/-1/2;margin-inline-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 2)}.header.border{position:relative}.header.border:after{background-color:var(--vvd-color-neutral-200);content:\"\";block-size:1px;inline-size:100%;position:absolute;bottom:-24px;left:0}.base.hide-body .header.border:after{content:none}.body:not(.full-width){padding-inline:24px}.hide-body .body{display:none}.scrollable-body .body{max-block-size:var(--dialog-body-max-block-size,300px);--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%);scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin;overflow:hidden auto}.scrollable-body .body ::-webkit-scrollbar{width:4px}.scrollable-body .body ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.scrollable-body .body ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}.footer{justify-content:space-between;align-items:center;gap:24px;padding-inline:24px;display:flex}.hide-footer .footer{display:none}.footer .actions{align-self:flex-end;gap:8px;display:flex}.dismiss-button{flex-shrink:0;grid-area:1/-2/-1/-1;margin-block-start:-8px;margin-inline:4px -8px}.headline{font:var(--vvd-typography-heading-4);margin:0}.subtitle{font:var(--vvd-typography-base);margin:0}slot[name=main]{--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%);scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}slot[name=main] ::-webkit-scrollbar{width:4px}slot[name=main] ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}slot[name=main] ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}slot[name=main]{max-width:inherit;max-height:inherit;border-radius:inherit;display:block;overflow:hidden auto}";
5
+ import { i as Button, t as buttonDefinition } from "./definition6.js";
6
+ import { n as visuallyHiddenDefinition, r as VisuallyHidden } from "./definition22.js";
7
+ import { n as textFieldDefinition, r as TextField } from "./definition26.js";
8
+ import { attr, html, observable, ref, repeat, when } from "@microsoft/fast-element";
9
+ import { classNames, keyEnter } from "@microsoft/fast-web-utilities";
10
+ //#region src/lib/dial-pad/dial-pad.scss?inline
11
+ var dial_pad_default = ":host{inline-size:230px;margin:16px;display:inline-block}.base{box-sizing:border-box;grid-template-rows:80px 1fr auto;display:grid}.base.no-input{grid-template-rows:1fr auto}.digits{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:16px;inline-size:100%;display:grid}.phone-field{grid-column:1/-1;align-self:flex-start}.digit-btn{--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.digit-btn:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}}.digit-btn.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}.digit-btn:disabled,.digit-btn.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-100)}.digit-btn{--_connotation-color-contrast:var(--vvd-dial-pad-accent-contrast,var(--vvd-color-neutral-800));--_connotation-color-soft:var(--vvd-dial-pad-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-pale:var(--vvd-dial-pad-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-fierce:var(--vvd-dial-pad-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-firm-all:var(--vvd-dial-pad-accent-firm-all,var(--vvd-color-neutral-600));--_connotation-color-faint:var(--vvd-dial-pad-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-dim:var(--vvd-dial-pad-accent-dim,var(--vvd-color-neutral-200));--vvd-button-accent-firm:var(--_appearance-color-text);box-shadow:0 0 0 1px var(--_appearance-color-outline);border-radius:16px;flex-direction:column;inline-size:100%;display:flex;overflow:hidden}.digit-btn:not(.disabled) .digit-btn-num{color:var(--vvd-color-canvas-text)}.digit-btn:focus-within{--focus-stroke-gap-color:transparent;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))}.call-btn{grid-column:1/-1;margin-block-start:32px}.base.size-condensed{grid-template-rows:60px 1fr auto}.base.size-condensed .digits{grid-template-rows:repeat(4,.85fr);gap:8px}.base.size-condensed .call-btn{margin-block-start:12px}.base.size-condensed .digit-btn-num{padding-top:6px}.base.size-condensed.no-letters .digit-btn-num{padding-top:0}";
13
12
  //#endregion
14
- //#region src/lib/dialog/dialog.ts
13
+ //#region src/lib/dial-pad/dial-pad.ts
15
14
  /**
15
+ * Base class for dial-pad
16
+ *
16
17
  * @public
17
- * @component dialog
18
- * @slot graphic - Use the graphic slot in order to replace the icon.
19
- * @slot body - Use the body slot in order to add custom HTML to the dialog.
20
- * @slot footer - Use the footer slot in order to add action buttons to the bottom of the dialog.
21
- * @slot main - Assign nodes to the main slot to fully override a dialog’s predefined flow and style with your own.
22
- * @slot action-items - Use the action-items slot in order to add action buttons to the bottom of the dialog.
23
- * @event {CustomEvent<undefined>} open - The `open` event fires when the dialog opens.
24
- * @event {CustomEvent<string>} close - The `close` event fires when the dialog closes (either via user interaction or via the API). It returns the return value inside the event's details property.
25
- * @event {CustomEvent<undefined>} cancel - The `cancel` event fires when the user requests to close the dialog. You can prevent the dialog from closing by calling `.preventDefault()` on the event.
26
- * @vueModel open open open,close `event.currentTarget.open`
27
- * @testSelector byHeadline byHeadline
28
- * @testAction dismiss click #dismissButton
29
- * @testQuery open open true
30
- * @testQuery closed open false
31
- * @testQuery headline headline
32
- * @testRef dismissButton shadow .dismiss-button
18
+ * @component dial-pad
19
+ * @event {CustomEvent<undefined>} change - Emitted when the text field value changes
20
+ * @event {CustomEvent<undefined>} input - Emitted when the text field value changes
21
+ * @event {CustomEvent<undefined>} blur - Emitted when the text field loses focus
22
+ * @event {CustomEvent<undefined>} focus - Emitted when the text field receives focus
23
+ * @event {CustomEvent<HTMLElement>}keypad-click - Emitted when a digit button is clicked
24
+ * @event {CustomEvent<undefined>} dial - Emitted when the call button is clicked
25
+ * @event {CustomEvent<undefined>} end-call - Emitted when the end call button is clicked
26
+ * @vueModel modelValue value input,@lazy:change `event.currentTarget.value`
33
27
  */
34
- var Dialog = class extends Localized(DelegatesAria(VividElement)) {
28
+ var DialPad = class extends Localized(VividElement) {
35
29
  constructor(..._args) {
36
30
  super(..._args);
37
- this.open = false;
38
- this.fullWidthBody = false;
39
- this.dismissButtonAriaLabel = null;
40
- this.noLightDismiss = false;
41
- this.noDismissOnEsc = false;
42
- this.noDismissButton = false;
43
- this.nonDismissible = false;
44
- this.modal = false;
45
- this.scrollableBody = false;
46
- this._openedAsModal = false;
47
- this.#handleScrimClick = (event) => {
48
- if (event.target !== this.#dialog || !this.#isDismissibleVia("light-dismiss")) return;
49
- const rect = this.#dialog.getBoundingClientRect();
50
- if (!(rect.top <= event.clientY && event.clientY <= rect.top + rect.height && rect.left <= event.clientX && event.clientX <= rect.left + rect.width)) this._handleCloseRequest();
51
- };
52
- this.#handleInternalFormSubmit = (event) => {
53
- if (event.target.method !== "dialog") return;
54
- this.open = false;
31
+ this.helperText = null;
32
+ this.placeholder = null;
33
+ this.value = "";
34
+ this.pattern = "^[0-9#*]*$";
35
+ this.disabled = false;
36
+ this.pending = false;
37
+ this.callActive = false;
38
+ this.noCall = false;
39
+ this.noInput = false;
40
+ this.noLetters = false;
41
+ this.endCallButtonLabel = null;
42
+ this.callButtonLabel = null;
43
+ this.deleteAriaLabel = null;
44
+ this._longPressTimeoutId = null;
45
+ this._suppressNextClick = false;
46
+ this._keyboardLongPressCompleted = false;
47
+ this._onDial = () => {
48
+ if (!this._textFieldEl.checkValidity()) this._announceValidationError(this._textFieldEl.errorValidationMessage ?? "");
49
+ else this._clearErrorAnnouncement();
50
+ this.$emit(this.callActive ? "end-call" : "dial");
55
51
  };
52
+ this.autofocus = false;
53
+ this._errorAnnouncement = "";
54
+ this._forceAnnouncementToggle = false;
56
55
  }
57
- /**
58
- * @internal
59
- */
60
- modalChanged(_, newValue) {
61
- if (this.open) {
62
- this._openedAsModal = newValue;
63
- if (this.$fastController.isConnected) {
64
- this.#closeDialog();
65
- this.#showDialog();
66
- }
56
+ valueChanged(_oldValue, newValue) {
57
+ if (newValue !== void 0 && newValue !== null && this._textFieldEl && newValue !== this._textFieldEl.value) {
58
+ this._textFieldEl.value = newValue;
59
+ this._textFieldEl.reportValidity();
67
60
  }
68
61
  }
69
- set returnValue(value) {
70
- /* v8 ignore else -- @preserve */
71
- if (this.#dialog) this.#dialog.returnValue = value;
62
+ /** @internal */
63
+ _startLongPress(digit, event) {
64
+ if (this.disabled || this.callActive || digit !== "0") return;
65
+ this._clearLongPressTimer();
66
+ const target = event.currentTarget;
67
+ this._longPressTimeoutId = window.setTimeout(() => {
68
+ this._suppressNextClick = true;
69
+ this.value += "+";
70
+ this.$emit("keypad-click", target);
71
+ this.$emit("input");
72
+ this.$emit("change");
73
+ }, 600);
72
74
  }
73
- get returnValue() {
74
- return this.#dialog?.returnValue;
75
+ /** @internal */
76
+ _startKeyboardLongPress() {
77
+ if (this.disabled || this.callActive) return;
78
+ if (this._longPressTimeoutId !== null) return;
79
+ this._keyboardLongPressCompleted = false;
80
+ this._longPressTimeoutId = window.setTimeout(() => {
81
+ this._keyboardLongPressCompleted = true;
82
+ this.value += "+";
83
+ this.$emit("input");
84
+ this.$emit("change");
85
+ }, 650);
75
86
  }
76
- #dialogElement;
77
- get #dialog() {
78
- if (!this.#dialogElement) this.#dialogElement = this.shadowRoot.querySelector("dialog");
79
- return this.#dialogElement;
87
+ /** @internal */
88
+ _endLongPress() {
89
+ this._clearLongPressTimer();
90
+ window.setTimeout(() => {
91
+ if (this._suppressNextClick) this._suppressNextClick = false;
92
+ }, 0);
80
93
  }
81
94
  /**
82
95
  * @internal
96
+ * @returns true if long press completed (timer fired), false otherwise
83
97
  */
84
- openChanged(oldValue, newValue) {
85
- if (oldValue === void 0) return;
86
- if (!newValue) {
87
- this._openedAsModal = false;
88
- if (this.$fastController.isConnected) this.#closeDialog();
89
- this.$emit("close", this.returnValue, { bubbles: false });
90
- } else {
91
- this._openedAsModal = this._openedAsModal || this.modal;
92
- if (this.$fastController.isConnected) this.#showDialog();
93
- this.$emit("open", void 0, { bubbles: false });
94
- }
98
+ _endKeyboardLongPress() {
99
+ const wasLongPress = this._keyboardLongPressCompleted;
100
+ this._clearLongPressTimer();
101
+ window.setTimeout(() => {
102
+ this._keyboardLongPressCompleted = false;
103
+ }, 0);
104
+ return wasLongPress;
95
105
  }
96
106
  /** @internal */
97
- get _showDismissButton() {
98
- return this.#isDismissibleVia("dismiss-button");
99
- }
100
- #isDismissibleVia(method) {
101
- if (this.nonDismissible) return false;
102
- switch (method) {
103
- case "escape": return !this.noDismissOnEsc;
104
- case "dismiss-button": return !this.noDismissButton;
105
- case "light-dismiss": return !this.noLightDismiss;
106
- }
107
+ _cancelLongPress() {
108
+ this._clearLongPressTimer();
107
109
  }
108
- #handleScrimClick;
109
- #handleInternalFormSubmit;
110
- /**
111
- * @internal
112
- */
113
- _onKeyDown(event) {
114
- if (handleEscapeKeyAndStopPropogation(event) && this._openedAsModal) {
115
- if (this.#isDismissibleVia("escape")) this._handleCloseRequest();
116
- return false;
110
+ _clearLongPressTimer() {
111
+ if (this._longPressTimeoutId !== null) {
112
+ clearTimeout(this._longPressTimeoutId);
113
+ this._longPressTimeoutId = null;
117
114
  }
118
- return true;
119
115
  }
120
116
  /**
121
- * @internal
117
+ * Moves focus into the Dial Pad. If `no-input` attribute is specified, it will be the first digit
118
+ * button. Otherwise, the input field will be focused.
122
119
  */
123
- _handleCloseRequest() {
124
- if (this.$emit("cancel", void 0, {
125
- bubbles: false,
126
- cancelable: true
127
- })) this.open = false;
120
+ focus() {
121
+ const digitBtns = this.shadowRoot?.querySelectorAll(".digits .digit-btn");
122
+ (this._textFieldEl || digitBtns?.[0])?.focus();
128
123
  }
129
- close() {
130
- this.open = false;
131
- }
132
- show() {
133
- if (this._openedAsModal && !this.modal) throw new DOMException("Failed to execute 'show' on 'Dialog': The dialog is already open as a modal dialog, and therefore cannot be opened as a non-modal dialog.", "InvalidStateError");
134
- this.open = true;
135
- }
136
- showModal() {
137
- if (this.open && !this._openedAsModal) throw new DOMException("Failed to execute 'showModal' on 'Dialog': The dialog is already open as a non-modal dialog, and therefore cannot be opened as a modal dialog.", "InvalidStateError");
138
- this._openedAsModal = true;
139
- this.open = true;
140
- }
141
- #closeDialog() {
142
- this.#dialog.close();
143
- }
144
- #showDialog() {
145
- if (this._openedAsModal) this.#dialog.showModal();
146
- else this.#dialog.show();
147
- }
148
- connectedCallback() {
149
- super.connectedCallback();
150
- if (this.open) this.#showDialog();
151
- this.#dialog.addEventListener("mousedown", this.#handleScrimClick);
152
- this.#dialog.addEventListener("submit", this.#handleInternalFormSubmit);
124
+ /** @internal */
125
+ _announceValidationError(message) {
126
+ this._errorAnnouncement = "";
127
+ window.queueMicrotask(() => {
128
+ if (message) {
129
+ this._forceAnnouncementToggle = !this._forceAnnouncementToggle;
130
+ this._errorAnnouncement = `${message}${this._forceAnnouncementToggle ? "​" : ""}`;
131
+ } else this._clearErrorAnnouncement();
132
+ });
153
133
  }
154
- disconnectedCallback() {
155
- super.disconnectedCallback();
156
- if (this.open) this.#closeDialog();
157
- this.#dialog.removeEventListener("mousedown", this.#handleScrimClick);
158
- this.#dialog.removeEventListener("submit", this.#handleInternalFormSubmit);
134
+ /** @internal */
135
+ _clearErrorAnnouncement() {
136
+ this._errorAnnouncement = "";
137
+ this._forceAnnouncementToggle = false;
159
138
  }
160
139
  };
161
- __decorate([attr({ mode: "boolean" })], Dialog.prototype, "open", void 0);
162
- __decorate([attr], Dialog.prototype, "icon", void 0);
163
- __decorate([attr({ attribute: "icon-placement" })], Dialog.prototype, "iconPlacement", void 0);
164
- __decorate([attr], Dialog.prototype, "subtitle", void 0);
165
- __decorate([attr], Dialog.prototype, "headline", void 0);
166
- __decorate([attr({
167
- attribute: "full-width-body",
168
- mode: "boolean"
169
- })], Dialog.prototype, "fullWidthBody", void 0);
170
- __decorate([attr({ attribute: "dismiss-button-aria-label" })], Dialog.prototype, "dismissButtonAriaLabel", void 0);
140
+ __decorate([attr({ attribute: "helper-text" })], DialPad.prototype, "helperText", void 0);
141
+ __decorate([attr], DialPad.prototype, "placeholder", void 0);
142
+ __decorate([attr({ mode: "fromView" })], DialPad.prototype, "value", void 0);
143
+ __decorate([attr({ mode: "fromView" })], DialPad.prototype, "pattern", void 0);
144
+ __decorate([attr({ mode: "boolean" })], DialPad.prototype, "disabled", void 0);
145
+ __decorate([attr({ mode: "boolean" })], DialPad.prototype, "pending", void 0);
171
146
  __decorate([attr({
172
- attribute: "no-light-dismiss",
147
+ attribute: "call-active",
173
148
  mode: "boolean"
174
- })], Dialog.prototype, "noLightDismiss", void 0);
149
+ })], DialPad.prototype, "callActive", void 0);
175
150
  __decorate([attr({
176
- attribute: "no-dismiss-on-esc",
177
- mode: "boolean"
178
- })], Dialog.prototype, "noDismissOnEsc", void 0);
179
- __decorate([attr({
180
- attribute: "no-dismiss-button",
181
- mode: "boolean"
182
- })], Dialog.prototype, "noDismissButton", void 0);
151
+ mode: "boolean",
152
+ attribute: "no-call"
153
+ })], DialPad.prototype, "noCall", void 0);
183
154
  __decorate([attr({
184
- attribute: "non-dismissible",
185
- mode: "boolean"
186
- })], Dialog.prototype, "nonDismissible", void 0);
187
- __decorate([attr({ mode: "boolean" })], Dialog.prototype, "modal", void 0);
155
+ mode: "boolean",
156
+ attribute: "no-input"
157
+ })], DialPad.prototype, "noInput", void 0);
188
158
  __decorate([attr({
189
159
  mode: "boolean",
190
- attribute: "scrollable-body"
191
- })], Dialog.prototype, "scrollableBody", void 0);
192
- __decorate([observable], Dialog.prototype, "_openedAsModal", void 0);
193
- __decorate([observable], Dialog.prototype, "bodySlottedContent", void 0);
194
- __decorate([observable], Dialog.prototype, "footerSlottedContent", void 0);
195
- __decorate([observable], Dialog.prototype, "actionItemsSlottedContent", void 0);
160
+ attribute: "no-letters"
161
+ })], DialPad.prototype, "noLetters", void 0);
162
+ __decorate([attr], DialPad.prototype, "size", void 0);
163
+ __decorate([attr({ attribute: "end-call-button-label" })], DialPad.prototype, "endCallButtonLabel", void 0);
164
+ __decorate([attr({ attribute: "call-button-label" })], DialPad.prototype, "callButtonLabel", void 0);
165
+ __decorate([attr({ attribute: "delete-aria-label" })], DialPad.prototype, "deleteAriaLabel", void 0);
166
+ __decorate([attr({ mode: "boolean" })], DialPad.prototype, "autofocus", void 0);
167
+ __decorate([observable], DialPad.prototype, "_errorAnnouncement", void 0);
196
168
  //#endregion
197
- //#region src/lib/dialog/dialog.template.ts
198
- var getClasses = ({ iconPlacement, bodySlottedContent, footerSlottedContent, actionItemsSlottedContent, _openedAsModal, scrollableBody }) => classNames("base", [`icon-placement-${iconPlacement}`, Boolean(iconPlacement)], ["hide-body", !bodySlottedContent?.length], ["hide-footer", !(footerSlottedContent?.length || actionItemsSlottedContent?.length)], ["modal", _openedAsModal], ["scrollable-body", scrollableBody]);
199
- function icon(iconTag) {
200
- return html`
201
- <${iconTag} class="icon" name="${(x) => x.icon}"></${iconTag}>
202
- `;
169
+ //#region src/lib/dial-pad/dial-pad.template.ts
170
+ var DIAL_PAD_BUTTONS = [
171
+ {
172
+ value: "1",
173
+ letters: "\xA0",
174
+ ariaLabel: "digitOneLabel",
175
+ icon: "one-solid",
176
+ id: "btn1"
177
+ },
178
+ {
179
+ value: "2",
180
+ letters: "ABC",
181
+ ariaLabel: "digitTwoLabel",
182
+ icon: "two-solid",
183
+ id: "btn2"
184
+ },
185
+ {
186
+ value: "3",
187
+ letters: "DEF",
188
+ ariaLabel: "digitThreeLabel",
189
+ icon: "three-solid",
190
+ id: "btn3"
191
+ },
192
+ {
193
+ value: "4",
194
+ letters: "GHI",
195
+ ariaLabel: "digitFourLabel",
196
+ icon: "four-solid",
197
+ id: "btn4"
198
+ },
199
+ {
200
+ value: "5",
201
+ letters: "JKL",
202
+ ariaLabel: "digitFiveLabel",
203
+ icon: "five-solid",
204
+ id: "btn5"
205
+ },
206
+ {
207
+ value: "6",
208
+ letters: "MNO",
209
+ ariaLabel: "digitSixLabel",
210
+ icon: "six-solid",
211
+ id: "btn6"
212
+ },
213
+ {
214
+ value: "7",
215
+ letters: "PQRS",
216
+ ariaLabel: "digitSevenLabel",
217
+ icon: "seven-solid",
218
+ id: "btn7"
219
+ },
220
+ {
221
+ value: "8",
222
+ letters: "TUV",
223
+ ariaLabel: "digitEightLabel",
224
+ icon: "eight-solid",
225
+ id: "btn8"
226
+ },
227
+ {
228
+ value: "9",
229
+ letters: "WXYZ",
230
+ ariaLabel: "digitNineLabel",
231
+ icon: "nine-solid",
232
+ id: "btn9"
233
+ },
234
+ {
235
+ value: "*",
236
+ ariaLabel: "digitAsteriskLabel",
237
+ icon: "asterisk-2-solid",
238
+ id: "btnAsterisk"
239
+ },
240
+ {
241
+ value: "0",
242
+ alwaysVisibleLetters: "+",
243
+ ariaLabel: "digitZeroLabel",
244
+ icon: "zero-solid",
245
+ id: "btn0"
246
+ },
247
+ {
248
+ value: "#",
249
+ ariaLabel: "digitHashtagLabel",
250
+ icon: "hashtag-solid",
251
+ id: "btnHashtag"
252
+ }
253
+ ];
254
+ function handleKeyDown(x, e) {
255
+ if (e.key === keyEnter && !x.pending && !x.disabled && !x.callActive && !x.noCall && x.value.length > 0 && e.target instanceof HTMLInputElement) x._onDial();
256
+ else if (e.key === " " || e.key === "Space") {
257
+ /* v8 ignore else -- @preserve */
258
+ if (e.target instanceof HTMLInputElement) {
259
+ e.preventDefault();
260
+ /* v8 ignore else -- @preserve */
261
+ if (!e.repeat) x._startKeyboardLongPress();
262
+ }
263
+ } else {
264
+ const elementIndex = DIAL_PAD_BUTTONS.findIndex((x) => x.value === e.key);
265
+ if (elementIndex > -1) {
266
+ const digit = x.shadowRoot.querySelector(".digits").children[elementIndex];
267
+ /* v8 ignore else -- @preserve */
268
+ if (digit) {
269
+ digit.active = true;
270
+ setTimeout(() => {
271
+ digit.active = false;
272
+ }, 200);
273
+ }
274
+ }
275
+ }
276
+ return true;
203
277
  }
204
- function headline() {
205
- return html`
206
- <h2 class="headline" id="dialog-headline">${(x) => x.headline}</h2>
207
- `;
278
+ function handleKeyUp(x, e) {
279
+ /* v8 ignore else -- @preserve */
280
+ if (e.key === " " || e.key === "Space") {
281
+ /* v8 ignore else -- @preserve */
282
+ if (e.target instanceof HTMLInputElement) {
283
+ e.preventDefault();
284
+ if (!x._endKeyboardLongPress() && !x.disabled && !x.callActive) {
285
+ x.value += " ";
286
+ x.$emit("input");
287
+ x.$emit("change");
288
+ }
289
+ }
290
+ }
291
+ return true;
208
292
  }
209
- function subtitle() {
210
- return html`
211
- <h3 class="subtitle" id="dialog-subtitle">${(x) => x.subtitle}</h3>
212
- `;
293
+ function handleButtonKeyDown(digit, { parent: dialPad, event }) {
294
+ /* v8 ignore else -- @preserve */
295
+ if ((event.key === " " || event.key === "Space") && digit.value === "0") {
296
+ event.preventDefault();
297
+ /* v8 ignore else -- @preserve */
298
+ if (!event.repeat) dialPad._startKeyboardLongPress();
299
+ }
300
+ return true;
301
+ }
302
+ function handleButtonKeyUp(digit, { parent: dialPad, event }) {
303
+ /* v8 ignore else -- @preserve */
304
+ if ((event.key === " " || event.key === "Space") && digit.value === "0") {
305
+ event.preventDefault();
306
+ /* v8 ignore else -- @preserve */
307
+ if (!dialPad._endKeyboardLongPress() && !dialPad.disabled && !dialPad.callActive) onDigitClick(digit, {
308
+ parent: dialPad,
309
+ event: new MouseEvent("click", { bubbles: true })
310
+ });
311
+ }
312
+ return true;
313
+ }
314
+ function syncFieldAndPadValues(x) {
315
+ x.value = x._textFieldEl.value;
316
+ }
317
+ function stopPropagation(_, { event: e }) {
318
+ e.stopImmediatePropagation();
319
+ }
320
+ function deleteLastCharacter(dialPad) {
321
+ dialPad.value = dialPad.value.slice(0, -1);
322
+ dialPad.$emit("input");
323
+ dialPad.$emit("change");
324
+ if (dialPad.value === "") dialPad._textFieldEl?.focus();
213
325
  }
214
- function renderHeaderText() {
326
+ function renderTextField(textFieldTag, buttonTag) {
327
+ return html`<${textFieldTag} ${ref("_textFieldEl")} class="phone-field" internal-part type="tel"
328
+ value="${(x) => x.value}" placeholder="${(x) => x.placeholder}"
329
+ ?disabled="${(x) => x.disabled}" helper-text="${(x) => x.helperText}" pattern="${(x) => x.pattern}"
330
+ aria-label="${(x) => x.locale.dialPad.inputLabel}"
331
+ @keydown="${(x, c) => handleKeyDown(x, c.event)}"
332
+ @keyup="${(x, c) => handleKeyUp(x, c.event)}"
333
+ @input="${syncFieldAndPadValues}"
334
+ @change="${syncFieldAndPadValues}"
335
+ @focus="${stopPropagation}"
336
+ @blur="${stopPropagation}"
337
+ ?autofocus="${(x) => x.autofocus}"
338
+ scale="${(x) => x.size === "condensed" ? "condensed" : "normal"}">
339
+ >
340
+ ${when((x) => x.value && x.value.length && x.value.length > 0, html`<${buttonTag}
341
+ slot="action-items"
342
+ size='super-condensed'
343
+ icon="backspace-line"
344
+ aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteButtonLabel}"
345
+ appearance='ghost'
346
+ ?disabled="${(x) => x.disabled || x.callActive}"
347
+ @click="${(x) => deleteLastCharacter(x)}">
348
+ </${buttonTag}>`)}
349
+ </${textFieldTag}>`;
350
+ }
351
+ function onDigitClick(digit, { parent: dialPad, event }) {
352
+ if (dialPad._suppressNextClick) {
353
+ dialPad._suppressNextClick = false;
354
+ return;
355
+ }
356
+ dialPad.value += digit.value;
357
+ dialPad.$emit("keypad-click", event.currentTarget);
358
+ dialPad.$emit("input");
359
+ dialPad.$emit("change");
360
+ }
361
+ function renderDigits(buttonTag, iconTag) {
215
362
  return html`
216
- <div class="header-text">${headline()} ${subtitle()}</div>
363
+ ${repeat((_) => DIAL_PAD_BUTTONS, html`
364
+ <${buttonTag}
365
+ id="${(x) => x.id}"
366
+ value="${(x) => x.value}"
367
+ stacked
368
+ appearance="ghost-light"
369
+ shape="pill"
370
+ label="${(x, c) => (c.parent.noLetters ? null : x.letters) ?? x.alwaysVisibleLetters}"
371
+ size='condensed'
372
+ class="digit-btn"
373
+ ?autofocus="${(_, c) => c.parent.autofocus && c.parent.noInput && c.index === 0}"
374
+ aria-label="${(x, c) => c.parent.noLetters ? x.value : c.parent.locale.dialPad[x.ariaLabel]}"
375
+ ?disabled="${(_, c) => c.parent.disabled}"
376
+ @pointerdown="${(x, c) => c.parent._startLongPress(x.value, c.event)}"
377
+ @pointerup="${(_, c) => c.parent._endLongPress()}"
378
+ @pointercancel="${(_, c) => c.parent._cancelLongPress()}"
379
+ @pointerleave="${(_, c) => c.parent._cancelLongPress()}"
380
+ @keydown="${(x, c) => handleButtonKeyDown(x, {
381
+ parent: c.parent,
382
+ event: c.event
383
+ })}"
384
+ @keyup="${(x, c) => handleButtonKeyUp(x, {
385
+ parent: c.parent,
386
+ event: c.event
387
+ })}"
388
+ @click="${onDigitClick}">
389
+ <${iconTag} slot="icon"
390
+ name="${(x) => x.icon}"
391
+ class="digit-btn-num"></${iconTag}>
392
+ </${buttonTag}>
393
+ `, { positioning: true })}
217
394
  `;
218
395
  }
219
- function renderDismissButton(buttonTag) {
220
- return html`
221
- <${buttonTag}
222
- aria-label="${(x) => x.dismissButtonAriaLabel || x.locale.dialog.dismissButtonLabel}"
223
- size="condensed"
224
- class="dismiss-button"
225
- icon="close-line"
226
- @click="${(x) => x._handleCloseRequest()}"
227
- ></${buttonTag}>`;
396
+ function renderDialButton(buttonTag) {
397
+ return html`<${buttonTag} class="call-btn"
398
+ size="${(x) => x.size === "condensed" ? "normal" : "expanded"}"
399
+ appearance="filled"
400
+ icon="${(x) => x.callActive ? "disable-call-line" : "call-line"}"
401
+ connotation="${(x) => x.callActive ? "alert" : "cta"}"
402
+ ?disabled="${(x) => x.disabled}"
403
+ ?pending="${(x) => x.pending}"
404
+ @click="${(x) => x._onDial()}"
405
+ label="${(x) => x.callActive ? x.endCallButtonLabel || x.locale.dialPad.endCallButtonLabel : x.callButtonLabel || x.locale.dialPad.callButtonLabel}">
406
+ </${buttonTag}>`;
228
407
  }
229
- var DialogTemplate = (context) => {
230
- const elevationTag = context.tagFor(Elevation);
231
- const iconTag = context.tagFor(Icon);
408
+ function renderErrorAnnouncement(visuallyHiddenTag) {
409
+ return html`<${visuallyHiddenTag} role="alert" aria-atomic="true">
410
+ ${(x) => `${x.locale.dialPad.errorLabel} ${x._errorAnnouncement}`}
411
+ </${visuallyHiddenTag}>`;
412
+ }
413
+ var DialPadTemplate = (context) => {
232
414
  const buttonTag = context.tagFor(Button);
233
- return html`
234
- <${elevationTag} dp="8" not-relative>
235
- <dialog class="${getClasses}"
236
-
237
- @keydown="${(x, c) => x._onKeyDown(c.event)}"
238
- @cancel="${(_, c) => c.event.preventDefault()}"
239
- ${delegateAria({
240
- ariaModal: (x) => String(x._openedAsModal),
241
- ariaLabelledBy: (x) => x.headline ? "dialog-headline dialog-subtitle" : null
242
- })}
243
- >
244
- <slot name="main">
245
- <div class="main-wrapper">
246
- <div class="header ${(x) => x.subtitle ? "border" : ""}">
247
- ${when((x) => x._showDismissButton, renderDismissButton(buttonTag))}
248
- <slot name="graphic">
249
- ${when((x) => x.icon, icon(iconTag))}
250
- </slot>
251
- ${when((x) => x.headline && x.subtitle, renderHeaderText())}
252
- ${when((x) => x.headline && !x.subtitle, headline())}
253
- ${when((x) => x.subtitle && !x.headline, subtitle())}
254
- </div>
255
- <div class="body ${(x) => x.fullWidthBody ? "full-width" : ""}" >
256
- <slot name="body" ${slotted("bodySlottedContent")}></slot>
257
- </div>
258
- <div class="footer">
259
- <div>
260
- <slot name="footer" ${slotted("footerSlottedContent")}></slot>
261
- </div>
262
- <div class="actions">
263
- <slot name="action-items" ${slotted("actionItemsSlottedContent")}></slot>
264
- </div>
265
- </div>
266
- </div>
267
- </slot>
268
- </dialog>
269
- </${elevationTag}>`;
415
+ const iconTag = context.tagFor(Icon);
416
+ const textFieldTag = context.tagFor(TextField);
417
+ const visuallyHiddenTag = context.tagFor(VisuallyHidden);
418
+ return html` <div
419
+ class="${(x) => classNames("base", [`size-${x.size}`, Boolean(x.size)], ["no-input", x.noInput], ["no-letters", x.noLetters])}"
420
+ >
421
+ ${when((x) => !x.noInput, renderTextField(textFieldTag, buttonTag))}
422
+ <div class="digits">${renderDigits(buttonTag, iconTag)}</div>
423
+ ${when((x) => !x.noCall, renderDialButton(buttonTag))}
424
+ ${renderErrorAnnouncement(visuallyHiddenTag)}
425
+ </div>`;
270
426
  };
271
427
  //#endregion
272
- //#region src/lib/dialog/definition.ts
273
- /**
274
- * @internal
275
- */
276
- var dialogDefinition = defineVividComponent("dialog", Dialog, DialogTemplate, [
277
- iconDefinition,
428
+ //#region src/lib/dial-pad/definition.ts
429
+ /** @internal */
430
+ var dialPadDefinition = defineVividComponent("dial-pad", DialPad, DialPadTemplate, [
278
431
  buttonDefinition,
279
- elevationDefinition
280
- ], { styles: dialog_default });
432
+ textFieldDefinition,
433
+ iconDefinition,
434
+ visuallyHiddenDefinition
435
+ ], { styles: dial_pad_default });
281
436
  /**
282
- * Registers the dialog elements with the design system.
437
+ * Registers the dial-pad element with the design system.
283
438
  *
284
439
  * @param prefix - the prefix to use for the component name
285
440
  */
286
- var registerDialog = createRegisterFunction(dialogDefinition);
441
+ var registerDialPad = createRegisterFunction(dialPadDefinition);
287
442
  //#endregion
288
- export { registerDialog as n, Dialog as r, dialogDefinition as t };
443
+ export { registerDialPad as n, DialPad as r, dialPadDefinition as t };