@vonage/vivid 4.13.0 → 4.14.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 (516) hide show
  1. package/custom-elements.json +4033 -2662
  2. package/elevation/index.cjs +1 -1
  3. package/elevation/index.js +1 -1
  4. package/index.cjs +70 -136
  5. package/index.d.ts +0 -1
  6. package/index.js +60 -62
  7. package/lib/accordion/accordion.d.ts +2 -2
  8. package/lib/accordion/accordion.template.d.ts +1 -2
  9. package/lib/accordion/definition.d.ts +1 -1
  10. package/lib/accordion-item/accordion-item.d.ts +2 -2
  11. package/lib/accordion-item/accordion-item.template.d.ts +2 -3
  12. package/lib/accordion-item/definition.d.ts +1 -1
  13. package/lib/action-group/action-group.d.ts +2 -2
  14. package/lib/action-group/action-group.template.d.ts +1 -3
  15. package/lib/action-group/definition.d.ts +1 -1
  16. package/lib/alert/alert.d.ts +2 -2
  17. package/lib/alert/alert.template.d.ts +2 -3
  18. package/lib/alert/definition.d.ts +1 -1
  19. package/lib/audio-player/audio-player.d.ts +2 -2
  20. package/lib/audio-player/audio-player.template.d.ts +2 -3
  21. package/lib/audio-player/definition.d.ts +1 -3
  22. package/lib/avatar/avatar.d.ts +2 -2
  23. package/lib/avatar/avatar.template.d.ts +2 -3
  24. package/lib/avatar/definition.d.ts +1 -1
  25. package/lib/badge/badge.d.ts +2 -2
  26. package/lib/badge/badge.template.d.ts +2 -3
  27. package/lib/badge/definition.d.ts +1 -3
  28. package/lib/banner/banner.d.ts +2 -2
  29. package/lib/banner/banner.template.d.ts +2 -3
  30. package/lib/banner/definition.d.ts +1 -1
  31. package/lib/breadcrumb/breadcrumb.d.ts +2 -2
  32. package/lib/breadcrumb/breadcrumb.template.d.ts +3 -4
  33. package/lib/breadcrumb/definition.d.ts +1 -1
  34. package/lib/breadcrumb-item/breadcrumb-item.d.ts +2 -2
  35. package/lib/breadcrumb-item/breadcrumb-item.template.d.ts +2 -3
  36. package/lib/breadcrumb-item/definition.d.ts +1 -1
  37. package/lib/button/button.d.ts +2 -2
  38. package/lib/button/button.template.d.ts +2 -4
  39. package/lib/button/definition.d.ts +1 -1
  40. package/lib/calendar/calendar.d.ts +2 -2
  41. package/lib/calendar/calendar.template.d.ts +1 -3
  42. package/lib/calendar/definition.d.ts +1 -1
  43. package/lib/calendar-event/calendar-event.d.ts +2 -2
  44. package/lib/calendar-event/calendar-event.template.d.ts +1 -3
  45. package/lib/calendar-event/definition.d.ts +1 -1
  46. package/lib/card/card.d.ts +2 -2
  47. package/lib/card/card.template.d.ts +2 -3
  48. package/lib/card/definition.d.ts +1 -1
  49. package/lib/checkbox/checkbox.form-associated.d.ts +3 -2
  50. package/lib/checkbox/checkbox.template.d.ts +2 -3
  51. package/lib/checkbox/definition.d.ts +1 -1
  52. package/lib/combobox/combobox.d.ts +17 -2
  53. package/lib/combobox/combobox.options.d.ts +7 -0
  54. package/lib/combobox/combobox.template.d.ts +2 -3
  55. package/lib/combobox/definition.d.ts +1 -2
  56. package/lib/data-grid/data-grid-cell.d.ts +16 -13
  57. package/lib/data-grid/data-grid-cell.template.d.ts +2 -3
  58. package/lib/data-grid/data-grid-row.d.ts +19 -2
  59. package/lib/data-grid/data-grid-row.template.d.ts +2 -2
  60. package/lib/data-grid/data-grid.d.ts +45 -4
  61. package/lib/data-grid/data-grid.template.d.ts +2 -2
  62. package/lib/data-grid/definition.d.ts +1 -6
  63. package/lib/date-picker/definition.d.ts +1 -3
  64. package/lib/date-range-picker/definition.d.ts +1 -3
  65. package/lib/dial-pad/definition.d.ts +1 -3
  66. package/lib/dial-pad/dial-pad.d.ts +2 -2
  67. package/lib/dial-pad/dial-pad.template.d.ts +2 -3
  68. package/lib/dialog/definition.d.ts +1 -1
  69. package/lib/dialog/dialog.d.ts +2 -2
  70. package/lib/dialog/dialog.template.d.ts +2 -3
  71. package/lib/divider/definition.d.ts +1 -1
  72. package/lib/divider/divider.d.ts +2 -2
  73. package/lib/divider/divider.template.d.ts +1 -3
  74. package/lib/elevation/definition.d.ts +1 -1
  75. package/lib/elevation/elevation.d.ts +2 -2
  76. package/lib/elevation/elevation.template.d.ts +1 -3
  77. package/lib/empty-state/definition.d.ts +1 -3
  78. package/lib/empty-state/empty-state.d.ts +2 -2
  79. package/lib/empty-state/empty-state.template.d.ts +2 -3
  80. package/lib/fab/definition.d.ts +1 -3
  81. package/lib/fab/fab.template.d.ts +2 -3
  82. package/lib/file-picker/definition.d.ts +1 -3
  83. package/lib/file-picker/file-picker.form-associated.d.ts +3 -2
  84. package/lib/file-picker/file-picker.template.d.ts +2 -3
  85. package/lib/header/definition.d.ts +1 -3
  86. package/lib/header/header.d.ts +2 -2
  87. package/lib/header/header.template.d.ts +2 -3
  88. package/lib/icon/definition.d.ts +1 -3
  89. package/lib/icon/icon.d.ts +2 -2
  90. package/lib/icon/icon.template.d.ts +1 -3
  91. package/lib/layout/definition.d.ts +1 -3
  92. package/lib/layout/layout.d.ts +2 -2
  93. package/lib/layout/layout.template.d.ts +1 -3
  94. package/lib/listbox/definition.d.ts +1 -3
  95. package/lib/listbox/listbox.template.d.ts +1 -3
  96. package/lib/menu/definition.d.ts +1 -11
  97. package/lib/menu/menu.d.ts +2 -2
  98. package/lib/menu/menu.template.d.ts +3 -3
  99. package/lib/menu-item/definition.d.ts +1 -3
  100. package/lib/menu-item/menu-item.d.ts +2 -2
  101. package/lib/menu-item/menu-item.template.d.ts +2 -3
  102. package/lib/nav/definition.d.ts +1 -3
  103. package/lib/nav/nav.d.ts +2 -2
  104. package/lib/nav/nav.template.d.ts +1 -3
  105. package/lib/nav-disclosure/definition.d.ts +1 -3
  106. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  107. package/lib/nav-disclosure/nav-disclosure.template.d.ts +2 -3
  108. package/lib/nav-item/definition.d.ts +1 -3
  109. package/lib/nav-item/nav-item.template.d.ts +2 -3
  110. package/lib/note/definition.d.ts +1 -3
  111. package/lib/note/note.d.ts +2 -2
  112. package/lib/note/note.template.d.ts +2 -3
  113. package/lib/number-field/definition.d.ts +1 -4
  114. package/lib/number-field/number-field.form-associated.d.ts +3 -2
  115. package/lib/number-field/number-field.template.d.ts +2 -3
  116. package/lib/option/definition.d.ts +1 -3
  117. package/lib/option/option.d.ts +3 -2
  118. package/lib/option/option.template.d.ts +2 -3
  119. package/lib/pagination/definition.d.ts +1 -3
  120. package/lib/pagination/pagination.d.ts +2 -2
  121. package/lib/pagination/pagination.template.d.ts +2 -3
  122. package/lib/popup/definition.d.ts +1 -3
  123. package/lib/popup/popup.template.d.ts +2 -3
  124. package/lib/progress/definition.d.ts +1 -3
  125. package/lib/progress/progress.d.ts +1 -1
  126. package/lib/progress/progress.template.d.ts +1 -4
  127. package/lib/progress-ring/definition.d.ts +1 -3
  128. package/lib/progress-ring/progress-ring.d.ts +1 -1
  129. package/lib/progress-ring/progress-ring.template.d.ts +1 -3
  130. package/lib/radio/definition.d.ts +1 -3
  131. package/lib/radio/radio.form-associated.d.ts +3 -2
  132. package/lib/radio/radio.template.d.ts +1 -3
  133. package/lib/radio-group/definition.d.ts +1 -11
  134. package/lib/radio-group/radio-group.d.ts +2 -2
  135. package/lib/radio-group/radio-group.template.d.ts +2 -3
  136. package/lib/range-slider/definition.d.ts +1 -3
  137. package/lib/range-slider/range-slider.form-associated.d.ts +3 -2
  138. package/lib/range-slider/range-slider.template.d.ts +2 -3
  139. package/lib/searchable-select/definition.d.ts +1 -4
  140. package/lib/searchable-select/option-tag.template.d.ts +2 -3
  141. package/lib/searchable-select/searchable-select.form-associated.d.ts +3 -2
  142. package/lib/searchable-select/searchable-select.template.d.ts +2 -3
  143. package/lib/select/definition.d.ts +1 -3
  144. package/lib/select/select.d.ts +14 -4
  145. package/lib/select/select.form-associated.d.ts +11 -0
  146. package/lib/select/select.template.d.ts +2 -3
  147. package/lib/selectable-box/definition.d.ts +1 -3
  148. package/lib/selectable-box/selectable-box.d.ts +2 -2
  149. package/lib/selectable-box/selectable-box.template.d.ts +2 -3
  150. package/lib/side-drawer/definition.d.ts +1 -3
  151. package/lib/side-drawer/side-drawer.d.ts +2 -2
  152. package/lib/side-drawer/side-drawer.template.d.ts +1 -3
  153. package/lib/slider/definition.d.ts +1 -3
  154. package/lib/slider/slider.form-associated.d.ts +3 -2
  155. package/lib/slider/slider.template.d.ts +3 -4
  156. package/lib/split-button/definition.d.ts +1 -1
  157. package/lib/split-button/split-button.d.ts +2 -2
  158. package/lib/split-button/split-button.template.d.ts +2 -3
  159. package/lib/switch/definition.d.ts +1 -3
  160. package/lib/switch/switch.form-associated.d.ts +3 -2
  161. package/lib/switch/switch.template.d.ts +1 -3
  162. package/lib/tab/definition.d.ts +1 -3
  163. package/lib/tab/tab.d.ts +2 -2
  164. package/lib/tab/tab.template.d.ts +2 -2
  165. package/lib/tab-panel/definition.d.ts +1 -3
  166. package/lib/tab-panel/tab-panel.d.ts +2 -2
  167. package/lib/tab-panel/tab-panel.template.d.ts +1 -1
  168. package/lib/tabs/definition.d.ts +1 -3
  169. package/lib/tabs/tabs.d.ts +3 -2
  170. package/lib/tabs/tabs.template.d.ts +1 -1
  171. package/lib/tag/definition.d.ts +1 -4
  172. package/lib/tag/tag.d.ts +2 -2
  173. package/lib/tag/tag.template.d.ts +2 -3
  174. package/lib/tag-group/definition.d.ts +1 -3
  175. package/lib/tag-group/tag-group.d.ts +2 -2
  176. package/lib/tag-group/tag-group.template.d.ts +1 -3
  177. package/lib/text-anchor/definition.d.ts +1 -3
  178. package/lib/text-anchor/text-anchor.d.ts +4 -3
  179. package/lib/text-anchor/text-anchor.template.d.ts +2 -3
  180. package/lib/text-area/definition.d.ts +1 -3
  181. package/lib/text-area/text-area.d.ts +1 -1
  182. package/lib/text-area/{text-field.form-associated.d.ts → text-area.form-associated.d.ts} +3 -2
  183. package/lib/text-area/text-area.template.d.ts +2 -3
  184. package/lib/text-field/definition.d.ts +1 -3
  185. package/lib/text-field/text-field.form-associated.d.ts +3 -2
  186. package/lib/text-field/text-field.template.d.ts +2 -3
  187. package/lib/time-picker/definition.d.ts +1 -3
  188. package/lib/time-picker/time-picker.form-associated.d.ts +3 -2
  189. package/lib/time-picker/time-picker.template.d.ts +2 -2
  190. package/lib/toggletip/definition.d.ts +1 -3
  191. package/lib/toggletip/toggletip.d.ts +2 -2
  192. package/lib/toggletip/toggletip.template.d.ts +2 -3
  193. package/lib/tooltip/definition.d.ts +1 -3
  194. package/lib/tooltip/tooltip.d.ts +2 -2
  195. package/lib/tooltip/tooltip.template.d.ts +2 -3
  196. package/lib/tree-item/definition.d.ts +1 -3
  197. package/lib/tree-item/tree-item.d.ts +11 -2
  198. package/lib/tree-item/tree-item.template.d.ts +3 -3
  199. package/lib/tree-view/definition.d.ts +1 -3
  200. package/lib/tree-view/tree-view.d.ts +16 -2
  201. package/lib/tree-view/tree-view.template.d.ts +1 -1
  202. package/lib/video-player/definition.d.ts +1 -3
  203. package/lib/video-player/video-player.d.ts +2 -2
  204. package/lib/video-player/video-player.template.d.ts +1 -3
  205. package/listbox/index.cjs +37 -39
  206. package/listbox/index.js +37 -39
  207. package/menu/index.cjs +1 -1
  208. package/menu/index.js +1 -1
  209. package/nav/index.cjs +1 -1
  210. package/nav/index.js +1 -1
  211. package/nav-disclosure/index.cjs +1 -1
  212. package/nav-disclosure/index.js +1 -1
  213. package/nav-item/index.cjs +1 -1
  214. package/nav-item/index.js +1 -1
  215. package/note/index.cjs +1 -1
  216. package/note/index.js +1 -1
  217. package/number-field/index.cjs +1 -1
  218. package/number-field/index.js +1 -1
  219. package/option/index.cjs +1 -1
  220. package/option/index.js +1 -1
  221. package/package.json +1 -1
  222. package/pagination/index.cjs +1 -1
  223. package/pagination/index.js +1 -1
  224. package/popup/index.cjs +1 -1
  225. package/popup/index.js +1 -1
  226. package/progress/index.cjs +1 -1
  227. package/progress/index.js +1 -1
  228. package/progress-ring/index.cjs +1 -1
  229. package/progress-ring/index.js +1 -1
  230. package/radio/index.cjs +1 -1
  231. package/radio/index.js +1 -1
  232. package/radio-group/index.cjs +1 -1
  233. package/radio-group/index.js +1 -1
  234. package/range-slider/index.cjs +1 -1
  235. package/range-slider/index.js +1 -1
  236. package/searchable-select/index.cjs +1 -1
  237. package/searchable-select/index.js +1 -1
  238. package/select/index.cjs +1 -1
  239. package/select/index.js +1 -1
  240. package/selectable-box/index.cjs +1 -1
  241. package/selectable-box/index.js +1 -1
  242. package/shared/affix.cjs +10 -10
  243. package/shared/affix.js +2 -2
  244. package/shared/anchor.cjs +59 -0
  245. package/shared/anchor.js +57 -0
  246. package/shared/anchored.cjs +6 -6
  247. package/shared/anchored.js +2 -2
  248. package/shared/apply-mixins.cjs +15 -17
  249. package/shared/apply-mixins.js +15 -17
  250. package/shared/apply-mixins2.cjs +25 -0
  251. package/shared/apply-mixins2.js +23 -0
  252. package/shared/applyMixinsWithObservables.cjs +4 -4
  253. package/shared/applyMixinsWithObservables.js +2 -2
  254. package/shared/aria-global.cjs +86 -67
  255. package/shared/aria-global.js +86 -67
  256. package/shared/aria-global2.cjs +68 -86
  257. package/shared/aria-global2.js +68 -86
  258. package/shared/base-progress.cjs +70 -63
  259. package/shared/base-progress.js +69 -62
  260. package/shared/breadcrumb-item.cjs +7 -58
  261. package/shared/breadcrumb-item.js +4 -55
  262. package/shared/button.cjs +178 -0
  263. package/shared/button.js +176 -0
  264. package/shared/calendar-event.cjs +10 -9
  265. package/shared/calendar-event.js +3 -2
  266. package/shared/children.cjs +2 -2
  267. package/shared/children.js +1 -1
  268. package/shared/date-picker/date-picker-base.form-associated.d.ts +3 -2
  269. package/shared/date-picker/date-picker-base.template.d.ts +2 -3
  270. package/shared/defineVividComponent.cjs +2612 -0
  271. package/shared/defineVividComponent.js +2592 -0
  272. package/shared/definition.cjs +26 -24
  273. package/shared/definition.js +17 -14
  274. package/shared/definition10.cjs +15 -12
  275. package/shared/definition10.js +15 -11
  276. package/shared/definition11.cjs +52 -248
  277. package/shared/definition11.js +24 -218
  278. package/shared/definition12.cjs +18 -14
  279. package/shared/definition12.js +17 -12
  280. package/shared/definition13.cjs +20 -19
  281. package/shared/definition13.js +11 -9
  282. package/shared/definition14.cjs +36 -38
  283. package/shared/definition14.js +16 -17
  284. package/shared/definition15.cjs +28 -26
  285. package/shared/definition15.js +17 -14
  286. package/shared/definition16.cjs +478 -611
  287. package/shared/definition16.js +471 -603
  288. package/shared/definition17.cjs +934 -1113
  289. package/shared/definition17.js +912 -1090
  290. package/shared/definition18.cjs +16 -20
  291. package/shared/definition18.js +19 -22
  292. package/shared/definition19.cjs +26 -30
  293. package/shared/definition19.js +21 -24
  294. package/shared/definition2.cjs +20 -22
  295. package/shared/definition2.js +21 -22
  296. package/shared/definition20.cjs +51 -52
  297. package/shared/definition20.js +35 -35
  298. package/shared/definition21.cjs +42 -45
  299. package/shared/definition21.js +18 -20
  300. package/shared/definition22.cjs +16 -13
  301. package/shared/definition22.js +15 -11
  302. package/shared/definition23.cjs +22 -20
  303. package/shared/definition23.js +15 -12
  304. package/shared/definition24.cjs +20 -172
  305. package/shared/definition24.js +17 -168
  306. package/shared/definition25.cjs +27 -28
  307. package/shared/definition25.js +19 -19
  308. package/shared/definition26.cjs +17 -14
  309. package/shared/definition26.js +15 -11
  310. package/shared/definition27.cjs +265 -12
  311. package/shared/definition27.js +262 -10
  312. package/shared/definition28.cjs +19 -16
  313. package/shared/definition28.js +15 -11
  314. package/shared/definition29.cjs +143 -68
  315. package/shared/definition29.js +102 -29
  316. package/shared/definition3.cjs +21 -16
  317. package/shared/definition3.js +17 -11
  318. package/shared/definition30.cjs +99 -76
  319. package/shared/definition30.js +98 -74
  320. package/shared/definition31.cjs +24 -97
  321. package/shared/definition31.js +25 -97
  322. package/shared/definition32.cjs +10 -25
  323. package/shared/definition32.js +9 -23
  324. package/shared/definition33.cjs +53 -14
  325. package/shared/definition33.js +52 -12
  326. package/shared/definition34.cjs +641 -34
  327. package/shared/definition34.js +638 -30
  328. package/shared/definition35.cjs +204 -596
  329. package/shared/definition35.js +198 -591
  330. package/shared/definition36.cjs +198 -233
  331. package/shared/definition36.js +193 -226
  332. package/shared/definition37.cjs +79 -206
  333. package/shared/definition37.js +75 -202
  334. package/shared/definition38.cjs +50 -56
  335. package/shared/definition38.js +48 -52
  336. package/shared/definition39.cjs +260 -56
  337. package/shared/definition39.js +259 -54
  338. package/shared/definition4.cjs +33 -35
  339. package/shared/definition4.js +20 -21
  340. package/shared/definition40.cjs +112 -229
  341. package/shared/definition40.js +109 -226
  342. package/shared/definition41.cjs +627 -36
  343. package/shared/definition41.js +626 -34
  344. package/shared/definition42.cjs +975 -487
  345. package/shared/definition42.js +972 -482
  346. package/shared/definition43.cjs +725 -932
  347. package/shared/definition43.js +713 -918
  348. package/shared/definition44.cjs +116 -734
  349. package/shared/definition44.js +114 -731
  350. package/shared/definition45.cjs +93 -116
  351. package/shared/definition45.js +93 -115
  352. package/shared/definition46.cjs +469 -89
  353. package/shared/definition46.js +466 -86
  354. package/shared/definition47.cjs +119 -470
  355. package/shared/definition47.js +116 -465
  356. package/shared/definition48.cjs +114 -120
  357. package/shared/definition48.js +112 -117
  358. package/shared/definition49.cjs +17 -134
  359. package/shared/definition49.js +16 -132
  360. package/shared/definition5.cjs +48 -49
  361. package/shared/definition5.js +19 -19
  362. package/shared/definition50.cjs +112 -15
  363. package/shared/definition50.js +110 -12
  364. package/shared/definition51.cjs +847 -84
  365. package/shared/definition51.js +843 -79
  366. package/shared/definition52.cjs +31 -873
  367. package/shared/definition52.js +29 -870
  368. package/shared/definition53.cjs +126 -28
  369. package/shared/definition53.js +124 -25
  370. package/shared/definition54.cjs +268 -107
  371. package/shared/definition54.js +262 -100
  372. package/shared/definition55.cjs +63 -278
  373. package/shared/definition55.js +61 -275
  374. package/shared/definition56.cjs +868 -76
  375. package/shared/definition56.js +867 -74
  376. package/shared/definition57.cjs +108 -826
  377. package/shared/definition57.js +106 -823
  378. package/shared/definition58.cjs +74 -100
  379. package/shared/definition58.js +70 -95
  380. package/shared/definition59.cjs +181 -106
  381. package/shared/definition59.js +175 -101
  382. package/shared/definition6.cjs +23 -21
  383. package/shared/definition6.js +15 -12
  384. package/shared/definition60.cjs +273 -70
  385. package/shared/definition60.js +273 -69
  386. package/shared/definition61.cjs +66157 -271
  387. package/shared/definition61.js +66156 -269
  388. package/shared/definition62.cjs +36 -66174
  389. package/shared/definition62.js +33 -66171
  390. package/shared/definition63.cjs +2154 -27
  391. package/shared/definition63.js +2151 -25
  392. package/shared/definition7.cjs +19 -15
  393. package/shared/definition7.js +14 -10
  394. package/shared/definition8.cjs +26 -27
  395. package/shared/definition8.js +17 -17
  396. package/shared/definition9.cjs +21 -21
  397. package/shared/definition9.js +18 -17
  398. package/shared/design-system/createRegisterFunction.d.ts +2 -0
  399. package/shared/design-system/defineVividComponent.d.ts +15 -0
  400. package/shared/{localization.js → direction.js} +11 -11
  401. package/shared/dom.cjs +0 -13
  402. package/shared/dom.js +1 -13
  403. package/shared/form-associated.cjs +422 -457
  404. package/shared/form-associated.js +422 -457
  405. package/shared/form-associated2.cjs +383 -0
  406. package/shared/form-associated2.js +381 -0
  407. package/shared/form-elements.cjs +15 -42
  408. package/shared/form-elements.js +2 -29
  409. package/shared/foundation/anchor/anchor.d.ts +1 -0
  410. package/shared/foundation/button/button.d.ts +3 -2
  411. package/shared/foundation/button/button.template.d.ts +2 -4
  412. package/shared/foundation/form-associated/form-associated.d.ts +51 -0
  413. package/shared/foundation/listbox/listbox.d.ts +22 -0
  414. package/shared/foundation/progress/base-progress.d.ts +9 -0
  415. package/shared/foundation/utilities/apply-mixins.d.ts +1 -0
  416. package/shared/foundation/vivid-element/vivid-element.d.ts +3 -0
  417. package/shared/foundation-element.cjs +1417 -0
  418. package/shared/foundation-element.js +1414 -0
  419. package/shared/index.cjs +7 -5097
  420. package/shared/index.js +7 -5079
  421. package/shared/key-codes.cjs +10 -0
  422. package/shared/key-codes.js +6 -1
  423. package/shared/key-codes2.cjs +50 -6
  424. package/shared/key-codes2.js +50 -4
  425. package/shared/listbox.cjs +428 -1195
  426. package/shared/listbox.js +412 -1176
  427. package/shared/listbox2.cjs +1268 -0
  428. package/shared/listbox2.js +1265 -0
  429. package/shared/localized.cjs +2 -2
  430. package/shared/localized.js +1 -1
  431. package/shared/numbers.cjs +12 -0
  432. package/shared/numbers.js +12 -1
  433. package/shared/patterns/affix.d.ts +2 -2
  434. package/shared/patterns/chevron.d.ts +2 -2
  435. package/shared/patterns/form-elements/form-elements.d.ts +2 -2
  436. package/shared/presentationDate.cjs +50 -49
  437. package/shared/presentationDate.js +7 -6
  438. package/shared/ref.cjs +2 -2
  439. package/shared/ref.js +1 -1
  440. package/shared/repeat.cjs +22 -22
  441. package/shared/repeat.js +1 -1
  442. package/shared/slider.template.cjs +5 -5
  443. package/shared/slider.template.js +2 -2
  444. package/shared/slotted.cjs +4 -4
  445. package/shared/slotted.js +1 -1
  446. package/shared/strings.cjs +0 -26
  447. package/shared/strings.js +1 -25
  448. package/shared/strings2.cjs +37 -0
  449. package/shared/strings2.js +33 -0
  450. package/shared/text-anchor.cjs +8 -89
  451. package/shared/text-anchor.js +5 -86
  452. package/shared/text-anchor.template.cjs +2 -2
  453. package/shared/text-anchor.template.js +1 -1
  454. package/shared/text-field2.cjs +29 -28
  455. package/shared/text-field2.js +6 -5
  456. package/shared/vivid-element.cjs +8 -0
  457. package/shared/vivid-element.js +6 -0
  458. package/side-drawer/index.cjs +1 -1
  459. package/side-drawer/index.js +1 -1
  460. package/slider/index.cjs +1 -1
  461. package/slider/index.js +1 -1
  462. package/split-button/index.cjs +1 -1
  463. package/split-button/index.js +1 -1
  464. package/styles/core/all.css +1 -1
  465. package/styles/core/theme.css +1 -1
  466. package/styles/core/typography.css +1 -1
  467. package/styles/tokens/theme-dark.css +4 -4
  468. package/styles/tokens/theme-light.css +4 -4
  469. package/styles/tokens/vivid-2-compat.css +1 -1
  470. package/switch/index.cjs +1 -1
  471. package/switch/index.js +1 -1
  472. package/tab/index.cjs +1 -1
  473. package/tab/index.js +1 -1
  474. package/tab-panel/index.cjs +1 -1
  475. package/tab-panel/index.js +1 -1
  476. package/tabs/index.cjs +1 -1
  477. package/tabs/index.js +1 -1
  478. package/tag/index.cjs +1 -1
  479. package/tag/index.js +1 -1
  480. package/tag-group/index.cjs +1 -1
  481. package/tag-group/index.js +1 -1
  482. package/text-anchor/index.cjs +10 -7
  483. package/text-anchor/index.js +10 -7
  484. package/text-area/index.cjs +1 -1
  485. package/text-area/index.js +1 -1
  486. package/text-field/index.cjs +1 -1
  487. package/text-field/index.js +1 -1
  488. package/time-picker/index.cjs +1 -1
  489. package/time-picker/index.js +1 -1
  490. package/toggletip/index.cjs +1 -1
  491. package/toggletip/index.js +1 -1
  492. package/tooltip/index.cjs +1 -1
  493. package/tooltip/index.js +1 -1
  494. package/tree-item/index.cjs +1 -1
  495. package/tree-item/index.js +1 -1
  496. package/tree-view/index.cjs +1 -1
  497. package/tree-view/index.js +1 -1
  498. package/video-player/index.cjs +1 -1
  499. package/video-player/index.js +1 -1
  500. package/vivid.api.json +2846 -7860
  501. package/shared/definition64.cjs +0 -2175
  502. package/shared/definition64.js +0 -2170
  503. package/shared/design-system/index.d.ts +0 -3
  504. package/shared/icon.cjs +0 -261
  505. package/shared/icon.js +0 -258
  506. package/shared/index2.cjs +0 -11
  507. package/shared/index2.js +0 -9
  508. package/shared/radio.cjs +0 -126
  509. package/shared/radio.js +0 -124
  510. package/shared/select.options.cjs +0 -12
  511. package/shared/select.options.js +0 -10
  512. package/shared/start-end.cjs +0 -52
  513. package/shared/start-end.js +0 -50
  514. package/shared/tree-item.cjs +0 -154
  515. package/shared/tree-item.js +0 -151
  516. package/shared/{localization.cjs → direction.cjs} +9 -9
@@ -1,16 +1,20 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index.cjs');
3
+ const definition$1 = require('./definition63.cjs');
4
4
  const definition = require('./definition27.cjs');
5
+ const defineVividComponent = require('./defineVividComponent.cjs');
5
6
  const keyCodes = require('./key-codes.cjs');
6
7
  const affix = require('./affix.cjs');
7
- const applyMixins = require('./apply-mixins.cjs');
8
- const localization = require('./localization.cjs');
9
- const icon = require('./icon.cjs');
8
+ const vividElement = require('./vivid-element.cjs');
9
+ const applyMixins = require('./apply-mixins2.cjs');
10
+ const direction = require('./direction.cjs');
10
11
  const anchored = require('./anchored.cjs');
12
+ const dom = require('./dom.cjs');
13
+ const index = require('./index.cjs');
14
+ const ref = require('./ref.cjs');
11
15
  const slotted = require('./slotted.cjs');
12
- const when = require('./when.cjs');
13
16
  const classNames = require('./class-names.cjs');
17
+ const when = require('./when.cjs');
14
18
 
15
19
  /**
16
20
  * Menu items roles.
@@ -39,14 +43,7 @@ const roleForMenuItem = {
39
43
  [MenuItemRole$1.menuitemradio]: "menuitemradio",
40
44
  };
41
45
 
42
- /**
43
- * A test that ensures that all arguments are HTML Elements
44
- */
45
- function isHTMLElement(...args) {
46
- return args.every((arg) => arg instanceof HTMLElement);
47
- }
48
-
49
- 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}.base:where(.hover,: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:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(.hover,: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{display:flex;box-sizing:border-box;align-items:center;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:12px}.base.two-lines{padding:12px;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)))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - 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],[aria-checked=true],[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)}";
46
+ const styles$1 = ":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}.base:where(.hover,: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:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(.hover,: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{display:flex;box-sizing:border-box;align-items:center;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:12px}.base.two-lines{padding:12px;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)))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - 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],[aria-checked=true],[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)}";
50
47
 
51
48
  var __defProp$1 = Object.defineProperty;
52
49
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -66,7 +63,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
66
63
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
67
64
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
68
65
  var _Menu_instances, triggerBehaviour_get, setupAnchor_fn, updateAnchor_fn, cleanupAnchor_fn, _onAnchorClick;
69
- exports.Menu = class Menu extends index.FoundationElement {
66
+ exports.Menu = class Menu extends vividElement.VividElement {
70
67
  constructor() {
71
68
  super(...arguments);
72
69
  __privateAdd(this, _Menu_instances);
@@ -137,7 +134,7 @@ exports.Menu = class Menu extends index.FoundationElement {
137
134
  * check if the item is a menu item
138
135
  */
139
136
  this.isMenuItemElement = (el) => {
140
- return isHTMLElement(el) && Object.prototype.hasOwnProperty.call(
137
+ return dom.isHTMLElement(el) && Object.prototype.hasOwnProperty.call(
141
138
  exports.Menu.focusableElementRoles,
142
139
  el.getAttribute("role")
143
140
  );
@@ -161,7 +158,7 @@ exports.Menu = class Menu extends index.FoundationElement {
161
158
  return;
162
159
  }
163
160
  const newValue = !this.open;
164
- index.DOM.queueUpdate(() => this.open = newValue);
161
+ defineVividComponent.DOM.queueUpdate(() => this.open = newValue);
165
162
  });
166
163
  this._onFocusout = (e) => {
167
164
  const focusTarget = e.relatedTarget;
@@ -184,7 +181,7 @@ exports.Menu = class Menu extends index.FoundationElement {
184
181
  */
185
182
  connectedCallback() {
186
183
  super.connectedCallback();
187
- index.DOM.queueUpdate(() => {
184
+ defineVividComponent.DOM.queueUpdate(() => {
188
185
  this.setItems();
189
186
  });
190
187
  }
@@ -349,31 +346,31 @@ cleanupAnchor_fn = function(a) {
349
346
  _onAnchorClick = new WeakMap();
350
347
  exports.Menu.focusableElementRoles = roleForMenuItem;
351
348
  __decorateClass$1([
352
- index.observable
349
+ defineVividComponent.observable
353
350
  ], exports.Menu.prototype, "items", 2);
354
351
  __decorateClass$1([
355
- index.attr({ attribute: "aria-label" })
352
+ defineVividComponent.attr({ attribute: "aria-label" })
356
353
  ], exports.Menu.prototype, "ariaLabel", 2);
357
354
  __decorateClass$1([
358
- index.attr({ mode: "fromView" })
355
+ defineVividComponent.attr({ mode: "fromView" })
359
356
  ], exports.Menu.prototype, "placement", 2);
360
357
  __decorateClass$1([
361
- index.attr
358
+ defineVividComponent.attr
362
359
  ], exports.Menu.prototype, "trigger", 2);
363
360
  __decorateClass$1([
364
- index.attr({ mode: "boolean", attribute: "auto-dismiss" })
361
+ defineVividComponent.attr({ mode: "boolean", attribute: "auto-dismiss" })
365
362
  ], exports.Menu.prototype, "autoDismiss", 2);
366
363
  __decorateClass$1([
367
- index.attr({ mode: "fromView", attribute: "position-strategy" })
364
+ defineVividComponent.attr({ mode: "fromView", attribute: "position-strategy" })
368
365
  ], exports.Menu.prototype, "positionStrategy", 2);
369
366
  __decorateClass$1([
370
- index.attr({ mode: "boolean" })
367
+ defineVividComponent.attr({ mode: "boolean" })
371
368
  ], exports.Menu.prototype, "open", 2);
372
369
  __decorateClass$1([
373
- index.observable
370
+ defineVividComponent.observable
374
371
  ], exports.Menu.prototype, "headerSlottedContent", 2);
375
372
  __decorateClass$1([
376
- index.observable
373
+ defineVividComponent.observable
377
374
  ], exports.Menu.prototype, "actionItemsSlottedContent", 2);
378
375
  exports.Menu = __decorateClass$1([
379
376
  anchored.anchored
@@ -397,13 +394,13 @@ var CheckAppearance = /* @__PURE__ */ ((CheckAppearance2) => {
397
394
  CheckAppearance2["TickOnly"] = "tick-only";
398
395
  return CheckAppearance2;
399
396
  })(CheckAppearance || {});
400
- class MenuItem extends index.FoundationElement {
397
+ class MenuItem extends vividElement.VividElement {
401
398
  constructor() {
402
399
  super();
403
400
  // eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value
404
401
  this.role = MenuItemRole.menuitem;
405
402
  this.hasSubmenu = false;
406
- this.currentDirection = localization.Direction.ltr;
403
+ this.currentDirection = direction.Direction.ltr;
407
404
  /**
408
405
  * @internal
409
406
  */
@@ -504,7 +501,7 @@ class MenuItem extends index.FoundationElement {
504
501
  if (this.expanded === false) {
505
502
  this.submenu.collapseExpandedItem();
506
503
  } else {
507
- this.currentDirection = localization.getDirection(this);
504
+ this.currentDirection = direction.getDirection(this);
508
505
  }
509
506
  this.$emit("expanded-change", this, { bubbles: false });
510
507
  }
@@ -522,7 +519,7 @@ class MenuItem extends index.FoundationElement {
522
519
  */
523
520
  connectedCallback() {
524
521
  super.connectedCallback();
525
- index.DOM.queueUpdate(() => {
522
+ defineVividComponent.DOM.queueUpdate(() => {
526
523
  this.updateSubmenu();
527
524
  });
528
525
  this.observer = new MutationObserver(this.updateSubmenu);
@@ -581,52 +578,52 @@ class MenuItem extends index.FoundationElement {
581
578
  }
582
579
  }
583
580
  __decorateClass([
584
- index.attr({ mode: "boolean" })
581
+ defineVividComponent.attr({ mode: "boolean" })
585
582
  ], MenuItem.prototype, "disabled");
586
583
  __decorateClass([
587
- index.attr({ mode: "boolean" })
584
+ defineVividComponent.attr({ mode: "boolean" })
588
585
  ], MenuItem.prototype, "expanded");
589
586
  __decorateClass([
590
- index.attr
587
+ defineVividComponent.attr
591
588
  ], MenuItem.prototype, "role");
592
589
  __decorateClass([
593
- index.attr({ mode: "boolean" })
590
+ defineVividComponent.attr({ mode: "boolean" })
594
591
  ], MenuItem.prototype, "checked");
595
592
  __decorateClass([
596
- index.observable
593
+ defineVividComponent.observable
597
594
  ], MenuItem.prototype, "submenuRegion");
598
595
  __decorateClass([
599
- index.observable
596
+ defineVividComponent.observable
600
597
  ], MenuItem.prototype, "hasSubmenu");
601
598
  __decorateClass([
602
- index.observable
599
+ defineVividComponent.observable
603
600
  ], MenuItem.prototype, "currentDirection");
604
601
  __decorateClass([
605
- index.observable
602
+ defineVividComponent.observable
606
603
  ], MenuItem.prototype, "submenu");
607
604
  __decorateClass([
608
- index.attr
605
+ defineVividComponent.attr
609
606
  ], MenuItem.prototype, "text");
610
607
  __decorateClass([
611
- index.attr({ attribute: "text-secondary" })
608
+ defineVividComponent.attr({ attribute: "text-secondary" })
612
609
  ], MenuItem.prototype, "textSecondary");
613
610
  __decorateClass([
614
- index.attr
611
+ defineVividComponent.attr
615
612
  ], MenuItem.prototype, "connotation");
616
613
  __decorateClass([
617
- index.attr({ mode: "boolean", attribute: "check-trailing" })
614
+ defineVividComponent.attr({ mode: "boolean", attribute: "check-trailing" })
618
615
  ], MenuItem.prototype, "checkTrailing");
619
616
  __decorateClass([
620
- index.attr({ attribute: "check-appearance" })
617
+ defineVividComponent.attr({ attribute: "check-appearance" })
621
618
  ], MenuItem.prototype, "checkedAppearance");
622
619
  __decorateClass([
623
- index.observable
620
+ defineVividComponent.observable
624
621
  ], MenuItem.prototype, "metaSlottedContent");
625
622
  __decorateClass([
626
- index.observable
623
+ defineVividComponent.observable
627
624
  ], MenuItem.prototype, "trailingMetaSlottedContent");
628
625
  __decorateClass([
629
- index.observable
626
+ defineVividComponent.observable
630
627
  ], MenuItem.prototype, "slottedSubmenu");
631
628
  applyMixins.applyMixins(MenuItem, affix.AffixIcon);
632
629
 
@@ -638,7 +635,7 @@ const getIndicatorIcon = (x) => {
638
635
  const iconStatus = x.checked ? "checked" : "unchecked";
639
636
  return `${iconType}-${iconStatus}-2-line`;
640
637
  };
641
- const getClasses = ({
638
+ const getClasses$1 = ({
642
639
  connotation,
643
640
  disabled,
644
641
  checked,
@@ -670,31 +667,31 @@ function handleClick(x, { event }) {
670
667
  return x.role === MenuItemRole.presentation;
671
668
  }
672
669
  function checkIndicator(context) {
673
- const iconTag = context.tagFor(icon.Icon);
674
- return index.html`${when.when(
670
+ const iconTag = context.tagFor(definition.Icon);
671
+ return defineVividComponent.html`${when.when(
675
672
  (x) => x.role === MenuItemRole.menuitemcheckbox || x.role === MenuItemRole.menuitemradio,
676
- index.html`<span class="action"><${iconTag} class="icon" name="${(x) => getIndicatorIcon(x)}"></${iconTag}></span>`
673
+ defineVividComponent.html`<span class="action"><${iconTag} class="icon" name="${(x) => getIndicatorIcon(x)}"></${iconTag}></span>`
677
674
  )}`;
678
675
  }
679
676
  function text() {
680
- return index.html`${when.when(
677
+ return defineVividComponent.html`${when.when(
681
678
  (x) => x.text || x.textSecondary,
682
- index.html`<span class="text">
679
+ defineVividComponent.html`<span class="text">
683
680
  ${when.when(
684
681
  (x) => x.text,
685
- index.html`<span class="text-primary">${(x) => x.text}</span>`
682
+ defineVividComponent.html`<span class="text-primary">${(x) => x.text}</span>`
686
683
  )}
687
684
  ${when.when(
688
685
  (x) => x.textSecondary,
689
- index.html`<span class="text-secondary">${(x) => x.textSecondary}</span>`
686
+ defineVividComponent.html`<span class="text-secondary">${(x) => x.textSecondary}</span>`
690
687
  )}
691
688
  </span>`
692
689
  )}`;
693
690
  }
694
691
  const MenuItemTemplate = (context) => {
695
692
  const affixIconTemplate = affix.affixIconTemplateFactory(context);
696
- const iconTag = context.tagFor(icon.Icon);
697
- return index.html`
693
+ const iconTag = context.tagFor(definition.Icon);
694
+ return defineVividComponent.html`
698
695
  <template
699
696
  role="${(x) => x.role ? x.role : MenuItemRole.menuitem}"
700
697
  aria-haspopup="${(x) => x.hasSubmenu ? "menu" : void 0}"
@@ -706,12 +703,12 @@ const MenuItemTemplate = (context) => {
706
703
  @mouseover="${(x, c) => x.handleMouseOver(c.event)}"
707
704
  @mouseout="${(x, c) => x.handleMouseOut(c.event)}"
708
705
  >
709
- <div class="${getClasses}">
706
+ <div class="${getClasses$1}">
710
707
  <slot name="meta" ${slotted.slotted("metaSlottedContent")}></slot>
711
708
  ${checkIndicator(context)}
712
709
  ${when.when(
713
710
  (x) => x.icon,
714
- index.html`<span class="decorative"
711
+ defineVividComponent.html`<span class="decorative"
715
712
  >${(x) => affixIconTemplate(x.icon)}</span
716
713
  >`
717
714
  )}
@@ -722,30 +719,108 @@ const MenuItemTemplate = (context) => {
722
719
  ></slot>
723
720
  ${when.when(
724
721
  (x) => x.hasSubmenu,
725
- index.html`<${iconTag} class="chevron" name="chevron-right-line"></${iconTag}>`
722
+ defineVividComponent.html`<${iconTag} class="chevron" name="chevron-right-line"></${iconTag}>`
726
723
  )}
727
724
  </div>
728
725
  <slot
729
726
  name="submenu"
730
727
  ${slotted.slotted({
731
728
  property: "slottedSubmenu",
732
- filter: slotted.elements(context.tagFor(exports.Menu))
729
+ filter: slotted.elements(context.tagForNonDependency(menuName))
733
730
  })}
734
731
  ></slot>
735
732
  </template>
736
733
  `;
737
734
  };
738
735
 
739
- const menuItemDefinition = MenuItem.compose({
740
- baseName: "menu-item",
741
- template: MenuItemTemplate,
742
- styles
743
- });
744
- const menuItemRegistries = [menuItemDefinition(), ...definition.iconRegistries];
745
- const registerMenuItem = index.registerFactory(menuItemRegistries);
736
+ const menuItemDefinition = defineVividComponent.defineVividComponent(
737
+ "menu-item",
738
+ MenuItem,
739
+ MenuItemTemplate,
740
+ [definition.iconDefinition],
741
+ {
742
+ styles: styles$1
743
+ }
744
+ );
745
+ const registerMenuItem = defineVividComponent.createRegisterFunction(menuItemDefinition);
746
+
747
+ const styles = ":host{display:var(--_popup-display, inline)}:host([slotted-anchor]){--_popup-display: contents}.base{display:flex;overflow:hidden auto;box-sizing:border-box;flex-direction:column;gap:8px;inline-size:max-content;max-block-size:var(--menu-block-size, 408px);max-inline-size:var(--menu-max-inline-size);min-inline-size:var(--menu-min-inline-size);padding-block:8px}::slotted(a){color:var(--vvd-color-canvas-text);text-decoration:none}::slotted(a[role=menuitem]:focus-visible){box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent;display:block}.header{padding-block-start:4px;padding-inline:12px}.hide-header .header{display:none}.body{display:flex;flex-direction:column;row-gap:1px}.hide-body .body{display:none}.action-items{display:flex;justify-content:flex-end;gap:8px;padding-block-end:4px;padding-inline:12px}.hide-actions .action-items{display:none}";
748
+
749
+ const getClasses = ({
750
+ headerSlottedContent,
751
+ actionItemsSlottedContent,
752
+ items
753
+ }) => classNames.classNames(
754
+ "base",
755
+ ["hide-header", !headerSlottedContent?.length],
756
+ ["hide-actions", !actionItemsSlottedContent?.length],
757
+ ["hide-body", items && !items.length]
758
+ );
759
+ function handleEscapeKey(menu, event) {
760
+ if (menu.open && index.handleEscapeKeyAndStopPropogation(event)) {
761
+ menu.open = false;
762
+ }
763
+ return true;
764
+ }
765
+ const MenuTemplate = (context) => {
766
+ const popupTag = context.tagFor(definition$1.Popup);
767
+ const anchorSlotTemplate = anchored.anchorSlotTemplateFactory();
768
+ function handlePopupEvents(x, e, state) {
769
+ e.stopPropagation();
770
+ x.open = state;
771
+ }
772
+ return defineVividComponent.html`
773
+ <template role="presentation"
774
+ @change="${(x, c) => x._onChange(c.event)}"
775
+ @focusout="${(x, c) => x._onFocusout(c.event)}">
776
+ ${anchorSlotTemplate}
777
+ <${popupTag}
778
+ ${ref.ref("_popupEl")}
779
+ :placement=${(x) => x.placement}
780
+ :open=${(x) => x.open}
781
+ :anchor=${(x) => x._anchorEl}
782
+ :strategy="${(x) => x.positionStrategy}"
783
+ @keydown="${(x, c) => handleEscapeKey(x, c.event)}"
784
+ @vwc-popup:open="${(x, c) => handlePopupEvents(x, c.event, true)}"
785
+ @vwc-popup:close="${(x, c) => handlePopupEvents(x, c.event, false)}"
786
+ >
787
+ <div class="${getClasses}">
788
+ <div class="header">
789
+ <slot name="header" ${slotted.slotted("headerSlottedContent")}></slot>
790
+ </div>
791
+ <div
792
+ class="body"
793
+ role="menu"
794
+ aria-label="${(x) => x.ariaLabel}"
795
+ @keydown="${(x, c) => x.handleMenuKeyDown(c.event)}"
796
+ @focusout="${(x, c) => x.handleFocusOut(c.event)}"
797
+ >
798
+ <slot ${slotted.slotted("items")}></slot>
799
+ </div>
800
+ <footer class="action-items"><slot name="action-items" ${slotted.slotted(
801
+ "actionItemsSlottedContent"
802
+ )}></slot></footer>
803
+ </div>
804
+ </${popupTag}>
805
+ </template>`;
806
+ };
807
+
808
+ const menuName = "menu";
809
+ const menuDefinition = defineVividComponent.defineVividComponent(
810
+ menuName,
811
+ exports.Menu,
812
+ MenuTemplate,
813
+ [definition$1.popupDefinition, menuItemDefinition],
814
+ {
815
+ styles
816
+ }
817
+ );
818
+ const registerMenu = defineVividComponent.createRegisterFunction(menuDefinition);
746
819
 
747
820
  exports.MenuItem = MenuItem;
748
821
  exports.MenuItemRole = MenuItemRole;
822
+ exports.menuDefinition = menuDefinition;
749
823
  exports.menuItemDefinition = menuItemDefinition;
750
- exports.menuItemRegistries = menuItemRegistries;
824
+ exports.menuName = menuName;
825
+ exports.registerMenu = registerMenu;
751
826
  exports.registerMenuItem = registerMenuItem;
@@ -1,14 +1,18 @@
1
- import { F as FoundationElement, D as DOM, o as observable, a as attr, h as html, r as registerFactory } from './index.js';
2
- import { a as iconRegistries } from './definition27.js';
3
- import { b as keyHome, a as keyEnd, d as keyArrowUp, c as keyArrowDown, e as keyArrowLeft, f as keyArrowRight, k as keySpace, g as keyEnter } from './key-codes.js';
1
+ import { P as Popup, p as popupDefinition } from './definition63.js';
2
+ import { I as Icon, i as iconDefinition } from './definition27.js';
3
+ import { D as DOM, o as observable, a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './defineVividComponent.js';
4
+ import { g as keyHome, d as keyEnd, e as keyArrowUp, f as keyArrowDown, h as keyArrowLeft, i as keyArrowRight, a as keySpace, k as keyEnter } from './key-codes.js';
4
5
  import { A as AffixIcon, a as affixIconTemplateFactory } from './affix.js';
5
- import { a as applyMixins } from './apply-mixins.js';
6
- import { D as Direction, g as getDirection } from './localization.js';
7
- import { I as Icon } from './icon.js';
8
- import { b as anchored } from './anchored.js';
6
+ import { V as VividElement } from './vivid-element.js';
7
+ import { a as applyMixins } from './apply-mixins2.js';
8
+ import { D as Direction, g as getDirection } from './direction.js';
9
+ import { a as anchored, b as anchorSlotTemplateFactory } from './anchored.js';
10
+ import { i as isHTMLElement } from './dom.js';
11
+ import { h as handleEscapeKeyAndStopPropogation } from './index.js';
12
+ import { r as ref } from './ref.js';
9
13
  import { s as slotted, e as elements } from './slotted.js';
10
- import { w as when } from './when.js';
11
14
  import { c as classNames } from './class-names.js';
15
+ import { w as when } from './when.js';
12
16
 
13
17
  /**
14
18
  * Menu items roles.
@@ -37,14 +41,7 @@ const roleForMenuItem = {
37
41
  [MenuItemRole$1.menuitemradio]: "menuitemradio",
38
42
  };
39
43
 
40
- /**
41
- * A test that ensures that all arguments are HTML Elements
42
- */
43
- function isHTMLElement(...args) {
44
- return args.every((arg) => arg instanceof HTMLElement);
45
- }
46
-
47
- 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}.base:where(.hover,: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:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(.hover,: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{display:flex;box-sizing:border-box;align-items:center;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:12px}.base.two-lines{padding:12px;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)))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - 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],[aria-checked=true],[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)}";
44
+ const styles$1 = ":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}.base:where(.hover,: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:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(.hover,: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{display:flex;box-sizing:border-box;align-items:center;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:12px}.base.two-lines{padding:12px;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)))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - 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],[aria-checked=true],[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)}";
48
45
 
49
46
  var __defProp$1 = Object.defineProperty;
50
47
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -64,7 +61,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
64
61
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
65
62
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
66
63
  var _Menu_instances, triggerBehaviour_get, setupAnchor_fn, updateAnchor_fn, cleanupAnchor_fn, _onAnchorClick;
67
- let Menu = class extends FoundationElement {
64
+ let Menu = class extends VividElement {
68
65
  constructor() {
69
66
  super(...arguments);
70
67
  __privateAdd(this, _Menu_instances);
@@ -395,7 +392,7 @@ var CheckAppearance = /* @__PURE__ */ ((CheckAppearance2) => {
395
392
  CheckAppearance2["TickOnly"] = "tick-only";
396
393
  return CheckAppearance2;
397
394
  })(CheckAppearance || {});
398
- class MenuItem extends FoundationElement {
395
+ class MenuItem extends VividElement {
399
396
  constructor() {
400
397
  super();
401
398
  // eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value
@@ -636,7 +633,7 @@ const getIndicatorIcon = (x) => {
636
633
  const iconStatus = x.checked ? "checked" : "unchecked";
637
634
  return `${iconType}-${iconStatus}-2-line`;
638
635
  };
639
- const getClasses = ({
636
+ const getClasses$1 = ({
640
637
  connotation,
641
638
  disabled,
642
639
  checked,
@@ -704,7 +701,7 @@ const MenuItemTemplate = (context) => {
704
701
  @mouseover="${(x, c) => x.handleMouseOver(c.event)}"
705
702
  @mouseout="${(x, c) => x.handleMouseOut(c.event)}"
706
703
  >
707
- <div class="${getClasses}">
704
+ <div class="${getClasses$1}">
708
705
  <slot name="meta" ${slotted("metaSlottedContent")}></slot>
709
706
  ${checkIndicator(context)}
710
707
  ${when(
@@ -727,19 +724,95 @@ const MenuItemTemplate = (context) => {
727
724
  name="submenu"
728
725
  ${slotted({
729
726
  property: "slottedSubmenu",
730
- filter: elements(context.tagFor(Menu))
727
+ filter: elements(context.tagForNonDependency(menuName))
731
728
  })}
732
729
  ></slot>
733
730
  </template>
734
731
  `;
735
732
  };
736
733
 
737
- const menuItemDefinition = MenuItem.compose({
738
- baseName: "menu-item",
739
- template: MenuItemTemplate,
740
- styles
741
- });
742
- const menuItemRegistries = [menuItemDefinition(), ...iconRegistries];
743
- const registerMenuItem = registerFactory(menuItemRegistries);
734
+ const menuItemDefinition = defineVividComponent(
735
+ "menu-item",
736
+ MenuItem,
737
+ MenuItemTemplate,
738
+ [iconDefinition],
739
+ {
740
+ styles: styles$1
741
+ }
742
+ );
743
+ const registerMenuItem = createRegisterFunction(menuItemDefinition);
744
+
745
+ const styles = ":host{display:var(--_popup-display, inline)}:host([slotted-anchor]){--_popup-display: contents}.base{display:flex;overflow:hidden auto;box-sizing:border-box;flex-direction:column;gap:8px;inline-size:max-content;max-block-size:var(--menu-block-size, 408px);max-inline-size:var(--menu-max-inline-size);min-inline-size:var(--menu-min-inline-size);padding-block:8px}::slotted(a){color:var(--vvd-color-canvas-text);text-decoration:none}::slotted(a[role=menuitem]:focus-visible){box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent;display:block}.header{padding-block-start:4px;padding-inline:12px}.hide-header .header{display:none}.body{display:flex;flex-direction:column;row-gap:1px}.hide-body .body{display:none}.action-items{display:flex;justify-content:flex-end;gap:8px;padding-block-end:4px;padding-inline:12px}.hide-actions .action-items{display:none}";
746
+
747
+ const getClasses = ({
748
+ headerSlottedContent,
749
+ actionItemsSlottedContent,
750
+ items
751
+ }) => classNames(
752
+ "base",
753
+ ["hide-header", !headerSlottedContent?.length],
754
+ ["hide-actions", !actionItemsSlottedContent?.length],
755
+ ["hide-body", items && !items.length]
756
+ );
757
+ function handleEscapeKey(menu, event) {
758
+ if (menu.open && handleEscapeKeyAndStopPropogation(event)) {
759
+ menu.open = false;
760
+ }
761
+ return true;
762
+ }
763
+ const MenuTemplate = (context) => {
764
+ const popupTag = context.tagFor(Popup);
765
+ const anchorSlotTemplate = anchorSlotTemplateFactory();
766
+ function handlePopupEvents(x, e, state) {
767
+ e.stopPropagation();
768
+ x.open = state;
769
+ }
770
+ return html`
771
+ <template role="presentation"
772
+ @change="${(x, c) => x._onChange(c.event)}"
773
+ @focusout="${(x, c) => x._onFocusout(c.event)}">
774
+ ${anchorSlotTemplate}
775
+ <${popupTag}
776
+ ${ref("_popupEl")}
777
+ :placement=${(x) => x.placement}
778
+ :open=${(x) => x.open}
779
+ :anchor=${(x) => x._anchorEl}
780
+ :strategy="${(x) => x.positionStrategy}"
781
+ @keydown="${(x, c) => handleEscapeKey(x, c.event)}"
782
+ @vwc-popup:open="${(x, c) => handlePopupEvents(x, c.event, true)}"
783
+ @vwc-popup:close="${(x, c) => handlePopupEvents(x, c.event, false)}"
784
+ >
785
+ <div class="${getClasses}">
786
+ <div class="header">
787
+ <slot name="header" ${slotted("headerSlottedContent")}></slot>
788
+ </div>
789
+ <div
790
+ class="body"
791
+ role="menu"
792
+ aria-label="${(x) => x.ariaLabel}"
793
+ @keydown="${(x, c) => x.handleMenuKeyDown(c.event)}"
794
+ @focusout="${(x, c) => x.handleFocusOut(c.event)}"
795
+ >
796
+ <slot ${slotted("items")}></slot>
797
+ </div>
798
+ <footer class="action-items"><slot name="action-items" ${slotted(
799
+ "actionItemsSlottedContent"
800
+ )}></slot></footer>
801
+ </div>
802
+ </${popupTag}>
803
+ </template>`;
804
+ };
805
+
806
+ const menuName = "menu";
807
+ const menuDefinition = defineVividComponent(
808
+ menuName,
809
+ Menu,
810
+ MenuTemplate,
811
+ [popupDefinition, menuItemDefinition],
812
+ {
813
+ styles
814
+ }
815
+ );
816
+ const registerMenu = createRegisterFunction(menuDefinition);
744
817
 
745
- export { MenuItemRole as M, menuItemRegistries as a, Menu as b, MenuItem as c, menuItemDefinition as m, registerMenuItem as r };
818
+ export { MenuItemRole as M, menuName as a, menuDefinition as b, registerMenu as c, Menu as d, MenuItem as e, menuItemDefinition as m, registerMenuItem as r };