@vonage/vivid 5.5.0 → 5.7.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 (345) hide show
  1. package/LICENSE.md +201 -0
  2. package/accordion/definition.cjs +5 -0
  3. package/accordion/definition.js +5 -0
  4. package/accordion/index.cjs +1 -1
  5. package/accordion/index.js +14 -3
  6. package/accordion-item/definition.cjs +1 -1
  7. package/accordion-item/definition.js +1 -1
  8. package/alert/definition.cjs +4 -12
  9. package/alert/definition.js +5 -13
  10. package/alert/index.cjs +11 -11
  11. package/alert/index.js +33 -37
  12. package/audio-player/definition.cjs +4 -0
  13. package/audio-player/definition.js +4 -0
  14. package/audio-player/index.cjs +1 -1
  15. package/audio-player/index.js +8 -2
  16. package/avatar/definition.cjs +1 -1
  17. package/avatar/definition.js +1 -1
  18. package/avatar/index.cjs +1 -1
  19. package/avatar/index.js +4 -4
  20. package/banner/definition.cjs +2 -4
  21. package/banner/definition.js +2 -4
  22. package/banner/index.cjs +2 -2
  23. package/banner/index.js +1 -1
  24. package/breadcrumb/definition.cjs +1 -0
  25. package/breadcrumb/definition.js +1 -0
  26. package/breadcrumb/index.cjs +1 -1
  27. package/breadcrumb/index.js +1 -0
  28. package/breadcrumb-item/definition.cjs +1 -1
  29. package/breadcrumb-item/definition.js +1 -1
  30. package/breadcrumb-item/index.cjs +4 -4
  31. package/breadcrumb-item/index.js +4 -4
  32. package/bundled/affix.js +1 -1
  33. package/bundled/anchored.cjs +1 -1
  34. package/bundled/anchored.js +6 -6
  35. package/bundled/attribute-binding-behaviour.cjs +1 -1
  36. package/bundled/attribute-binding-behaviour.js +3 -1
  37. package/bundled/base-color-picker.cjs +1 -1
  38. package/bundled/base-color-picker.js +9 -3
  39. package/bundled/base-progress.cjs +1 -1
  40. package/bundled/base-progress.js +3 -0
  41. package/bundled/button.cjs +1 -1
  42. package/bundled/button.js +14 -10
  43. package/bundled/calendar-picker.template.cjs +1 -1
  44. package/bundled/calendar-picker.template.js +3 -1
  45. package/bundled/definition.cjs +1 -1
  46. package/bundled/definition.js +21 -21
  47. package/bundled/definition10.cjs +7 -7
  48. package/bundled/definition10.js +27 -17
  49. package/bundled/definition11.cjs +2 -2
  50. package/bundled/definition11.js +5 -5
  51. package/bundled/definition12.cjs +3 -3
  52. package/bundled/definition12.js +2 -1
  53. package/bundled/definition13.cjs +1 -1
  54. package/bundled/definition13.js +1 -1
  55. package/bundled/definition17.cjs +1 -1
  56. package/bundled/definition17.js +4 -1
  57. package/bundled/definition18.cjs +1 -1
  58. package/bundled/definition18.js +18 -7
  59. package/bundled/definition19.cjs +6 -6
  60. package/bundled/definition19.js +103 -68
  61. package/bundled/definition2.cjs +8 -9
  62. package/bundled/definition2.js +67 -75
  63. package/bundled/definition20.cjs +1 -1
  64. package/bundled/definition20.js +4 -4
  65. package/bundled/definition22.cjs +1 -1
  66. package/bundled/definition22.js +2 -1
  67. package/bundled/definition3.cjs +2 -2
  68. package/bundled/definition3.js +2 -1
  69. package/bundled/definition5.cjs +1 -1
  70. package/bundled/definition5.js +10 -4
  71. package/bundled/definition6.cjs +2 -2
  72. package/bundled/definition6.js +2 -1
  73. package/bundled/definition7.cjs +1 -1
  74. package/bundled/definition7.js +8 -5
  75. package/bundled/definition8.cjs +1 -1
  76. package/bundled/definition8.js +6 -5
  77. package/bundled/definition9.cjs +6 -6
  78. package/bundled/definition9.js +545 -488
  79. package/bundled/delegates-aria.cjs +1 -1
  80. package/bundled/delegates-aria.js +3 -1
  81. package/bundled/form-associated.cjs +1 -1
  82. package/bundled/form-associated.js +11 -3
  83. package/bundled/host-semantics.js +4 -4
  84. package/bundled/listbox.cjs +1 -1
  85. package/bundled/listbox.js +21 -3
  86. package/bundled/localized.cjs +1 -1
  87. package/bundled/localized.js +137 -67
  88. package/bundled/mixins.cjs +4 -4
  89. package/bundled/mixins.js +10 -7
  90. package/bundled/picker-field.template.cjs +1 -1
  91. package/bundled/picker-field.template.js +1 -0
  92. package/bundled/scrollIntoView.cjs +1 -1
  93. package/bundled/scrollIntoView.js +4 -1
  94. package/bundled/text-field.cjs +1 -1
  95. package/bundled/text-field.js +1 -1
  96. package/bundled/time-selection-picker.template.cjs +11 -11
  97. package/bundled/time-selection-picker.template.js +4 -1
  98. package/bundled/vivid-element.cjs +4 -4
  99. package/bundled/vivid-element.js +529 -492
  100. package/calendar/definition.cjs +2 -0
  101. package/calendar/definition.js +2 -0
  102. package/calendar/index.cjs +1 -1
  103. package/calendar/index.js +2 -0
  104. package/calendar-event/definition.cjs +1 -1
  105. package/calendar-event/definition.js +1 -1
  106. package/calendar-event/index.cjs +2 -2
  107. package/calendar-event/index.js +5 -5
  108. package/card/definition.cjs +1 -1
  109. package/card/definition.js +1 -1
  110. package/card/index.cjs +1 -1
  111. package/card/index.js +1 -1
  112. package/checkbox/definition.cjs +2 -1
  113. package/checkbox/definition.js +2 -1
  114. package/color-picker/definition.cjs +6 -1
  115. package/color-picker/definition.js +6 -1
  116. package/color-picker/index.cjs +1 -1
  117. package/color-picker/index.js +6 -1
  118. package/combobox/definition.cjs +17 -6
  119. package/combobox/definition.js +17 -6
  120. package/combobox/index.cjs +14 -9
  121. package/combobox/index.js +48 -36
  122. package/contextual-help/definition.cjs +1 -1
  123. package/contextual-help/definition.js +1 -1
  124. package/custom-elements.json +6985 -542
  125. package/data-grid/definition.cjs +106 -8
  126. package/data-grid/definition.js +106 -8
  127. package/data-grid/index.cjs +52 -38
  128. package/data-grid/index.js +313 -242
  129. package/date-range-picker/definition.cjs +2 -0
  130. package/date-range-picker/definition.js +2 -0
  131. package/date-range-picker/index.cjs +1 -1
  132. package/date-range-picker/index.js +5 -1
  133. package/dial-pad/definition.cjs +10 -1
  134. package/dial-pad/definition.js +10 -1
  135. package/dial-pad/index.cjs +2 -2
  136. package/dial-pad/index.js +37 -13
  137. package/dialog/definition.cjs +2 -1
  138. package/dialog/definition.js +2 -1
  139. package/dialog/index.cjs +1 -1
  140. package/dialog/index.js +2 -1
  141. package/fab/definition.cjs +2 -1
  142. package/fab/definition.js +2 -1
  143. package/fab/index.cjs +1 -1
  144. package/fab/index.js +6 -5
  145. package/file-picker/definition.cjs +7 -2
  146. package/file-picker/definition.js +7 -2
  147. package/file-picker/index.cjs +6 -6
  148. package/file-picker/index.js +82 -73
  149. package/icon/definition.cjs +12 -21
  150. package/icon/definition.js +13 -22
  151. package/index.cjs +21 -0
  152. package/index.js +1 -1
  153. package/lib/data-grid/locale.d.ts +5 -0
  154. package/lib/date-picker/date-picker.d.ts +38 -38
  155. package/lib/date-range-picker/date-range-picker.d.ts +20 -20
  156. package/lib/date-time-picker/date-time-picker.d.ts +40 -40
  157. package/lib/icon/icon.d.ts +0 -1
  158. package/lib/menu/menu.d.ts +4 -4
  159. package/lib/rich-text-editor/definition.d.ts +3 -2
  160. package/lib/rich-text-editor/locale.d.ts +29 -3
  161. package/lib/rich-text-editor/popover.d.ts +19 -0
  162. package/lib/rich-text-editor/rich-text-editor.d.ts +16 -45
  163. package/lib/rich-text-editor/rich-text-editor.template.d.ts +2 -2
  164. package/lib/rich-text-editor/rte/config.d.ts +18 -0
  165. package/lib/rich-text-editor/rte/document.d.ts +28 -0
  166. package/lib/rich-text-editor/rte/exports.d.ts +23 -0
  167. package/lib/rich-text-editor/rte/feature.d.ts +46 -0
  168. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +33 -0
  169. package/lib/rich-text-editor/rte/features/internal/foreign-html.d.ts +11 -0
  170. package/lib/rich-text-editor/rte/features/internal/history.d.ts +10 -0
  171. package/lib/rich-text-editor/rte/features/internal/text-style.d.ts +18 -0
  172. package/lib/rich-text-editor/rte/html-parser.d.ts +24 -0
  173. package/lib/rich-text-editor/rte/html-serializer.d.ts +30 -0
  174. package/lib/rich-text-editor/rte/instance.d.ts +57 -0
  175. package/lib/rich-text-editor/rte/utils/default-textblock.d.ts +2 -0
  176. package/lib/rich-text-editor/rte/utils/impl.d.ts +1 -0
  177. package/lib/rich-text-editor/rte/utils/textblock-attrs.d.ts +29 -0
  178. package/lib/rich-text-editor/rte/utils/textblock-marks.d.ts +10 -0
  179. package/lib/rich-text-editor/rte/utils/ui.d.ts +109 -0
  180. package/lib/simple-color-picker/simple-color-picker.d.ts +4 -4
  181. package/lib/text-area/text-area.d.ts +1 -1
  182. package/lib/text-field/text-field.d.ts +1 -1
  183. package/lib/time-picker/time-picker.d.ts +20 -20
  184. package/lib/toggletip/toggletip.d.ts +4 -4
  185. package/lib/tooltip/tooltip.d.ts +4 -4
  186. package/locales/de-DE.cjs +42 -4
  187. package/locales/de-DE.js +42 -4
  188. package/locales/en-GB.cjs +43 -5
  189. package/locales/en-GB.js +43 -5
  190. package/locales/en-US.cjs +43 -5
  191. package/locales/en-US.js +43 -5
  192. package/locales/ja-JP.cjs +43 -5
  193. package/locales/ja-JP.js +43 -5
  194. package/locales/zh-CN.cjs +43 -5
  195. package/locales/zh-CN.js +43 -5
  196. package/menu/definition.cjs +2 -1
  197. package/menu/definition.js +2 -1
  198. package/nav-disclosure/definition.cjs +1 -1
  199. package/nav-disclosure/definition.js +1 -1
  200. package/nav-disclosure/index.cjs +1 -1
  201. package/nav-disclosure/index.js +1 -1
  202. package/nav-item/definition.cjs +1 -1
  203. package/nav-item/definition.js +1 -1
  204. package/nav-item/index.cjs +1 -1
  205. package/nav-item/index.js +5 -5
  206. package/number-field/definition.cjs +5 -3
  207. package/number-field/definition.js +5 -3
  208. package/number-field/index.cjs +5 -3
  209. package/number-field/index.js +34 -32
  210. package/package.json +76 -62
  211. package/pagination/definition.cjs +2 -0
  212. package/pagination/definition.js +2 -0
  213. package/pagination/index.cjs +1 -1
  214. package/pagination/index.js +2 -0
  215. package/radio/definition.cjs +5 -1
  216. package/radio/definition.js +5 -1
  217. package/range-slider/definition.cjs +3 -2
  218. package/range-slider/definition.js +3 -2
  219. package/range-slider/index.cjs +1 -1
  220. package/range-slider/index.js +4 -2
  221. package/rich-text-editor/definition.cjs +17942 -1074
  222. package/rich-text-editor/definition.js +17926 -1079
  223. package/rich-text-editor/index.cjs +29 -130
  224. package/rich-text-editor/index.js +5565 -2474
  225. package/searchable-select/definition.cjs +7 -3
  226. package/searchable-select/definition.js +7 -3
  227. package/searchable-select/index.cjs +5 -5
  228. package/searchable-select/index.js +11 -7
  229. package/select/definition.cjs +17 -2
  230. package/select/definition.js +17 -2
  231. package/selectable-box/definition.cjs +1 -1
  232. package/selectable-box/definition.js +1 -1
  233. package/selectable-box/index.cjs +3 -3
  234. package/selectable-box/index.js +1 -1
  235. package/shared/patterns/anchored.d.ts +8 -8
  236. package/shared/patterns/char-count/char-count.d.ts +1 -1
  237. package/shared/patterns/localized.d.ts +386 -0
  238. package/shared/picker-field/mixins/calendar-picker.d.ts +10 -10
  239. package/shared/picker-field/mixins/calendar-picker.template.d.ts +10 -10
  240. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +20 -20
  241. package/shared/picker-field/mixins/single-date-picker.d.ts +28 -28
  242. package/shared/picker-field/mixins/single-value-picker.d.ts +8 -8
  243. package/shared/picker-field/mixins/time-selection-picker.d.ts +20 -20
  244. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +20 -20
  245. package/shared/utils/promise.d.ts +7 -0
  246. package/simple-color-picker/definition.cjs +4 -1
  247. package/simple-color-picker/definition.js +4 -1
  248. package/simple-color-picker/index.cjs +3 -3
  249. package/simple-color-picker/index.js +4 -1
  250. package/slider/definition.cjs +8 -2
  251. package/slider/definition.js +8 -2
  252. package/split-button/definition.cjs +1 -1
  253. package/split-button/definition.js +1 -1
  254. package/split-button/index.cjs +1 -1
  255. package/split-button/index.js +1 -1
  256. package/styles/core/all.css +5 -1
  257. package/styles/core/theme.css +5 -1
  258. package/styles/core/typography.css +1 -1
  259. package/styles/tokens/theme-dark.css +4 -4
  260. package/styles/tokens/theme-light.css +4 -4
  261. package/styles/tokens/vivid-2-compat.css +1 -1
  262. package/switch/definition.cjs +2 -1
  263. package/switch/definition.js +2 -1
  264. package/switch/index.cjs +2 -2
  265. package/switch/index.js +11 -10
  266. package/tab/definition.cjs +1 -1
  267. package/tab/definition.js +1 -1
  268. package/tabs/definition.cjs +2 -0
  269. package/tabs/definition.js +2 -0
  270. package/tabs/index.cjs +1 -1
  271. package/tabs/index.js +2 -0
  272. package/tag/definition.cjs +1 -1
  273. package/tag/definition.js +1 -1
  274. package/tag/index.cjs +1 -1
  275. package/tag/index.js +1 -1
  276. package/text-area/definition.cjs +13 -7
  277. package/text-area/definition.js +13 -7
  278. package/text-area/index.cjs +6 -6
  279. package/text-area/index.js +20 -14
  280. package/text-field/definition.cjs +16 -6
  281. package/text-field/definition.js +16 -6
  282. package/toggletip/definition.cjs +5 -1
  283. package/toggletip/definition.js +5 -1
  284. package/tooltip/definition.cjs +4 -1
  285. package/tooltip/definition.js +4 -1
  286. package/tree-view/definition.cjs +28 -6
  287. package/tree-view/definition.js +28 -6
  288. package/tree-view/index.cjs +1 -1
  289. package/tree-view/index.js +28 -6
  290. package/unbundled/_commonjsHelpers.cjs +0 -26
  291. package/unbundled/_commonjsHelpers.js +1 -26
  292. package/unbundled/attribute-binding-behaviour.cjs +1 -0
  293. package/unbundled/attribute-binding-behaviour.js +1 -0
  294. package/unbundled/base-color-picker.cjs +9 -3
  295. package/unbundled/base-color-picker.js +9 -3
  296. package/unbundled/base-progress.cjs +3 -0
  297. package/unbundled/base-progress.js +3 -0
  298. package/unbundled/button.cjs +14 -10
  299. package/unbundled/button.js +14 -10
  300. package/unbundled/calendar-picker.template.cjs +3 -1
  301. package/unbundled/calendar-picker.template.js +3 -1
  302. package/unbundled/definition.cjs +2 -1
  303. package/unbundled/definition.js +2 -1
  304. package/unbundled/definition2.cjs +5 -2
  305. package/unbundled/definition2.js +5 -2
  306. package/unbundled/definition3.cjs +2 -1
  307. package/unbundled/definition3.js +2 -1
  308. package/unbundled/definition4.cjs +2 -1
  309. package/unbundled/definition4.js +2 -1
  310. package/unbundled/definition5.cjs +3 -2
  311. package/unbundled/definition5.js +4 -3
  312. package/unbundled/delegates-aria.cjs +1 -0
  313. package/unbundled/delegates-aria.js +1 -0
  314. package/unbundled/form-associated.cjs +4 -0
  315. package/unbundled/form-associated.js +4 -0
  316. package/unbundled/listbox.cjs +16 -1
  317. package/unbundled/listbox.js +16 -1
  318. package/unbundled/localized.cjs +36 -0
  319. package/unbundled/localized.js +37 -2
  320. package/unbundled/mixins.cjs +2 -0
  321. package/unbundled/mixins.js +2 -0
  322. package/unbundled/picker-field.template.cjs +1 -0
  323. package/unbundled/picker-field.template.js +1 -0
  324. package/unbundled/scrollIntoView.cjs +1 -0
  325. package/unbundled/scrollIntoView.js +1 -0
  326. package/unbundled/text-field.cjs +1 -1
  327. package/unbundled/text-field.js +1 -1
  328. package/unbundled/time-selection-picker.template.cjs +4 -1
  329. package/unbundled/time-selection-picker.template.js +4 -1
  330. package/unbundled/vivid-element.cjs +1 -1
  331. package/unbundled/vivid-element.js +1 -1
  332. package/video-player/definition.cjs +54 -44
  333. package/video-player/definition.js +51 -41
  334. package/video-player/index.cjs +28 -28
  335. package/video-player/index.js +1449 -1443
  336. package/vivid.api.json +6463 -6099
  337. package/lib/rich-text-editor/facades/prose-mirror-vivid.schema.d.ts +0 -4
  338. package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +0 -18
  339. package/lib/rich-text-editor/image-placeholder/definition.d.ts +0 -2
  340. package/lib/rich-text-editor/image-placeholder/image-placeholder.d.ts +0 -7
  341. package/lib/rich-text-editor/image-placeholder/image-placeholder.template.d.ts +0 -4
  342. package/lib/rich-text-editor/menubar/consts.d.ts +0 -18
  343. package/lib/rich-text-editor/menubar/definition.d.ts +0 -2
  344. package/lib/rich-text-editor/menubar/menubar.d.ts +0 -386
  345. package/lib/rich-text-editor/menubar/menubar.template.d.ts +0 -4
@@ -8,7 +8,7 @@ const keyCodes = require('./key-codes.cjs');
8
8
  const affix = require('./affix.cjs');
9
9
  const hostSemantics = require('./host-semantics.cjs');
10
10
 
11
- const styles = ":host(:focus-visible){outline:none}:host([disabled]){pointer-events:none}.base{--_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(--_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(--_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: transparent;--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.connotation-cta{--_connotation-color-primary: var(--vvd-menu-item-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-menu-item-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-menu-item-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-menu-item-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-menu-item-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-menu-item-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-menu-item-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-menu-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-menu-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-menu-item-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-menu-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-menu-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-menu-item-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-menu-item-accent-dim, var(--vvd-color-neutral-200))}.base{--_menu-item-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) }.base{display:flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.base:not(.two-lines){gap:12px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:8px;padding-inline:var(--_menu-item-padding-inline)}.base.two-lines{gap:16px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:12px;padding-inline:var(--_menu-item-padding-inline)}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}.icon{flex-shrink:0;font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.action,.decorative{display:flex;place-content:center}.action{color:var(--_appearance-color-text)}.base.trailing .action,.base.has-meta .action{order:2}:host(:not([check-appearance],[checked],[disabled])) .action{color:var(--vvd-color-neutral-500)}.base:not(.disabled) .decorative{color:var(--vvd-color-neutral-600)}.base.disabled .decorative{color:var(--vvd-color-neutral-200)}.base.has-meta .decorative{order:1}.chevron{order:3}.text{display:flex;overflow:hidden;flex-direction:column;gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base);-webkit-line-clamp:var(--text-primary-line-clamp, 1)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed);-webkit-line-clamp:var(--text-secondary-line-clamp, 1)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}:host([internal-part]) .text-primary{font:var(--_text-primary-custom-size, var--vvd-typography-base)}";
11
+ const styles = ":host(:focus-visible){outline:none}:host([disabled]){pointer-events:none}.base{--_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(--_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(--_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: transparent;--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.connotation-cta{--_connotation-color-primary: var(--vvd-menu-item-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-menu-item-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-menu-item-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-menu-item-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-menu-item-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-menu-item-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-menu-item-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-menu-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-menu-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-menu-item-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-menu-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-menu-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-menu-item-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-menu-item-accent-dim, var(--vvd-color-neutral-200))}.base{--_menu-item-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) }.base{display:flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.base:not(.two-lines){gap:12px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:8px;padding-inline:var(--_menu-item-padding-inline)}.base.two-lines{gap:16px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:12px;padding-inline:var(--_menu-item-padding-inline)}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{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}.icon{flex-shrink:0;font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.action,.decorative{display:flex;place-content:center}.action{color:var(--_appearance-color-text)}.base.trailing .action,.base.has-meta .action{order:2}:host(:not([check-appearance],[checked],[disabled])) .action{color:var(--vvd-color-neutral-500)}.base:not(.disabled) .decorative{color:var(--vvd-color-neutral-600)}.base.disabled .decorative{color:var(--vvd-color-neutral-200)}.base.has-meta .decorative{order:1}.chevron{order:3}.text{display:flex;overflow:hidden;flex-direction:column;gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base);-webkit-line-clamp:var(--text-primary-line-clamp, 1)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed);-webkit-line-clamp:var(--text-secondary-line-clamp, 1)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}:host([internal-part]) .text-primary{font:var(--_text-primary-custom-size, var--vvd-typography-base)}";
12
12
 
13
13
  const MenuItemRole = {
14
14
  menuitem: "menuitem",
@@ -107,12 +107,14 @@ class MenuItem extends hostSemantics.HostSemantics(affix.AffixIcon(vividElement.
107
107
  this.#emitSyntheticClick();
108
108
  }
109
109
  return false;
110
- case keyCodes.keyArrowRight:
110
+ case keyCodes.keyArrowRight: {
111
+ /* v8 ignore else -- @preserve */
111
112
  if (this.submenu) {
112
113
  this.expanded = true;
113
114
  this.#emitSyntheticClick();
114
115
  }
115
116
  return false;
117
+ }
116
118
  case keyCodes.keyArrowLeft:
117
119
  if (this.expanded) {
118
120
  this.#emitSyntheticClick();
@@ -130,6 +132,7 @@ class MenuItem extends hostSemantics.HostSemantics(affix.AffixIcon(vividElement.
130
132
  * @internal
131
133
  */
132
134
  expandedChanged() {
135
+ /* v8 ignore if -- @preserve */
133
136
  if (this.$fastController.isConnected) {
134
137
  if (this.submenu && !this.expanded) {
135
138
  this.submenu.collapseExpandedItem();
@@ -6,7 +6,7 @@ import { a as keyArrowLeft, k as keyArrowRight } from './key-codes.js';
6
6
  import { A as AffixIcon, a as affixIconTemplateFactory } from './affix.js';
7
7
  import { H as HostSemantics, a as applyHostSemantics } from './host-semantics.js';
8
8
 
9
- const styles = ":host(:focus-visible){outline:none}:host([disabled]){pointer-events:none}.base{--_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(--_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(--_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: transparent;--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.connotation-cta{--_connotation-color-primary: var(--vvd-menu-item-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-menu-item-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-menu-item-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-menu-item-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-menu-item-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-menu-item-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-menu-item-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-menu-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-menu-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-menu-item-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-menu-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-menu-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-menu-item-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-menu-item-accent-dim, var(--vvd-color-neutral-200))}.base{--_menu-item-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) }.base{display:flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.base:not(.two-lines){gap:12px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:8px;padding-inline:var(--_menu-item-padding-inline)}.base.two-lines{gap:16px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:12px;padding-inline:var(--_menu-item-padding-inline)}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}.icon{flex-shrink:0;font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.action,.decorative{display:flex;place-content:center}.action{color:var(--_appearance-color-text)}.base.trailing .action,.base.has-meta .action{order:2}:host(:not([check-appearance],[checked],[disabled])) .action{color:var(--vvd-color-neutral-500)}.base:not(.disabled) .decorative{color:var(--vvd-color-neutral-600)}.base.disabled .decorative{color:var(--vvd-color-neutral-200)}.base.has-meta .decorative{order:1}.chevron{order:3}.text{display:flex;overflow:hidden;flex-direction:column;gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base);-webkit-line-clamp:var(--text-primary-line-clamp, 1)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed);-webkit-line-clamp:var(--text-secondary-line-clamp, 1)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}:host([internal-part]) .text-primary{font:var(--_text-primary-custom-size, var--vvd-typography-base)}";
9
+ const styles = ":host(:focus-visible){outline:none}:host([disabled]){pointer-events:none}.base{--_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(--_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(--_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: transparent;--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.connotation-cta{--_connotation-color-primary: var(--vvd-menu-item-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-menu-item-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-menu-item-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-menu-item-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-menu-item-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-menu-item-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-menu-item-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-menu-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-menu-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-menu-item-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-menu-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-menu-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-menu-item-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-menu-item-accent-dim, var(--vvd-color-neutral-200))}.base{--_menu-item-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) }.base{display:flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.base:not(.two-lines){gap:12px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:8px;padding-inline:var(--_menu-item-padding-inline)}.base.two-lines{gap:16px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:12px;padding-inline:var(--_menu-item-padding-inline)}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{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}.icon{flex-shrink:0;font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.action,.decorative{display:flex;place-content:center}.action{color:var(--_appearance-color-text)}.base.trailing .action,.base.has-meta .action{order:2}:host(:not([check-appearance],[checked],[disabled])) .action{color:var(--vvd-color-neutral-500)}.base:not(.disabled) .decorative{color:var(--vvd-color-neutral-600)}.base.disabled .decorative{color:var(--vvd-color-neutral-200)}.base.has-meta .decorative{order:1}.chevron{order:3}.text{display:flex;overflow:hidden;flex-direction:column;gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base);-webkit-line-clamp:var(--text-primary-line-clamp, 1)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed);-webkit-line-clamp:var(--text-secondary-line-clamp, 1)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}:host([internal-part]) .text-primary{font:var(--_text-primary-custom-size, var--vvd-typography-base)}";
10
10
 
11
11
  const MenuItemRole = {
12
12
  menuitem: "menuitem",
@@ -105,12 +105,14 @@ class MenuItem extends HostSemantics(AffixIcon(VividElement)) {
105
105
  this.#emitSyntheticClick();
106
106
  }
107
107
  return false;
108
- case keyArrowRight:
108
+ case keyArrowRight: {
109
+ /* v8 ignore else -- @preserve */
109
110
  if (this.submenu) {
110
111
  this.expanded = true;
111
112
  this.#emitSyntheticClick();
112
113
  }
113
114
  return false;
115
+ }
114
116
  case keyArrowLeft:
115
117
  if (this.expanded) {
116
118
  this.#emitSyntheticClick();
@@ -128,6 +130,7 @@ class MenuItem extends HostSemantics(AffixIcon(VividElement)) {
128
130
  * @internal
129
131
  */
130
132
  expandedChanged() {
133
+ /* v8 ignore if -- @preserve */
131
134
  if (this.$fastController.isConnected) {
132
135
  if (this.submenu && !this.expanded) {
133
136
  this.submenu.collapseExpandedItem();
@@ -69,6 +69,7 @@ class ListboxOption extends hostSemantics.HostSemantics(
69
69
  }
70
70
  }
71
71
  disabledChanged() {
72
+ /* v8 ignore if -- @preserve */
72
73
  if (this.proxy instanceof HTMLOptionElement) {
73
74
  this.proxy.disabled = this.disabled;
74
75
  }
@@ -270,7 +271,7 @@ const ListboxOptionTemplate = (context) => {
270
271
  `;
271
272
  };
272
273
 
273
- const styles = ":host([disabled]){cursor:not-allowed}.base{--_connotation-color-primary: var(--vvd-option-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-option-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-option-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-option-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-option-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-option-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-option-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-option-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_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: transparent;--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_option-appearance-color-text, var(--_appearance-color-text));font:var(--vvd-typography-base);gap:var(--_option-gap);hyphens:auto;inline-size:100%;min-block-size:var(--_option-min-block-size);padding-inline:var(--_option-padding-inline);vertical-align:middle;word-break:break-word}.base{--_option-min-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_option-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_option-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) }.base:not(.two-lines){--_option-gap: calc( calc(1px*(36 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) / 3);padding-block:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4)}.base.two-lines{gap:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.4);padding-block:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{pointer-events:none}:host([scale=condensed]) .base{--_option-min-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_option-padding-inline: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_option-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) }:host([scale=condensed]) .base:not(.two-lines){--_option-gap: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/5) ;padding-block:calc(calc(1px*(36 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 6)}:host([scale=condensed]) .base.two-lines{gap:calc(calc(1px*(36 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 3);padding-block:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4)}.base.active{--focus-stroke-color: var(--vvd-color-cta-500);--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.base.hidden{display:none}.text{display:flex;flex-direction:column;font:var(--vvd-typography-base);gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:block;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}.match{color:var(--vvd-color-cta-600);font:var(--vvd-typography-base-bold)}slot[name=icon]{font-size:var(--_option-icon-size);line-height:1}.base:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}.checkmark{font-size:var(--_option-icon-size)}";
274
+ const styles = ":host([disabled]){cursor:not-allowed}.base{--_connotation-color-primary: var(--vvd-option-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-option-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-option-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-option-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-option-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-option-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-option-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-option-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_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: transparent;--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_option-appearance-color-text, var(--_appearance-color-text));font:var(--vvd-typography-base);gap:var(--_option-gap);hyphens:auto;inline-size:100%;min-block-size:var(--_option-min-block-size);padding-inline:var(--_option-padding-inline);vertical-align:middle;word-break:break-word}.base{--_option-min-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_option-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_option-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) }.base:not(.two-lines){--_option-gap: calc( calc(1px*(36 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) / 3);padding-block:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4)}.base.two-lines{gap:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.4);padding-block:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{pointer-events:none}:host([scale=condensed]) .base{--_option-min-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_option-padding-inline: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_option-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) }:host([scale=condensed]) .base:not(.two-lines){--_option-gap: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/5) ;padding-block:calc(calc(1px*(36 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 6)}:host([scale=condensed]) .base.two-lines{gap:calc(calc(1px*(36 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 3);padding-block:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4)}.base.active{--focus-stroke-color: var(--vvd-color-cta-500);--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))}.base.hidden{display:none}.text{display:flex;flex-direction:column;font:var(--vvd-typography-base);gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:block;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}.match{color:var(--vvd-color-cta-600);font:var(--vvd-typography-base-bold)}slot[name=icon]{font-size:var(--_option-icon-size);line-height:1}.base:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}.checkmark{font-size:var(--_option-icon-size)}";
274
275
 
275
276
  const listboxOptionDefinition = vividElement.defineVividComponent(
276
277
  "option",
@@ -67,6 +67,7 @@ class ListboxOption extends HostSemantics(
67
67
  }
68
68
  }
69
69
  disabledChanged() {
70
+ /* v8 ignore if -- @preserve */
70
71
  if (this.proxy instanceof HTMLOptionElement) {
71
72
  this.proxy.disabled = this.disabled;
72
73
  }
@@ -268,7 +269,7 @@ const ListboxOptionTemplate = (context) => {
268
269
  `;
269
270
  };
270
271
 
271
- const styles = ":host([disabled]){cursor:not-allowed}.base{--_connotation-color-primary: var(--vvd-option-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-option-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-option-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-option-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-option-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-option-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-option-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-option-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_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: transparent;--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_option-appearance-color-text, var(--_appearance-color-text));font:var(--vvd-typography-base);gap:var(--_option-gap);hyphens:auto;inline-size:100%;min-block-size:var(--_option-min-block-size);padding-inline:var(--_option-padding-inline);vertical-align:middle;word-break:break-word}.base{--_option-min-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_option-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_option-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) }.base:not(.two-lines){--_option-gap: calc( calc(1px*(36 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) / 3);padding-block:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4)}.base.two-lines{gap:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.4);padding-block:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{pointer-events:none}:host([scale=condensed]) .base{--_option-min-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_option-padding-inline: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_option-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) }:host([scale=condensed]) .base:not(.two-lines){--_option-gap: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/5) ;padding-block:calc(calc(1px*(36 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 6)}:host([scale=condensed]) .base.two-lines{gap:calc(calc(1px*(36 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 3);padding-block:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4)}.base.active{--focus-stroke-color: var(--vvd-color-cta-500);--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.base.hidden{display:none}.text{display:flex;flex-direction:column;font:var(--vvd-typography-base);gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:block;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}.match{color:var(--vvd-color-cta-600);font:var(--vvd-typography-base-bold)}slot[name=icon]{font-size:var(--_option-icon-size);line-height:1}.base:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}.checkmark{font-size:var(--_option-icon-size)}";
272
+ const styles = ":host([disabled]){cursor:not-allowed}.base{--_connotation-color-primary: var(--vvd-option-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-option-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-option-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-option-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-option-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-option-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-option-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-option-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_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: transparent;--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_option-appearance-color-text, var(--_appearance-color-text));font:var(--vvd-typography-base);gap:var(--_option-gap);hyphens:auto;inline-size:100%;min-block-size:var(--_option-min-block-size);padding-inline:var(--_option-padding-inline);vertical-align:middle;word-break:break-word}.base{--_option-min-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_option-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_option-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) }.base:not(.two-lines){--_option-gap: calc( calc(1px*(36 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) / 3);padding-block:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4)}.base.two-lines{gap:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.4);padding-block:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{pointer-events:none}:host([scale=condensed]) .base{--_option-min-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_option-padding-inline: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_option-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) }:host([scale=condensed]) .base:not(.two-lines){--_option-gap: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/5) ;padding-block:calc(calc(1px*(36 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 6)}:host([scale=condensed]) .base.two-lines{gap:calc(calc(1px*(36 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 3);padding-block:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4)}.base.active{--focus-stroke-color: var(--vvd-color-cta-500);--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))}.base.hidden{display:none}.text{display:flex;flex-direction:column;font:var(--vvd-typography-base);gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:block;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}.match{color:var(--vvd-color-cta-600);font:var(--vvd-typography-base-bold)}slot[name=icon]{font-size:var(--_option-icon-size);line-height:1}.base:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}.checkmark{font-size:var(--_option-icon-size)}";
272
273
 
273
274
  const listboxOptionDefinition = defineVividComponent(
274
275
  "option",
@@ -7,7 +7,7 @@ const fastElement = require('@microsoft/fast-element');
7
7
  const affix = require('./affix.cjs');
8
8
  const hostSemantics = require('./host-semantics.cjs');
9
9
 
10
- const styles = ":host(:focus-visible){outline:none}:host([disabled]){cursor:not-allowed}.control{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.control:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.control.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.control.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.control.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}@media (hover: hover){.control.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}}.control.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-tree-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-tree-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-tree-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-faint: var(--vvd-tree-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-tree-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-tree-item-accent-firm, var(--vvd-color-canvas-text))}.control{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:12px;hyphens:auto;inline-size:100%;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-inline:16px;text-decoration:none;vertical-align:middle;word-break:break-word}@supports (user-select: none){.control{user-select:none}}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}:host(:focus-visible) .control{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}:host(:focus-visible) .control:not(.selected){--focus-stroke-gap-color: transparent}.control .text{font:var(--vvd-typography-base)}.expandCollapseButton{display:flex;align-items:center;border-radius:8px;font-size:20px}.expandCollapseButton .expandCollapseIcon{margin:4px}@media (hover: hover){.expandCollapseButton:hover{background-color:var(--vvd-color-neutral-100)}.selected .expandCollapseButton:hover{background-color:var(--vvd-color-neutral-700)}}.items{display:flex;flex-direction:column;gap:4px;margin-block-start:4px;padding-inline-start:48px}slot[name=icon]{font-size:20px;line-height:1}.control:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}";
10
+ const styles = ":host(:focus-visible){outline:none}:host([disabled]){cursor:not-allowed}.control{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.control:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.control.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.control.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.control.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}@media (hover: hover){.control.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}}.control.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-tree-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-tree-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-tree-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-faint: var(--vvd-tree-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-tree-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-tree-item-accent-firm, var(--vvd-color-canvas-text))}.control{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:12px;hyphens:auto;inline-size:100%;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-inline:16px;text-decoration:none;vertical-align:middle;word-break:break-word}@supports (user-select: none){.control{user-select:none}}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}:host(:focus-visible) .control{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))}:host(:focus-visible) .control:not(.selected){--focus-stroke-gap-color: transparent}.control .text{font:var(--vvd-typography-base)}.expandCollapseButton{display:flex;align-items:center;border-radius:8px;font-size:20px}.expandCollapseButton .expandCollapseIcon{margin:4px}@media (hover: hover){.expandCollapseButton:hover{background-color:var(--vvd-color-neutral-100)}.selected .expandCollapseButton:hover{background-color:var(--vvd-color-neutral-700)}}.items{display:flex;flex-direction:column;gap:4px;margin-block-start:4px;padding-inline-start:48px}slot[name=icon]{font-size:20px;line-height:1}.control:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}";
11
11
 
12
12
  var __defProp = Object.defineProperty;
13
13
  var __decorateClass = (decorators, target, key, kind) => {
@@ -76,6 +76,7 @@ class TreeItem extends hostSemantics.HostSemantics(affix.AffixIcon(vividElement.
76
76
  itemsChanged() {
77
77
  if (this.$fastController.isConnected) {
78
78
  this.items.forEach((node) => {
79
+ /* v8 ignore else -- @preserve */
79
80
  if (isTreeItemElement(node)) {
80
81
  node.nested = true;
81
82
  }
@@ -5,7 +5,7 @@ import { attr, observable, children, when, elements, slotted, html, ref } from '
5
5
  import { A as AffixIcon, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
6
6
  import { H as HostSemantics, a as applyHostSemantics } from './host-semantics.js';
7
7
 
8
- const styles = ":host(:focus-visible){outline:none}:host([disabled]){cursor:not-allowed}.control{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.control:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.control.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.control.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.control.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}@media (hover: hover){.control.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}}.control.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-tree-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-tree-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-tree-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-faint: var(--vvd-tree-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-tree-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-tree-item-accent-firm, var(--vvd-color-canvas-text))}.control{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:12px;hyphens:auto;inline-size:100%;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-inline:16px;text-decoration:none;vertical-align:middle;word-break:break-word}@supports (user-select: none){.control{user-select:none}}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}:host(:focus-visible) .control{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}:host(:focus-visible) .control:not(.selected){--focus-stroke-gap-color: transparent}.control .text{font:var(--vvd-typography-base)}.expandCollapseButton{display:flex;align-items:center;border-radius:8px;font-size:20px}.expandCollapseButton .expandCollapseIcon{margin:4px}@media (hover: hover){.expandCollapseButton:hover{background-color:var(--vvd-color-neutral-100)}.selected .expandCollapseButton:hover{background-color:var(--vvd-color-neutral-700)}}.items{display:flex;flex-direction:column;gap:4px;margin-block-start:4px;padding-inline-start:48px}slot[name=icon]{font-size:20px;line-height:1}.control:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}";
8
+ const styles = ":host(:focus-visible){outline:none}:host([disabled]){cursor:not-allowed}.control{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.control:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.control.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.control.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.control.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}@media (hover: hover){.control.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}}.control.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-tree-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-tree-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-tree-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-faint: var(--vvd-tree-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-tree-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-tree-item-accent-firm, var(--vvd-color-canvas-text))}.control{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:12px;hyphens:auto;inline-size:100%;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-inline:16px;text-decoration:none;vertical-align:middle;word-break:break-word}@supports (user-select: none){.control{user-select:none}}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}:host(:focus-visible) .control{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))}:host(:focus-visible) .control:not(.selected){--focus-stroke-gap-color: transparent}.control .text{font:var(--vvd-typography-base)}.expandCollapseButton{display:flex;align-items:center;border-radius:8px;font-size:20px}.expandCollapseButton .expandCollapseIcon{margin:4px}@media (hover: hover){.expandCollapseButton:hover{background-color:var(--vvd-color-neutral-100)}.selected .expandCollapseButton:hover{background-color:var(--vvd-color-neutral-700)}}.items{display:flex;flex-direction:column;gap:4px;margin-block-start:4px;padding-inline-start:48px}slot[name=icon]{font-size:20px;line-height:1}.control:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}";
9
9
 
10
10
  var __defProp = Object.defineProperty;
11
11
  var __decorateClass = (decorators, target, key, kind) => {
@@ -74,6 +74,7 @@ class TreeItem extends HostSemantics(AffixIcon(VividElement)) {
74
74
  itemsChanged() {
75
75
  if (this.$fastController.isConnected) {
76
76
  this.items.forEach((node) => {
77
+ /* v8 ignore else -- @preserve */
77
78
  if (isTreeItemElement(node)) {
78
79
  node.nested = true;
79
80
  }
@@ -77,7 +77,8 @@ class Popup extends vividElement.VividElement {
77
77
  maxHeight: `${availableHeight}px`
78
78
  });
79
79
  }
80
- })
80
+ }),
81
+ dom.shift()
81
82
  ];
82
83
  let offsetValue = this.offset ?? 0;
83
84
  if (this.arrow) {
@@ -245,7 +246,7 @@ __decorateClass([
245
246
  fastElement.observable
246
247
  ], Popup.prototype, "anchor");
247
248
 
248
- const styles = ":host{display:var(--_popup-display, inline)}.control{border-radius:inherit;background:var(--vvd-color-surface-4dp);contain:layout}.control:not(.open){display:none}.popup-wrapper{white-space:initial;--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.popup-wrapper{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.popup-wrapper ::-webkit-scrollbar{width:4px}.popup-wrapper ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.popup-wrapper ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.popup-wrapper{z-index:var(--_popup-z-index, 10);overflow:visible;padding:0;border:none;border-radius:8px;margin:0;inline-size:max-content}.popup-wrapper:not(.absolute){position:fixed}.popup-wrapper.absolute{position:absolute;top:0;left:0}.popup-content{display:grid;color:var(--vvd-color-canvas-text)}.dismissible .popup-content{align-content:start;grid-template-columns:1fr auto}.arrow{position:absolute;z-index:-1;width:8px;height:8px;background:var(--vvd-color-surface-4dp);transform:rotate(45deg)}.dismissible-button{align-self:flex-start;margin-block-start:4px;margin-inline-end:4px}";
249
+ const styles = ":host{display:var(--_popup-display, inline)}.control{border-radius:inherit;background:var(--vvd-color-surface-4dp);contain:layout}.control:not(.open){display:none}.popup-wrapper{white-space:initial;--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.popup-wrapper{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.popup-wrapper ::-webkit-scrollbar{width:4px}.popup-wrapper ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.popup-wrapper ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.popup-wrapper{z-index:var(--_popup-z-index, 10);overflow:visible;padding:0;border:none;border-radius:8px;margin:0;inline-size:max-content;min-inline-size:fit-content}.popup-wrapper:not(.absolute){position:fixed}.popup-wrapper.absolute{position:absolute;top:0;left:0}.popup-content{display:grid;color:var(--vvd-color-canvas-text)}.dismissible .popup-content{align-content:start;grid-template-columns:1fr auto}.arrow{position:absolute;z-index:-1;width:8px;height:8px;background:var(--vvd-color-surface-4dp);transform:rotate(45deg)}.dismissible-button{align-self:flex-start;margin-block-start:4px;margin-inline-end:4px}";
249
250
 
250
251
  const getClasses = ({ open, dismissible, alternate }) => fastWebUtilities.classNames(
251
252
  "control",
@@ -2,7 +2,7 @@ import { B as Button, b as buttonDefinition } from './definition.js';
2
2
  import { E as Elevation, e as elevationDefinition } from './definition6.js';
3
3
  import { V as VividElement, d as defineVividComponent, c as createRegisterFunction } from './vivid-element.js';
4
4
  import { attr, nullableNumberConverter, observable, ref, when, html } from '@microsoft/fast-element';
5
- import { inline, autoPlacement, flip, hide, size, arrow, offset, autoUpdate, computePosition } from '@floating-ui/dom';
5
+ import { inline, autoPlacement, flip, hide, size, shift, arrow, offset, autoUpdate, computePosition } from '@floating-ui/dom';
6
6
  import { classNames } from '@microsoft/fast-web-utilities';
7
7
 
8
8
  var __defProp = Object.defineProperty;
@@ -75,7 +75,8 @@ class Popup extends VividElement {
75
75
  maxHeight: `${availableHeight}px`
76
76
  });
77
77
  }
78
- })
78
+ }),
79
+ shift()
79
80
  ];
80
81
  let offsetValue = this.offset ?? 0;
81
82
  if (this.arrow) {
@@ -243,7 +244,7 @@ __decorateClass([
243
244
  observable
244
245
  ], Popup.prototype, "anchor");
245
246
 
246
- const styles = ":host{display:var(--_popup-display, inline)}.control{border-radius:inherit;background:var(--vvd-color-surface-4dp);contain:layout}.control:not(.open){display:none}.popup-wrapper{white-space:initial;--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.popup-wrapper{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.popup-wrapper ::-webkit-scrollbar{width:4px}.popup-wrapper ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.popup-wrapper ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.popup-wrapper{z-index:var(--_popup-z-index, 10);overflow:visible;padding:0;border:none;border-radius:8px;margin:0;inline-size:max-content}.popup-wrapper:not(.absolute){position:fixed}.popup-wrapper.absolute{position:absolute;top:0;left:0}.popup-content{display:grid;color:var(--vvd-color-canvas-text)}.dismissible .popup-content{align-content:start;grid-template-columns:1fr auto}.arrow{position:absolute;z-index:-1;width:8px;height:8px;background:var(--vvd-color-surface-4dp);transform:rotate(45deg)}.dismissible-button{align-self:flex-start;margin-block-start:4px;margin-inline-end:4px}";
247
+ const styles = ":host{display:var(--_popup-display, inline)}.control{border-radius:inherit;background:var(--vvd-color-surface-4dp);contain:layout}.control:not(.open){display:none}.popup-wrapper{white-space:initial;--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.popup-wrapper{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.popup-wrapper ::-webkit-scrollbar{width:4px}.popup-wrapper ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.popup-wrapper ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.popup-wrapper{z-index:var(--_popup-z-index, 10);overflow:visible;padding:0;border:none;border-radius:8px;margin:0;inline-size:max-content;min-inline-size:fit-content}.popup-wrapper:not(.absolute){position:fixed}.popup-wrapper.absolute{position:absolute;top:0;left:0}.popup-content{display:grid;color:var(--vvd-color-canvas-text)}.dismissible .popup-content{align-content:start;grid-template-columns:1fr auto}.arrow{position:absolute;z-index:-1;width:8px;height:8px;background:var(--vvd-color-surface-4dp);transform:rotate(45deg)}.dismissible-button{align-self:flex-start;margin-block-start:4px;margin-inline-end:4px}";
247
248
 
248
249
  const getClasses = ({ open, dismissible, alternate }) => classNames(
249
250
  "control",
@@ -69,6 +69,7 @@ class DelegateAriaBehavior {
69
69
  // }
70
70
  startForwardingPropertiesToTarget(source, delegatedProperties, target) {
71
71
  for (const key of delegatedProperties) {
72
+ /* v8 ignore else -- @preserve */
72
73
  if (!(key in this.boundProperties)) {
73
74
  this.forwardPropertyToTarget(target, key, source[key]);
74
75
  }
@@ -67,6 +67,7 @@ class DelegateAriaBehavior {
67
67
  // }
68
68
  startForwardingPropertiesToTarget(source, delegatedProperties, target) {
69
69
  for (const key of delegatedProperties) {
70
+ /* v8 ignore else -- @preserve */
70
71
  if (!(key in this.boundProperties)) {
71
72
  this.forwardPropertyToTarget(target, key, source[key]);
72
73
  }
@@ -139,6 +139,7 @@ const FormAssociated = (Base) => {
139
139
  * @internal
140
140
  */
141
141
  nameChanged(_previous, _next) {
142
+ /* v8 ignore if -- @preserve */
142
143
  if (this.proxy instanceof HTMLElement) {
143
144
  this.proxy.name = this.name;
144
145
  }
@@ -226,6 +227,7 @@ const FormAssociated = (Base) => {
226
227
  const { valid, ...cleanFlags } = flags;
227
228
  flags = cleanFlags;
228
229
  }
230
+ /* v8 ignore else -- @preserve */
229
231
  if (this.elementInternals) {
230
232
  this.elementInternals.setValidity(flags, message, anchor);
231
233
  } else if (typeof message === "string") {
@@ -264,6 +266,7 @@ const FormAssociated = (Base) => {
264
266
  if (typeof this.name === "string") {
265
267
  this.proxy.name = this.name;
266
268
  }
269
+ /* v8 ignore else -- @preserve */
267
270
  if (typeof this.value === "string") {
268
271
  this.proxy.value = this.value;
269
272
  }
@@ -385,6 +388,7 @@ const CheckableFormAssociated = (Base) => {
385
388
  * @internal
386
389
  */
387
390
  defaultCheckedChanged() {
391
+ /* v8 ignore else -- @preserve */
388
392
  if (!this.dirtyChecked) {
389
393
  this.checked = this.defaultChecked;
390
394
  this.dirtyChecked = false;
@@ -137,6 +137,7 @@ const FormAssociated = (Base) => {
137
137
  * @internal
138
138
  */
139
139
  nameChanged(_previous, _next) {
140
+ /* v8 ignore if -- @preserve */
140
141
  if (this.proxy instanceof HTMLElement) {
141
142
  this.proxy.name = this.name;
142
143
  }
@@ -224,6 +225,7 @@ const FormAssociated = (Base) => {
224
225
  const { valid, ...cleanFlags } = flags;
225
226
  flags = cleanFlags;
226
227
  }
228
+ /* v8 ignore else -- @preserve */
227
229
  if (this.elementInternals) {
228
230
  this.elementInternals.setValidity(flags, message, anchor);
229
231
  } else if (typeof message === "string") {
@@ -262,6 +264,7 @@ const FormAssociated = (Base) => {
262
264
  if (typeof this.name === "string") {
263
265
  this.proxy.name = this.name;
264
266
  }
267
+ /* v8 ignore else -- @preserve */
265
268
  if (typeof this.value === "string") {
266
269
  this.proxy.value = this.value;
267
270
  }
@@ -383,6 +386,7 @@ const CheckableFormAssociated = (Base) => {
383
386
  * @internal
384
387
  */
385
388
  defaultCheckedChanged() {
389
+ /* v8 ignore else -- @preserve */
386
390
  if (!this.dirtyChecked) {
387
391
  this.checked = this.defaultChecked;
388
392
  this.dirtyChecked = false;
@@ -177,6 +177,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
177
177
  handleChange(source, propertyName) {
178
178
  switch (propertyName) {
179
179
  case "selected": {
180
+ /* v8 ignore else -- @preserve */
180
181
  if (_Listbox.slottedOptionFilter(source)) {
181
182
  this.selectedIndex = this.options.indexOf(source);
182
183
  }
@@ -196,6 +197,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
196
197
  * @internal
197
198
  */
198
199
  handleTypeAhead(key) {
200
+ /* v8 ignore else -- @preserve */
199
201
  if (this.typeaheadTimeout) {
200
202
  window.clearTimeout(this.typeaheadTimeout);
201
203
  }
@@ -218,6 +220,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
218
220
  const key = e.key;
219
221
  switch (key) {
220
222
  case fastWebUtilities.keyHome: {
223
+ /* v8 ignore else -- @preserve */
221
224
  if (!e.shiftKey) {
222
225
  e.preventDefault();
223
226
  this.selectFirstOption();
@@ -225,6 +228,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
225
228
  break;
226
229
  }
227
230
  case fastWebUtilities.keyArrowDown: {
231
+ /* v8 ignore else -- @preserve */
228
232
  if (!e.shiftKey) {
229
233
  e.preventDefault();
230
234
  this.selectNextOption();
@@ -232,6 +236,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
232
236
  break;
233
237
  }
234
238
  case fastWebUtilities.keyArrowUp: {
239
+ /* v8 ignore else -- @preserve */
235
240
  if (!e.shiftKey) {
236
241
  e.preventDefault();
237
242
  this.selectPreviousOption();
@@ -250,11 +255,14 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
250
255
  case fastWebUtilities.keyEnter:
251
256
  case fastWebUtilities.keyEscape:
252
257
  return true;
253
- case fastWebUtilities.keySpace:
258
+ case fastWebUtilities.keySpace: {
259
+ /* v8 ignore else -- @preserve */
254
260
  if (this.typeaheadExpired) {
255
261
  return true;
256
262
  }
263
+ }
257
264
  default: {
265
+ /* v8 ignore else -- @preserve */
258
266
  if (key.length === 1) {
259
267
  this.handleTypeAhead(`${key}`);
260
268
  }
@@ -312,6 +320,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
312
320
  * @public
313
321
  */
314
322
  selectFirstOption() {
323
+ /* v8 ignore else -- @preserve */
315
324
  if (!this.disabled) {
316
325
  this.selectedIndex = this.options.findIndex((o) => !o.disabled);
317
326
  }
@@ -322,6 +331,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
322
331
  * @internal
323
332
  */
324
333
  selectLastOption() {
334
+ /* v8 ignore else -- @preserve */
325
335
  if (!this.disabled) {
326
336
  this.selectedIndex = fastWebUtilities.findLastIndex(this.options, (o) => !o.disabled);
327
337
  }
@@ -332,6 +342,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
332
342
  * @internal
333
343
  */
334
344
  selectNextOption() {
345
+ /* v8 ignore else -- @preserve */
335
346
  if (!this.disabled && this.selectedIndex < this.options.length - 1) {
336
347
  this.selectedIndex += 1;
337
348
  }
@@ -342,6 +353,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
342
353
  * @internal
343
354
  */
344
355
  selectPreviousOption() {
356
+ /* v8 ignore else -- @preserve */
345
357
  if (!this.disabled && this.selectedIndex > 0) {
346
358
  this.selectedIndex = this.selectedIndex - 1;
347
359
  }
@@ -376,6 +388,7 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
376
388
  */
377
389
  slottedOptionsChanged(_, next) {
378
390
  this.options = next.reduce((options, item) => {
391
+ /* v8 ignore else -- @preserve */
379
392
  if (option_definition.isListboxOption(item)) {
380
393
  options.push(item);
381
394
  }
@@ -398,8 +411,10 @@ const _Listbox = class _Listbox extends vividElement.VividElement {
398
411
  typeaheadBufferChanged(_prev, _next) {
399
412
  if (this.$fastController.isConnected) {
400
413
  const typeaheadMatches = this.getTypeaheadMatches();
414
+ /* v8 ignore else -- @preserve */
401
415
  if (typeaheadMatches.length) {
402
416
  const selectedIndex = this.options.indexOf(typeaheadMatches[0]);
417
+ /* v8 ignore else -- @preserve */
403
418
  if (selectedIndex > -1) {
404
419
  this.selectedIndex = selectedIndex;
405
420
  }
@@ -175,6 +175,7 @@ const _Listbox = class _Listbox extends VividElement {
175
175
  handleChange(source, propertyName) {
176
176
  switch (propertyName) {
177
177
  case "selected": {
178
+ /* v8 ignore else -- @preserve */
178
179
  if (_Listbox.slottedOptionFilter(source)) {
179
180
  this.selectedIndex = this.options.indexOf(source);
180
181
  }
@@ -194,6 +195,7 @@ const _Listbox = class _Listbox extends VividElement {
194
195
  * @internal
195
196
  */
196
197
  handleTypeAhead(key) {
198
+ /* v8 ignore else -- @preserve */
197
199
  if (this.typeaheadTimeout) {
198
200
  window.clearTimeout(this.typeaheadTimeout);
199
201
  }
@@ -216,6 +218,7 @@ const _Listbox = class _Listbox extends VividElement {
216
218
  const key = e.key;
217
219
  switch (key) {
218
220
  case keyHome: {
221
+ /* v8 ignore else -- @preserve */
219
222
  if (!e.shiftKey) {
220
223
  e.preventDefault();
221
224
  this.selectFirstOption();
@@ -223,6 +226,7 @@ const _Listbox = class _Listbox extends VividElement {
223
226
  break;
224
227
  }
225
228
  case keyArrowDown: {
229
+ /* v8 ignore else -- @preserve */
226
230
  if (!e.shiftKey) {
227
231
  e.preventDefault();
228
232
  this.selectNextOption();
@@ -230,6 +234,7 @@ const _Listbox = class _Listbox extends VividElement {
230
234
  break;
231
235
  }
232
236
  case keyArrowUp: {
237
+ /* v8 ignore else -- @preserve */
233
238
  if (!e.shiftKey) {
234
239
  e.preventDefault();
235
240
  this.selectPreviousOption();
@@ -248,11 +253,14 @@ const _Listbox = class _Listbox extends VividElement {
248
253
  case keyEnter:
249
254
  case keyEscape:
250
255
  return true;
251
- case keySpace:
256
+ case keySpace: {
257
+ /* v8 ignore else -- @preserve */
252
258
  if (this.typeaheadExpired) {
253
259
  return true;
254
260
  }
261
+ }
255
262
  default: {
263
+ /* v8 ignore else -- @preserve */
256
264
  if (key.length === 1) {
257
265
  this.handleTypeAhead(`${key}`);
258
266
  }
@@ -310,6 +318,7 @@ const _Listbox = class _Listbox extends VividElement {
310
318
  * @public
311
319
  */
312
320
  selectFirstOption() {
321
+ /* v8 ignore else -- @preserve */
313
322
  if (!this.disabled) {
314
323
  this.selectedIndex = this.options.findIndex((o) => !o.disabled);
315
324
  }
@@ -320,6 +329,7 @@ const _Listbox = class _Listbox extends VividElement {
320
329
  * @internal
321
330
  */
322
331
  selectLastOption() {
332
+ /* v8 ignore else -- @preserve */
323
333
  if (!this.disabled) {
324
334
  this.selectedIndex = findLastIndex(this.options, (o) => !o.disabled);
325
335
  }
@@ -330,6 +340,7 @@ const _Listbox = class _Listbox extends VividElement {
330
340
  * @internal
331
341
  */
332
342
  selectNextOption() {
343
+ /* v8 ignore else -- @preserve */
333
344
  if (!this.disabled && this.selectedIndex < this.options.length - 1) {
334
345
  this.selectedIndex += 1;
335
346
  }
@@ -340,6 +351,7 @@ const _Listbox = class _Listbox extends VividElement {
340
351
  * @internal
341
352
  */
342
353
  selectPreviousOption() {
354
+ /* v8 ignore else -- @preserve */
343
355
  if (!this.disabled && this.selectedIndex > 0) {
344
356
  this.selectedIndex = this.selectedIndex - 1;
345
357
  }
@@ -374,6 +386,7 @@ const _Listbox = class _Listbox extends VividElement {
374
386
  */
375
387
  slottedOptionsChanged(_, next) {
376
388
  this.options = next.reduce((options, item) => {
389
+ /* v8 ignore else -- @preserve */
377
390
  if (isListboxOption(item)) {
378
391
  options.push(item);
379
392
  }
@@ -396,8 +409,10 @@ const _Listbox = class _Listbox extends VividElement {
396
409
  typeaheadBufferChanged(_prev, _next) {
397
410
  if (this.$fastController.isConnected) {
398
411
  const typeaheadMatches = this.getTypeaheadMatches();
412
+ /* v8 ignore else -- @preserve */
399
413
  if (typeaheadMatches.length) {
400
414
  const selectedIndex = this.options.indexOf(typeaheadMatches[0]);
415
+ /* v8 ignore else -- @preserve */
401
416
  if (selectedIndex > -1) {
402
417
  this.selectedIndex = selectedIndex;
403
418
  }