@vonage/vivid 5.1.0 → 5.3.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 (386) hide show
  1. package/accordion-item/definition.cjs +2 -1
  2. package/accordion-item/definition.js +2 -1
  3. package/alert/index.cjs +1 -1
  4. package/alert/index.js +1 -1
  5. package/audio-player/definition.cjs +41 -6
  6. package/audio-player/definition.js +41 -6
  7. package/audio-player/index.cjs +27 -25
  8. package/audio-player/index.js +88 -62
  9. package/badge/index.cjs +2 -2
  10. package/badge/index.js +4 -4
  11. package/banner/index.cjs +3 -3
  12. package/banner/index.js +6 -6
  13. package/breadcrumb-item/index.cjs +1 -1
  14. package/breadcrumb-item/index.js +1 -1
  15. package/bundled/affix.cjs +7 -7
  16. package/bundled/affix.js +5 -5
  17. package/bundled/anchored.cjs +1 -1
  18. package/bundled/anchored.js +6 -6
  19. package/bundled/attribute-binding-behaviour.cjs +1 -1
  20. package/bundled/attribute-binding-behaviour.js +15 -13
  21. package/bundled/base-color-picker.cjs +13 -0
  22. package/bundled/base-color-picker.js +194 -0
  23. package/bundled/button.cjs +1 -1
  24. package/bundled/button.js +2 -2
  25. package/bundled/calendar-picker.template.cjs +1 -1
  26. package/bundled/calendar-picker.template.js +21 -21
  27. package/bundled/char-count.cjs +1 -1
  28. package/bundled/char-count.js +1 -1
  29. package/bundled/children.cjs +1 -1
  30. package/bundled/children.js +28 -20
  31. package/bundled/definition.cjs +3 -3
  32. package/bundled/definition.js +38 -38
  33. package/bundled/definition10.cjs +72 -18
  34. package/bundled/definition10.js +351 -65
  35. package/bundled/definition11.cjs +19 -10
  36. package/bundled/definition11.js +66 -37
  37. package/bundled/definition12.cjs +10 -1
  38. package/bundled/definition12.js +38 -14
  39. package/bundled/definition13.cjs +1 -73
  40. package/bundled/definition13.js +15 -354
  41. package/bundled/definition15.cjs +1 -1
  42. package/bundled/definition15.js +1 -1
  43. package/bundled/definition16.cjs +2 -2
  44. package/bundled/definition16.js +8 -8
  45. package/bundled/definition17.cjs +7 -7
  46. package/bundled/definition17.js +17 -17
  47. package/bundled/definition19.cjs +17 -14
  48. package/bundled/definition19.js +85 -77
  49. package/bundled/definition2.cjs +9 -5
  50. package/bundled/definition2.js +21 -17
  51. package/bundled/definition22.cjs +9 -9
  52. package/bundled/definition22.js +31 -31
  53. package/bundled/definition3.cjs +1 -1
  54. package/bundled/definition3.js +1 -1
  55. package/bundled/definition6.cjs +6 -6
  56. package/bundled/definition6.js +34 -31
  57. package/bundled/definition7.cjs +1 -1
  58. package/bundled/definition7.js +6 -6
  59. package/bundled/definition8.cjs +2 -2
  60. package/bundled/definition8.js +4 -4
  61. package/bundled/definition9.cjs +1 -1
  62. package/bundled/definition9.js +1 -1
  63. package/bundled/delegates-aria.cjs +1 -1
  64. package/bundled/delegates-aria.js +59 -46
  65. package/bundled/form-associated.cjs +1 -1
  66. package/bundled/form-associated.js +3 -3
  67. package/bundled/host-semantics.cjs +1 -1
  68. package/bundled/host-semantics.js +48 -34
  69. package/bundled/localized.cjs +1 -1
  70. package/bundled/localized.js +43 -31
  71. package/bundled/mixins.cjs +18 -18
  72. package/bundled/mixins.js +99 -93
  73. package/bundled/normalize.cjs +1 -0
  74. package/bundled/normalize.js +7 -0
  75. package/bundled/picker-field.template.cjs +18 -13
  76. package/bundled/picker-field.template.js +45 -37
  77. package/bundled/ref.cjs +1 -1
  78. package/bundled/ref.js +8 -25
  79. package/bundled/repeat.cjs +1 -1
  80. package/bundled/repeat.js +459 -233
  81. package/bundled/slider.template.cjs +1 -1
  82. package/bundled/slider.template.js +2 -2
  83. package/bundled/slotted.cjs +1 -1
  84. package/bundled/slotted.js +62 -45
  85. package/bundled/text-field.cjs +1 -1
  86. package/bundled/text-field.js +1 -1
  87. package/bundled/time-selection-picker.template.cjs +1 -1
  88. package/bundled/time-selection-picker.template.js +5 -5
  89. package/bundled/vivid-element.cjs +1 -1
  90. package/bundled/vivid-element.js +2126 -1172
  91. package/bundled/when.cjs +1 -1
  92. package/bundled/when.js +8 -7
  93. package/bundled/with-contextual-help.cjs +1 -1
  94. package/bundled/with-contextual-help.js +17 -7
  95. package/calendar/definition.cjs +1 -1
  96. package/calendar/definition.js +2 -2
  97. package/calendar/index.cjs +1 -1
  98. package/calendar/index.js +6 -6
  99. package/calendar-event/index.cjs +1 -1
  100. package/calendar-event/index.js +1 -1
  101. package/card/definition.cjs +10 -2
  102. package/card/definition.js +10 -2
  103. package/card/index.cjs +19 -11
  104. package/card/index.js +35 -27
  105. package/color-picker/definition.cjs +1079 -0
  106. package/color-picker/definition.js +1073 -0
  107. package/color-picker/index.cjs +127 -0
  108. package/color-picker/index.js +726 -0
  109. package/combobox/definition.cjs +13 -6
  110. package/combobox/definition.js +14 -7
  111. package/combobox/index.cjs +15 -11
  112. package/combobox/index.js +82 -75
  113. package/contextual-help/index.cjs +1 -1
  114. package/contextual-help/index.js +1 -1
  115. package/custom-elements.json +1621 -325
  116. package/data-grid/definition.cjs +862 -27
  117. package/data-grid/definition.js +863 -28
  118. package/data-grid/index.cjs +25 -25
  119. package/data-grid/index.js +175 -168
  120. package/date-picker/index.cjs +1 -1
  121. package/date-picker/index.js +2 -2
  122. package/date-range-picker/index.cjs +1 -1
  123. package/date-range-picker/index.js +2 -2
  124. package/date-time-picker/index.cjs +1 -1
  125. package/date-time-picker/index.js +2 -2
  126. package/dial-pad/definition.cjs +55 -1
  127. package/dial-pad/definition.js +56 -2
  128. package/dial-pad/index.cjs +21 -18
  129. package/dial-pad/index.js +138 -104
  130. package/dialog/definition.cjs +4 -1
  131. package/dialog/definition.js +4 -1
  132. package/dialog/index.cjs +21 -18
  133. package/dialog/index.js +43 -40
  134. package/empty-state/definition.cjs +7 -2
  135. package/empty-state/definition.js +7 -2
  136. package/empty-state/index.cjs +10 -5
  137. package/empty-state/index.js +18 -13
  138. package/fab/index.cjs +2 -2
  139. package/fab/index.js +4 -4
  140. package/file-picker/definition.cjs +16 -7
  141. package/file-picker/definition.js +17 -8
  142. package/file-picker/index.cjs +12 -9
  143. package/file-picker/index.js +103 -93
  144. package/icon/definition.cjs +10 -6
  145. package/icon/definition.js +10 -6
  146. package/index.cjs +4 -0
  147. package/index.js +1 -0
  148. package/lib/accordion-item/accordion-item.d.ts +2 -2
  149. package/lib/action-group/action-group.d.ts +2 -2
  150. package/lib/alert/alert.d.ts +4 -4
  151. package/lib/audio-player/audio-player.d.ts +6 -2
  152. package/lib/avatar/avatar.d.ts +2 -2
  153. package/lib/badge/badge.d.ts +2 -2
  154. package/lib/banner/banner.d.ts +6 -6
  155. package/lib/breadcrumb/breadcrumb.d.ts +2 -2
  156. package/lib/breadcrumb-item/breadcrumb-item.d.ts +2 -2
  157. package/lib/button/button.d.ts +6 -6
  158. package/lib/button/button.template.d.ts +2 -1
  159. package/lib/calendar/calendar.d.ts +1 -1
  160. package/lib/calendar-event/calendar-event.d.ts +2 -2
  161. package/lib/card/card.d.ts +2 -2
  162. package/lib/checkbox/checkbox.d.ts +12 -12
  163. package/lib/color-picker/color-picker.d.ts +2420 -0
  164. package/lib/color-picker/color-picker.template.d.ts +3 -0
  165. package/lib/color-picker/definition.d.ts +4 -0
  166. package/lib/color-picker/locale.d.ts +9 -0
  167. package/lib/combobox/combobox.d.ts +495 -78
  168. package/lib/components.d.ts +1 -0
  169. package/lib/data-grid/data-grid-cell.d.ts +4 -4
  170. package/lib/data-grid/data-grid-row.d.ts +3 -4
  171. package/lib/data-grid/data-grid.d.ts +1 -2
  172. package/lib/date-picker/date-picker.d.ts +906 -894
  173. package/lib/date-range-picker/date-range-picker.d.ts +596 -590
  174. package/lib/date-time-picker/date-time-picker.d.ts +907 -895
  175. package/lib/dial-pad/dial-pad.d.ts +3 -2
  176. package/lib/dial-pad/dial-pad.template.d.ts +1 -1
  177. package/lib/dial-pad/locale.d.ts +1 -0
  178. package/lib/dialog/dialog.d.ts +4 -4
  179. package/lib/divider/divider.d.ts +2 -2
  180. package/lib/fab/fab.d.ts +2 -2
  181. package/lib/file-picker/file-picker.d.ts +495 -78
  182. package/lib/header/header.d.ts +2 -2
  183. package/lib/menu/menu.d.ts +5 -4
  184. package/lib/menu-item/menu-item.d.ts +4 -4
  185. package/lib/nav/nav.d.ts +2 -2
  186. package/lib/nav-disclosure/nav-disclosure.d.ts +4 -4
  187. package/lib/nav-item/nav-item.d.ts +4 -4
  188. package/lib/note/note.d.ts +2 -2
  189. package/lib/number-field/number-field.d.ts +19 -18
  190. package/lib/option/option.d.ts +4 -4
  191. package/lib/pagination/pagination.d.ts +2 -2
  192. package/lib/progress/progress.d.ts +2 -2
  193. package/lib/progress-ring/progress-ring.d.ts +2 -2
  194. package/lib/radio/radio.d.ts +6 -6
  195. package/lib/radio-group/radio-group.d.ts +2 -2
  196. package/lib/range-slider/range-slider.d.ts +6 -6
  197. package/lib/rich-text-editor/menubar/menubar.d.ts +2 -2
  198. package/lib/rich-text-editor/rich-text-editor.d.ts +2 -2
  199. package/lib/searchable-select/option-tag.d.ts +2 -2
  200. package/lib/searchable-select/searchable-select.d.ts +521 -104
  201. package/lib/select/select.d.ts +484 -67
  202. package/lib/selectable-box/selectable-box.d.ts +2 -2
  203. package/lib/simple-color-picker/locale.d.ts +0 -1
  204. package/lib/simple-color-picker/simple-color-picker.d.ts +47 -821
  205. package/lib/slider/slider.d.ts +6 -6
  206. package/lib/split-button/split-button.d.ts +6 -6
  207. package/lib/switch/switch.d.ts +4 -4
  208. package/lib/tab/tab.d.ts +6 -6
  209. package/lib/tab-panel/tab-panel.d.ts +2 -2
  210. package/lib/tag/tag.d.ts +6 -6
  211. package/lib/tag-group/tag-group.d.ts +2 -2
  212. package/lib/tag-name-map.d.ts +2 -1
  213. package/lib/text-area/text-area.d.ts +17 -16
  214. package/lib/text-field/text-field.d.ts +19 -18
  215. package/lib/time-picker/time-picker.d.ts +579 -573
  216. package/lib/toggletip/toggletip.d.ts +4 -4
  217. package/lib/tooltip/tooltip.d.ts +2 -2
  218. package/lib/tree-item/tree-item.d.ts +4 -4
  219. package/lib/tree-view/tree-view.d.ts +2 -2
  220. package/lib/video-player/video-player.d.ts +2 -2
  221. package/locales/de-DE.cjs +15 -3
  222. package/locales/de-DE.js +15 -3
  223. package/locales/en-GB.cjs +15 -3
  224. package/locales/en-GB.js +15 -3
  225. package/locales/en-US.cjs +15 -3
  226. package/locales/en-US.js +15 -3
  227. package/locales/ja-JP.cjs +15 -3
  228. package/locales/ja-JP.js +15 -3
  229. package/locales/zh-CN.cjs +15 -3
  230. package/locales/zh-CN.js +15 -3
  231. package/menu/definition.cjs +8 -4
  232. package/menu/definition.js +9 -5
  233. package/note/index.cjs +2 -2
  234. package/note/index.js +4 -4
  235. package/number-field/definition.cjs +3 -3
  236. package/number-field/definition.js +4 -4
  237. package/number-field/index.cjs +8 -8
  238. package/number-field/index.js +41 -40
  239. package/option/index.cjs +1 -1
  240. package/option/index.js +1 -1
  241. package/package.json +5 -5
  242. package/pagination/definition.cjs +2 -1
  243. package/pagination/definition.js +2 -1
  244. package/pagination/index.cjs +12 -12
  245. package/pagination/index.js +59 -59
  246. package/progress/index.cjs +1 -1
  247. package/progress/index.js +1 -1
  248. package/radio/definition.cjs +9 -9
  249. package/radio/definition.js +10 -10
  250. package/radio-group/definition.cjs +2 -1
  251. package/radio-group/definition.js +2 -1
  252. package/radio-group/index.cjs +5 -5
  253. package/radio-group/index.js +80 -77
  254. package/range-slider/index.cjs +1 -1
  255. package/range-slider/index.js +1 -1
  256. package/rich-text-editor/definition.cjs +1 -1
  257. package/rich-text-editor/definition.js +2 -2
  258. package/rich-text-editor/index.cjs +2 -2
  259. package/rich-text-editor/index.js +3 -3
  260. package/searchable-select/definition.cjs +30 -21
  261. package/searchable-select/definition.js +31 -22
  262. package/searchable-select/index.cjs +28 -25
  263. package/searchable-select/index.js +149 -140
  264. package/select/definition.cjs +15 -7
  265. package/select/definition.js +16 -8
  266. package/selectable-box/definition.cjs +1 -1
  267. package/selectable-box/definition.js +1 -1
  268. package/selectable-box/index.cjs +3 -3
  269. package/selectable-box/index.js +20 -20
  270. package/shared/aria/aria-change-subscription.d.ts +0 -1
  271. package/shared/aria/aria-mixin.d.ts +2 -2
  272. package/shared/aria/delegate-aria-behavior.d.ts +5 -10
  273. package/shared/aria/delegates-aria.d.ts +3 -3
  274. package/shared/aria/host-semantics-behavior.d.ts +5 -8
  275. package/shared/aria/host-semantics.d.ts +3 -3
  276. package/shared/color-picker/base-color-picker.d.ts +436 -0
  277. package/shared/color-picker/index.d.ts +1 -0
  278. package/shared/color-picker/locale.d.ts +3 -0
  279. package/shared/color-picker/utils.d.ts +1 -0
  280. package/shared/deprecation/replaced-props.d.ts +317 -2
  281. package/shared/design-system/defineVividComponent.d.ts +2 -2
  282. package/shared/feedback/feedback-message.d.ts +2 -2
  283. package/shared/feedback/mixins.d.ts +4 -4
  284. package/shared/foundation/button/button.d.ts +4 -4
  285. package/shared/foundation/form-associated/form-associated.d.ts +4 -4
  286. package/shared/foundation/vivid-element/vivid-element.d.ts +335 -8
  287. package/shared/localization/Locale.d.ts +4 -0
  288. package/shared/patterns/affix.d.ts +4 -4
  289. package/shared/patterns/anchored.d.ts +4 -4
  290. package/shared/patterns/char-count/char-count.d.ts +2 -2
  291. package/shared/patterns/form-elements/form-element.d.ts +4 -4
  292. package/shared/patterns/form-elements/index.d.ts +1 -0
  293. package/shared/patterns/form-elements/with-contextual-help.d.ts +7 -6
  294. package/shared/patterns/form-elements/with-error-text.d.ts +6 -6
  295. package/shared/patterns/form-elements/with-success-text.d.ts +2 -2
  296. package/shared/patterns/linkable.d.ts +2 -2
  297. package/shared/patterns/localized.d.ts +2 -2
  298. package/shared/patterns/trapped-focus.d.ts +2 -2
  299. package/shared/picker-field/mixins/calendar-picker.d.ts +454 -451
  300. package/shared/picker-field/mixins/calendar-picker.template.d.ts +454 -451
  301. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +2 -2
  302. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +600 -594
  303. package/shared/picker-field/mixins/single-date-picker.d.ts +746 -737
  304. package/shared/picker-field/mixins/single-value-picker.d.ts +451 -448
  305. package/shared/picker-field/mixins/time-selection-picker.d.ts +580 -574
  306. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +579 -573
  307. package/shared/picker-field/picker-field.d.ts +495 -78
  308. package/shared/templating/attribute-binding-behaviour.d.ts +3 -4
  309. package/shared/templating/render-in-light-dom.d.ts +13 -12
  310. package/side-drawer/index.cjs +1 -1
  311. package/side-drawer/index.js +1 -1
  312. package/simple-color-picker/definition.cjs +28 -215
  313. package/simple-color-picker/definition.js +29 -216
  314. package/simple-color-picker/index.cjs +9 -21
  315. package/simple-color-picker/index.js +71 -185
  316. package/styles/core/all.css +1 -1
  317. package/styles/core/theme.css +1 -1
  318. package/styles/core/typography.css +1 -1
  319. package/styles/tokens/theme-dark.css +4 -4
  320. package/styles/tokens/theme-light.css +4 -4
  321. package/styles/tokens/vivid-2-compat.css +1 -1
  322. package/switch/index.cjs +2 -2
  323. package/switch/index.js +4 -4
  324. package/tabs/definition.cjs +1 -1
  325. package/tabs/definition.js +2 -2
  326. package/tabs/index.cjs +2 -2
  327. package/tabs/index.js +16 -16
  328. package/tag/index.cjs +1 -1
  329. package/tag/index.js +1 -1
  330. package/text-area/definition.cjs +1 -1
  331. package/text-area/definition.js +1 -1
  332. package/text-area/index.cjs +3 -3
  333. package/text-area/index.js +9 -9
  334. package/text-field/definition.cjs +3 -3
  335. package/text-field/definition.js +4 -4
  336. package/text-field/index.cjs +1 -1
  337. package/text-field/index.js +1 -1
  338. package/time-picker/index.cjs +1 -1
  339. package/time-picker/index.js +2 -2
  340. package/toggletip/definition.cjs +1 -1
  341. package/toggletip/definition.js +2 -2
  342. package/tree-view/definition.cjs +1 -1
  343. package/tree-view/definition.js +2 -2
  344. package/tree-view/index.cjs +2 -2
  345. package/tree-view/index.js +6 -6
  346. package/unbundled/_commonjsHelpers.cjs +36 -0
  347. package/unbundled/_commonjsHelpers.js +32 -0
  348. package/unbundled/affix.cjs +1 -1
  349. package/unbundled/affix.js +1 -1
  350. package/unbundled/attribute-binding-behaviour.cjs +11 -10
  351. package/unbundled/attribute-binding-behaviour.js +11 -10
  352. package/unbundled/base-color-picker.cjs +278 -0
  353. package/unbundled/base-color-picker.js +275 -0
  354. package/unbundled/button.cjs +1 -1
  355. package/unbundled/button.js +2 -2
  356. package/unbundled/calendar-picker.template.cjs +3 -3
  357. package/unbundled/calendar-picker.template.js +4 -4
  358. package/unbundled/definition2.cjs +1 -1
  359. package/unbundled/definition2.js +2 -2
  360. package/unbundled/definition3.cjs +2 -1
  361. package/unbundled/definition3.js +2 -1
  362. package/unbundled/delegates-aria.cjs +67 -33
  363. package/unbundled/delegates-aria.js +69 -35
  364. package/unbundled/form-associated.cjs +2 -2
  365. package/unbundled/form-associated.js +3 -3
  366. package/unbundled/host-semantics.cjs +47 -22
  367. package/unbundled/host-semantics.js +48 -23
  368. package/unbundled/mixins.cjs +34 -27
  369. package/unbundled/mixins.js +35 -28
  370. package/unbundled/picker-field.template.cjs +13 -5
  371. package/unbundled/picker-field.template.js +14 -6
  372. package/unbundled/text-field.cjs +1 -1
  373. package/unbundled/text-field.js +1 -1
  374. package/unbundled/time-selection-picker.template.cjs +4 -4
  375. package/unbundled/time-selection-picker.template.js +5 -5
  376. package/unbundled/vivid-element.cjs +22 -15
  377. package/unbundled/vivid-element.js +23 -15
  378. package/unbundled/with-contextual-help.cjs +11 -0
  379. package/unbundled/with-contextual-help.js +11 -0
  380. package/video-player/definition.cjs +69007 -1
  381. package/video-player/definition.js +69007 -1
  382. package/video-player/index.cjs +35 -35
  383. package/video-player/index.js +1358 -1384
  384. package/visually-hidden/index.cjs +1 -1
  385. package/visually-hidden/index.js +1 -1
  386. package/vivid.api.json +347 -69
package/dial-pad/index.js CHANGED
@@ -1,24 +1,27 @@
1
- import { B as g, b as h } from "../bundled/definition3.js";
2
- import { T as m, t as $ } from "../bundled/definition13.js";
3
- import { V as _, a as r, h as s, c as x, d as L } from "../bundled/vivid-element.js";
4
- import { I as y, i as w } from "../bundled/definition2.js";
5
- import { L as F } from "../bundled/localized.js";
6
- import { c as k } from "../bundled/class-names.js";
1
+ import { B as h, b as m } from "../bundled/definition3.js";
2
+ import { T as g, t as _ } from "../bundled/definition10.js";
3
+ import { V as $, a as i, o as y, h as d, c as L, d as A } from "../bundled/vivid-element.js";
4
+ import { I as x, i as w } from "../bundled/definition2.js";
5
+ import { V as F, v as E } from "../bundled/definition13.js";
6
+ import { L as k } from "../bundled/localized.js";
7
7
  import { w as p } from "../bundled/when.js";
8
8
  import { r as D } from "../bundled/repeat.js";
9
- import { r as B } from "../bundled/ref.js";
10
- import { f as A } from "../bundled/key-codes.js";
11
- const C = ":host{display:inline-block;margin:16px;inline-size:230px}.base{display:grid;box-sizing:border-box;grid-template-rows:80px 1fr auto}.base.no-input{grid-template-rows:1fr auto}.digits{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);inline-size:100%}.phone-field{align-self:flex-start;grid-column:1/-1}.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{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--vvd-color-neutral-100)}.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))}.digit-btn{--vvd-button-accent-firm: var(--_appearance-color-text);display:flex;overflow:hidden;flex-direction:column;border-radius:16px;box-shadow:0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.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(--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{margin-top:32px;grid-column:1/-1}";
12
- var E = Object.defineProperty, c = (a, t, e, l) => {
13
- for (var i = void 0, d = a.length - 1, u; d >= 0; d--)
14
- (u = a[d]) && (i = u(t, e, i) || i);
15
- return i && E(t, e, i), i;
9
+ import { r as T } from "../bundled/ref.js";
10
+ import { c as B } from "../bundled/class-names.js";
11
+ import { f as C } from "../bundled/key-codes.js";
12
+ const I = ":host{display:inline-block;margin:16px;inline-size:230px}.base{display:grid;box-sizing:border-box;grid-template-rows:80px 1fr auto}.base.no-input{grid-template-rows:1fr auto}.digits{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);inline-size:100%}.phone-field{align-self:flex-start;grid-column:1/-1}.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{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--vvd-color-neutral-100)}.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))}.digit-btn{--vvd-button-accent-firm: var(--_appearance-color-text);display:flex;overflow:hidden;flex-direction:column;border-radius:16px;box-shadow:0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.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(--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{margin-top:32px;grid-column:1/-1}";
13
+ var V = Object.defineProperty, n = (a, t, e, o) => {
14
+ for (var c = void 0, s = a.length - 1, u; s >= 0; s--)
15
+ (u = a[s]) && (c = u(t, e, c) || c);
16
+ return c && V(t, e, c), c;
16
17
  };
17
- class o extends F(_) {
18
+ class l extends k($) {
18
19
  constructor() {
19
- super(...arguments), this.helperText = null, this.placeholder = null, this.value = "", this.pattern = "^[0-9#*]*$", this.disabled = !1, this.pending = !1, this.callActive = !1, this.noCall = !1, this.noInput = !1, this.endCallButtonLabel = null, this.callButtonLabel = null, this._onDial = () => {
20
- this.callActive ? this.$emit("end-call") : this.$emit("dial");
21
- }, this.autofocus = !1;
20
+ super(...arguments), this.helperText = null, this.placeholder = null, this.value = "", this.pattern = "^[0-9#*]*$", this.disabled = !1, this.pending = !1, this.callActive = !1, this.noCall = !1, this.noInput = !1, this.endCallButtonLabel = null, this.callButtonLabel = null, this.deleteAriaLabel = null, this._onDial = () => {
21
+ !this._textFieldEl.checkValidity() ? this._announceValidationError(
22
+ this._textFieldEl.errorValidationMessage ?? ""
23
+ ) : this._clearErrorAnnouncement(), this.callActive ? this.$emit("end-call") : this.$emit("dial");
24
+ }, this.autofocus = !1, this._errorAnnouncement = "", this._forceAnnouncementToggle = !1;
22
25
  }
23
26
  valueChanged(t, e) {
24
27
  e != null && this._textFieldEl && e !== this._textFieldEl.value && (this._textFieldEl.value = e, this._textFieldEl.reportValidity());
@@ -32,83 +35,103 @@ class o extends F(_) {
32
35
  const t = this.shadowRoot?.querySelectorAll(".digits .digit-btn");
33
36
  (this._textFieldEl || t?.[0])?.focus();
34
37
  }
38
+ /**
39
+ * @internal
40
+ */
41
+ _announceValidationError(t) {
42
+ this._errorAnnouncement = "", window.queueMicrotask(() => {
43
+ t ? (this._forceAnnouncementToggle = !this._forceAnnouncementToggle, this._errorAnnouncement = `${t}${this._forceAnnouncementToggle ? "​" : ""}`) : this._clearErrorAnnouncement();
44
+ });
45
+ }
46
+ /**
47
+ * @internal
48
+ */
49
+ _clearErrorAnnouncement() {
50
+ this._errorAnnouncement = "", this._forceAnnouncementToggle = !1;
51
+ }
35
52
  }
36
- c([
37
- r({ attribute: "helper-text" })
38
- ], o.prototype, "helperText");
39
- c([
40
- r
41
- ], o.prototype, "placeholder");
42
- c([
43
- r({ mode: "fromView" })
44
- ], o.prototype, "value");
45
- c([
46
- r({ mode: "fromView" })
47
- ], o.prototype, "pattern");
48
- c([
49
- r({ mode: "boolean" })
50
- ], o.prototype, "disabled");
51
- c([
52
- r({ mode: "boolean" })
53
- ], o.prototype, "pending");
54
- c([
55
- r({ attribute: "call-active", mode: "boolean" })
56
- ], o.prototype, "callActive");
57
- c([
58
- r({ mode: "boolean", attribute: "no-call" })
59
- ], o.prototype, "noCall");
60
- c([
61
- r({ mode: "boolean", attribute: "no-input" })
62
- ], o.prototype, "noInput");
63
- c([
64
- r({ attribute: "end-call-button-label" })
65
- ], o.prototype, "endCallButtonLabel");
66
- c([
67
- r({ attribute: "call-button-label" })
68
- ], o.prototype, "callButtonLabel");
69
- c([
70
- r({ mode: "boolean" })
71
- ], o.prototype, "autofocus");
72
- class n {
73
- constructor(t, e, l, i, d) {
74
- this.value = t, this.label = e, this.ariaLabel = l, this.icon = i, this.id = d;
53
+ n([
54
+ i({ attribute: "helper-text" })
55
+ ], l.prototype, "helperText");
56
+ n([
57
+ i
58
+ ], l.prototype, "placeholder");
59
+ n([
60
+ i({ mode: "fromView" })
61
+ ], l.prototype, "value");
62
+ n([
63
+ i({ mode: "fromView" })
64
+ ], l.prototype, "pattern");
65
+ n([
66
+ i({ mode: "boolean" })
67
+ ], l.prototype, "disabled");
68
+ n([
69
+ i({ mode: "boolean" })
70
+ ], l.prototype, "pending");
71
+ n([
72
+ i({ attribute: "call-active", mode: "boolean" })
73
+ ], l.prototype, "callActive");
74
+ n([
75
+ i({ mode: "boolean", attribute: "no-call" })
76
+ ], l.prototype, "noCall");
77
+ n([
78
+ i({ mode: "boolean", attribute: "no-input" })
79
+ ], l.prototype, "noInput");
80
+ n([
81
+ i({ attribute: "end-call-button-label" })
82
+ ], l.prototype, "endCallButtonLabel");
83
+ n([
84
+ i({ attribute: "call-button-label" })
85
+ ], l.prototype, "callButtonLabel");
86
+ n([
87
+ i({ attribute: "delete-aria-label" })
88
+ ], l.prototype, "deleteAriaLabel");
89
+ n([
90
+ i({ mode: "boolean" })
91
+ ], l.prototype, "autofocus");
92
+ n([
93
+ y
94
+ ], l.prototype, "_errorAnnouncement");
95
+ class r {
96
+ constructor(t, e, o, c, s) {
97
+ this.value = t, this.label = e, this.ariaLabel = o, this.icon = c, this.id = s;
75
98
  }
76
99
  }
77
100
  const f = [
78
- new n("1", " ", "digitOneLabel", "one-solid", "btn1"),
79
- new n("2", "ABC", "digitTwoLabel", "two-solid", "btn2"),
80
- new n("3", "DEF", "digitThreeLabel", "three-solid", "btn3"),
81
- new n("4", "GHI", "digitFourLabel", "four-solid", "btn4"),
82
- new n("5", "JKL", "digitFiveLabel", "five-solid", "btn5"),
83
- new n("6", "MNO", "digitSixLabel", "six-solid", "btn6"),
84
- new n("7", "PQRS", "digitSevenLabel", "seven-solid", "btn7"),
85
- new n("8", "TUV", "digitEightLabel", "eight-solid", "btn8"),
86
- new n("9", "WXYZ", "digitNineLabel", "nine-solid", "btn9"),
87
- new n(
101
+ new r("1", " ", "digitOneLabel", "one-solid", "btn1"),
102
+ new r("2", "ABC", "digitTwoLabel", "two-solid", "btn2"),
103
+ new r("3", "DEF", "digitThreeLabel", "three-solid", "btn3"),
104
+ new r("4", "GHI", "digitFourLabel", "four-solid", "btn4"),
105
+ new r("5", "JKL", "digitFiveLabel", "five-solid", "btn5"),
106
+ new r("6", "MNO", "digitSixLabel", "six-solid", "btn6"),
107
+ new r("7", "PQRS", "digitSevenLabel", "seven-solid", "btn7"),
108
+ new r("8", "TUV", "digitEightLabel", "eight-solid", "btn8"),
109
+ new r("9", "WXYZ", "digitNineLabel", "nine-solid", "btn9"),
110
+ new r(
88
111
  "*",
89
112
  null,
90
113
  "digitAsteriskLabel",
91
114
  "asterisk-2-solid",
92
115
  "btnAsterisk"
93
116
  ),
94
- new n("0", "+", "digitZeroLabel", "zero-solid", "btn0"),
95
- new n(
117
+ new r("0", "+", "digitZeroLabel", "zero-solid", "btn0"),
118
+ new r(
96
119
  "#",
97
120
  null,
98
121
  "digitHashtagLabel",
99
122
  "hashtag-solid",
100
123
  "btnHashtag"
101
124
  )
102
- ], T = ({ noInput: a }) => k("base", ["no-input", !!a]);
103
- function I(a, t) {
104
- if (t.key === A && !a.pending && !a.disabled && !a.callActive && !a.noCall && a.value.length > 0 && t.target instanceof HTMLInputElement)
125
+ ], P = ({ noInput: a }) => B("base", ["no-input", !!a]);
126
+ function z(a, t) {
127
+ if (t.key === C && !a.pending && !a.disabled && !a.callActive && !a.noCall && a.value.length > 0 && t.target instanceof HTMLInputElement)
105
128
  a._onDial();
106
129
  else {
107
- const e = f.findIndex((l) => l.value === t.key);
130
+ const e = f.findIndex((o) => o.value === t.key);
108
131
  if (e > -1) {
109
- const l = a.shadowRoot.querySelector(".digits").children[e];
110
- l && (l.active = !0, setTimeout(() => {
111
- l.active = !1;
132
+ const o = a.shadowRoot.querySelector(".digits").children[e];
133
+ o && (o.active = !0, setTimeout(() => {
134
+ o.active = !1;
112
135
  }, 200));
113
136
  }
114
137
  }
@@ -120,17 +143,17 @@ function v(a) {
120
143
  function b(a, { event: t }) {
121
144
  t.stopImmediatePropagation();
122
145
  }
123
- function z(a) {
146
+ function H(a) {
124
147
  a.value = a.value.slice(0, -1), a.$emit("input"), a.$emit("change"), a.value === "" && a._textFieldEl?.focus();
125
148
  }
126
- function P(a, t) {
127
- return s`<${a} ${B(
149
+ function S(a, t) {
150
+ return d`<${a} ${T(
128
151
  "_textFieldEl"
129
152
  )} class="phone-field" internal-part type="tel"
130
153
  value="${(e) => e.value}" placeholder="${(e) => e.placeholder}"
131
154
  ?disabled="${(e) => e.disabled}" helper-text="${(e) => e.helperText}" pattern="${(e) => e.pattern}"
132
155
  aria-label="${(e) => e.locale.dialPad.inputLabel}"
133
- @keydown="${(e, l) => I(e, l.event)}"
156
+ @keydown="${(e, o) => z(e, o.event)}"
134
157
  @input="${v}"
135
158
  @change="${v}"
136
159
  @focus="${b}"
@@ -139,26 +162,26 @@ function P(a, t) {
139
162
  >
140
163
  ${p(
141
164
  (e) => e.value && e.value.length && e.value.length > 0,
142
- s`<${t}
165
+ d`<${t}
143
166
  slot="action-items"
144
167
  size='super-condensed'
145
168
  icon="backspace-line"
146
169
  aria-label="${(e) => e.deleteAriaLabel || e.locale.dialPad.deleteButtonLabel}"
147
170
  appearance='ghost'
148
171
  ?disabled="${(e) => e.disabled || e.callActive}"
149
- @click="${(e) => z(e)}">
172
+ @click="${(e) => H(e)}">
150
173
  </${t}>`
151
174
  )}
152
175
  </${a}>`;
153
176
  }
154
- function S(a, { parent: t, event: e }) {
177
+ function M(a, { parent: t, event: e }) {
155
178
  t.value += a.value, t.$emit("keypad-click", e.currentTarget), t.$emit("input"), t.$emit("change");
156
179
  }
157
- function V(a, t) {
158
- return s`
180
+ function N(a, t) {
181
+ return d`
159
182
  ${D(
160
183
  (e) => f,
161
- s`
184
+ d`
162
185
  <${a}
163
186
  id="${(e) => e.id}"
164
187
  value="${(e) => e.value}"
@@ -168,10 +191,10 @@ function V(a, t) {
168
191
  label="${(e) => e.label === "&nbsp;" ? " " : e.label}"
169
192
  size='condensed'
170
193
  class="digit-btn"
171
- ?autofocus="${(e, l) => l.parent.autofocus && l.parent.noInput && l.index === 0}"
172
- aria-label="${(e, l) => l.parent.locale.dialPad[e.ariaLabel]}"
173
- ?disabled="${(e, l) => l.parent.disabled}"
174
- @click="${S}">
194
+ ?autofocus="${(e, o) => o.parent.autofocus && o.parent.noInput && o.index === 0}"
195
+ aria-label="${(e, o) => o.parent.locale.dialPad[e.ariaLabel]}"
196
+ ?disabled="${(e, o) => o.parent.disabled}"
197
+ @click="${M}">
175
198
  <${t} slot="icon"
176
199
  name="${(e) => e.icon}"
177
200
  class="digit-btn-num"></${t}>
@@ -183,8 +206,8 @@ function V(a, t) {
183
206
  )}
184
207
  `;
185
208
  }
186
- function H(a) {
187
- return s`<${a} class="call-btn"
209
+ function O(a) {
210
+ return d`<${a} class="call-btn"
188
211
  size="expanded"
189
212
  appearance="filled"
190
213
  icon="${(t) => t.callActive ? "disable-call-line" : "call-line"}"
@@ -195,20 +218,31 @@ function H(a) {
195
218
  label="${(t) => t.callActive ? t.endCallButtonLabel || t.locale.dialPad.endCallButtonLabel : t.callButtonLabel || t.locale.dialPad.callButtonLabel}">
196
219
  </${a}>`;
197
220
  }
198
- const N = (a) => {
199
- const t = a.tagFor(g), e = a.tagFor(y), l = a.tagFor(m);
200
- return s` <div class="${T}">
201
- ${p((i) => !i.noInput, P(l, t))}
202
- <div class="digits">${V(t, e)}</div>
203
- ${p((i) => !i.noCall, H(t))}
221
+ function R(a) {
222
+ return d`<${a} role="alert" aria-atomic="true">
223
+ ${(t) => `${t.locale.dialPad.errorLabel} ${t._errorAnnouncement}`}
224
+ </${a}>`;
225
+ }
226
+ const q = (a) => {
227
+ const t = a.tagFor(h), e = a.tagFor(x), o = a.tagFor(g), c = a.tagFor(F);
228
+ return d` <div class="${P}">
229
+ ${p((s) => !s.noInput, S(o, t))}
230
+ <div class="digits">${N(t, e)}</div>
231
+ ${p((s) => !s.noCall, O(t))}
232
+ ${R(c)}
204
233
  </div>`;
205
- }, O = L(
234
+ }, K = A(
206
235
  "dial-pad",
207
- o,
208
- N,
209
- [h, $, w],
236
+ l,
237
+ q,
238
+ [
239
+ m,
240
+ _,
241
+ w,
242
+ E
243
+ ],
210
244
  {
211
- styles: C
245
+ styles: I
212
246
  }
213
- ), R = x(O);
214
- R();
247
+ ), U = L(K);
248
+ U();
@@ -269,7 +269,9 @@ function icon(iconTag) {
269
269
  `;
270
270
  }
271
271
  function headline() {
272
- return fastElement.html` <h2 class="headline">${(x) => x.headline}</h2> `;
272
+ return fastElement.html`
273
+ <h2 class="headline" id="dialog-headline">${(x) => x.headline}</h2>
274
+ `;
273
275
  }
274
276
  function subtitle() {
275
277
  return fastElement.html` <h3 class="subtitle">${(x) => x.subtitle}</h3> `;
@@ -301,6 +303,7 @@ const DialogTemplate = (context) => {
301
303
  ${delegatesAria.delegateAria({
302
304
  ariaModal: (x) => String(x._openedAsModal)
303
305
  })}
306
+ aria-labelledby="${(x) => x.headline ? "dialog-headline" : null}"
304
307
  >
305
308
  <slot name="main">
306
309
  <div class="main-wrapper">
@@ -265,7 +265,9 @@ function icon(iconTag) {
265
265
  `;
266
266
  }
267
267
  function headline() {
268
- return html` <h2 class="headline">${(x) => x.headline}</h2> `;
268
+ return html`
269
+ <h2 class="headline" id="dialog-headline">${(x) => x.headline}</h2>
270
+ `;
269
271
  }
270
272
  function subtitle() {
271
273
  return html` <h3 class="subtitle">${(x) => x.subtitle}</h3> `;
@@ -297,6 +299,7 @@ const DialogTemplate = (context) => {
297
299
  ${delegateAria({
298
300
  ariaModal: (x) => String(x._openedAsModal)
299
301
  })}
302
+ aria-labelledby="${(x) => x.headline ? "dialog-headline" : null}"
300
303
  >
301
304
  <slot name="main">
302
305
  <div class="main-wrapper">
package/dialog/index.cjs CHANGED
@@ -1,33 +1,36 @@
1
- "use strict";const h=require("../bundled/definition2.cjs"),p=require("../bundled/definition3.cjs"),u=require("../bundled/definition4.cjs"),t=require("../bundled/vivid-element.cjs"),v=require("../bundled/index.cjs"),m=require("../bundled/delegates-aria.cjs"),y=require("../bundled/localized.cjs"),x=require("../bundled/class-names.cjs"),d=require("../bundled/when.cjs"),c=require("../bundled/slotted.cjs"),w='.base{white-space:initial;box-sizing:border-box;padding:0;border:none;border-radius:8px;background-color:transparent;color:var(--vvd-color-canvas-text);max-inline-size:var(--dialog-max-inline-size, var(--_dialog-default-max-inline-size));min-inline-size:var(--dialog-min-inline-size, 280px)}@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(--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{display:flex;box-sizing:border-box;flex-direction:column;gap:24px;padding-block:24px}.main-wrapper>*{box-sizing:border-box}.header{display:grid;align-items:flex-start;justify-content:space-between;inline-size:100%;padding-inline:24px}.base:not(.icon-placement-side) .header{grid-template-columns:1fr auto;grid-template-rows:auto auto auto}.base:not(.icon-placement-side) .header .icon{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));grid-column:1/2;grid-row:1/2;line-height:1;margin-block-end:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header{grid-template-columns:auto 1fr auto;grid-template-rows:auto auto}.base.icon-placement-side .header .icon{font-size:calc(1px*(28 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header ::slotted(*),.base.icon-placement-side .header .icon{grid-column:1/2;grid-row:1/-1;margin-inline-end:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}.header.border{position:relative}.header.border:after{position:absolute;bottom:-24px;left:0;background-color:var(--vvd-color-neutral-200);block-size:1px;content:"";inline-size:100%}.base.hide-body .header.border:after{content:none}.body:not(.full-width){padding-inline:24px}.hide-body .body{display:none}.scrollable-body .body{overflow:hidden auto;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%)}.scrollable-body .body{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.scrollable-body .body ::-webkit-scrollbar{width:4px}.scrollable-body .body ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.scrollable-body .body ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:24px}.hide-footer .footer{display:none}.footer .actions{display:flex;align-self:flex-end;gap:8px}.dismiss-button{flex-shrink:0;grid-column:-2/-1;grid-row:1/-1;margin-block-start:-8px;margin-inline:4px -8px}.headline{margin:0;font:var(--vvd-typography-heading-4)}.subtitle{margin:0;font:var(--vvd-typography-base)}slot[name=main]{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}slot[name=main]{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{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}slot[name=main]{display:block;overflow:hidden auto;max-width:inherit;max-height:inherit;border-radius:inherit}';var k=Object.defineProperty,l=(i,e,s,r)=>{for(var o=void 0,n=i.length-1,b;n>=0;n--)(b=i[n])&&(o=b(e,s,o)||o);return o&&k(e,s,o),o};class a extends y.Localized(m.DelegatesAria(t.VividElement)){constructor(){super(...arguments),this.open=!1,this.fullWidthBody=!1,this.dismissButtonAriaLabel=null,this.noLightDismiss=!1,this.noDismissOnEsc=!1,this.noDismissButton=!1,this.nonDismissible=!1,this.modal=!1,this.scrollableBody=!1,this._openedAsModal=!1,this.#i=e=>{if(e.target!==this.#e||!this.#t("light-dismiss"))return;const s=this.#e.getBoundingClientRect();s.top<=e.clientY&&e.clientY<=s.top+s.height&&s.left<=e.clientX&&e.clientX<=s.left+s.width||this._handleCloseRequest()},this.#a=e=>{e.target.method==="dialog"&&(this.open=!1)}}modalChanged(e,s){this.open&&(this._openedAsModal=s,this.$fastController.isConnected&&(this.#s(),this.#l()))}set returnValue(e){this.#e&&(this.#e.returnValue=e)}get returnValue(){return this.#e?.returnValue}#o;get#e(){return this.#o||(this.#o=this.shadowRoot.querySelector("dialog")),this.#o}openChanged(e,s){e!==void 0&&(s?(this._openedAsModal=this._openedAsModal||this.modal,this.$fastController.isConnected&&this.#l(),this.$emit("open",void 0,{bubbles:!1})):(this._openedAsModal=!1,this.$fastController.isConnected&&this.#s(),this.$emit("close",this.returnValue,{bubbles:!1})))}get _showDismissButton(){return this.#t("dismiss-button")}#t(e){if(this.nonDismissible)return!1;switch(e){case"escape":return!this.noDismissOnEsc;case"dismiss-button":return!this.noDismissButton;case"light-dismiss":return!this.noLightDismiss}}#i;#a;_onKeyDown(e){return v.handleEscapeKeyAndStopPropogation(e)&&this._openedAsModal?(this.#t("escape")&&this._handleCloseRequest(),!1):!0}_handleCloseRequest(){this.$emit("cancel",void 0,{bubbles:!1,cancelable:!0})&&(this.open=!1)}close(){this.open=!1}show(){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");this.open=!0}showModal(){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");this._openedAsModal=!0,this.open=!0}#s(){this.#e.close()}#l(){this._openedAsModal?this.#e.showModal():this.#e.show()}connectedCallback(){super.connectedCallback(),this.open&&this.#l(),this.#e.addEventListener("mousedown",this.#i),this.#e.addEventListener("submit",this.#a)}disconnectedCallback(){super.disconnectedCallback(),this.open&&this.#s(),this.#e.removeEventListener("mousedown",this.#i),this.#e.removeEventListener("submit",this.#a)}}l([t.attr({mode:"boolean"})],a.prototype,"open");l([t.attr],a.prototype,"icon");l([t.attr({attribute:"icon-placement"})],a.prototype,"iconPlacement");l([t.attr],a.prototype,"subtitle");l([t.attr],a.prototype,"headline");l([t.attr({attribute:"full-width-body",mode:"boolean"})],a.prototype,"fullWidthBody");l([t.attr({attribute:"dismiss-button-aria-label"})],a.prototype,"dismissButtonAriaLabel");l([t.attr({attribute:"no-light-dismiss",mode:"boolean"})],a.prototype,"noLightDismiss");l([t.attr({attribute:"no-dismiss-on-esc",mode:"boolean"})],a.prototype,"noDismissOnEsc");l([t.attr({attribute:"no-dismiss-button",mode:"boolean"})],a.prototype,"noDismissButton");l([t.attr({attribute:"non-dismissible",mode:"boolean"})],a.prototype,"nonDismissible");l([t.attr({mode:"boolean"})],a.prototype,"modal");l([t.attr({mode:"boolean",attribute:"scrollable-body"})],a.prototype,"scrollableBody");l([t.observable],a.prototype,"_openedAsModal");l([t.observable],a.prototype,"bodySlottedContent");l([t.observable],a.prototype,"footerSlottedContent");l([t.observable],a.prototype,"actionItemsSlottedContent");const $=({iconPlacement:i,bodySlottedContent:e,footerSlottedContent:s,actionItemsSlottedContent:r,_openedAsModal:o,scrollableBody:n})=>x.classNames("base",[`icon-placement-${i}`,!!i],["hide-body",!e?.length],["hide-footer",!(s?.length||r?.length)],["modal",o],["scrollable-body",!!n]);function D(i){return t.html`
2
- <${i} class="icon" name="${e=>e.icon}"></${i}>
3
- `}function g(){return t.html` <h2 class="headline">${i=>i.headline}</h2> `}function f(){return t.html` <h3 class="subtitle">${i=>i.subtitle}</h3> `}function C(){return t.html`
1
+ "use strict";const h=require("../bundled/definition2.cjs"),p=require("../bundled/definition3.cjs"),u=require("../bundled/definition4.cjs"),t=require("../bundled/vivid-element.cjs"),v=require("../bundled/index.cjs"),m=require("../bundled/delegates-aria.cjs"),y=require("../bundled/localized.cjs"),d=require("../bundled/when.cjs"),c=require("../bundled/slotted.cjs"),x=require("../bundled/class-names.cjs"),w='.base{white-space:initial;box-sizing:border-box;padding:0;border:none;border-radius:8px;background-color:transparent;color:var(--vvd-color-canvas-text);max-inline-size:var(--dialog-max-inline-size, var(--_dialog-default-max-inline-size));min-inline-size:var(--dialog-min-inline-size, 280px)}@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(--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{display:flex;box-sizing:border-box;flex-direction:column;gap:24px;padding-block:24px}.main-wrapper>*{box-sizing:border-box}.header{display:grid;align-items:flex-start;justify-content:space-between;inline-size:100%;padding-inline:24px}.base:not(.icon-placement-side) .header{grid-template-columns:1fr auto;grid-template-rows:auto auto auto}.base:not(.icon-placement-side) .header .icon{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));grid-column:1/2;grid-row:1/2;line-height:1;margin-block-end:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header{grid-template-columns:auto 1fr auto;grid-template-rows:auto auto}.base.icon-placement-side .header .icon{font-size:calc(1px*(28 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header ::slotted(*),.base.icon-placement-side .header .icon{grid-column:1/2;grid-row:1/-1;margin-inline-end:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}.header.border{position:relative}.header.border:after{position:absolute;bottom:-24px;left:0;background-color:var(--vvd-color-neutral-200);block-size:1px;content:"";inline-size:100%}.base.hide-body .header.border:after{content:none}.body:not(.full-width){padding-inline:24px}.hide-body .body{display:none}.scrollable-body .body{overflow:hidden auto;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%)}.scrollable-body .body{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.scrollable-body .body ::-webkit-scrollbar{width:4px}.scrollable-body .body ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.scrollable-body .body ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:24px}.hide-footer .footer{display:none}.footer .actions{display:flex;align-self:flex-end;gap:8px}.dismiss-button{flex-shrink:0;grid-column:-2/-1;grid-row:1/-1;margin-block-start:-8px;margin-inline:4px -8px}.headline{margin:0;font:var(--vvd-typography-heading-4)}.subtitle{margin:0;font:var(--vvd-typography-base)}slot[name=main]{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}slot[name=main]{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{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}slot[name=main]{display:block;overflow:hidden auto;max-width:inherit;max-height:inherit;border-radius:inherit}';var k=Object.defineProperty,l=(i,o,s,r)=>{for(var e=void 0,n=i.length-1,b;n>=0;n--)(b=i[n])&&(e=b(o,s,e)||e);return e&&k(o,s,e),e};class a extends y.Localized(m.DelegatesAria(t.VividElement)){constructor(){super(...arguments),this.open=!1,this.fullWidthBody=!1,this.dismissButtonAriaLabel=null,this.noLightDismiss=!1,this.noDismissOnEsc=!1,this.noDismissButton=!1,this.nonDismissible=!1,this.modal=!1,this.scrollableBody=!1,this._openedAsModal=!1,this.#i=o=>{if(o.target!==this.#e||!this.#t("light-dismiss"))return;const s=this.#e.getBoundingClientRect();s.top<=o.clientY&&o.clientY<=s.top+s.height&&s.left<=o.clientX&&o.clientX<=s.left+s.width||this._handleCloseRequest()},this.#a=o=>{o.target.method==="dialog"&&(this.open=!1)}}modalChanged(o,s){this.open&&(this._openedAsModal=s,this.$fastController.isConnected&&(this.#s(),this.#l()))}set returnValue(o){this.#e&&(this.#e.returnValue=o)}get returnValue(){return this.#e?.returnValue}#o;get#e(){return this.#o||(this.#o=this.shadowRoot.querySelector("dialog")),this.#o}openChanged(o,s){o!==void 0&&(s?(this._openedAsModal=this._openedAsModal||this.modal,this.$fastController.isConnected&&this.#l(),this.$emit("open",void 0,{bubbles:!1})):(this._openedAsModal=!1,this.$fastController.isConnected&&this.#s(),this.$emit("close",this.returnValue,{bubbles:!1})))}get _showDismissButton(){return this.#t("dismiss-button")}#t(o){if(this.nonDismissible)return!1;switch(o){case"escape":return!this.noDismissOnEsc;case"dismiss-button":return!this.noDismissButton;case"light-dismiss":return!this.noLightDismiss}}#i;#a;_onKeyDown(o){return v.handleEscapeKeyAndStopPropogation(o)&&this._openedAsModal?(this.#t("escape")&&this._handleCloseRequest(),!1):!0}_handleCloseRequest(){this.$emit("cancel",void 0,{bubbles:!1,cancelable:!0})&&(this.open=!1)}close(){this.open=!1}show(){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");this.open=!0}showModal(){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");this._openedAsModal=!0,this.open=!0}#s(){this.#e.close()}#l(){this._openedAsModal?this.#e.showModal():this.#e.show()}connectedCallback(){super.connectedCallback(),this.open&&this.#l(),this.#e.addEventListener("mousedown",this.#i),this.#e.addEventListener("submit",this.#a)}disconnectedCallback(){super.disconnectedCallback(),this.open&&this.#s(),this.#e.removeEventListener("mousedown",this.#i),this.#e.removeEventListener("submit",this.#a)}}l([t.attr({mode:"boolean"})],a.prototype,"open");l([t.attr],a.prototype,"icon");l([t.attr({attribute:"icon-placement"})],a.prototype,"iconPlacement");l([t.attr],a.prototype,"subtitle");l([t.attr],a.prototype,"headline");l([t.attr({attribute:"full-width-body",mode:"boolean"})],a.prototype,"fullWidthBody");l([t.attr({attribute:"dismiss-button-aria-label"})],a.prototype,"dismissButtonAriaLabel");l([t.attr({attribute:"no-light-dismiss",mode:"boolean"})],a.prototype,"noLightDismiss");l([t.attr({attribute:"no-dismiss-on-esc",mode:"boolean"})],a.prototype,"noDismissOnEsc");l([t.attr({attribute:"no-dismiss-button",mode:"boolean"})],a.prototype,"noDismissButton");l([t.attr({attribute:"non-dismissible",mode:"boolean"})],a.prototype,"nonDismissible");l([t.attr({mode:"boolean"})],a.prototype,"modal");l([t.attr({mode:"boolean",attribute:"scrollable-body"})],a.prototype,"scrollableBody");l([t.observable],a.prototype,"_openedAsModal");l([t.observable],a.prototype,"bodySlottedContent");l([t.observable],a.prototype,"footerSlottedContent");l([t.observable],a.prototype,"actionItemsSlottedContent");const $=({iconPlacement:i,bodySlottedContent:o,footerSlottedContent:s,actionItemsSlottedContent:r,_openedAsModal:e,scrollableBody:n})=>x.classNames("base",[`icon-placement-${i}`,!!i],["hide-body",!o?.length],["hide-footer",!(s?.length||r?.length)],["modal",e],["scrollable-body",!!n]);function D(i){return t.html`
2
+ <${i} class="icon" name="${o=>o.icon}"></${i}>
3
+ `}function g(){return t.html`
4
+ <h2 class="headline" id="dialog-headline">${i=>i.headline}</h2>
5
+ `}function f(){return t.html` <h3 class="subtitle">${i=>i.subtitle}</h3> `}function C(){return t.html`
4
6
  <div class="header-text">${g()} ${f()}</div>
5
7
  `}function _(i){return t.html`
6
8
  <${i}
7
- aria-label="${e=>e.dismissButtonAriaLabel||e.locale.dialog.dismissButtonLabel}"
9
+ aria-label="${o=>o.dismissButtonAriaLabel||o.locale.dialog.dismissButtonLabel}"
8
10
  size="condensed"
9
11
  class="dismiss-button"
10
12
  icon="close-line"
11
- @click="${e=>e._handleCloseRequest()}"
12
- ></${i}>`}const z=i=>{const e=i.tagFor(u.Elevation),s=i.tagFor(h.Icon),r=i.tagFor(p.Button);return t.html`
13
- <${e} dp="8" not-relative>
13
+ @click="${o=>o._handleCloseRequest()}"
14
+ ></${i}>`}const z=i=>{const o=i.tagFor(u.Elevation),s=i.tagFor(h.Icon),r=i.tagFor(p.Button);return t.html`
15
+ <${o} dp="8" not-relative>
14
16
  <dialog class="${$}"
15
- @keydown="${(o,n)=>o._onKeyDown(n.event)}"
16
- @cancel="${(o,n)=>n.event.preventDefault()}"
17
- ${m.delegateAria({ariaModal:o=>String(o._openedAsModal)})}
17
+ @keydown="${(e,n)=>e._onKeyDown(n.event)}"
18
+ @cancel="${(e,n)=>n.event.preventDefault()}"
19
+ ${m.delegateAria({ariaModal:e=>String(e._openedAsModal)})}
20
+ aria-labelledby="${e=>e.headline?"dialog-headline":null}"
18
21
  >
19
22
  <slot name="main">
20
23
  <div class="main-wrapper">
21
- <div class="header ${o=>o.subtitle?"border":""}">
24
+ <div class="header ${e=>e.subtitle?"border":""}">
22
25
  <slot name="graphic">
23
- ${d.when(o=>o.icon,D(s))}
26
+ ${d.when(e=>e.icon,D(s))}
24
27
  </slot>
25
- ${d.when(o=>o.headline&&o.subtitle,C())}
26
- ${d.when(o=>o.headline&&!o.subtitle,g())}
27
- ${d.when(o=>o.subtitle&&!o.headline,f())}
28
- ${d.when(o=>o._showDismissButton,_(r))}
28
+ ${d.when(e=>e.headline&&e.subtitle,C())}
29
+ ${d.when(e=>e.headline&&!e.subtitle,g())}
30
+ ${d.when(e=>e.subtitle&&!e.headline,f())}
31
+ ${d.when(e=>e._showDismissButton,_(r))}
29
32
  </div>
30
- <div class="body ${o=>o.fullWidthBody?"full-width":""}" >
33
+ <div class="body ${e=>e.fullWidthBody?"full-width":""}" >
31
34
  <slot name="body" ${c.slotted("bodySlottedContent")}></slot>
32
35
  </div>
33
36
  <div class="footer">
@@ -41,4 +44,4 @@
41
44
  </div>
42
45
  </slot>
43
46
  </dialog>
44
- </${e}>`},A=t.defineVividComponent("dialog",a,z,[h.iconDefinition,p.buttonDefinition,u.elevationDefinition],{styles:w}),B=t.createRegisterFunction(A);B();
47
+ </${o}>`},A=t.defineVividComponent("dialog",a,z,[h.iconDefinition,p.buttonDefinition,u.elevationDefinition],{styles:w}),B=t.createRegisterFunction(A);B();