@vonage/vivid 5.16.0 → 5.17.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 (317) 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 +3 -3
  6. package/action-group/index.js +5 -5
  7. package/alert/index.cjs +3 -3
  8. package/alert/index.js +17 -17
  9. package/audio-player/index.cjs +16 -16
  10. package/audio-player/index.js +27 -27
  11. package/avatar/index.cjs +2 -2
  12. package/avatar/index.js +6 -6
  13. package/badge/index.cjs +2 -2
  14. package/badge/index.js +6 -6
  15. package/banner/index.cjs +3 -3
  16. package/banner/index.js +15 -15
  17. package/bundled/base-color-picker.cjs +2 -2
  18. package/bundled/base-color-picker.js +5 -5
  19. package/bundled/button.cjs +1 -1
  20. package/bundled/button.js +2 -2
  21. package/bundled/calendar-picker.template.cjs +2 -2
  22. package/bundled/calendar-picker.template.js +498 -498
  23. package/bundled/definition10.cjs +18 -30
  24. package/bundled/definition10.js +53 -155
  25. package/bundled/definition11.cjs +10 -19
  26. package/bundled/definition11.js +25 -74
  27. package/bundled/definition12.cjs +72 -18
  28. package/bundled/definition12.js +171 -107
  29. package/bundled/definition13.cjs +18 -17
  30. package/bundled/definition13.js +45 -65
  31. package/bundled/definition14.cjs +5 -10
  32. package/bundled/definition14.js +9 -27
  33. package/bundled/definition15.cjs +17 -71
  34. package/bundled/definition15.js +64 -181
  35. package/bundled/definition16.cjs +12 -4
  36. package/bundled/definition16.js +79 -14
  37. package/bundled/definition17.cjs +19 -13
  38. package/bundled/definition17.js +119 -70
  39. package/bundled/definition18.cjs +87 -12
  40. package/bundled/definition18.js +409 -52
  41. package/bundled/definition19.cjs +5 -87
  42. package/bundled/definition19.js +14 -422
  43. package/bundled/definition2.cjs +3 -3
  44. package/bundled/definition2.js +27 -27
  45. package/bundled/definition20.cjs +30 -5
  46. package/bundled/definition20.js +159 -9
  47. package/bundled/definition21.cjs +28 -19
  48. package/bundled/definition21.js +164 -47
  49. package/bundled/definition22.cjs +38 -23
  50. package/bundled/definition22.js +64 -82
  51. package/bundled/definition3.cjs +1 -1
  52. package/bundled/definition3.js +15 -15
  53. package/bundled/definition4.cjs +23 -38
  54. package/bundled/definition4.js +82 -64
  55. package/bundled/definition5.cjs +2 -2
  56. package/bundled/definition5.js +5 -5
  57. package/bundled/definition6.cjs +2 -2
  58. package/bundled/definition6.js +24 -24
  59. package/bundled/definition9.cjs +12 -30
  60. package/bundled/definition9.js +55 -148
  61. package/bundled/divider.cjs +1 -1
  62. package/bundled/divider.js +5 -5
  63. package/bundled/listbox.cjs +1 -1
  64. package/bundled/listbox.js +1 -1
  65. package/bundled/mixins.cjs +4 -4
  66. package/bundled/mixins.js +43 -43
  67. package/bundled/picker-field.template.cjs +7 -7
  68. package/bundled/picker-field.template.js +14 -14
  69. package/bundled/slider.template.cjs +7 -7
  70. package/bundled/slider.template.js +12 -12
  71. package/bundled/slottable-request.cjs +1 -1
  72. package/bundled/slottable-request.js +8 -38
  73. package/bundled/time-selection-picker.template.cjs +4 -4
  74. package/bundled/time-selection-picker.template.js +35 -35
  75. package/bundled/vivid-element.cjs +1 -1
  76. package/bundled/vivid-element.js +1 -1
  77. package/calendar/index.cjs +11 -11
  78. package/calendar/index.js +30 -237
  79. package/calendar-event/index.cjs +3 -3
  80. package/calendar-event/index.js +4 -4
  81. package/card/index.cjs +14 -11
  82. package/card/index.js +16 -13
  83. package/checkbox/index.cjs +1 -1
  84. package/checkbox/index.js +1 -1
  85. package/color-picker/definition.cjs +1 -1
  86. package/color-picker/definition.js +1 -1
  87. package/color-picker/index.cjs +6 -6
  88. package/color-picker/index.js +24 -24
  89. package/combobox/definition.cjs +1 -1
  90. package/combobox/definition.js +1 -1
  91. package/combobox/index.cjs +9 -8
  92. package/combobox/index.js +32 -28
  93. package/contextual-help/definition.cjs +1 -1
  94. package/contextual-help/definition.js +1 -1
  95. package/contextual-help/index.cjs +1 -1
  96. package/contextual-help/index.js +1 -1
  97. package/custom-elements.json +1027 -615
  98. package/data-grid/definition.js +1 -1
  99. package/data-grid/index.cjs +17 -17
  100. package/data-grid/index.js +261 -264
  101. package/date-picker/index.cjs +1 -1
  102. package/date-picker/index.js +12 -12
  103. package/date-range-picker/index.cjs +1 -1
  104. package/date-range-picker/index.js +7 -7
  105. package/date-time-picker/index.cjs +4 -4
  106. package/date-time-picker/index.js +24 -24
  107. package/dial-pad/index.cjs +3 -2
  108. package/dial-pad/index.js +6 -5
  109. package/dialog/index.cjs +4 -4
  110. package/dialog/index.js +5 -5
  111. package/divider/index.cjs +1 -1
  112. package/divider/index.js +1 -1
  113. package/fab/index.cjs +3 -3
  114. package/fab/index.js +8 -8
  115. package/file-picker/index.cjs +16 -13
  116. package/file-picker/index.js +31 -28
  117. package/header/index.cjs +4 -4
  118. package/header/index.js +5 -5
  119. package/index.cjs +24 -21
  120. package/index.js +11 -11
  121. package/lib/combobox/combobox.d.ts +0 -3
  122. package/lib/date-time-picker/date-time-picker.d.ts +0 -4
  123. package/lib/dial-pad/dial-pad.d.ts +6 -2
  124. package/lib/dialog/dialog.d.ts +0 -1
  125. package/lib/menu/menu.d.ts +0 -1
  126. package/lib/option/option.d.ts +0 -1
  127. package/lib/rich-text-editor/rte/exports.d.ts +1 -0
  128. package/lib/rich-text-editor/rte/features/alignment.d.ts +1 -1
  129. package/lib/rich-text-editor/rte/features/character-count.d.ts +21 -0
  130. package/lib/rich-text-editor/rte/features/font-size-picker.d.ts +1 -1
  131. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +1 -1
  132. package/lib/rich-text-editor/rte/features/keyboard-shortcuts.d.ts +1 -1
  133. package/lib/rich-text-editor/rte/features/text-color-picker.d.ts +1 -1
  134. package/lib/rich-text-editor/rte/public-interface.d.ts +6 -0
  135. package/lib/searchable-select/option-tag.d.ts +0 -1
  136. package/lib/table/definition.d.ts +2 -1
  137. package/lib/table/table-header-cell.d.ts +3 -0
  138. package/lib/table/table-sorting-button.d.ts +415 -0
  139. package/lib/table/table-sorting-button.template.d.ts +3 -0
  140. package/locales/de-DE.cjs +4 -178
  141. package/locales/de-DE.js +2 -179
  142. package/locales/en-GB.cjs +4 -9
  143. package/locales/en-GB.js +2 -10
  144. package/locales/en-US.cjs +268 -2
  145. package/locales/en-US.js +265 -1
  146. package/locales/ja-JP.cjs +4 -171
  147. package/locales/ja-JP.js +2 -172
  148. package/locales/zh-CN.cjs +4 -172
  149. package/locales/zh-CN.js +2 -173
  150. package/menu/index.cjs +1 -1
  151. package/menu/index.js +1 -1
  152. package/menu-item/index.cjs +1 -1
  153. package/menu-item/index.js +1 -1
  154. package/nav-disclosure/index.cjs +3 -3
  155. package/nav-disclosure/index.js +8 -8
  156. package/nav-item/index.cjs +1 -1
  157. package/nav-item/index.js +7 -7
  158. package/note/index.cjs +2 -2
  159. package/note/index.js +6 -6
  160. package/number-field/index.cjs +4 -4
  161. package/number-field/index.js +31 -31
  162. package/option/definition.cjs +1 -1
  163. package/option/definition.js +1 -1
  164. package/option/index.cjs +1 -1
  165. package/option/index.js +1 -1
  166. package/package.json +7 -8
  167. package/pagination/index.cjs +3 -3
  168. package/pagination/index.js +15 -15
  169. package/popover/index.cjs +4 -4
  170. package/popover/index.js +5 -5
  171. package/progress/index.cjs +2 -2
  172. package/progress/index.js +5 -5
  173. package/radio/index.cjs +1 -1
  174. package/radio/index.js +1 -1
  175. package/radio-group/index.cjs +4 -4
  176. package/radio-group/index.js +10 -10
  177. package/range-slider/index.cjs +4 -4
  178. package/range-slider/index.js +17 -17
  179. package/rich-text-editor/definition.cjs +1 -0
  180. package/rich-text-editor/definition.js +2 -2
  181. package/rich-text-editor/index.cjs +13 -13
  182. package/rich-text-editor/index.js +1886 -1829
  183. package/rich-text-view/index.cjs +1 -1
  184. package/rich-text-view/index.js +8 -8
  185. package/searchable-select/index.cjs +12 -12
  186. package/searchable-select/index.js +25 -25
  187. package/select/index.cjs +1 -1
  188. package/select/index.js +1 -1
  189. package/selectable-box/index.cjs +7 -7
  190. package/selectable-box/index.js +11 -11
  191. package/shared/foundation/test-utilities/fixture.d.ts +1 -1
  192. package/shared/patterns/linkable.d.ts +1 -1
  193. package/simple-color-picker/index.cjs +3 -3
  194. package/simple-color-picker/index.js +10 -10
  195. package/split-button/index.cjs +5 -5
  196. package/split-button/index.js +10 -10
  197. package/status/index.cjs +2 -2
  198. package/status/index.js +12 -12
  199. package/switch/index.cjs +3 -3
  200. package/switch/index.js +5 -5
  201. package/tab/index.cjs +1 -1
  202. package/tab/index.js +1 -1
  203. package/tab-panel/index.cjs +1 -1
  204. package/tab-panel/index.js +1 -1
  205. package/table/definition.cjs +17 -14
  206. package/table/definition.js +3 -2
  207. package/table/index.cjs +19 -10
  208. package/table/index.js +69 -21
  209. package/tabs/index.cjs +2 -2
  210. package/tabs/index.js +4 -4
  211. package/tag/index.cjs +7 -7
  212. package/tag/index.js +9 -9
  213. package/tag-group/index.cjs +3 -3
  214. package/tag-group/index.js +5 -5
  215. package/text-area/index.cjs +2 -2
  216. package/text-area/index.js +12 -12
  217. package/text-field/definition.cjs +1 -1
  218. package/text-field/definition.js +1 -1
  219. package/text-field/index.cjs +1 -1
  220. package/text-field/index.js +1 -1
  221. package/time-picker/index.cjs +1 -1
  222. package/time-picker/index.js +1 -1
  223. package/toggletip/definition.cjs +1 -1
  224. package/toggletip/definition.js +1 -1
  225. package/toggletip/index.cjs +1 -1
  226. package/toggletip/index.js +1 -1
  227. package/tooltip/definition.cjs +1 -1
  228. package/tooltip/definition.js +1 -1
  229. package/tooltip/index.cjs +1 -1
  230. package/tooltip/index.js +1 -1
  231. package/tree-item/index.cjs +1 -1
  232. package/tree-item/index.js +1 -1
  233. package/tree-view/index.cjs +3 -3
  234. package/tree-view/index.js +17 -17
  235. package/unbundled/button.cjs +2 -2
  236. package/unbundled/button.js +2 -2
  237. package/unbundled/calendar-picker.template.cjs +4347 -9
  238. package/unbundled/calendar-picker.template.js +4345 -7
  239. package/unbundled/chunk.cjs +0 -22
  240. package/unbundled/definition13.cjs +1 -8
  241. package/unbundled/definition13.js +1 -8
  242. package/unbundled/definition14.cjs +2 -2
  243. package/unbundled/definition14.js +2 -2
  244. package/unbundled/definition2.cjs +1 -1
  245. package/unbundled/definition2.js +1 -1
  246. package/unbundled/definition21.cjs +1 -2
  247. package/unbundled/definition21.js +1 -2
  248. package/unbundled/definition22.cjs +7 -2
  249. package/unbundled/definition22.js +7 -2
  250. package/unbundled/definition24.cjs +98 -979
  251. package/unbundled/definition24.js +93 -974
  252. package/unbundled/definition25.cjs +37 -322
  253. package/unbundled/definition25.js +33 -318
  254. package/unbundled/definition26.cjs +317 -91
  255. package/unbundled/definition26.js +313 -87
  256. package/unbundled/definition27.cjs +94 -192
  257. package/unbundled/definition27.js +91 -183
  258. package/unbundled/definition28.cjs +387 -395
  259. package/unbundled/definition28.js +387 -395
  260. package/unbundled/definition29.cjs +189 -110
  261. package/unbundled/definition29.js +180 -107
  262. package/unbundled/definition30.cjs +520 -36
  263. package/unbundled/definition30.js +519 -35
  264. package/unbundled/definition32.cjs +477 -477
  265. package/unbundled/definition32.js +475 -475
  266. package/unbundled/definition33.cjs +87 -2
  267. package/unbundled/definition33.js +77 -4
  268. package/unbundled/definition35.cjs +2 -2
  269. package/unbundled/definition35.js +2 -2
  270. package/unbundled/definition36.cjs +1 -1
  271. package/unbundled/definition36.js +1 -1
  272. package/unbundled/definition37.cjs +6 -2
  273. package/unbundled/definition37.js +6 -2
  274. package/unbundled/definition38.cjs +7 -5
  275. package/unbundled/definition38.js +7 -5
  276. package/unbundled/definition39.cjs +1 -0
  277. package/unbundled/definition39.js +1 -0
  278. package/unbundled/definition42.cjs +22 -11
  279. package/unbundled/definition42.js +22 -11
  280. package/unbundled/definition49.cjs +3 -3
  281. package/unbundled/definition49.js +3 -3
  282. package/unbundled/definition56.cjs +437 -9506
  283. package/unbundled/definition56.js +340 -9415
  284. package/unbundled/definition57.cjs +5 -5
  285. package/unbundled/definition57.js +5 -5
  286. package/unbundled/definition58.cjs +4 -3
  287. package/unbundled/definition58.js +2 -1
  288. package/unbundled/definition59.cjs +4 -3
  289. package/unbundled/definition59.js +4 -3
  290. package/unbundled/definition62.cjs +2 -2
  291. package/unbundled/definition62.js +2 -2
  292. package/unbundled/definition64.cjs +1 -1
  293. package/unbundled/definition64.js +1 -1
  294. package/unbundled/definition71.cjs +2 -2
  295. package/unbundled/definition71.js +2 -2
  296. package/unbundled/definition72.cjs +1 -2
  297. package/unbundled/definition72.js +1 -2
  298. package/unbundled/definition75.cjs +3 -51711
  299. package/unbundled/definition75.js +1 -51711
  300. package/unbundled/listbox.cjs +1 -1
  301. package/unbundled/listbox.js +1 -1
  302. package/unbundled/localized.cjs +2 -2
  303. package/unbundled/localized.js +1 -1
  304. package/unbundled/picker-field.template.cjs +1 -1
  305. package/unbundled/picker-field.template.js +1 -1
  306. package/unbundled/slottable-request.cjs +2 -3168
  307. package/unbundled/slottable-request.js +3 -3097
  308. package/unbundled/time-selection-picker.template.cjs +1 -1
  309. package/unbundled/time-selection-picker.template.js +1 -1
  310. package/unbundled/vivid-element.cjs +1 -1
  311. package/unbundled/vivid-element.js +1 -1
  312. package/video-player/index.cjs +3 -3
  313. package/video-player/index.js +9 -9
  314. package/vivid.api.json +220 -282
  315. package/unbundled/chunk.js +0 -33
  316. package/unbundled/en-US.cjs +0 -447
  317. package/unbundled/en-US.js +0 -443
@@ -1,7 +1,7 @@
1
- const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/repeat.cjs`),n=require(`../bundled/ref.cjs`),r=require(`../bundled/when.cjs`),i=require(`../bundled/slotted.cjs`),a=require(`../bundled/definition2.cjs`),o=require(`../bundled/decorate.cjs`),s=require(`../bundled/class-names.cjs`),c=require(`../bundled/delegates-aria.cjs`),l=require(`../bundled/with-success-text.cjs`),u=require(`../bundled/with-error-text.cjs`),ee=require(`../bundled/with-contextual-help.cjs`),te=require(`../bundled/trapped-focus.cjs`),d=require(`../bundled/definition6.cjs`),ne=require(`../bundled/dialog.cjs`),f=require(`../bundled/definition8.cjs`),p=require(`../bundled/mixins.cjs`),m=require(`../bundled/definition15.cjs`),h=require(`../bundled/definition18.cjs`),g=require(`../bundled/base-color-picker.cjs`);var re=`.palette{grid-template-columns:repeat(var(--swatches-per-row,7), var(--_color-swatch-size,24px));display:grid}.swatch{background-color:var(--swatch-color);block-size:var(--_color-swatch-size,24px);color:var(--vvd-color-canvas);cursor:pointer;inline-size:var(--_color-swatch-size,24px);border-radius:4px;padding:0;position:relative}.swatch:not(.contrast){border:none}.swatch.contrast{border:1px solid var(--vvd-color-neutral-400);color:var(--vvd-color-canvas-text)}.swatch: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:none;outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;--focus-inset:-3px}:host{--_low-ink-color:var(--vvd-color-neutral-600);display:inline-block}.base{min-inline-size:var(--_color-picker-min-inline-size,280px);display:inline-block}.control{inline-size:100%}.button{box-sizing:border-box;background-color:var(--button-color,var(--vvd-color-canvas-text));block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));color:var(--vvd-color-canvas);inline-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));padding-inline:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 4);vertical-align:middle;border:0;border-radius:4px;align-items:center;margin:0;text-decoration:none;display:inline-flex}.button.contrast{color:var(--vvd-color-canvas-text)}.button:not(.disabled){cursor:pointer}.button.disabled{background-color:var(--vvd-color-neutral-300);color:var(--vvd-color-neutral-500);cursor:not-allowed}.button:focus-visible{--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))}.button [data-vvd-component=icon]{font-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 2);line-height:1}.dialog{min-inline-size:var(--_color-picker-popup-min-inline-size,264px);flex-direction:column;display:flex}.dialog .header{justify-content:space-between;align-items:center;padding-block:8px;padding-inline:16px;display:inline-flex}.dialog .header-title{font:var(--vvd-typography-base-extended-bold);margin-block:0}.dialog .body{flex-direction:column;gap:16px;margin-block-end:16px;padding-inline:16px;display:flex}.dialog .hex-input-wrapper{align-items:stretch;gap:8px;display:flex}.dialog .hex-input-wrapper [data-vvd-component=button]{flex:none}.dialog .footer{border-top:1px solid var(--vvd-color-neutral-200);padding:16px}.dialog .footer-header{margin-block-end:8px}.dialog .swatches-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.dialog .palette{gap:var(--_color-swatches-gap,8px)}vvd-hex-input{flex:auto;min-width:0}vvd-hex-input::part(input),vvd-hex-input>input{box-sizing:border-box;background-color:var(--vvd-color-canvas);width:100%;height:100%;box-shadow:inset 0 0 0 1px var(--vvd-color-neutral-500);font:var(--vvd-typography-base);padding-inline:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);border:0;border-radius:8px;outline:#0000}vvd-hex-input::part(input):focus-visible,vvd-hex-input>input:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent}vvd-hex-picker{width:auto;height:auto;gap:16px;inline-size:100%}vvd-hex-picker::part(saturation){border-radius:8px;block-size:120px}vvd-hex-picker::part(hue){border-radius:8px;flex:0 0 8px}vvd-hex-picker::part(hue-pointer){width:10px;height:10px}vvd-hex-picker::part(saturation-pointer){width:18px;height:18px}::part(popup-base){inline-size:max-content;min-block-size:var(--_color-picker-popup-min-inline-size,264px);min-inline-size:var(--_color-picker-popup-min-inline-size,264px)}.visually-hidden{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}`,_=(e,t=0,n=1)=>e>n?n:e<t?t:e,v=(e,t=0,n=10**t)=>Math.round(n*e)/n;360/(Math.PI*2);var ie=e=>le(y(e)),y=e=>(e[0]===`#`&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?v(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?v(parseInt(e.substring(6,8),16)/255,2):1}),ae=e=>ce(se(e)),oe=({h:e,s:t,v:n,a:r})=>{let i=(200-t)*n/100;return{h:v(e),s:v(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:v(i/2),a:v(r,2)}},b=e=>{let{h:t,s:n,l:r}=oe(e);return`hsl(${t}, ${n}%, ${r}%)`},se=({h:e,s:t,v:n,a:r})=>{e=e/360*6,t/=100,n/=100;let i=Math.floor(e),a=n*(1-t),o=n*(1-(e-i)*t),s=n*(1-(1-e+i)*t),c=i%6;return{r:v([n,o,a,a,s,n][c]*255),g:v([s,n,n,o,a,a][c]*255),b:v([a,a,s,n,n,o][c]*255),a:v(r,2)}},x=e=>{let t=e.toString(16);return t.length<2?`0`+t:t},ce=({r:e,g:t,b:n,a:r})=>{let i=r<1?x(v(r*255)):``;return`#`+x(e)+x(t)+x(n)+i},le=({r:e,g:t,b:n,a:r})=>{let i=Math.max(e,t,n),a=i-Math.min(e,t,n),o=a?i===e?(t-n)/a:i===t?2+(n-e)/a:4+(e-t)/a:0;return{h:v(60*(o<0?o+6:o)),s:v(i?a/i*100:0),v:v(i/255*100),a:r}},S=(e,t)=>{if(e===t)return!0;for(let n in e)if(e[n]!==t[n])return!1;return!0},ue=(e,t)=>e.toLowerCase()===t.toLowerCase()?!0:S(y(e),y(t)),C={},w=e=>{let t=C[e];return t||(t=document.createElement(`template`),t.innerHTML=e,C[e]=t),t},T=(e,t,n)=>{e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n}))},E=!1,D=e=>`touches`in e,de=e=>E&&!D(e)?!1:(E||=D(e),!0),O=(e,t)=>{let n=D(t)?t.touches[0]:t,r=e.el.getBoundingClientRect();T(e.el,`move`,e.getMove({x:_((n.pageX-(r.left+window.pageXOffset))/r.width),y:_((n.pageY-(r.top+window.pageYOffset))/r.height)}))},fe=(e,t)=>{let n=t.keyCode;n>40||e.xy&&n<37||n<33||(t.preventDefault(),T(e.el,`move`,e.getMove({x:n===39?.01:n===37?-.01:n===34?.05:n===33?-.05:n===35?1:n===36?-1:0,y:n===40?.01:n===38?-.01:0},!0)))},k=class{constructor(e,t,n,r){let i=w(`<div role="slider" tabindex="0" part="${t}" ${n}><div part="${t}-pointer"></div></div>`);e.appendChild(i.content.cloneNode(!0));let a=e.querySelector(`[part=${t}]`);a.addEventListener(`mousedown`,this),a.addEventListener(`touchstart`,this),a.addEventListener(`keydown`,this),this.el=a,this.xy=r,this.nodes=[a.firstChild,a]}set dragging(e){let t=e?document.addEventListener:document.removeEventListener;t(E?`touchmove`:`mousemove`,this),t(E?`touchend`:`mouseup`,this)}handleEvent(e){switch(e.type){case`mousedown`:case`touchstart`:if(e.preventDefault(),!de(e)||!E&&e.button!=0)return;this.el.focus(),O(this,e),this.dragging=!0;break;case`mousemove`:case`touchmove`:e.preventDefault(),O(this,e);break;case`mouseup`:case`touchend`:this.dragging=!1;break;case`keydown`:fe(this,e);break}}style(e){e.forEach((e,t)=>{for(let n in e)this.nodes[t].style.setProperty(n,e[n])})}},pe=class extends k{constructor(e){super(e,`hue`,`aria-label="Hue" aria-valuemin="0" aria-valuemax="360"`,!1)}update({h:e}){this.h=e,this.style([{left:`${e/360*100}%`,color:b({h:e,s:100,v:100,a:1})}]),this.el.setAttribute(`aria-valuenow`,`${v(e)}`)}getMove(e,t){return{h:t?_(this.h+e.x*360,0,360):360*e.x}}},me=class extends k{constructor(e){super(e,`saturation`,`aria-label="Color"`,!0)}update(e){this.hsva=e,this.style([{top:`${100-e.v}%`,left:`${e.s}%`,color:b(e)},{"background-color":b({h:e.h,s:100,v:100,a:1})}]),this.el.setAttribute(`aria-valuetext`,`Saturation ${v(e.s)}%, Brightness ${v(e.v)}%`)}getMove(e,t){return{s:t?_(this.hsva.s+e.x*100,0,100):e.x*100,v:t?_(this.hsva.v-e.y*100,0,100):Math.round(100-e.y*100)}}},he=`:host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}`,ge=`[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}`,_e=`[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}`,A=Symbol(`same`),j=Symbol(`color`),M=Symbol(`hsva`),N=Symbol(`update`),P=Symbol(`parts`),F=Symbol(`css`),I=Symbol(`sliders`),ve=class extends HTMLElement{static get observedAttributes(){return[`color`]}get[F](){return[he,ge,_e]}get[I](){return[me,pe]}get color(){return this[j]}set color(e){if(!this[A](e)){let t=this.colorModel.toHsva(e);this[N](t),this[j]=e}}constructor(){super();let e=w(`<style>${this[F].join(``)}</style>`),t=this.attachShadow({mode:`open`});t.appendChild(e.content.cloneNode(!0)),t.addEventListener(`move`,this),this[P]=this[I].map(e=>new e(t))}connectedCallback(){if(this.hasOwnProperty(`color`)){let e=this.color;delete this.color,this.color=e}else this.color||=this.colorModel.defaultColor}attributeChangedCallback(e,t,n){let r=this.colorModel.fromAttr(n);this[A](r)||(this.color=r)}handleEvent(e){let t=this[M],n={...t,...e.detail};this[N](n);let r;!S(n,t)&&!this[A](r=this.colorModel.fromHsva(n))&&(this[j]=r,T(this,`color-changed`,{value:r}))}[A](e){return this.color&&this.colorModel.equal(e,this.color)}[N](e){this[M]=e,this[P].forEach(t=>t.update(e))}},ye={defaultColor:`#000`,toHsva:ie,fromHsva:({h:e,s:t,v:n})=>ae({h:e,s:t,v:n,a:1}),equal:ue,fromAttr:e=>e},be=class extends ve{get colorModel(){return ye}},L=class extends be{};customElements.define(`hex-color-picker`,L);var xe=/^#?([0-9A-F]{3,8})$/i,R=(e,t)=>{let n=xe.exec(e),r=n?n[1].length:0;return r===3||r===6||!!t&&r===4||!!t&&r===8},Se=w(`<slot><input part="input" spellcheck="false"></slot>`),z=(e,t)=>e.replace(/([^0-9A-F]+)/gi,``).substring(0,t?8:6),B=Symbol(`alpha`),V=Symbol(`color`),H=Symbol(`saved`),U=Symbol(`input`),W=Symbol(`init`),G=Symbol(`prefix`),K=Symbol(`update`),Ce=class extends HTMLElement{static get observedAttributes(){return[`alpha`,`color`,`prefixed`]}get color(){return this[V]}set color(e){this[V]=e,this[K](e)}get alpha(){return this[B]}set alpha(e){this[B]=e,this.toggleAttribute(`alpha`,e);let t=this.color;t&&!R(t,e)&&(this.color=t.startsWith(`#`)?t.substring(0,t.length===5?4:7):t.substring(0,t.length===4?3:6))}get prefixed(){return this[G]}set prefixed(e){this[G]=e,this.toggleAttribute(`prefixed`,e),this[K](this.color)}constructor(){super();let e=this.attachShadow({mode:`open`});e.appendChild(Se.content.cloneNode(!0)),e.firstElementChild.addEventListener(`slotchange`,()=>this[W](e))}connectedCallback(){if(this[W](this.shadowRoot),this.hasOwnProperty(`alpha`)){let e=this.alpha;delete this.alpha,this.alpha=e}else this.alpha=this.hasAttribute(`alpha`);if(this.hasOwnProperty(`prefixed`)){let e=this.prefixed;delete this.prefixed,this.prefixed=e}else this.prefixed=this.hasAttribute(`prefixed`);if(this.hasOwnProperty(`color`)){let e=this.color;delete this.color,this.color=e}else this.color==null?this.color=this.getAttribute(`color`)||``:this[V]&&this[K](this[V])}handleEvent(e){let{value:t}=e.target;switch(e.type){case`input`:let e=z(t,this.alpha);this[H]=this.color,(R(e,this.alpha)||t===``)&&(this.color=e,this.dispatchEvent(new CustomEvent(`color-changed`,{bubbles:!0,detail:{value:e?`#`+e:``}})));break;case`blur`:t&&!R(t,this.alpha)&&(this.color=this[H])}}attributeChangedCallback(e,t,n){e===`color`&&this.color!==n&&(this.color=n);let r=n!=null;e===`alpha`&&this.alpha!==r&&(this.alpha=r),e===`prefixed`&&this.prefixed!==r&&(this.prefixed=r)}[W](e){let t=this.querySelector(`input`);if(!t){let n;for(;n=this.firstChild;)n.remove();t=e.querySelector(`input`)}t.addEventListener(`input`,this),t.addEventListener(`blur`,this),this[U]=t,this[K](this.color)}[K](e){this[U]&&(this[U].value=e==null||e==``?``:(this.prefixed?`#`:``)+z(e,this.alpha))}},q=class extends Ce{};customElements.define(`hex-input`,q);var J=`vvd-hex-picker`,Y=`vvd-hex-input`,X=class extends L{static{this.displayName=`VvdHexPicker`}},we=class extends q{static{this.displayName=`VvdHexInput`}};customElements.get(J)||customElements.define(J,X),customElements.get(Y)||customElements.define(Y,we);var Z=J,Q=Y,$=class extends ee.t(p.t(u.t(l.t(c.t(te.t(g.t(e.t))))))){constructor(...e){super(...e),this.disableSavedColors=!1,this.savedColors=[],this.maxSwatches=6,this.copyIconName=`copy-2-line`,this._copyValueToClipboard=async e=>{try{await navigator.clipboard.writeText(e),this._setTemporaryCopyIcon(`check-circle-line`),this._ariaLiveDescription=this.locale.colorPicker.copySuccessMessage(e)}catch{alert(this.locale.colorPicker.copyErrorText),this._setTemporaryCopyIcon(`error-line`),this._ariaLiveDescription=this.locale.colorPicker.copyErrorText}},this._ariaLiveDescription=``}static{this.HEX_COLOR_PATTERN=/^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$/}placeholderChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.placeholder=this.placeholder)}handleChange(){this.$emit(`change`)}openChanged(e,t){t&&this.isConnected&&requestAnimationFrame(()=>{this._refreshCanvasColor()})}savedColorsKeyChanged(){this.savedColors=this._loadSavedColors()}get _savedColorsStorageKey(){return this.savedColorsKey?this.savedColorsKey:`vvd-saved-colors:${this.tagName.toLowerCase()}`}_handleColorSaving(){this._saveCurrentColor()}_saveCurrentColor(){let e=this.value;if(typeof e!=`string`||!g.n(e))return;let t=Array.isArray(this.savedColors)?[...this.savedColors]:[],n=t.findIndex(t=>t?.value===e);n!==-1&&t.splice(n,1),t.unshift({value:e}),this.savedColors=t.slice(0,this._maxSwatchesNormalized),this._setSavedColors(this.savedColors)}_loadSavedColors(){try{let e=localStorage.getItem(this._savedColorsStorageKey);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>e&&typeof e.value==`string`&&g.n(e.value)).map(e=>({value:e.value,label:typeof e.label==`string`?e.label:void 0})):[]}catch{return[]}}_setSavedColors(e){try{localStorage.setItem(this._savedColorsStorageKey,JSON.stringify(e))}catch{}}get allSwatches(){let e=Array.isArray(this.swatches)?this.swatches:[],t=Array.isArray(this.savedColors)?this.savedColors:[],n=new Set,r=[],i=e=>{!e||typeof e.value!=`string`||!g.n(e.value)||n.has(e.value)||(n.add(e.value),r.push(e))};return this.disableSavedColors||t.forEach(i),e.forEach(i),r.slice(0,this._maxSwatchesNormalized)}get _maxSwatchesNormalized(){return Number.isFinite(this.maxSwatches)?Math.max(0,Math.floor(this.maxSwatches)):0}maxSwatchesChanged(){let e=this._maxSwatchesNormalized;this.savedColors?.length>e&&(this.savedColors=this.savedColors.slice(0,e),this._setSavedColors(this.savedColors))}_onPickerColorChanged(e){typeof e.detail?.value==`string`&&(this.value=e.detail?.value)}valueChanged(e,t){this._vcHexPickerEl&&typeof t==`string`&&(this._vcHexPickerEl.color=t),this._vcHexInputEl&&typeof t==`string`&&(this._vcHexInputEl.color=t)}_onTextFieldInput(e){this.value=e.currentTarget.value}get _buttonColor(){return this._canvasColor||this._refreshCanvasColor(),this.value&&g.n(this.value)?this.value:`var(--vvd-color-canvas-text)`}_onButtonClick(){this.open=!this.open}_handleCloseRequest(){this.open=!1}_isInPath(e,t){if(!t)return!1;let n=e.composedPath?.();return!!(n&&n.includes(t))}#e=e=>{this._isInPath(e,this._buttonEl)||this._isInPath(e,this._popupEl)||(this.open=!1)};connectedCallback(){super.connectedCallback(),this.savedColors=this._loadSavedColors(),document.addEventListener(`mousedown`,this.#e,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`mousedown`,this.#e,!0)}#t=null;_setTemporaryCopyIcon(e,t=2e3){this.copyIconName=e,this.#t&&clearTimeout(this.#t),this.#t=setTimeout(()=>{this.copyIconName=`copy-2-line`,this.#t=null},t)}_onBaseKeydown(e){return this.open&&ne.t(e)?(this.open=!1,!1):!this._trappedFocus(e,()=>this._focusableElsWithinDialog())}_focusableElsWithinDialog(){return this._popupEl.querySelectorAll(`button:not([role="gridcell"]), [data-vvd-component="button"], vwc-button:not([role="gridcell"])`)}_handleCellKeydown(e,t,n,r){if(e.key===`Tab`){e.preventDefault();let t=this._focusableElsWithinDialog(),n=Array.prototype.indexOf.call(t,e.currentTarget);return t[e.shiftKey?(n-1+t.length)%t.length:(n+1)%t.length]?.focus(),!1}return super._handleCellKeydown(e,t,n,r)}_handleSwatchSelection(e){this.value!==e&&(this._ariaLiveDescription=this.locale.colorPicker.selectionSuccessMessage(e)),super._handleSwatchSelection(e)}};o.t([e.l],$.prototype,`placeholder`,void 0),o.t([e.l({attribute:`saved-colors-key`})],$.prototype,`savedColorsKey`,void 0),o.t([e.l({mode:`boolean`,attribute:`disable-saved-colors`})],$.prototype,`disableSavedColors`,void 0),o.t([e.T],$.prototype,`savedColors`,void 0),o.t([e.l({attribute:`max-swatches`,mode:`fromView`,converter:e.u})],$.prototype,`maxSwatches`,void 0),o.t([e.T],$.prototype,`copyIconName`,void 0),o.t([e.T],$.prototype,`_ariaLiveDescription`,void 0);function Te(t,r){return e.d`
1
+ const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/repeat.cjs`),n=require(`../bundled/ref.cjs`),r=require(`../bundled/when.cjs`),i=require(`../bundled/slotted.cjs`),a=require(`../bundled/definition2.cjs`),o=require(`../bundled/decorate.cjs`),s=require(`../bundled/with-success-text.cjs`),c=require(`../bundled/with-error-text.cjs`),l=require(`../bundled/with-contextual-help.cjs`),ee=require(`../bundled/trapped-focus.cjs`),u=require(`../bundled/delegates-aria.cjs`),d=require(`../bundled/class-names.cjs`),f=require(`../bundled/definition6.cjs`),p=require(`../bundled/definition8.cjs`),m=require(`../bundled/definition9.cjs`),te=require(`../bundled/dialog.cjs`),h=require(`../bundled/mixins.cjs`),g=require(`../bundled/definition12.cjs`),_=require(`../bundled/base-color-picker.cjs`);var ne=`.palette{grid-template-columns:repeat(var(--swatches-per-row,7), var(--_color-swatch-size,24px));display:grid}.swatch{background-color:var(--swatch-color);block-size:var(--_color-swatch-size,24px);color:var(--vvd-color-canvas);cursor:pointer;inline-size:var(--_color-swatch-size,24px);border-radius:4px;padding:0;position:relative}.swatch:not(.contrast){border:none}.swatch.contrast{border:1px solid var(--vvd-color-neutral-400);color:var(--vvd-color-canvas-text)}.swatch: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:none;outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;--focus-inset:-3px}:host{--_low-ink-color:var(--vvd-color-neutral-600);display:inline-block}.base{min-inline-size:var(--_color-picker-min-inline-size,280px);display:inline-block}.control{inline-size:100%}.button{box-sizing:border-box;background-color:var(--button-color,var(--vvd-color-canvas-text));block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));color:var(--vvd-color-canvas);inline-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));padding-inline:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 4);vertical-align:middle;border:0;border-radius:4px;align-items:center;margin:0;text-decoration:none;display:inline-flex}.button.contrast{color:var(--vvd-color-canvas-text)}.button:not(.disabled){cursor:pointer}.button.disabled{background-color:var(--vvd-color-neutral-300);color:var(--vvd-color-neutral-500);cursor:not-allowed}.button:focus-visible{--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))}.button [data-vvd-component=icon]{font-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 2);line-height:1}.dialog{min-inline-size:var(--_color-picker-popup-min-inline-size,264px);flex-direction:column;display:flex}.dialog .header{justify-content:space-between;align-items:center;padding-block:8px;padding-inline:16px;display:inline-flex}.dialog .header-title{font:var(--vvd-typography-base-extended-bold);margin-block:0}.dialog .body{flex-direction:column;gap:16px;margin-block-end:16px;padding-inline:16px;display:flex}.dialog .hex-input-wrapper{align-items:stretch;gap:8px;display:flex}.dialog .hex-input-wrapper [data-vvd-component=button]{flex:none}.dialog .footer{border-top:1px solid var(--vvd-color-neutral-200);padding:16px}.dialog .footer-header{margin-block-end:8px}.dialog .swatches-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.dialog .palette{gap:var(--_color-swatches-gap,8px)}vvd-hex-input{flex:auto;min-width:0}vvd-hex-input::part(input),vvd-hex-input>input{box-sizing:border-box;background-color:var(--vvd-color-canvas);width:100%;height:100%;box-shadow:inset 0 0 0 1px var(--vvd-color-neutral-500);font:var(--vvd-typography-base);padding-inline:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);border:0;border-radius:8px;outline:#0000}vvd-hex-input::part(input):focus-visible,vvd-hex-input>input:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent}vvd-hex-picker{width:auto;height:auto;gap:16px;inline-size:100%}vvd-hex-picker::part(saturation){border-radius:8px;block-size:120px}vvd-hex-picker::part(hue){border-radius:8px;flex:0 0 8px}vvd-hex-picker::part(hue-pointer){width:10px;height:10px}vvd-hex-picker::part(saturation-pointer){width:18px;height:18px}::part(popup-base){inline-size:max-content;min-block-size:var(--_color-picker-popup-min-inline-size,264px);min-inline-size:var(--_color-picker-popup-min-inline-size,264px)}.visually-hidden{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}`,v=(e,t=0,n=1)=>e>n?n:e<t?t:e,y=(e,t=0,n=10**t)=>Math.round(n*e)/n;360/(Math.PI*2);var re=e=>ce(b(e)),b=e=>(e[0]===`#`&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?y(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?y(parseInt(e.substring(6,8),16)/255,2):1}),ie=e=>se(oe(e)),ae=({h:e,s:t,v:n,a:r})=>{let i=(200-t)*n/100;return{h:y(e),s:y(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:y(i/2),a:y(r,2)}},x=e=>{let{h:t,s:n,l:r}=ae(e);return`hsl(${t}, ${n}%, ${r}%)`},oe=({h:e,s:t,v:n,a:r})=>{e=e/360*6,t/=100,n/=100;let i=Math.floor(e),a=n*(1-t),o=n*(1-(e-i)*t),s=n*(1-(1-e+i)*t),c=i%6;return{r:y([n,o,a,a,s,n][c]*255),g:y([s,n,n,o,a,a][c]*255),b:y([a,a,s,n,n,o][c]*255),a:y(r,2)}},S=e=>{let t=e.toString(16);return t.length<2?`0`+t:t},se=({r:e,g:t,b:n,a:r})=>{let i=r<1?S(y(r*255)):``;return`#`+S(e)+S(t)+S(n)+i},ce=({r:e,g:t,b:n,a:r})=>{let i=Math.max(e,t,n),a=i-Math.min(e,t,n),o=a?i===e?(t-n)/a:i===t?2+(n-e)/a:4+(e-t)/a:0;return{h:y(60*(o<0?o+6:o)),s:y(i?a/i*100:0),v:y(i/255*100),a:r}},C=(e,t)=>{if(e===t)return!0;for(let n in e)if(e[n]!==t[n])return!1;return!0},le=(e,t)=>e.toLowerCase()===t.toLowerCase()?!0:C(b(e),b(t)),w={},T=e=>{let t=w[e];return t||(t=document.createElement(`template`),t.innerHTML=e,w[e]=t),t},E=(e,t,n)=>{e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n}))},D=!1,O=e=>`touches`in e,ue=e=>D&&!O(e)?!1:(D||=O(e),!0),k=(e,t)=>{let n=O(t)?t.touches[0]:t,r=e.el.getBoundingClientRect();E(e.el,`move`,e.getMove({x:v((n.pageX-(r.left+window.pageXOffset))/r.width),y:v((n.pageY-(r.top+window.pageYOffset))/r.height)}))},de=(e,t)=>{let n=t.keyCode;n>40||e.xy&&n<37||n<33||(t.preventDefault(),E(e.el,`move`,e.getMove({x:n===39?.01:n===37?-.01:n===34?.05:n===33?-.05:n===35?1:n===36?-1:0,y:n===40?.01:n===38?-.01:0},!0)))},A=class{constructor(e,t,n,r){let i=T(`<div role="slider" tabindex="0" part="${t}" ${n}><div part="${t}-pointer"></div></div>`);e.appendChild(i.content.cloneNode(!0));let a=e.querySelector(`[part=${t}]`);a.addEventListener(`mousedown`,this),a.addEventListener(`touchstart`,this),a.addEventListener(`keydown`,this),this.el=a,this.xy=r,this.nodes=[a.firstChild,a]}set dragging(e){let t=e?document.addEventListener:document.removeEventListener;t(D?`touchmove`:`mousemove`,this),t(D?`touchend`:`mouseup`,this)}handleEvent(e){switch(e.type){case`mousedown`:case`touchstart`:if(e.preventDefault(),!ue(e)||!D&&e.button!=0)return;this.el.focus(),k(this,e),this.dragging=!0;break;case`mousemove`:case`touchmove`:e.preventDefault(),k(this,e);break;case`mouseup`:case`touchend`:this.dragging=!1;break;case`keydown`:de(this,e);break}}style(e){e.forEach((e,t)=>{for(let n in e)this.nodes[t].style.setProperty(n,e[n])})}},fe=class extends A{constructor(e){super(e,`hue`,`aria-label="Hue" aria-valuemin="0" aria-valuemax="360"`,!1)}update({h:e}){this.h=e,this.style([{left:`${e/360*100}%`,color:x({h:e,s:100,v:100,a:1})}]),this.el.setAttribute(`aria-valuenow`,`${y(e)}`)}getMove(e,t){return{h:t?v(this.h+e.x*360,0,360):360*e.x}}},pe=class extends A{constructor(e){super(e,`saturation`,`aria-label="Color"`,!0)}update(e){this.hsva=e,this.style([{top:`${100-e.v}%`,left:`${e.s}%`,color:x(e)},{"background-color":x({h:e.h,s:100,v:100,a:1})}]),this.el.setAttribute(`aria-valuetext`,`Saturation ${y(e.s)}%, Brightness ${y(e.v)}%`)}getMove(e,t){return{s:t?v(this.hsva.s+e.x*100,0,100):e.x*100,v:t?v(this.hsva.v-e.y*100,0,100):Math.round(100-e.y*100)}}},me=`:host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}`,he=`[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}`,ge=`[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}`,j=Symbol(`same`),M=Symbol(`color`),N=Symbol(`hsva`),P=Symbol(`update`),F=Symbol(`parts`),I=Symbol(`css`),L=Symbol(`sliders`),_e=class extends HTMLElement{static get observedAttributes(){return[`color`]}get[I](){return[me,he,ge]}get[L](){return[pe,fe]}get color(){return this[M]}set color(e){if(!this[j](e)){let t=this.colorModel.toHsva(e);this[P](t),this[M]=e}}constructor(){super();let e=T(`<style>${this[I].join(``)}</style>`),t=this.attachShadow({mode:`open`});t.appendChild(e.content.cloneNode(!0)),t.addEventListener(`move`,this),this[F]=this[L].map(e=>new e(t))}connectedCallback(){if(this.hasOwnProperty(`color`)){let e=this.color;delete this.color,this.color=e}else this.color||=this.colorModel.defaultColor}attributeChangedCallback(e,t,n){let r=this.colorModel.fromAttr(n);this[j](r)||(this.color=r)}handleEvent(e){let t=this[N],n={...t,...e.detail};this[P](n);let r;!C(n,t)&&!this[j](r=this.colorModel.fromHsva(n))&&(this[M]=r,E(this,`color-changed`,{value:r}))}[j](e){return this.color&&this.colorModel.equal(e,this.color)}[P](e){this[N]=e,this[F].forEach(t=>t.update(e))}},ve={defaultColor:`#000`,toHsva:re,fromHsva:({h:e,s:t,v:n})=>ie({h:e,s:t,v:n,a:1}),equal:le,fromAttr:e=>e},ye=class extends _e{get colorModel(){return ve}},R=class extends ye{};customElements.define(`hex-color-picker`,R);var be=/^#?([0-9A-F]{3,8})$/i,z=(e,t)=>{let n=be.exec(e),r=n?n[1].length:0;return r===3||r===6||!!t&&r===4||!!t&&r===8},xe=T(`<slot><input part="input" spellcheck="false"></slot>`),B=(e,t)=>e.replace(/([^0-9A-F]+)/gi,``).substring(0,t?8:6),V=Symbol(`alpha`),H=Symbol(`color`),U=Symbol(`saved`),W=Symbol(`input`),G=Symbol(`init`),K=Symbol(`prefix`),q=Symbol(`update`),Se=class extends HTMLElement{static get observedAttributes(){return[`alpha`,`color`,`prefixed`]}get color(){return this[H]}set color(e){this[H]=e,this[q](e)}get alpha(){return this[V]}set alpha(e){this[V]=e,this.toggleAttribute(`alpha`,e);let t=this.color;t&&!z(t,e)&&(this.color=t.startsWith(`#`)?t.substring(0,t.length===5?4:7):t.substring(0,t.length===4?3:6))}get prefixed(){return this[K]}set prefixed(e){this[K]=e,this.toggleAttribute(`prefixed`,e),this[q](this.color)}constructor(){super();let e=this.attachShadow({mode:`open`});e.appendChild(xe.content.cloneNode(!0)),e.firstElementChild.addEventListener(`slotchange`,()=>this[G](e))}connectedCallback(){if(this[G](this.shadowRoot),this.hasOwnProperty(`alpha`)){let e=this.alpha;delete this.alpha,this.alpha=e}else this.alpha=this.hasAttribute(`alpha`);if(this.hasOwnProperty(`prefixed`)){let e=this.prefixed;delete this.prefixed,this.prefixed=e}else this.prefixed=this.hasAttribute(`prefixed`);if(this.hasOwnProperty(`color`)){let e=this.color;delete this.color,this.color=e}else this.color==null?this.color=this.getAttribute(`color`)||``:this[H]&&this[q](this[H])}handleEvent(e){let{value:t}=e.target;switch(e.type){case`input`:let e=B(t,this.alpha);this[U]=this.color,(z(e,this.alpha)||t===``)&&(this.color=e,this.dispatchEvent(new CustomEvent(`color-changed`,{bubbles:!0,detail:{value:e?`#`+e:``}})));break;case`blur`:t&&!z(t,this.alpha)&&(this.color=this[U])}}attributeChangedCallback(e,t,n){e===`color`&&this.color!==n&&(this.color=n);let r=n!=null;e===`alpha`&&this.alpha!==r&&(this.alpha=r),e===`prefixed`&&this.prefixed!==r&&(this.prefixed=r)}[G](e){let t=this.querySelector(`input`);if(!t){let n;for(;n=this.firstChild;)n.remove();t=e.querySelector(`input`)}t.addEventListener(`input`,this),t.addEventListener(`blur`,this),this[W]=t,this[q](this.color)}[q](e){this[W]&&(this[W].value=e==null||e==``?``:(this.prefixed?`#`:``)+B(e,this.alpha))}},J=class extends Se{};customElements.define(`hex-input`,J);var Y=`vvd-hex-picker`,X=`vvd-hex-input`,Ce=class extends R{static{this.displayName=`VvdHexPicker`}},we=class extends J{static{this.displayName=`VvdHexInput`}};customElements.get(Y)||customElements.define(Y,Ce),customElements.get(X)||customElements.define(X,we);var Z=Y,Q=X,$=class extends l.t(h.t(c.t(s.t(u.t(ee.t(_.t(e.t))))))){constructor(...e){super(...e),this.disableSavedColors=!1,this.savedColors=[],this.maxSwatches=6,this.copyIconName=`copy-2-line`,this._copyValueToClipboard=async e=>{try{await navigator.clipboard.writeText(e),this._setTemporaryCopyIcon(`check-circle-line`),this._ariaLiveDescription=this.locale.colorPicker.copySuccessMessage(e)}catch{alert(this.locale.colorPicker.copyErrorText),this._setTemporaryCopyIcon(`error-line`),this._ariaLiveDescription=this.locale.colorPicker.copyErrorText}},this._ariaLiveDescription=``}static{this.HEX_COLOR_PATTERN=/^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$/}placeholderChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.placeholder=this.placeholder)}handleChange(){this.$emit(`change`)}openChanged(e,t){t&&this.isConnected&&requestAnimationFrame(()=>{this._refreshCanvasColor()})}savedColorsKeyChanged(){this.savedColors=this._loadSavedColors()}get _savedColorsStorageKey(){return this.savedColorsKey?this.savedColorsKey:`vvd-saved-colors:${this.tagName.toLowerCase()}`}_handleColorSaving(){this._saveCurrentColor()}_saveCurrentColor(){let e=this.value;if(typeof e!=`string`||!_.n(e))return;let t=Array.isArray(this.savedColors)?[...this.savedColors]:[],n=t.findIndex(t=>t?.value===e);n!==-1&&t.splice(n,1),t.unshift({value:e}),this.savedColors=t.slice(0,this._maxSwatchesNormalized),this._setSavedColors(this.savedColors)}_loadSavedColors(){try{let e=localStorage.getItem(this._savedColorsStorageKey);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>e&&typeof e.value==`string`&&_.n(e.value)).map(e=>({value:e.value,label:typeof e.label==`string`?e.label:void 0})):[]}catch{return[]}}_setSavedColors(e){try{localStorage.setItem(this._savedColorsStorageKey,JSON.stringify(e))}catch{}}get allSwatches(){let e=Array.isArray(this.swatches)?this.swatches:[],t=Array.isArray(this.savedColors)?this.savedColors:[],n=new Set,r=[],i=e=>{!e||typeof e.value!=`string`||!_.n(e.value)||n.has(e.value)||(n.add(e.value),r.push(e))};return this.disableSavedColors||t.forEach(i),e.forEach(i),r.slice(0,this._maxSwatchesNormalized)}get _maxSwatchesNormalized(){return Number.isFinite(this.maxSwatches)?Math.max(0,Math.floor(this.maxSwatches)):0}maxSwatchesChanged(){let e=this._maxSwatchesNormalized;this.savedColors?.length>e&&(this.savedColors=this.savedColors.slice(0,e),this._setSavedColors(this.savedColors))}_onPickerColorChanged(e){typeof e.detail?.value==`string`&&(this.value=e.detail?.value)}valueChanged(e,t){this._vcHexPickerEl&&typeof t==`string`&&(this._vcHexPickerEl.color=t),this._vcHexInputEl&&typeof t==`string`&&(this._vcHexInputEl.color=t)}_onTextFieldInput(e){this.value=e.currentTarget.value}get _buttonColor(){return this._canvasColor||this._refreshCanvasColor(),this.value&&_.n(this.value)?this.value:`var(--vvd-color-canvas-text)`}_onButtonClick(){this.open=!this.open}_handleCloseRequest(){this.open=!1}_isInPath(e,t){if(!t)return!1;let n=e.composedPath?.();return!!(n&&n.includes(t))}#e=e=>{this._isInPath(e,this._buttonEl)||this._isInPath(e,this._popupEl)||(this.open=!1)};connectedCallback(){super.connectedCallback(),this.savedColors=this._loadSavedColors(),document.addEventListener(`mousedown`,this.#e,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`mousedown`,this.#e,!0)}#t=null;_setTemporaryCopyIcon(e,t=2e3){this.copyIconName=e,this.#t&&clearTimeout(this.#t),this.#t=setTimeout(()=>{this.copyIconName=`copy-2-line`,this.#t=null},t)}_onBaseKeydown(e){return this.open&&te.t(e)?(this.open=!1,!1):!this._trappedFocus(e,()=>this._focusableElsWithinDialog())}_focusableElsWithinDialog(){return this._popupEl.querySelectorAll(`button:not([role="gridcell"]), [data-vvd-component="button"], vwc-button:not([role="gridcell"])`)}_handleCellKeydown(e,t,n,r){if(e.key===`Tab`){e.preventDefault();let t=this._focusableElsWithinDialog(),n=Array.prototype.indexOf.call(t,e.currentTarget);return t[e.shiftKey?(n-1+t.length)%t.length:(n+1)%t.length]?.focus(),!1}return super._handleCellKeydown(e,t,n,r)}_handleSwatchSelection(e){this.value!==e&&(this._ariaLiveDescription=this.locale.colorPicker.selectionSuccessMessage(e)),super._handleSwatchSelection(e)}};o.t([e.l],$.prototype,`placeholder`,void 0),o.t([e.l({attribute:`saved-colors-key`})],$.prototype,`savedColorsKey`,void 0),o.t([e.l({mode:`boolean`,attribute:`disable-saved-colors`})],$.prototype,`disableSavedColors`,void 0),o.t([e.T],$.prototype,`savedColors`,void 0),o.t([e.l({attribute:`max-swatches`,mode:`fromView`,converter:e.u})],$.prototype,`maxSwatches`,void 0),o.t([e.T],$.prototype,`copyIconName`,void 0),o.t([e.T],$.prototype,`_ariaLiveDescription`,void 0);function Te(t,r){return e.d`
2
2
  <${t}
3
3
  id="text-field"
4
- class="${e=>s.t(`control`)}"
4
+ class="${e=>d.t(`control`)}"
5
5
  pattern="${$.HEX_COLOR_PATTERN.source}"
6
6
  maxlength="7"
7
7
  label="${e=>e.label}"
@@ -16,14 +16,14 @@ const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/repeat.cjs
16
16
  @change="${e=>e.handleChange()}"
17
17
  @blur="${e=>{e.$emit(`blur`,void 0,{bubbles:!1})}}"
18
18
  @focus="${e=>{e.$emit(`focus`,void 0,{bubbles:!1})}}"
19
- ${c.n()}
19
+ ${u.n()}
20
20
  ${n.t(`_textFieldEl`)}
21
21
  >
22
22
  <button
23
23
  aria-label="${e=>e.locale.colorPicker.pickerButtonLabel}"
24
24
  aria-expanded="${e=>e.open}"
25
25
  aria-haspopup="dialog"
26
- class="button ${e=>s.t(e._applyContrastClass(e._buttonColor)?`contrast`:``,e.disabled?`disabled`:``)}"
26
+ class="button ${e=>d.t(e._applyContrastClass(e._buttonColor)?`contrast`:``,e.disabled?`disabled`:``)}"
27
27
  style="--button-color: ${e=>e._buttonColor};"
28
28
  ?disabled="${e=>e.disabled}"
29
29
  @click="${e=>e._onButtonClick()}"
@@ -131,7 +131,7 @@ const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/repeat.cjs
131
131
  aria-label="${e=>e.locale.colorPicker.maxSwatchesMessage(e.allSwatches.length,e.maxSwatches)}"
132
132
  >${e=>`${e.allSwatches.length}/${e.maxSwatches}`}</span
133
133
  >
134
- `}var Ae=e.o(`color-picker`,$,t=>{let i=t.tagFor(m.r),o=t.tagFor(a.r),s=t.tagFor(f.i),c=t.tagFor(d.i),l=t.tagFor(h.r);return e.d`
134
+ `}var Ae=e.o(`color-picker`,$,t=>{let i=t.tagFor(g.r),o=t.tagFor(a.r),s=t.tagFor(p.i),c=t.tagFor(f.i),l=t.tagFor(m.r);return e.d`
135
135
  <div class="base" @keydown="${(e,{event:t})=>e._onBaseKeydown(t)}">
136
136
  <span aria-live="assertive" aria-relevant="text" class="visually-hidden">
137
137
  ${e=>e._ariaLiveDescription}
@@ -153,4 +153,4 @@ const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/repeat.cjs
153
153
  </div>
154
154
  </${s}>
155
155
  </div>
156
- `},[f.t,a.t,m.n,d.t,h.n,p.a],{styles:re});e.s(Ae)();
156
+ `},[p.t,a.t,g.n,f.t,m.n,h.a],{styles:ne});e.s(Ae)();
@@ -3,20 +3,20 @@ import { n as s } from "../bundled/repeat.js";
3
3
  import { t as c } from "../bundled/ref.js";
4
4
  import { t as l } from "../bundled/when.js";
5
5
  import { t as u } from "../bundled/slotted.js";
6
- import { r as ee, t as d } from "../bundled/definition2.js";
7
- import { t as f } from "../bundled/decorate.js";
6
+ import { r as ee, t as te } from "../bundled/definition2.js";
7
+ import { t as d } from "../bundled/decorate.js";
8
+ import { t as f } from "../bundled/with-success-text.js";
9
+ import { t as ne } from "../bundled/with-error-text.js";
10
+ import { t as re } from "../bundled/with-contextual-help.js";
11
+ import { t as ie } from "../bundled/trapped-focus.js";
12
+ import { n as ae, t as oe } from "../bundled/delegates-aria.js";
8
13
  import { t as p } from "../bundled/class-names.js";
9
- import { n as te, t as ne } from "../bundled/delegates-aria.js";
10
- import { t as re } from "../bundled/with-success-text.js";
11
- import { t as ie } from "../bundled/with-error-text.js";
12
- import { t as ae } from "../bundled/with-contextual-help.js";
13
- import { t as oe } from "../bundled/trapped-focus.js";
14
14
  import { i as m, t as se } from "../bundled/definition6.js";
15
- import { t as ce } from "../bundled/dialog.js";
16
- import { i as le, t as ue } from "../bundled/definition8.js";
17
- import { a as de, t as fe } from "../bundled/mixins.js";
18
- import { n as pe, r as me } from "../bundled/definition15.js";
19
- import { n as he, r as ge } from "../bundled/definition18.js";
15
+ import { i as ce, t as le } from "../bundled/definition8.js";
16
+ import { n as ue, r as de } from "../bundled/definition9.js";
17
+ import { t as fe } from "../bundled/dialog.js";
18
+ import { a as pe, t as me } from "../bundled/mixins.js";
19
+ import { n as he, r as ge } from "../bundled/definition12.js";
20
20
  import { n as h, t as _e } from "../bundled/base-color-picker.js";
21
21
  //#region src/lib/color-picker/color-picker.scss?inline
22
22
  var ve = ".palette{grid-template-columns:repeat(var(--swatches-per-row,7), var(--_color-swatch-size,24px));display:grid}.swatch{background-color:var(--swatch-color);block-size:var(--_color-swatch-size,24px);color:var(--vvd-color-canvas);cursor:pointer;inline-size:var(--_color-swatch-size,24px);border-radius:4px;padding:0;position:relative}.swatch:not(.contrast){border:none}.swatch.contrast{border:1px solid var(--vvd-color-neutral-400);color:var(--vvd-color-canvas-text)}.swatch: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:none;outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;--focus-inset:-3px}:host{--_low-ink-color:var(--vvd-color-neutral-600);display:inline-block}.base{min-inline-size:var(--_color-picker-min-inline-size,280px);display:inline-block}.control{inline-size:100%}.button{box-sizing:border-box;background-color:var(--button-color,var(--vvd-color-canvas-text));block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));color:var(--vvd-color-canvas);inline-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));padding-inline:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 4);vertical-align:middle;border:0;border-radius:4px;align-items:center;margin:0;text-decoration:none;display:inline-flex}.button.contrast{color:var(--vvd-color-canvas-text)}.button:not(.disabled){cursor:pointer}.button.disabled{background-color:var(--vvd-color-neutral-300);color:var(--vvd-color-neutral-500);cursor:not-allowed}.button:focus-visible{--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))}.button [data-vvd-component=icon]{font-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 2);line-height:1}.dialog{min-inline-size:var(--_color-picker-popup-min-inline-size,264px);flex-direction:column;display:flex}.dialog .header{justify-content:space-between;align-items:center;padding-block:8px;padding-inline:16px;display:inline-flex}.dialog .header-title{font:var(--vvd-typography-base-extended-bold);margin-block:0}.dialog .body{flex-direction:column;gap:16px;margin-block-end:16px;padding-inline:16px;display:flex}.dialog .hex-input-wrapper{align-items:stretch;gap:8px;display:flex}.dialog .hex-input-wrapper [data-vvd-component=button]{flex:none}.dialog .footer{border-top:1px solid var(--vvd-color-neutral-200);padding:16px}.dialog .footer-header{margin-block-end:8px}.dialog .swatches-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.dialog .palette{gap:var(--_color-swatches-gap,8px)}vvd-hex-input{flex:auto;min-width:0}vvd-hex-input::part(input),vvd-hex-input>input{box-sizing:border-box;background-color:var(--vvd-color-canvas);width:100%;height:100%;box-shadow:inset 0 0 0 1px var(--vvd-color-neutral-500);font:var(--vvd-typography-base);padding-inline:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);border:0;border-radius:8px;outline:#0000}vvd-hex-input::part(input):focus-visible,vvd-hex-input>input:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent}vvd-hex-picker{width:auto;height:auto;gap:16px;inline-size:100%}vvd-hex-picker::part(saturation){border-radius:8px;block-size:120px}vvd-hex-picker::part(hue){border-radius:8px;flex:0 0 8px}vvd-hex-picker::part(hue-pointer){width:10px;height:10px}vvd-hex-picker::part(saturation-pointer){width:18px;height:18px}::part(popup-base){inline-size:max-content;min-block-size:var(--_color-picker-popup-min-inline-size,264px);min-inline-size:var(--_color-picker-popup-min-inline-size,264px)}.visually-hidden{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}", g = (e, t = 0, n = 1) => e > n ? n : e < t ? t : e, _ = (e, t = 0, n = 10 ** t) => Math.round(n * e) / n;
@@ -353,7 +353,7 @@ var Y = "vvd-hex-picker", X = "vvd-hex-input", Le = class extends R {
353
353
  };
354
354
  /* v8 ignore if -- @preserve */
355
355
  customElements.get(Y) || customElements.define(Y, Le), customElements.get(X) || customElements.define(X, Re);
356
- var Z = Y, Q = X, $ = class extends ae(fe(ie(re(ne(oe(_e(a))))))) {
356
+ var Z = Y, Q = X, $ = class extends re(me(ne(f(oe(ie(_e(a))))))) {
357
357
  constructor(...e) {
358
358
  super(...e), this.disableSavedColors = !1, this.savedColors = [], this.maxSwatches = 6, this.copyIconName = "copy-2-line", this._copyValueToClipboard = async (e) => {
359
359
  try {
@@ -463,7 +463,7 @@ var Z = Y, Q = X, $ = class extends ae(fe(ie(re(ne(oe(_e(a))))))) {
463
463
  }, t);
464
464
  }
465
465
  _onBaseKeydown(e) {
466
- return this.open && ce(e) ? (this.open = !1, !1) : !this._trappedFocus(e, () => this._focusableElsWithinDialog());
466
+ return this.open && fe(e) ? (this.open = !1, !1) : !this._trappedFocus(e, () => this._focusableElsWithinDialog());
467
467
  }
468
468
  _focusableElsWithinDialog() {
469
469
  return this._popupEl.querySelectorAll("button:not([role=\"gridcell\"]), [data-vvd-component=\"button\"], vwc-button:not([role=\"gridcell\"])");
@@ -480,14 +480,14 @@ var Z = Y, Q = X, $ = class extends ae(fe(ie(re(ne(oe(_e(a))))))) {
480
480
  this.value !== e && (this._ariaLiveDescription = this.locale.colorPicker.selectionSuccessMessage(e)), super._handleSwatchSelection(e);
481
481
  }
482
482
  };
483
- f([n], $.prototype, "placeholder", void 0), f([n({ attribute: "saved-colors-key" })], $.prototype, "savedColorsKey", void 0), f([n({
483
+ d([n], $.prototype, "placeholder", void 0), d([n({ attribute: "saved-colors-key" })], $.prototype, "savedColorsKey", void 0), d([n({
484
484
  mode: "boolean",
485
485
  attribute: "disable-saved-colors"
486
- })], $.prototype, "disableSavedColors", void 0), f([e], $.prototype, "savedColors", void 0), f([n({
486
+ })], $.prototype, "disableSavedColors", void 0), d([e], $.prototype, "savedColors", void 0), d([n({
487
487
  attribute: "max-swatches",
488
488
  mode: "fromView",
489
489
  converter: o
490
- })], $.prototype, "maxSwatches", void 0), f([e], $.prototype, "copyIconName", void 0), f([e], $.prototype, "_ariaLiveDescription", void 0);
490
+ })], $.prototype, "maxSwatches", void 0), d([e], $.prototype, "copyIconName", void 0), d([e], $.prototype, "_ariaLiveDescription", void 0);
491
491
  //#endregion
492
492
  //#region src/lib/color-picker/color-picker.template.ts
493
493
  function ze(e, n) {
@@ -513,7 +513,7 @@ function ze(e, n) {
513
513
  @focus="${(e) => {
514
514
  e.$emit("focus", void 0, { bubbles: !1 });
515
515
  }}"
516
- ${te()}
516
+ ${ae()}
517
517
  ${c("_textFieldEl")}
518
518
  >
519
519
  <button
@@ -645,7 +645,7 @@ function Ue() {
645
645
  //#endregion
646
646
  //#region src/lib/color-picker/index.ts
647
647
  i(r("color-picker", $, (e) => {
648
- let n = e.tagFor(me), r = e.tagFor(ee), i = e.tagFor(le), a = e.tagFor(m), o = e.tagFor(ge);
648
+ let n = e.tagFor(ge), r = e.tagFor(ee), i = e.tagFor(ce), a = e.tagFor(m), o = e.tagFor(de);
649
649
  return t`
650
650
  <div class="base" @keydown="${(e, { event: t }) => e._onBaseKeydown(t)}">
651
651
  <span aria-live="assertive" aria-relevant="text" class="visually-hidden">
@@ -670,11 +670,11 @@ i(r("color-picker", $, (e) => {
670
670
  </div>
671
671
  `;
672
672
  }, [
673
- ue,
674
- d,
675
- pe,
676
- se,
673
+ le,
674
+ te,
677
675
  he,
678
- de
676
+ se,
677
+ ue,
678
+ pe
679
679
  ], { styles: ve }))();
680
680
  //#endregion
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../unbundled/definition2.cjs");
3
- const require_definition$1 = require("../unbundled/definition28.cjs");
3
+ const require_definition$1 = require("../unbundled/definition30.cjs");
4
4
  exports.VwcComboboxElement = require_definition$1.Combobox;
5
5
  exports.comboboxDefinition = require_definition$1.comboboxDefinition;
6
6
  exports.registerCombobox = require_definition$1.registerCombobox;
@@ -1,3 +1,3 @@
1
1
  import "../unbundled/definition2.js";
2
- import { n as registerCombobox, r as Combobox, t as comboboxDefinition } from "../unbundled/definition28.js";
2
+ import { n as registerCombobox, r as Combobox, t as comboboxDefinition } from "../unbundled/definition30.js";
3
3
  export { Combobox as VwcComboboxElement, comboboxDefinition, registerCombobox };
@@ -1,6 +1,6 @@
1
- const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/ref.cjs`),n=require(`../bundled/when.cjs`),r=require(`../bundled/slotted.cjs`),i=require(`../bundled/definition2.cjs`),a=require(`../bundled/decorate.cjs`),o=require(`../bundled/listbox.cjs`),s=require(`../bundled/class-names.cjs`),c=require(`../bundled/numbers.cjs`),l=require(`../bundled/strings.cjs`),u=require(`../bundled/affix.cjs`),d=require(`../bundled/form-associated.cjs`),f=require(`../bundled/form-element.cjs`),p=require(`../bundled/with-success-text.cjs`),m=require(`../bundled/with-error-text.cjs`),h=require(`../bundled/with-contextual-help.cjs`),g=require(`../bundled/definition6.cjs`),_=require(`../bundled/dialog.cjs`),v=require(`../bundled/definition8.cjs`),y=require(`../bundled/mixins.cjs`),b=require(`../bundled/definition12.cjs`),x=require(`../bundled/text-field.cjs`);var S=`.label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}.chevron{font:var(--vvd-typography-base-extended);flex-shrink:0;transition:transform .2s;display:flex;transform:rotate(0)}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host{--_low-ink-color:var(--vvd-color-neutral-600);flex-direction:column;gap:4px;display:inline-flex;position:relative}:host([disabled]){--_low-ink-color:var(--vvd-color-neutral-400);cursor:not-allowed}.base{--_text-field-gutter-end:8px;--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.base:disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base:disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-neutral-200);--_appearance-color-outline:var(--vvd-color-neutral-400)}.base.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.error:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:var(--vvd-color-alert-500)}.base.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:transparent}.base.success:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:var(--vvd-color-success-500)}.base.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:transparent}.base:not(.shape-pill) .base{border-radius:var(--_text-field-border-radius)}.base.shape-pill .base{border-radius:var(--_text-field-pill-border-radius)}.base slot[name=icon]{z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);pointer-events:none;line-height:1;display:inline-block;position:absolute;inset-block-start:50%;inset-inline-start:var(--_text-field-gutter-start);transform:translateY(-50%)}.base.has-meta{padding-inline-end:16px}.control{text-overflow:ellipsis;white-space:nowrap}.fieldset .leading-items-wrapper{flex-shrink:0;align-items:center;gap:8px;padding-inline-end:16px;display:flex;position:relative}.listbox{max-height:var(--combobox-height,408px);contain:paint;border-radius:8px;flex-direction:column;gap:2px;padding:4px;display:flex;overflow-y:auto}::part(popup-base){inline-size:max-content;min-inline-size:var(--_combobox-fixed-width,100%)}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.control:focus-within):after{--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))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .fieldset:focus-within:after{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;z-index:1;border-radius:inherit;content:"";pointer-events:none;display:block;position:absolute;inset:0}}::slotted([data-vvd-component=option][current-selected]){box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;border-radius:8px}`,C={inline:`inline`,list:`list`,both:`both`,none:`none`},w=class extends h.t(y.t(m.t(p.t(f.t(u.t(d.n(o.t))))))){constructor(...e){super(...e),this.filteredOptions=[],this.filter=``,this.fixedDropdown=!1,this.listboxId=l.t(`listbox-`),this.maxHeight=0,this.open=!1,this.proxy=document.createElement(`input`)}formResetCallback(){super.formResetCallback(),this.selectedIndex=this._newDefaultSelectedIndex([],this.options,-1)??-1,this.value=this.firstSelectedOption?.text||``}validate(){super.validate(this.control)}get isAutocompleteInline(){return this.autocomplete===C.inline||this.isAutocompleteBoth}get isAutocompleteList(){return this.autocomplete===C.list||this.isAutocompleteBoth}get isAutocompleteBoth(){return this.autocomplete===C.both}openChanged(){this.open&&this.enqueueScrollSelectedOptionIntoViewIfNeeded()}get options(){return e.w.track(this,`options`),this.filteredOptions.length?this.filteredOptions:this._options}set options(e){super.options=e}placeholderChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.placeholder=this.placeholder)}valueChanged(e,t){if(this.$fastController.isConnected&&this.options){let e=this.options.findIndex(e=>e.text.toLowerCase()===t.toLowerCase());this.selectedIndex=this.options[this.selectedIndex]?.text===this.options[e]?.text?this.selectedIndex:e}super.valueChanged(e,t)}clickHandler(e){if(!(this.disabled||this._isFromContextualHelp(e))){if(this.open){let t=e.target.closest(`option,[role=option],[data-vvd-component=option]`);if(!t||t.disabled)return;this.selectedOptions=[t],this.control.value=t.text,this.clearSelectionRange(),this.updateValue(!0)}return this.open=!this.open,this.open&&this.control.focus(),!0}}_chevronIconClickHandler(e){this.open&&=(e.stopPropagation(),!1)}connectedCallback(){super.connectedCallback(),this.value&&(this.initialValue=this.value),this._popup.anchor=this._anchor}filterOptions(){(!this.autocomplete||this.autocomplete===C.none)&&(this.filter=``),this.filteredOptions=this._options.filter(e=>e.text.toLowerCase().startsWith(this.filter.toLowerCase())),this.isAutocompleteList&&this._options.forEach(e=>{e.hidden=!this.filteredOptions.includes(e)})}focusAndScrollOptionIntoView(){this.contains(document.activeElement)&&(this.control.focus(),this.enqueueScrollSelectedOptionIntoViewIfNeeded())}enqueueScrollSelectedOptionIntoViewIfNeeded(){let e=this.firstSelectedOption;e&&requestAnimationFrame(()=>{e.scrollIntoView({block:`nearest`})})}focusoutHandler(e){if(this.syncValue(),!this.open)return!0;let t=e.relatedTarget;if(this.isSameNode(t)){this.focus();return}this.open=!1}inputHandler(e){if(this.filter=this.control.value,this.filterOptions(),this.isAutocompleteInline||(this.selectedIndex=this.options.map(e=>e.text).indexOf(this.control.value)),e.inputType.includes(`deleteContent`)||!this.filter.length)return!0;this.isAutocompleteList&&!this.open&&(this.open=!0),this.isAutocompleteInline&&(this.filteredOptions.length?(this.selectedOptions=[this.filteredOptions[0]],this.selectedIndex=this.options.indexOf(this.firstSelectedOption),this.setInlineSelection()):this.selectedIndex=-1)}keydownHandler(e){let t=e.key;if(e.ctrlKey||e.shiftKey)return!0;switch(t){case`Enter`:this.syncValue(),this.isAutocompleteInline&&(this.filter=this.value),this.open=!1,this.clearSelectionRange();break;case`Escape`:if(this.isAutocompleteInline||(this.selectedIndex=-1),this.open){this.open=!1;break}this.value=``,this.control.value=``,this.filter=``,this.filterOptions();break;case`Tab`:if(this.setInputToSelection(),!this.open)return!0;e.preventDefault(),this.open=!1;break;case`ArrowUp`:case`ArrowDown`:if(this.filterOptions(),!this.open){this.open=!0;break}this.filteredOptions.length>0&&super.keydownHandler(e),this.isAutocompleteInline&&this.setInlineSelection();break;default:return!0}}selectedIndexChanged(e,t){if(this.$fastController.isConnected){if(t=c.n(-1,this.options.length-1,t),t!==this.selectedIndex){this.selectedIndex=t;return}super.selectedIndexChanged(e,t)}}selectPreviousOption(){!this.disabled&&this.selectedIndex>=0&&--this.selectedIndex}_isDefaultSelected(e){return super._isDefaultSelected(e)||e.text!==``&&e.text===this.initialValue}setInputToSelection(){this.firstSelectedOption&&(this.control.value=this.firstSelectedOption.text,this.control.focus())}setInlineSelection(){this.firstSelectedOption&&(this.setInputToSelection(),this.control.setSelectionRange(this.filter.length,this.control.value.length,`backward`))}syncValue(){let e=this.firstSelectedOption?.text??this.control.value;this.updateValue(this.value!==e)}selectedOptionsChanged(e,t){this.$fastController.isConnected&&this._options.forEach(e=>{e.selected=t.includes(e)})}slottedOptionsChanged(e,t){super.slottedOptionsChanged(e,t),this.updateValue();let n=this.getAttribute(`scale`)||this.scale;t.forEach(e=>{n&&(e.setAttribute(`scale`,n),e.scale=n)})}updateValue(e){this.$fastController.isConnected&&(this.value=this.firstSelectedOption?.text||this.control.value),e&&this.$emit(`change`)}clearSelectionRange(){let e=this.control.value.length;this.control.setSelectionRange(e,e)}};a.t([e.l({attribute:`autocomplete`,mode:`fromView`})],w.prototype,`autocomplete`,void 0),a.t([e.l],w.prototype,`appearance`,void 0),a.t([e.l],w.prototype,`shape`,void 0),a.t([e.l()],w.prototype,`scale`,void 0),a.t([e.l],w.prototype,`placement`,void 0),a.t([e.l({mode:`boolean`,attribute:`fixed-dropdown`})],w.prototype,`fixedDropdown`,void 0),a.t([e.T],w.prototype,`metaSlottedContent`,void 0),a.t([e.T],w.prototype,`maxHeight`,void 0),a.t([e.l({attribute:`open`,mode:`boolean`})],w.prototype,`open`,void 0),a.t([e.l],w.prototype,`placeholder`,void 0);var T=({icon:e,iconSlottedContent:t,metaSlottedContent:n,errorValidationMessage:r,successText:i,shape:a,scale:o,disabled:c,placeholder:l,label:u,appearance:d,open:f,_activeDescendant:p})=>s.t(`base`,[`disabled`,c],[`shape-${a}`,!!a],[`size-${o}`,!!o],[`placeholder`,!!l],[`appearance-${d}`,!!d],[`no-label`,!u],[`has-icon`,!!e||!!t?.length],[`has-meta`,!!n?.length],[`has-activedescendant`,!!p&&f],[`error`,!!r],[`success`,!!i]);function E(){return e.d` <label for="control" class="label">
1
+ const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/ref.cjs`),n=require(`../bundled/when.cjs`),r=require(`../bundled/slotted.cjs`),i=require(`../bundled/definition2.cjs`),a=require(`../bundled/decorate.cjs`),o=require(`../bundled/affix.cjs`),s=require(`../bundled/form-element.cjs`),c=require(`../bundled/with-success-text.cjs`),l=require(`../bundled/with-error-text.cjs`),u=require(`../bundled/with-contextual-help.cjs`),d=require(`../bundled/listbox.cjs`),f=require(`../bundled/class-names.cjs`),p=require(`../bundled/numbers.cjs`),m=require(`../bundled/strings.cjs`),h=require(`../bundled/form-associated.cjs`),g=require(`../bundled/definition6.cjs`),_=require(`../bundled/definition8.cjs`),v=require(`../bundled/dialog.cjs`),y=require(`../bundled/mixins.cjs`),b=require(`../bundled/text-field.cjs`),x=require(`../bundled/definition17.cjs`);var S=`.label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}.chevron{font:var(--vvd-typography-base-extended);flex-shrink:0;transition:transform .2s;display:flex;transform:rotate(0)}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host{--_low-ink-color:var(--vvd-color-neutral-600);flex-direction:column;gap:4px;display:inline-flex;position:relative}:host([disabled]){--_low-ink-color:var(--vvd-color-neutral-400);cursor:not-allowed}.base{--_text-field-gutter-end:8px;--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.base:disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base:disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-neutral-200);--_appearance-color-outline:var(--vvd-color-neutral-400)}.base.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.error:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:var(--vvd-color-alert-500)}.base.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:transparent}.base.success:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:var(--vvd-color-success-500)}.base.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:transparent}.base:not(.shape-pill) .base{border-radius:var(--_text-field-border-radius)}.base.shape-pill .base{border-radius:var(--_text-field-pill-border-radius)}.base slot[name=icon]{z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);pointer-events:none;line-height:1;display:inline-block;position:absolute;inset-block-start:50%;inset-inline-start:var(--_text-field-gutter-start);transform:translateY(-50%)}.base.has-meta{padding-inline-end:16px}.control{text-overflow:ellipsis;white-space:nowrap}.fieldset .leading-items-wrapper{flex-shrink:0;align-items:center;gap:8px;padding-inline-end:16px;display:flex;position:relative}.listbox{max-height:var(--combobox-height,408px);contain:paint;border-radius:8px;flex-direction:column;gap:2px;padding:4px;display:flex;overflow-y:auto}::part(popup-base){inline-size:max-content;min-inline-size:var(--_combobox-fixed-width,100%)}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.control:focus-within):after{--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))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .fieldset:focus-within:after{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;z-index:1;border-radius:inherit;content:"";pointer-events:none;display:block;position:absolute;inset:0}}::slotted([data-vvd-component=option][current-selected]){border-radius:8px}:host(.has-activedescendant) ::slotted([data-vvd-component=option][current-selected]){box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent}`,C={inline:`inline`,list:`list`,both:`both`,none:`none`},w=class extends u.t(y.t(l.t(c.t(s.t(o.t(h.n(d.t))))))){constructor(...e){super(...e),this.filteredOptions=[],this.filter=``,this._isNavigatingWithKeyboard=!1,this.fixedDropdown=!1,this.listboxId=m.t(`listbox-`),this.maxHeight=0,this.open=!1,this.proxy=document.createElement(`input`)}formResetCallback(){super.formResetCallback(),this.selectedIndex=this._newDefaultSelectedIndex([],this.options,-1)??-1,this.value=this.firstSelectedOption?.text||``}validate(){super.validate(this.control)}get isAutocompleteInline(){return this.autocomplete===C.inline||this.isAutocompleteBoth}get isAutocompleteList(){return this.autocomplete===C.list||this.isAutocompleteBoth}get isAutocompleteBoth(){return this.autocomplete===C.both}openChanged(){this.open&&this.enqueueScrollSelectedOptionIntoViewIfNeeded()}get options(){return e.w.track(this,`options`),this.filteredOptions.length?this.filteredOptions:this._options}set options(e){super.options=e}placeholderChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.placeholder=this.placeholder)}valueChanged(e,t){if(this.$fastController.isConnected&&this.options){let e=this.options.findIndex(e=>e.text.toLowerCase()===t.toLowerCase());this.selectedIndex=this.options[this.selectedIndex]?.text===this.options[e]?.text?this.selectedIndex:e}super.valueChanged(e,t)}clickHandler(e){if(!(this.disabled||this._isFromContextualHelp(e))){if(this.open){let t=e.target.closest(`option,[role=option],[data-vvd-component=option]`);if(!t||t.disabled)return;this.selectedOptions=[t],this.control.value=t.text,this.clearSelectionRange(),this.updateValue(!0)}return this.open=!this.open,this.open&&this.control.focus(),!0}}_chevronIconClickHandler(e){this.open&&=(e.stopPropagation(),!1)}connectedCallback(){super.connectedCallback(),this.value&&(this.initialValue=this.value),this._popup.anchor=this._anchor}filterOptions(){(!this.autocomplete||this.autocomplete===C.none)&&(this.filter=``),this.filteredOptions=this._options.filter(e=>e.text.toLowerCase().startsWith(this.filter.toLowerCase())),this.isAutocompleteList&&this._options.forEach(e=>{e.hidden=!this.filteredOptions.includes(e)})}focusAndScrollOptionIntoView(){this.contains(document.activeElement)&&(this.control.focus(),this.enqueueScrollSelectedOptionIntoViewIfNeeded())}enqueueScrollSelectedOptionIntoViewIfNeeded(){let e=this.firstSelectedOption;e&&requestAnimationFrame(()=>{e.scrollIntoView({block:`nearest`})})}focusoutHandler(e){if(this.syncValue(),!this.open)return!0;let t=e.relatedTarget;if(this.isSameNode(t)){this.focus();return}this.open=!1}inputHandler(e){if(this.filter=this.control.value,this.filterOptions(),this.isAutocompleteInline||(this.selectedIndex=this.options.map(e=>e.text).indexOf(this.control.value)),e.inputType.includes(`deleteContent`)||!this.filter.length)return!0;this.isAutocompleteList&&!this.open&&(this.open=!0),this.isAutocompleteInline&&(this.filteredOptions.length?(this.selectedOptions=[this.filteredOptions[0]],this.selectedIndex=this.options.indexOf(this.firstSelectedOption),this.setInlineSelection()):this.selectedIndex=-1)}keydownHandler(e){let t=e.key;if(e.ctrlKey||e.shiftKey)return!0;switch(t){case`Enter`:this.syncValue(),this.isAutocompleteInline&&(this.filter=this.value),this.open=!1,this.clearSelectionRange();break;case`Escape`:if(this.isAutocompleteInline||(this.selectedIndex=-1),this.open){this.open=!1;break}this.value=``,this.control.value=``,this.filter=``,this.filterOptions();break;case`Tab`:if(this.setInputToSelection(),!this.open)return!0;e.preventDefault(),this.open=!1;break;case`ArrowUp`:case`ArrowDown`:if(this.filterOptions(),!this.open){this.open=!0;break}this.filteredOptions.length>0&&(this._isNavigatingWithKeyboard=!0,super.keydownHandler(e),this._isNavigatingWithKeyboard=!1),this.isAutocompleteInline&&this.setInlineSelection();break;default:return!0}}setSelectedOptions(){super.setSelectedOptions(),this._isNavigatingWithKeyboard||(this._activeDescendant=``)}selectedIndexChanged(e,t){if(this.$fastController.isConnected){if(t=p.n(-1,this.options.length-1,t),t!==this.selectedIndex){this.selectedIndex=t;return}super.selectedIndexChanged(e,t)}}selectPreviousOption(){!this.disabled&&this.selectedIndex>=0&&--this.selectedIndex}_isDefaultSelected(e){return super._isDefaultSelected(e)||e.text!==``&&e.text===this.initialValue}setInputToSelection(){this.firstSelectedOption&&(this.control.value=this.firstSelectedOption.text,this.control.focus())}setInlineSelection(){this.firstSelectedOption&&(this.setInputToSelection(),this.control.setSelectionRange(this.filter.length,this.control.value.length,`backward`))}syncValue(){let e=this.firstSelectedOption?.text??this.control.value;this.updateValue(this.value!==e)}selectedOptionsChanged(e,t){this.$fastController.isConnected&&this._options.forEach(e=>{e.selected=t.includes(e)})}slottedOptionsChanged(e,t){super.slottedOptionsChanged(e,t),this.updateValue();let n=this.getAttribute(`scale`)||this.scale;t.forEach(e=>{n&&(e.setAttribute(`scale`,n),e.scale=n)})}updateValue(e){this.$fastController.isConnected&&(this.value=this.firstSelectedOption?.text||this.control.value),e&&this.$emit(`change`)}clearSelectionRange(){let e=this.control.value.length;this.control.setSelectionRange(e,e)}};a.t([e.l({attribute:`autocomplete`,mode:`fromView`})],w.prototype,`autocomplete`,void 0),a.t([e.l],w.prototype,`appearance`,void 0),a.t([e.l],w.prototype,`shape`,void 0),a.t([e.l()],w.prototype,`scale`,void 0),a.t([e.l],w.prototype,`placement`,void 0),a.t([e.l({mode:`boolean`,attribute:`fixed-dropdown`})],w.prototype,`fixedDropdown`,void 0),a.t([e.T],w.prototype,`metaSlottedContent`,void 0),a.t([e.T],w.prototype,`maxHeight`,void 0),a.t([e.l({attribute:`open`,mode:`boolean`})],w.prototype,`open`,void 0),a.t([e.l],w.prototype,`placeholder`,void 0);var T=({icon:e,iconSlottedContent:t,metaSlottedContent:n,errorValidationMessage:r,successText:i,shape:a,scale:o,disabled:s,placeholder:c,label:l,appearance:u,open:d,_activeDescendant:p})=>f.t(`base`,[`disabled`,s],[`shape-${a}`,!!a],[`size-${o}`,!!o],[`placeholder`,!!c],[`appearance-${u}`,!!u],[`no-label`,!l],[`has-icon`,!!e||!!t?.length],[`has-meta`,!!n?.length],[`has-activedescendant`,!!p&&d],[`error`,!!r],[`success`,!!i]);function E(){return e.d` <label for="control" class="label">
2
2
  ${e=>e.label}
3
- </label>`}function D(e){return e.open&&e.fixedDropdown?`--_combobox-fixed-width: ${Math.round(e.getBoundingClientRect().width)}px`:null}function O(i){let a=u.a(i),o=g.r(i);return e.d` <div class="${T}" ${t.t(`_anchor`)}>
3
+ </label>`}function D(e){return e.open&&e.fixedDropdown?`--_combobox-fixed-width: ${Math.round(e.getBoundingClientRect().width)}px`:null}function O(i){let a=o.a(i),s=g.r(i);return e.d` <div class="${T}" ${t.t(`_anchor`)}>
4
4
  <div
5
5
  class="label-wrapper"
6
6
  ?hidden=${e=>!e.label&&!e._hasContextualHelp}
@@ -12,7 +12,7 @@ const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/ref.cjs`),
12
12
  ></slot>
13
13
  </div>
14
14
  <div class="fieldset">
15
- ${e=>a(e.icon,u.i.Slot)}
15
+ ${e=>a(e.icon,o.i.Slot)}
16
16
  <div class="wrapper">
17
17
  <input
18
18
  id="control"
@@ -38,16 +38,17 @@ const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/ref.cjs`),
38
38
  <div
39
39
  @click="${(e,t)=>e._chevronIconClickHandler(t.event)}"
40
40
  >
41
- ${o}
41
+ ${s}
42
42
  </div>
43
43
  </div>
44
44
  </div>
45
- </div>`}var k=e.o(`combobox`,w,n=>{let i=n.tagFor(v.i);return e.d`
45
+ </div>`}var k=e.o(`combobox`,w,n=>{let i=n.tagFor(_.i);return e.d`
46
46
  <template
47
47
  tabindex="${e=>e.disabled?null:`0`}"
48
+ class="${e=>f.t([`has-activedescendant`,!!e._activeDescendant&&e.open])}"
48
49
  @click="${(e,t)=>e.clickHandler(t.event)}"
49
50
  @focusout="${(e,t)=>e.focusoutHandler(t.event)}"
50
- @keydown="${(e,{event:t})=>(e.open&&_.t(t),e.keydownHandler(t))}"
51
+ @keydown="${(e,{event:t})=>(e.open&&v.t(t),e.keydownHandler(t))}"
51
52
  >
52
53
  <div class="control-wrapper">
53
54
  ${()=>O(n)}
@@ -62,7 +63,7 @@ const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/ref.cjs`),
62
63
  role="listbox"
63
64
  ?disabled="${e=>e.disabled}"
64
65
  ${t.t(`listbox`)}>
65
- <slot ${r.t({filter:o.t.slottedOptionFilter,flatten:!0,property:`slottedOptions`})}>
66
+ <slot ${r.t({filter:d.t.slottedOptionFilter,flatten:!0,property:`slottedOptions`})}>
66
67
  </slot>
67
68
  </div>
68
69
  </${i}>
@@ -71,4 +72,4 @@ const e=require(`../bundled/vivid-element.cjs`),t=require(`../bundled/ref.cjs`),
71
72
  ${e=>e._getFeedbackTemplate(n)}
72
73
  </div>
73
74
  </template>
74
- `},[i.t,v.t,b.t,y.a],{styles:[x.t,S],shadowOptions:{delegatesFocus:!0}});e.s(k)();
75
+ `},[i.t,_.t,x.t,y.a],{styles:[b.t,S],shadowOptions:{delegatesFocus:!0}});e.s(k)();
package/combobox/index.js CHANGED
@@ -4,31 +4,31 @@ import { t as s } from "../bundled/when.js";
4
4
  import { t as c } from "../bundled/slotted.js";
5
5
  import { t as l } from "../bundled/definition2.js";
6
6
  import { t as u } from "../bundled/decorate.js";
7
- import { t as d } from "../bundled/listbox.js";
8
- import { t as f } from "../bundled/class-names.js";
9
- import { n as p } from "../bundled/numbers.js";
10
- import { t as m } from "../bundled/strings.js";
11
- import { a as h, i as g, t as _ } from "../bundled/affix.js";
12
- import { n as v } from "../bundled/form-associated.js";
13
- import { t as y } from "../bundled/form-element.js";
14
- import { t as b } from "../bundled/with-success-text.js";
15
- import { t as x } from "../bundled/with-error-text.js";
16
- import { t as S } from "../bundled/with-contextual-help.js";
7
+ import { a as d, i as f, t as p } from "../bundled/affix.js";
8
+ import { t as m } from "../bundled/form-element.js";
9
+ import { t as h } from "../bundled/with-success-text.js";
10
+ import { t as g } from "../bundled/with-error-text.js";
11
+ import { t as _ } from "../bundled/with-contextual-help.js";
12
+ import { t as v } from "../bundled/listbox.js";
13
+ import { t as y } from "../bundled/class-names.js";
14
+ import { n as b } from "../bundled/numbers.js";
15
+ import { t as x } from "../bundled/strings.js";
16
+ import { n as S } from "../bundled/form-associated.js";
17
17
  import { r as C } from "../bundled/definition6.js";
18
- import { t as w } from "../bundled/dialog.js";
19
- import { i as T, t as E } from "../bundled/definition8.js";
18
+ import { i as w, t as T } from "../bundled/definition8.js";
19
+ import { t as E } from "../bundled/dialog.js";
20
20
  import { a as D, t as O } from "../bundled/mixins.js";
21
- import { t as k } from "../bundled/definition12.js";
22
- import { t as A } from "../bundled/text-field.js";
21
+ import { t as k } from "../bundled/text-field.js";
22
+ import { t as A } from "../bundled/definition17.js";
23
23
  //#region src/lib/combobox/combobox.scss?inline
24
- var j = ".label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}.chevron{font:var(--vvd-typography-base-extended);flex-shrink:0;transition:transform .2s;display:flex;transform:rotate(0)}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host{--_low-ink-color:var(--vvd-color-neutral-600);flex-direction:column;gap:4px;display:inline-flex;position:relative}:host([disabled]){--_low-ink-color:var(--vvd-color-neutral-400);cursor:not-allowed}.base{--_text-field-gutter-end:8px;--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.base:disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base:disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-neutral-200);--_appearance-color-outline:var(--vvd-color-neutral-400)}.base.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.error:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:var(--vvd-color-alert-500)}.base.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:transparent}.base.success:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:var(--vvd-color-success-500)}.base.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:transparent}.base:not(.shape-pill) .base{border-radius:var(--_text-field-border-radius)}.base.shape-pill .base{border-radius:var(--_text-field-pill-border-radius)}.base slot[name=icon]{z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);pointer-events:none;line-height:1;display:inline-block;position:absolute;inset-block-start:50%;inset-inline-start:var(--_text-field-gutter-start);transform:translateY(-50%)}.base.has-meta{padding-inline-end:16px}.control{text-overflow:ellipsis;white-space:nowrap}.fieldset .leading-items-wrapper{flex-shrink:0;align-items:center;gap:8px;padding-inline-end:16px;display:flex;position:relative}.listbox{max-height:var(--combobox-height,408px);contain:paint;border-radius:8px;flex-direction:column;gap:2px;padding:4px;display:flex;overflow-y:auto}::part(popup-base){inline-size:max-content;min-inline-size:var(--_combobox-fixed-width,100%)}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.control:focus-within):after{--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))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .fieldset:focus-within:after{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;z-index:1;border-radius:inherit;content:\"\";pointer-events:none;display:block;position:absolute;inset:0}}::slotted([data-vvd-component=option][current-selected]){box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;border-radius:8px}", M = {
24
+ var j = ".label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}.chevron{font:var(--vvd-typography-base-extended);flex-shrink:0;transition:transform .2s;display:flex;transform:rotate(0)}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host{--_low-ink-color:var(--vvd-color-neutral-600);flex-direction:column;gap:4px;display:inline-flex;position:relative}:host([disabled]){--_low-ink-color:var(--vvd-color-neutral-400);cursor:not-allowed}.base{--_text-field-gutter-end:8px;--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.base:disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base:disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-neutral-200);--_appearance-color-outline:var(--vvd-color-neutral-400)}.base.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.error:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:var(--vvd-color-alert-500)}.base.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:transparent}.base.success:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:var(--vvd-color-success-500)}.base.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:transparent}.base:not(.shape-pill) .base{border-radius:var(--_text-field-border-radius)}.base.shape-pill .base{border-radius:var(--_text-field-pill-border-radius)}.base slot[name=icon]{z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);pointer-events:none;line-height:1;display:inline-block;position:absolute;inset-block-start:50%;inset-inline-start:var(--_text-field-gutter-start);transform:translateY(-50%)}.base.has-meta{padding-inline-end:16px}.control{text-overflow:ellipsis;white-space:nowrap}.fieldset .leading-items-wrapper{flex-shrink:0;align-items:center;gap:8px;padding-inline-end:16px;display:flex;position:relative}.listbox{max-height:var(--combobox-height,408px);contain:paint;border-radius:8px;flex-direction:column;gap:2px;padding:4px;display:flex;overflow-y:auto}::part(popup-base){inline-size:max-content;min-inline-size:var(--_combobox-fixed-width,100%)}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.control:focus-within):after{--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))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .fieldset:focus-within:after{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;z-index:1;border-radius:inherit;content:\"\";pointer-events:none;display:block;position:absolute;inset:0}}::slotted([data-vvd-component=option][current-selected]){border-radius:8px}:host(.has-activedescendant) ::slotted([data-vvd-component=option][current-selected]){box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent}", M = {
25
25
  inline: "inline",
26
26
  list: "list",
27
27
  both: "both",
28
28
  none: "none"
29
- }, N = class extends S(O(x(b(y(_(v(d))))))) {
29
+ }, N = class extends _(O(g(h(m(p(S(v))))))) {
30
30
  constructor(...e) {
31
- super(...e), this.filteredOptions = [], this.filter = "", this.fixedDropdown = !1, this.listboxId = m("listbox-"), this.maxHeight = 0, this.open = !1, this.proxy = document.createElement("input");
31
+ super(...e), this.filteredOptions = [], this.filter = "", this._isNavigatingWithKeyboard = !1, this.fixedDropdown = !1, this.listboxId = x("listbox-"), this.maxHeight = 0, this.open = !1, this.proxy = document.createElement("input");
32
32
  }
33
33
  formResetCallback() {
34
34
  super.formResetCallback(), this.selectedIndex = this._newDefaultSelectedIndex([], this.options, -1) ?? -1, this.value = this.firstSelectedOption?.text || "";
@@ -133,14 +133,17 @@ var j = ".label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex
133
133
  this.open = !0;
134
134
  break;
135
135
  }
136
- this.filteredOptions.length > 0 && super.keydownHandler(e), this.isAutocompleteInline && this.setInlineSelection();
136
+ this.filteredOptions.length > 0 && (this._isNavigatingWithKeyboard = !0, super.keydownHandler(e), this._isNavigatingWithKeyboard = !1), this.isAutocompleteInline && this.setInlineSelection();
137
137
  break;
138
138
  default: return !0;
139
139
  }
140
140
  }
141
+ setSelectedOptions() {
142
+ super.setSelectedOptions(), this._isNavigatingWithKeyboard || (this._activeDescendant = "");
143
+ }
141
144
  selectedIndexChanged(e, t) {
142
145
  if (this.$fastController.isConnected) {
143
- if (t = p(-1, this.options.length - 1, t), t !== this.selectedIndex) {
146
+ if (t = b(-1, this.options.length - 1, t), t !== this.selectedIndex) {
144
147
  this.selectedIndex = t;
145
148
  return;
146
149
  }
@@ -196,7 +199,7 @@ u([n({
196
199
  })], N.prototype, "open", void 0), u([n], N.prototype, "placeholder", void 0);
197
200
  //#endregion
198
201
  //#region src/lib/combobox/combobox.template.ts
199
- var P = ({ icon: e, iconSlottedContent: t, metaSlottedContent: n, errorValidationMessage: r, successText: i, shape: a, scale: o, disabled: s, placeholder: c, label: l, appearance: u, open: d, _activeDescendant: p }) => f("base", ["disabled", s], [`shape-${a}`, !!a], [`size-${o}`, !!o], ["placeholder", !!c], [`appearance-${u}`, !!u], ["no-label", !l], ["has-icon", !!e || !!t?.length], ["has-meta", !!n?.length], ["has-activedescendant", !!p && d], ["error", !!r], ["success", !!i]);
202
+ var P = ({ icon: e, iconSlottedContent: t, metaSlottedContent: n, errorValidationMessage: r, successText: i, shape: a, scale: o, disabled: s, placeholder: c, label: l, appearance: u, open: d, _activeDescendant: f }) => y("base", ["disabled", s], [`shape-${a}`, !!a], [`size-${o}`, !!o], ["placeholder", !!c], [`appearance-${u}`, !!u], ["no-label", !l], ["has-icon", !!e || !!t?.length], ["has-meta", !!n?.length], ["has-activedescendant", !!f && d], ["error", !!r], ["success", !!i]);
200
203
  function F() {
201
204
  return t` <label for="control" class="label">
202
205
  ${(e) => e.label}
@@ -206,7 +209,7 @@ function I(e) {
206
209
  return e.open && e.fixedDropdown ? `--_combobox-fixed-width: ${Math.round(e.getBoundingClientRect().width)}px` : null;
207
210
  }
208
211
  function L(e) {
209
- let n = h(e), r = C(e);
212
+ let n = d(e), r = C(e);
210
213
  return t` <div class="${P}" ${o("_anchor")}>
211
214
  <div
212
215
  class="label-wrapper"
@@ -219,7 +222,7 @@ function L(e) {
219
222
  ></slot>
220
223
  </div>
221
224
  <div class="fieldset">
222
- ${(e) => n(e.icon, g.Slot)}
225
+ ${(e) => n(e.icon, f.Slot)}
223
226
  <div class="wrapper">
224
227
  <input
225
228
  id="control"
@@ -254,13 +257,14 @@ function L(e) {
254
257
  //#endregion
255
258
  //#region src/lib/combobox/index.ts
256
259
  i(r("combobox", N, (e) => {
257
- let n = e.tagFor(T);
260
+ let n = e.tagFor(w);
258
261
  return t`
259
262
  <template
260
263
  tabindex="${(e) => e.disabled ? null : "0"}"
264
+ class="${(e) => y(["has-activedescendant", !!e._activeDescendant && e.open])}"
261
265
  @click="${(e, t) => e.clickHandler(t.event)}"
262
266
  @focusout="${(e, t) => e.focusoutHandler(t.event)}"
263
- @keydown="${(e, { event: t }) => (e.open && w(t), e.keydownHandler(t))}"
267
+ @keydown="${(e, { event: t }) => (e.open && E(t), e.keydownHandler(t))}"
264
268
  >
265
269
  <div class="control-wrapper">
266
270
  ${() => L(e)}
@@ -276,7 +280,7 @@ i(r("combobox", N, (e) => {
276
280
  ?disabled="${(e) => e.disabled}"
277
281
  ${o("listbox")}>
278
282
  <slot ${c({
279
- filter: d.slottedOptionFilter,
283
+ filter: v.slottedOptionFilter,
280
284
  flatten: !0,
281
285
  property: "slottedOptions"
282
286
  })}>
@@ -291,11 +295,11 @@ i(r("combobox", N, (e) => {
291
295
  `;
292
296
  }, [
293
297
  l,
294
- E,
295
- k,
298
+ T,
299
+ A,
296
300
  D
297
301
  ], {
298
- styles: [A, j],
302
+ styles: [k, j],
299
303
  shadowOptions: { delegatesFocus: !0 }
300
304
  }))();
301
305
  //#endregion
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../unbundled/definition2.cjs");
3
- const require_definition$1 = require("../unbundled/definition30.cjs");
3
+ const require_definition$1 = require("../unbundled/definition25.cjs");
4
4
  exports.VwcContextualHelpElement = require_definition$1.ContextualHelp;
5
5
  exports.contextualHelpDefinition = require_definition$1.contextualHelpDefinition;
6
6
  exports.registerContextualHelp = require_definition$1.registerContextualHelp;
@@ -1,3 +1,3 @@
1
1
  import "../unbundled/definition2.js";
2
- import { n as registerContextualHelp, r as ContextualHelp, t as contextualHelpDefinition } from "../unbundled/definition30.js";
2
+ import { n as registerContextualHelp, r as ContextualHelp, t as contextualHelpDefinition } from "../unbundled/definition25.js";
3
3
  export { ContextualHelp as VwcContextualHelpElement, contextualHelpDefinition, registerContextualHelp };
@@ -1 +1 @@
1
- require(`../bundled/vivid-element.cjs`),require(`../bundled/definition2.cjs`),require(`../bundled/definition14.cjs`).n();
1
+ require(`../bundled/vivid-element.cjs`),require(`../bundled/definition2.cjs`),require(`../bundled/definition11.cjs`).n();
@@ -1,6 +1,6 @@
1
1
  import "../bundled/vivid-element.js";
2
2
  import "../bundled/definition2.js";
3
- import { n as e } from "../bundled/definition14.js";
3
+ import { n as e } from "../bundled/definition11.js";
4
4
  //#region src/lib/contextual-help/index.ts
5
5
  e();
6
6
  //#endregion