@editora/ui-core 0.1.9 → 0.1.12

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 (526) hide show
  1. package/README.md +35 -0
  2. package/dist/ElementBase-1b301e7f.js +1 -0
  3. package/dist/ElementBase-909688f3.mjs +79 -0
  4. package/dist/accordion.cjs.js +360 -0
  5. package/dist/accordion.esm.js +647 -0
  6. package/dist/alert-dialog.cjs.js +567 -0
  7. package/dist/alert-dialog.esm.js +1043 -0
  8. package/dist/alert.cjs.js +351 -0
  9. package/dist/alert.esm.js +450 -0
  10. package/dist/anchor.cjs.js +30 -0
  11. package/dist/anchor.esm.js +62 -0
  12. package/dist/animated-beam.cjs.js +720 -0
  13. package/dist/animated-beam.esm.js +1540 -0
  14. package/dist/animated-list.cjs.js +672 -0
  15. package/dist/animated-list.esm.js +1137 -0
  16. package/dist/animated-text.cjs.js +683 -0
  17. package/dist/animated-text.esm.js +1020 -0
  18. package/dist/app-header.cjs.js +345 -0
  19. package/dist/app-header.esm.js +398 -0
  20. package/dist/aspect-ratio.cjs.js +294 -0
  21. package/dist/aspect-ratio.esm.js +416 -0
  22. package/dist/avatar.cjs.js +365 -0
  23. package/dist/avatar.esm.js +513 -0
  24. package/dist/badge.cjs.js +432 -0
  25. package/dist/badge.esm.js +554 -0
  26. package/dist/block-controls.cjs.js +347 -0
  27. package/dist/block-controls.esm.js +556 -0
  28. package/dist/box.cjs.js +226 -0
  29. package/dist/box.esm.js +556 -0
  30. package/dist/breadcrumb.cjs.js +288 -0
  31. package/dist/breadcrumb.esm.js +523 -0
  32. package/dist/button.cjs.js +521 -0
  33. package/dist/button.esm.js +671 -0
  34. package/dist/calendar-2c11b824.mjs +1685 -0
  35. package/dist/calendar-a8735e40.js +741 -0
  36. package/dist/calendar.cjs.js +1 -0
  37. package/dist/calendar.esm.js +11 -0
  38. package/dist/card.cjs.js +306 -0
  39. package/dist/card.esm.js +378 -0
  40. package/dist/chart.cjs.js +783 -0
  41. package/dist/chart.esm.js +1369 -0
  42. package/dist/checkbox.cjs.js +338 -0
  43. package/dist/checkbox.esm.js +455 -0
  44. package/dist/collapsible.cjs.js +381 -0
  45. package/dist/collapsible.esm.js +548 -0
  46. package/dist/collection-a1aac0c6.mjs +56 -0
  47. package/dist/collection-a2969ad2.js +1 -0
  48. package/dist/collection.cjs.js +1 -0
  49. package/dist/collection.esm.js +136 -0
  50. package/dist/color-picker.cjs.js +803 -0
  51. package/dist/color-picker.esm.js +1809 -0
  52. package/dist/combobox.cjs.js +525 -0
  53. package/dist/combobox.esm.js +1023 -0
  54. package/dist/command-palette.cjs.js +67 -0
  55. package/dist/command-palette.esm.js +181 -0
  56. package/dist/command.cjs.js +130 -0
  57. package/dist/command.esm.js +307 -0
  58. package/dist/components/ui-icon.d.ts.map +1 -1
  59. package/dist/components/ui-split-button.d.ts +2 -0
  60. package/dist/components/ui-split-button.d.ts.map +1 -1
  61. package/dist/container.cjs.js +115 -0
  62. package/dist/container.esm.js +156 -0
  63. package/dist/context-menu.cjs.js +357 -0
  64. package/dist/context-menu.esm.js +1204 -0
  65. package/dist/control-group.cjs.js +80 -0
  66. package/dist/control-group.esm.js +110 -0
  67. package/dist/data-table.cjs.js +682 -0
  68. package/dist/data-table.esm.js +1660 -0
  69. package/dist/date-field.cjs.js +142 -0
  70. package/dist/date-field.esm.js +384 -0
  71. package/dist/date-picker.cjs.js +570 -0
  72. package/dist/date-picker.esm.js +1067 -0
  73. package/dist/date-range-picker.cjs.js +455 -0
  74. package/dist/date-range-picker.esm.js +973 -0
  75. package/dist/date-range-time-picker.cjs.js +573 -0
  76. package/dist/date-range-time-picker.esm.js +1137 -0
  77. package/dist/date-time-picker.cjs.js +495 -0
  78. package/dist/date-time-picker.esm.js +1062 -0
  79. package/dist/date-time-utils-5cf58cd0.js +1 -0
  80. package/dist/date-time-utils-bdceb7af.mjs +273 -0
  81. package/dist/description.cjs.js +85 -0
  82. package/dist/description.esm.js +136 -0
  83. package/dist/dialog.cjs.js +406 -0
  84. package/dist/dialog.esm.js +822 -0
  85. package/dist/direction-provider.cjs.js +30 -0
  86. package/dist/direction-provider.esm.js +74 -0
  87. package/dist/dismissable-layer-193e3bed.js +1 -0
  88. package/dist/dismissable-layer-9c7e6b58.mjs +112 -0
  89. package/dist/dismissable-layer.cjs.js +6 -0
  90. package/dist/dismissable-layer.esm.js +115 -0
  91. package/dist/dock.cjs.js +347 -0
  92. package/dist/dock.esm.js +826 -0
  93. package/dist/drawer.cjs.js +538 -0
  94. package/dist/drawer.esm.js +872 -0
  95. package/dist/dropdown.cjs.js +511 -0
  96. package/dist/dropdown.esm.js +1084 -0
  97. package/dist/dropzone.cjs.js +1 -0
  98. package/dist/dropzone.esm.js +11 -0
  99. package/dist/empty-state.cjs.js +169 -0
  100. package/dist/empty-state.esm.js +199 -0
  101. package/dist/field-error.cjs.js +74 -0
  102. package/dist/field-error.esm.js +125 -0
  103. package/dist/field.cjs.js +398 -0
  104. package/dist/field.esm.js +542 -0
  105. package/dist/fieldset.cjs.js +214 -0
  106. package/dist/fieldset.esm.js +298 -0
  107. package/dist/file-upload.cjs.js +353 -0
  108. package/dist/file-upload.esm.js +740 -0
  109. package/dist/flex.cjs.js +54 -0
  110. package/dist/flex.esm.js +168 -0
  111. package/dist/floating-toolbar.cjs.js +223 -0
  112. package/dist/floating-toolbar.esm.js +513 -0
  113. package/dist/focus-scope-103833ee.mjs +147 -0
  114. package/dist/focus-scope-2b12b4e7.js +1 -0
  115. package/dist/focus-scope.cjs.js +6 -0
  116. package/dist/focus-scope.esm.js +97 -0
  117. package/dist/form.cjs.js +377 -0
  118. package/dist/form.esm.js +862 -0
  119. package/dist/gantt.cjs.js +157 -0
  120. package/dist/gantt.esm.js +214 -0
  121. package/dist/grid.cjs.js +67 -0
  122. package/dist/grid.esm.js +211 -0
  123. package/dist/hover-card.cjs.js +284 -0
  124. package/dist/hover-card.esm.js +470 -0
  125. package/dist/icon-9e9da03b.js +207 -0
  126. package/dist/icon-cloud.cjs.js +495 -0
  127. package/dist/icon-cloud.esm.js +828 -0
  128. package/dist/icon-e2a85cc1.mjs +368 -0
  129. package/dist/icon.cjs.js +1 -0
  130. package/dist/icon.esm.js +6 -0
  131. package/dist/icons.d.ts +1 -1
  132. package/dist/icons.d.ts.map +1 -1
  133. package/dist/index.cjs.js +1 -36010
  134. package/dist/index.esm.js +440 -66615
  135. package/dist/inline-edit.cjs.js +118 -0
  136. package/dist/inline-edit.esm.js +206 -0
  137. package/dist/input.cjs.js +535 -0
  138. package/dist/input.esm.js +790 -0
  139. package/dist/label.cjs.js +195 -0
  140. package/dist/label.esm.js +301 -0
  141. package/dist/layout.cjs.js +266 -0
  142. package/dist/layout.esm.js +408 -0
  143. package/dist/listbox-308789a0.mjs +210 -0
  144. package/dist/listbox-ef2f708e.js +46 -0
  145. package/dist/listbox.cjs.js +1 -0
  146. package/dist/listbox.esm.js +6 -0
  147. package/dist/marquee.cjs.js +513 -0
  148. package/dist/marquee.esm.js +767 -0
  149. package/dist/masonry-grid.cjs.js +65 -0
  150. package/dist/masonry-grid.esm.js +180 -0
  151. package/dist/menu-item-styles-27fdbac4.mjs +181 -0
  152. package/dist/menu-item-styles-83ad1e22.js +152 -0
  153. package/dist/menu.cjs.js +275 -0
  154. package/dist/menu.esm.js +743 -0
  155. package/dist/menubar.cjs.js +455 -0
  156. package/dist/menubar.esm.js +1195 -0
  157. package/dist/meter.cjs.js +241 -0
  158. package/dist/meter.esm.js +334 -0
  159. package/dist/multi-select.cjs.js +549 -0
  160. package/dist/multi-select.esm.js +914 -0
  161. package/dist/navigation-menu.cjs.js +382 -0
  162. package/dist/navigation-menu.esm.js +614 -0
  163. package/dist/number-field.cjs.js +351 -0
  164. package/dist/number-field.esm.js +771 -0
  165. package/dist/number-ticker.cjs.js +209 -0
  166. package/dist/number-ticker.esm.js +749 -0
  167. package/dist/odometer.cjs.js +313 -0
  168. package/dist/odometer.esm.js +565 -0
  169. package/dist/orbiter.cjs.js +495 -0
  170. package/dist/orbiter.esm.js +831 -0
  171. package/dist/overlayManager-86454af7.mjs +58 -0
  172. package/dist/overlayManager-ece06517.js +1 -0
  173. package/dist/pagination.cjs.js +201 -0
  174. package/dist/pagination.esm.js +297 -0
  175. package/dist/panel-group-40254cdd.js +36 -0
  176. package/dist/panel-group-a376cc5e.mjs +326 -0
  177. package/dist/panel-group.cjs.js +1 -0
  178. package/dist/panel-group.esm.js +7 -0
  179. package/dist/panel.cjs.js +22 -0
  180. package/dist/panel.esm.js +46 -0
  181. package/dist/password-field.cjs.js +626 -0
  182. package/dist/password-field.esm.js +925 -0
  183. package/dist/pin-input.cjs.js +185 -0
  184. package/dist/pin-input.esm.js +412 -0
  185. package/dist/placement-grid.cjs.js +99 -0
  186. package/dist/placement-grid.esm.js +486 -0
  187. package/dist/plugin-panel.cjs.js +131 -0
  188. package/dist/plugin-panel.esm.js +173 -0
  189. package/dist/popover.cjs.js +286 -0
  190. package/dist/popover.esm.js +483 -0
  191. package/dist/portal-1cf392ca.mjs +114 -0
  192. package/dist/portal-d8d7fbca.js +1 -0
  193. package/dist/portal.cjs.js +39 -0
  194. package/dist/portal.esm.js +187 -0
  195. package/dist/positioner-accc6e5f.js +1 -0
  196. package/dist/positioner-fbd61bf1.mjs +132 -0
  197. package/dist/positioner.cjs.js +6 -0
  198. package/dist/positioner.esm.js +137 -0
  199. package/dist/presence.cjs.js +164 -0
  200. package/dist/presence.esm.js +301 -0
  201. package/dist/progress.cjs.js +329 -0
  202. package/dist/progress.esm.js +453 -0
  203. package/dist/quick-actions.cjs.js +202 -0
  204. package/dist/quick-actions.esm.js +357 -0
  205. package/dist/radio-group.cjs.js +257 -0
  206. package/dist/radio-group.esm.js +477 -0
  207. package/dist/rating.cjs.js +355 -0
  208. package/dist/rating.esm.js +637 -0
  209. package/dist/roving-focus-group-4350c9a7.mjs +50 -0
  210. package/dist/roving-focus-group-5c059bf9.js +1 -0
  211. package/dist/roving-focus-group.cjs.js +1 -0
  212. package/dist/roving-focus-group.esm.js +72 -0
  213. package/dist/{runtime-3cc1c386.mjs → runtime-4ac0107b.mjs} +348 -459
  214. package/dist/runtime-5f282bc8.js +1 -0
  215. package/dist/runtime.cjs.js +1 -1
  216. package/dist/runtime.esm.js +24 -23
  217. package/dist/scroll-area.cjs.js +294 -0
  218. package/dist/scroll-area.esm.js +478 -0
  219. package/dist/scroll-lock-48793569.js +1 -0
  220. package/dist/scroll-lock-9de6d328.mjs +53 -0
  221. package/dist/section.cjs.js +167 -0
  222. package/dist/section.esm.js +202 -0
  223. package/dist/select.cjs.js +799 -0
  224. package/dist/select.esm.js +1266 -0
  225. package/dist/selection-popup.cjs.js +203 -0
  226. package/dist/selection-popup.esm.js +392 -0
  227. package/dist/separator.cjs.js +221 -0
  228. package/dist/separator.esm.js +241 -0
  229. package/dist/sidebar.cjs.js +769 -0
  230. package/dist/sidebar.esm.js +1219 -0
  231. package/dist/skeleton.cjs.js +205 -0
  232. package/dist/skeleton.esm.js +249 -0
  233. package/dist/slider.cjs.js +493 -0
  234. package/dist/slider.esm.js +694 -0
  235. package/dist/slot.cjs.js +159 -0
  236. package/dist/slot.esm.js +227 -0
  237. package/dist/sortable.cjs.js +855 -1
  238. package/dist/sortable.esm.js +2176 -2
  239. package/dist/spinning-text.cjs.js +395 -0
  240. package/dist/spinning-text.esm.js +635 -0
  241. package/dist/split-button.cjs.js +485 -0
  242. package/dist/split-button.esm.js +709 -0
  243. package/dist/splitter.cjs.js +70 -0
  244. package/dist/splitter.esm.js +105 -0
  245. package/dist/standalone/accordion.d.ts +2 -0
  246. package/dist/standalone/accordion.d.ts.map +1 -0
  247. package/dist/standalone/alert-dialog.d.ts +2 -0
  248. package/dist/standalone/alert-dialog.d.ts.map +1 -0
  249. package/dist/standalone/alert.d.ts +2 -0
  250. package/dist/standalone/alert.d.ts.map +1 -0
  251. package/dist/standalone/anchor.d.ts +2 -0
  252. package/dist/standalone/anchor.d.ts.map +1 -0
  253. package/dist/standalone/animated-beam.d.ts +2 -0
  254. package/dist/standalone/animated-beam.d.ts.map +1 -0
  255. package/dist/standalone/animated-list.d.ts +2 -0
  256. package/dist/standalone/animated-list.d.ts.map +1 -0
  257. package/dist/standalone/animated-text.d.ts +2 -0
  258. package/dist/standalone/animated-text.d.ts.map +1 -0
  259. package/dist/standalone/app-header.d.ts +2 -0
  260. package/dist/standalone/app-header.d.ts.map +1 -0
  261. package/dist/standalone/aspect-ratio.d.ts +2 -0
  262. package/dist/standalone/aspect-ratio.d.ts.map +1 -0
  263. package/dist/standalone/avatar.d.ts +2 -0
  264. package/dist/standalone/avatar.d.ts.map +1 -0
  265. package/dist/standalone/badge.d.ts +2 -0
  266. package/dist/standalone/badge.d.ts.map +1 -0
  267. package/dist/standalone/block-controls.d.ts +2 -0
  268. package/dist/standalone/block-controls.d.ts.map +1 -0
  269. package/dist/standalone/box.d.ts +2 -0
  270. package/dist/standalone/box.d.ts.map +1 -0
  271. package/dist/standalone/breadcrumb.d.ts +2 -0
  272. package/dist/standalone/breadcrumb.d.ts.map +1 -0
  273. package/dist/standalone/button.d.ts +2 -0
  274. package/dist/standalone/button.d.ts.map +1 -0
  275. package/dist/standalone/calendar.d.ts +2 -0
  276. package/dist/standalone/calendar.d.ts.map +1 -0
  277. package/dist/standalone/card.d.ts +2 -0
  278. package/dist/standalone/card.d.ts.map +1 -0
  279. package/dist/standalone/chart.d.ts +2 -0
  280. package/dist/standalone/chart.d.ts.map +1 -0
  281. package/dist/standalone/checkbox.d.ts +2 -0
  282. package/dist/standalone/checkbox.d.ts.map +1 -0
  283. package/dist/standalone/collapsible.d.ts +2 -0
  284. package/dist/standalone/collapsible.d.ts.map +1 -0
  285. package/dist/standalone/collection.d.ts +2 -0
  286. package/dist/standalone/collection.d.ts.map +1 -0
  287. package/dist/standalone/color-picker.d.ts +2 -0
  288. package/dist/standalone/color-picker.d.ts.map +1 -0
  289. package/dist/standalone/combobox.d.ts +2 -0
  290. package/dist/standalone/combobox.d.ts.map +1 -0
  291. package/dist/standalone/command-palette.d.ts +2 -0
  292. package/dist/standalone/command-palette.d.ts.map +1 -0
  293. package/dist/standalone/command.d.ts +2 -0
  294. package/dist/standalone/command.d.ts.map +1 -0
  295. package/dist/standalone/container.d.ts +2 -0
  296. package/dist/standalone/container.d.ts.map +1 -0
  297. package/dist/standalone/context-menu.d.ts +2 -0
  298. package/dist/standalone/context-menu.d.ts.map +1 -0
  299. package/dist/standalone/control-group.d.ts +2 -0
  300. package/dist/standalone/control-group.d.ts.map +1 -0
  301. package/dist/standalone/data-table.d.ts +2 -0
  302. package/dist/standalone/data-table.d.ts.map +1 -0
  303. package/dist/standalone/date-field.d.ts +2 -0
  304. package/dist/standalone/date-field.d.ts.map +1 -0
  305. package/dist/standalone/date-picker.d.ts +2 -0
  306. package/dist/standalone/date-picker.d.ts.map +1 -0
  307. package/dist/standalone/date-range-picker.d.ts +2 -0
  308. package/dist/standalone/date-range-picker.d.ts.map +1 -0
  309. package/dist/standalone/date-range-time-picker.d.ts +2 -0
  310. package/dist/standalone/date-range-time-picker.d.ts.map +1 -0
  311. package/dist/standalone/date-time-picker.d.ts +2 -0
  312. package/dist/standalone/date-time-picker.d.ts.map +1 -0
  313. package/dist/standalone/description.d.ts +2 -0
  314. package/dist/standalone/description.d.ts.map +1 -0
  315. package/dist/standalone/dialog.d.ts +2 -0
  316. package/dist/standalone/dialog.d.ts.map +1 -0
  317. package/dist/standalone/direction-provider.d.ts +2 -0
  318. package/dist/standalone/direction-provider.d.ts.map +1 -0
  319. package/dist/standalone/dismissable-layer.d.ts +2 -0
  320. package/dist/standalone/dismissable-layer.d.ts.map +1 -0
  321. package/dist/standalone/dock.d.ts +2 -0
  322. package/dist/standalone/dock.d.ts.map +1 -0
  323. package/dist/standalone/drawer.d.ts +2 -0
  324. package/dist/standalone/drawer.d.ts.map +1 -0
  325. package/dist/standalone/dropdown.d.ts +2 -0
  326. package/dist/standalone/dropdown.d.ts.map +1 -0
  327. package/dist/standalone/dropzone.d.ts +2 -0
  328. package/dist/standalone/dropzone.d.ts.map +1 -0
  329. package/dist/standalone/empty-state.d.ts +2 -0
  330. package/dist/standalone/empty-state.d.ts.map +1 -0
  331. package/dist/standalone/field-error.d.ts +2 -0
  332. package/dist/standalone/field-error.d.ts.map +1 -0
  333. package/dist/standalone/field.d.ts +2 -0
  334. package/dist/standalone/field.d.ts.map +1 -0
  335. package/dist/standalone/fieldset.d.ts +2 -0
  336. package/dist/standalone/fieldset.d.ts.map +1 -0
  337. package/dist/standalone/file-upload.d.ts +2 -0
  338. package/dist/standalone/file-upload.d.ts.map +1 -0
  339. package/dist/standalone/flex.d.ts +2 -0
  340. package/dist/standalone/flex.d.ts.map +1 -0
  341. package/dist/standalone/floating-toolbar.d.ts +2 -0
  342. package/dist/standalone/floating-toolbar.d.ts.map +1 -0
  343. package/dist/standalone/focus-scope.d.ts +2 -0
  344. package/dist/standalone/focus-scope.d.ts.map +1 -0
  345. package/dist/standalone/form.d.ts +2 -0
  346. package/dist/standalone/form.d.ts.map +1 -0
  347. package/dist/standalone/gantt.d.ts +2 -0
  348. package/dist/standalone/gantt.d.ts.map +1 -0
  349. package/dist/standalone/grid.d.ts +2 -0
  350. package/dist/standalone/grid.d.ts.map +1 -0
  351. package/dist/standalone/hover-card.d.ts +2 -0
  352. package/dist/standalone/hover-card.d.ts.map +1 -0
  353. package/dist/standalone/icon-cloud.d.ts +2 -0
  354. package/dist/standalone/icon-cloud.d.ts.map +1 -0
  355. package/dist/standalone/icon.d.ts +2 -0
  356. package/dist/standalone/icon.d.ts.map +1 -0
  357. package/dist/standalone/inline-edit.d.ts +2 -0
  358. package/dist/standalone/inline-edit.d.ts.map +1 -0
  359. package/dist/standalone/input.d.ts +2 -0
  360. package/dist/standalone/input.d.ts.map +1 -0
  361. package/dist/standalone/label.d.ts +2 -0
  362. package/dist/standalone/label.d.ts.map +1 -0
  363. package/dist/standalone/layout.d.ts +2 -0
  364. package/dist/standalone/layout.d.ts.map +1 -0
  365. package/dist/standalone/listbox.d.ts +2 -0
  366. package/dist/standalone/listbox.d.ts.map +1 -0
  367. package/dist/standalone/marquee.d.ts +2 -0
  368. package/dist/standalone/marquee.d.ts.map +1 -0
  369. package/dist/standalone/masonry-grid.d.ts +2 -0
  370. package/dist/standalone/masonry-grid.d.ts.map +1 -0
  371. package/dist/standalone/menu.d.ts +2 -0
  372. package/dist/standalone/menu.d.ts.map +1 -0
  373. package/dist/standalone/menubar.d.ts +2 -0
  374. package/dist/standalone/menubar.d.ts.map +1 -0
  375. package/dist/standalone/meter.d.ts +2 -0
  376. package/dist/standalone/meter.d.ts.map +1 -0
  377. package/dist/standalone/multi-select.d.ts +2 -0
  378. package/dist/standalone/multi-select.d.ts.map +1 -0
  379. package/dist/standalone/navigation-menu.d.ts +2 -0
  380. package/dist/standalone/navigation-menu.d.ts.map +1 -0
  381. package/dist/standalone/number-field.d.ts +2 -0
  382. package/dist/standalone/number-field.d.ts.map +1 -0
  383. package/dist/standalone/number-ticker.d.ts +2 -0
  384. package/dist/standalone/number-ticker.d.ts.map +1 -0
  385. package/dist/standalone/odometer.d.ts +2 -0
  386. package/dist/standalone/odometer.d.ts.map +1 -0
  387. package/dist/standalone/orbiter.d.ts +2 -0
  388. package/dist/standalone/orbiter.d.ts.map +1 -0
  389. package/dist/standalone/pagination.d.ts +2 -0
  390. package/dist/standalone/pagination.d.ts.map +1 -0
  391. package/dist/standalone/panel-group.d.ts +2 -0
  392. package/dist/standalone/panel-group.d.ts.map +1 -0
  393. package/dist/standalone/panel.d.ts +2 -0
  394. package/dist/standalone/panel.d.ts.map +1 -0
  395. package/dist/standalone/password-field.d.ts +2 -0
  396. package/dist/standalone/password-field.d.ts.map +1 -0
  397. package/dist/standalone/pin-input.d.ts +2 -0
  398. package/dist/standalone/pin-input.d.ts.map +1 -0
  399. package/dist/standalone/placement-grid.d.ts +2 -0
  400. package/dist/standalone/placement-grid.d.ts.map +1 -0
  401. package/dist/standalone/plugin-panel.d.ts +2 -0
  402. package/dist/standalone/plugin-panel.d.ts.map +1 -0
  403. package/dist/standalone/popover.d.ts +2 -0
  404. package/dist/standalone/popover.d.ts.map +1 -0
  405. package/dist/standalone/portal.d.ts +2 -0
  406. package/dist/standalone/portal.d.ts.map +1 -0
  407. package/dist/standalone/positioner.d.ts +2 -0
  408. package/dist/standalone/positioner.d.ts.map +1 -0
  409. package/dist/standalone/presence.d.ts +2 -0
  410. package/dist/standalone/presence.d.ts.map +1 -0
  411. package/dist/standalone/progress.d.ts +2 -0
  412. package/dist/standalone/progress.d.ts.map +1 -0
  413. package/dist/standalone/quick-actions.d.ts +2 -0
  414. package/dist/standalone/quick-actions.d.ts.map +1 -0
  415. package/dist/standalone/radio-group.d.ts +2 -0
  416. package/dist/standalone/radio-group.d.ts.map +1 -0
  417. package/dist/standalone/rating.d.ts +2 -0
  418. package/dist/standalone/rating.d.ts.map +1 -0
  419. package/dist/standalone/roving-focus-group.d.ts +2 -0
  420. package/dist/standalone/roving-focus-group.d.ts.map +1 -0
  421. package/dist/standalone/scroll-area.d.ts +2 -0
  422. package/dist/standalone/scroll-area.d.ts.map +1 -0
  423. package/dist/standalone/section.d.ts +2 -0
  424. package/dist/standalone/section.d.ts.map +1 -0
  425. package/dist/standalone/select.d.ts +2 -0
  426. package/dist/standalone/select.d.ts.map +1 -0
  427. package/dist/standalone/selection-popup.d.ts +2 -0
  428. package/dist/standalone/selection-popup.d.ts.map +1 -0
  429. package/dist/standalone/separator.d.ts +2 -0
  430. package/dist/standalone/separator.d.ts.map +1 -0
  431. package/dist/standalone/sidebar.d.ts +2 -0
  432. package/dist/standalone/sidebar.d.ts.map +1 -0
  433. package/dist/standalone/skeleton.d.ts +2 -0
  434. package/dist/standalone/skeleton.d.ts.map +1 -0
  435. package/dist/standalone/slider.d.ts +2 -0
  436. package/dist/standalone/slider.d.ts.map +1 -0
  437. package/dist/standalone/slot.d.ts +2 -0
  438. package/dist/standalone/slot.d.ts.map +1 -0
  439. package/dist/standalone/spinning-text.d.ts +2 -0
  440. package/dist/standalone/spinning-text.d.ts.map +1 -0
  441. package/dist/standalone/split-button.d.ts +2 -0
  442. package/dist/standalone/split-button.d.ts.map +1 -0
  443. package/dist/standalone/splitter.d.ts +2 -0
  444. package/dist/standalone/splitter.d.ts.map +1 -0
  445. package/dist/standalone/stepper.d.ts +2 -0
  446. package/dist/standalone/stepper.d.ts.map +1 -0
  447. package/dist/standalone/switch.d.ts +2 -0
  448. package/dist/standalone/switch.d.ts.map +1 -0
  449. package/dist/standalone/table.d.ts +2 -0
  450. package/dist/standalone/table.d.ts.map +1 -0
  451. package/dist/standalone/tabs.d.ts +2 -0
  452. package/dist/standalone/tabs.d.ts.map +1 -0
  453. package/dist/standalone/tags-input.d.ts +2 -0
  454. package/dist/standalone/tags-input.d.ts.map +1 -0
  455. package/dist/standalone/textarea.d.ts +2 -0
  456. package/dist/standalone/textarea.d.ts.map +1 -0
  457. package/dist/standalone/time-field.d.ts +2 -0
  458. package/dist/standalone/time-field.d.ts.map +1 -0
  459. package/dist/standalone/time-picker.d.ts +2 -0
  460. package/dist/standalone/time-picker.d.ts.map +1 -0
  461. package/dist/standalone/timeline.d.ts +2 -0
  462. package/dist/standalone/timeline.d.ts.map +1 -0
  463. package/dist/standalone/toast.d.ts +2 -0
  464. package/dist/standalone/toast.d.ts.map +1 -0
  465. package/dist/standalone/toggle-group.d.ts +2 -0
  466. package/dist/standalone/toggle-group.d.ts.map +1 -0
  467. package/dist/standalone/toggle.d.ts +2 -0
  468. package/dist/standalone/toggle.d.ts.map +1 -0
  469. package/dist/standalone/toolbar.d.ts +2 -0
  470. package/dist/standalone/toolbar.d.ts.map +1 -0
  471. package/dist/standalone/tooltip.d.ts +2 -0
  472. package/dist/standalone/tooltip.d.ts.map +1 -0
  473. package/dist/standalone/transfer-list.d.ts +2 -0
  474. package/dist/standalone/transfer-list.d.ts.map +1 -0
  475. package/dist/standalone/tree-item.d.ts +2 -0
  476. package/dist/standalone/tree-item.d.ts.map +1 -0
  477. package/dist/standalone/tree.d.ts +2 -0
  478. package/dist/standalone/tree.d.ts.map +1 -0
  479. package/dist/standalone/visually-hidden.d.ts +2 -0
  480. package/dist/standalone/visually-hidden.d.ts.map +1 -0
  481. package/dist/standalone/wizard.d.ts +2 -0
  482. package/dist/standalone/wizard.d.ts.map +1 -0
  483. package/dist/stepper.cjs.js +337 -0
  484. package/dist/stepper.esm.js +578 -0
  485. package/dist/switch.cjs.js +397 -0
  486. package/dist/switch.esm.js +543 -0
  487. package/dist/table.cjs.js +212 -0
  488. package/dist/table.esm.js +432 -0
  489. package/dist/tabs.cjs.js +515 -0
  490. package/dist/tabs.esm.js +808 -0
  491. package/dist/tags-input.cjs.js +202 -0
  492. package/dist/tags-input.esm.js +436 -0
  493. package/dist/textarea.cjs.js +329 -0
  494. package/dist/textarea.esm.js +520 -0
  495. package/dist/time-field.cjs.js +142 -0
  496. package/dist/time-field.esm.js +387 -0
  497. package/dist/time-picker.cjs.js +284 -0
  498. package/dist/time-picker.esm.js +686 -0
  499. package/dist/timeline.cjs.js +198 -0
  500. package/dist/timeline.esm.js +248 -0
  501. package/dist/toast.cjs.js +234 -0
  502. package/dist/toast.esm.js +399 -0
  503. package/dist/toggle-group.cjs.js +131 -0
  504. package/dist/toggle-group.esm.js +382 -0
  505. package/dist/toggle.cjs.js +237 -0
  506. package/dist/toggle.esm.js +346 -0
  507. package/dist/toolbar.cjs.js +126 -0
  508. package/dist/toolbar.esm.js +240 -0
  509. package/dist/tooltip.cjs.js +159 -0
  510. package/dist/tooltip.esm.js +376 -0
  511. package/dist/transfer-list.cjs.js +734 -0
  512. package/dist/transfer-list.esm.js +969 -0
  513. package/dist/tree-0a7a8d05.js +39 -0
  514. package/dist/tree-dcd74a4a.mjs +294 -0
  515. package/dist/tree-item.cjs.js +103 -0
  516. package/dist/tree-item.esm.js +143 -0
  517. package/dist/tree.cjs.js +1 -0
  518. package/dist/tree.esm.js +7 -0
  519. package/dist/visually-hidden.cjs.js +42 -0
  520. package/dist/visually-hidden.esm.js +68 -0
  521. package/dist/wizard.cjs.js +677 -0
  522. package/dist/wizard.esm.js +1068 -0
  523. package/package.json +7 -1
  524. package/dist/runtime-41717c1e.js +0 -1
  525. package/dist/sortable-06a3bd6c.js +0 -855
  526. package/dist/sortable-23bf110b.mjs +0 -2254
@@ -0,0 +1,1084 @@
1
+ import { E as _ } from "./ElementBase-909688f3.mjs";
2
+ import { c as x } from "./menu-item-styles-27fdbac4.mjs";
3
+ const l = [
4
+ '[role="menuitem"]',
5
+ '[role="menuitemcheckbox"]',
6
+ '[role="menuitemradio"]',
7
+ ".item",
8
+ "[data-menu-item]"
9
+ ].join(", "), y = `
10
+ :host {
11
+ --ui-dropdown-bg: var(
12
+ --ui-dropdown-menu-bg,
13
+ var(--base-dropdown-bg, color-mix(in srgb, var(--ui-color-surface, #ffffff) 98%, transparent))
14
+ );
15
+ --ui-dropdown-color: var(--ui-dropdown-menu-color, var(--base-dropdown-color, var(--ui-color-text, #0f172a)));
16
+ --ui-dropdown-muted: var(--ui-dropdown-menu-muted, color-mix(in srgb, var(--ui-dropdown-color) 62%, transparent));
17
+ --ui-dropdown-border-color: var(
18
+ --ui-dropdown-menu-border-color,
19
+ color-mix(in srgb, var(--ui-color-border, rgba(15, 23, 42, 0.14)) 86%, transparent)
20
+ );
21
+ --ui-dropdown-border: var(--ui-dropdown-menu-border, var(--base-dropdown-border, 1px solid var(--ui-dropdown-border-color)));
22
+ --ui-dropdown-shadow: var(--ui-dropdown-menu-shadow, var(--base-dropdown-shadow, 0 10px 24px rgba(15, 23, 42, 0.14)));
23
+ --ui-dropdown-radius: var(--ui-dropdown-menu-radius, var(--base-dropdown-radius, var(--ui-radius, 4px)));
24
+ --ui-dropdown-padding: var(--ui-dropdown-menu-padding, var(--base-dropdown-content-padding, 0px));
25
+ --ui-dropdown-min-width: var(--ui-dropdown-menu-min-width, var(--base-dropdown-min-width, 224px));
26
+ --ui-dropdown-gap: 8px;
27
+ --ui-dropdown-ring: var(--ui-dropdown-menu-ring, var(--ui-color-primary, #2563eb));
28
+ --ui-dropdown-backdrop: none;
29
+ --ui-dropdown-item-radius: var(--base-dropdown-item-radius, 0px);
30
+ --ui-dropdown-item-gap: var(--base-dropdown-item-gap, 10px);
31
+ --ui-dropdown-item-min-height: var(--base-dropdown-item-height, 36px);
32
+ --ui-dropdown-item-pad-y: var(--base-dropdown-item-padding-y, 8px);
33
+ --ui-dropdown-item-pad-x: var(--base-dropdown-item-padding-x, 12px);
34
+ --ui-dropdown-item-font-size: var(--base-dropdown-item-font-size, var(--ui-default-font-size, 14px));
35
+ --ui-dropdown-item-font-weight: 500;
36
+ --ui-dropdown-item-line-height: var(--base-dropdown-item-line-height, var(--ui-default-line-height, 20px));
37
+ --ui-dropdown-separator-margin: var(--base-dropdown-separator-margin, 6px 10px);
38
+ --ui-dropdown-item-hover-bg: color-mix(in srgb, var(--ui-dropdown-ring) 10%, transparent);
39
+ --ui-dropdown-item-active-bg: color-mix(in srgb, var(--ui-dropdown-ring) 15%, transparent);
40
+ --ui-dropdown-item-checked-bg: color-mix(in srgb, var(--ui-dropdown-ring) 13%, transparent);
41
+ --ui-dropdown-item-active-color: color-mix(in srgb, var(--ui-dropdown-color) 92%, #020617 8%);
42
+ --ui-dropdown-item-secondary-active-color: color-mix(in srgb, var(--ui-dropdown-item-active-color) 78%, transparent);
43
+ --ui-dropdown-duration: var(--ui-motion-short, 150ms);
44
+ --ui-dropdown-easing: var(--ui-motion-easing, cubic-bezier(0.2, 0.8, 0.2, 1));
45
+ --ui-dropdown-available-width: calc(100vw - 16px);
46
+ --ui-dropdown-available-height: 440px;
47
+ color-scheme: light dark;
48
+ display: inline-grid;
49
+ min-inline-size: 0;
50
+ position: relative;
51
+ isolation: isolate;
52
+ z-index: 0;
53
+ font-family: "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
54
+ }
55
+
56
+ :host([open]) {
57
+ z-index: 40;
58
+ }
59
+
60
+ :host([disabled]) {
61
+ pointer-events: none;
62
+ opacity: 0.62;
63
+ }
64
+
65
+ .root {
66
+ min-inline-size: 0;
67
+ position: relative;
68
+ display: inline-grid;
69
+ }
70
+
71
+ .trigger {
72
+ display: inline-flex;
73
+ width: fit-content;
74
+ min-inline-size: 0;
75
+ }
76
+
77
+ .content-slot {
78
+ display: none !important;
79
+ }
80
+
81
+ .panel {
82
+ position: absolute;
83
+ inset-inline-start: 0;
84
+ inset-block-start: calc(100% + var(--ui-dropdown-gap));
85
+ z-index: 24;
86
+ pointer-events: auto;
87
+ inline-size: max-content;
88
+ min-inline-size: max(100%, var(--ui-dropdown-min-width));
89
+ }
90
+
91
+ .panel[hidden] {
92
+ display: none;
93
+ }
94
+
95
+ .panel[data-placement="top"] {
96
+ inset-block-start: auto;
97
+ inset-block-end: calc(100% + var(--ui-dropdown-gap));
98
+ }
99
+
100
+ .panel[data-placement="right"] {
101
+ inset-block-start: 0;
102
+ inset-inline-start: calc(100% + var(--ui-dropdown-gap));
103
+ }
104
+
105
+ .panel[data-placement="left"] {
106
+ inset-block-start: 0;
107
+ inset-inline-start: auto;
108
+ inset-inline-end: calc(100% + var(--ui-dropdown-gap));
109
+ }
110
+
111
+ .menu {
112
+ position: relative;
113
+ display: flex;
114
+ flex-direction: column;
115
+ gap: 0;
116
+ min-inline-size: 100%;
117
+ max-inline-size: min(var(--ui-dropdown-available-width), calc(100vw - 16px));
118
+ max-block-size: min(440px, var(--ui-dropdown-available-height));
119
+ padding: var(--ui-dropdown-padding);
120
+ border: var(--ui-dropdown-border);
121
+ border-radius: var(--ui-dropdown-radius);
122
+ box-sizing: border-box;
123
+ overflow: auto;
124
+ isolation: isolate;
125
+ background: var(--ui-dropdown-bg);
126
+ color: var(--ui-dropdown-color);
127
+ box-shadow: var(--ui-dropdown-shadow);
128
+ outline: none;
129
+ scrollbar-width: thin;
130
+ scrollbar-color: color-mix(in srgb, var(--ui-dropdown-border-color) 82%, transparent) transparent;
131
+ scrollbar-gutter: auto;
132
+ }
133
+
134
+ .menu::-webkit-scrollbar {
135
+ width: 8px;
136
+ }
137
+
138
+ .menu::-webkit-scrollbar-track {
139
+ background: transparent;
140
+ }
141
+
142
+ .menu::-webkit-scrollbar-thumb {
143
+ background: color-mix(in srgb, var(--ui-dropdown-border-color) 82%, transparent);
144
+ border-radius: 999px;
145
+ border: 2px solid transparent;
146
+ background-clip: padding-box;
147
+ }
148
+
149
+ .menu:hover::-webkit-scrollbar-thumb {
150
+ background: color-mix(in srgb, var(--ui-dropdown-ring) 28%, var(--ui-dropdown-border-color));
151
+ background-clip: padding-box;
152
+ }
153
+
154
+ .menu[data-size='sm'],
155
+ .menu[data-density='compact'] {
156
+ --ui-dropdown-item-gap: 8px;
157
+ --ui-dropdown-item-min-height: 32px;
158
+ --ui-dropdown-item-pad-y: 6px;
159
+ --ui-dropdown-item-pad-x: 8px;
160
+ --ui-dropdown-item-font-size: 13px;
161
+ --ui-dropdown-item-line-height: 18px;
162
+ --ui-dropdown-separator-margin: 4px 8px;
163
+ }
164
+
165
+ .menu[data-size='lg'],
166
+ .menu[data-density='comfortable'] {
167
+ --ui-dropdown-item-gap: 12px;
168
+ --ui-dropdown-item-min-height: 40px;
169
+ --ui-dropdown-item-pad-y: 9px;
170
+ --ui-dropdown-item-pad-x: 12px;
171
+ --ui-dropdown-item-font-size: 15px;
172
+ --ui-dropdown-item-line-height: 22px;
173
+ --ui-dropdown-separator-margin: 8px 12px;
174
+ }
175
+
176
+ .menu[data-elevation='none'] {
177
+ --ui-dropdown-shadow: none;
178
+ }
179
+
180
+ .menu[data-elevation='low'] {
181
+ --ui-dropdown-shadow: 0 10px 24px rgba(2, 6, 23, 0.14);
182
+ }
183
+
184
+ .menu[data-elevation='high'] {
185
+ --ui-dropdown-shadow: 0 16px 36px rgba(2, 6, 23, 0.18);
186
+ }
187
+
188
+ .menu[data-variant='soft'] {
189
+ --ui-dropdown-bg: color-mix(in srgb, var(--base-dropdown-bg, var(--color-panel-solid, #ffffff)) 94%, var(--accent-surface, transparent));
190
+ }
191
+
192
+ .menu[data-variant='filled'] {
193
+ --ui-dropdown-bg: color-mix(in srgb, var(--ui-dropdown-ring) 8%, var(--base-dropdown-bg, var(--color-panel-solid, #ffffff)));
194
+ --ui-dropdown-border-color: color-mix(in srgb, var(--ui-dropdown-ring) 24%, var(--ui-dropdown-border-color));
195
+ }
196
+
197
+ .menu[data-variant='outline'] {
198
+ --ui-dropdown-shadow: none;
199
+ --ui-dropdown-border-color: color-mix(in srgb, var(--ui-dropdown-ring) 34%, var(--ui-dropdown-border-color));
200
+ }
201
+
202
+ .menu[data-variant='line'] {
203
+ --ui-dropdown-shadow: none;
204
+ --ui-dropdown-padding: 0px;
205
+ --ui-dropdown-item-radius: 0px;
206
+ border-left: 0;
207
+ border-right: 0;
208
+ border-radius: 0;
209
+ background: color-mix(in srgb, var(--ui-dropdown-bg) 98%, transparent);
210
+ }
211
+
212
+ .menu[data-variant='flat'],
213
+ .menu[data-variant='minimal'],
214
+ .menu[data-variant='ghost'] {
215
+ --ui-dropdown-shadow: none;
216
+ }
217
+
218
+ .menu[data-variant='glass'] {
219
+ --ui-dropdown-bg: color-mix(in srgb, var(--base-dropdown-bg, var(--color-panel-solid, #ffffff)) 94%, white 6%);
220
+ --ui-dropdown-border-color: color-mix(in srgb, var(--ui-color-border, rgba(15, 23, 42, 0.14)) 70%, transparent);
221
+ --ui-dropdown-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
222
+ }
223
+
224
+ .menu[data-variant='solid'] {
225
+ --ui-dropdown-bg: var(--ui-dropdown-ring);
226
+ --ui-dropdown-color: var(--ui-color-foreground-on-primary, #ffffff);
227
+ --ui-dropdown-muted: color-mix(in srgb, var(--ui-color-foreground-on-primary, #ffffff) 72%, transparent);
228
+ --ui-dropdown-border-color: color-mix(in srgb, var(--ui-dropdown-ring) 76%, #0f172a 24%);
229
+ --ui-dropdown-item-active-color: color-mix(in srgb, #0f172a 82%, var(--ui-color-foreground-on-primary, #ffffff) 18%);
230
+ --ui-dropdown-item-secondary-active-color: color-mix(in srgb, #0f172a 62%, var(--ui-color-foreground-on-primary, #ffffff) 38%);
231
+ --ui-dropdown-item-hover-bg: color-mix(in srgb, #ffffff 12%, transparent);
232
+ --ui-dropdown-item-active-bg: color-mix(in srgb, #ffffff 18%, transparent);
233
+ --ui-dropdown-item-checked-bg: color-mix(in srgb, #ffffff 16%, transparent);
234
+ }
235
+
236
+ .menu[data-variant='contrast'] {
237
+ --ui-dropdown-bg: #0f172a;
238
+ --ui-dropdown-color: #f8fafc;
239
+ --ui-dropdown-muted: #94a3b8;
240
+ --ui-dropdown-border-color: #334155;
241
+ --ui-dropdown-ring: #93c5fd;
242
+ --ui-dropdown-item-active-color: #f8fafc;
243
+ --ui-dropdown-item-secondary-active-color: color-mix(in srgb, #f8fafc 82%, transparent);
244
+ --ui-dropdown-item-hover-bg: color-mix(in srgb, #ffffff 12%, transparent);
245
+ --ui-dropdown-item-active-bg: color-mix(in srgb, #ffffff 18%, transparent);
246
+ --ui-dropdown-item-checked-bg: color-mix(in srgb, #ffffff 16%, transparent);
247
+ }
248
+
249
+ .menu[data-tone='info'] {
250
+ --ui-dropdown-ring: var(--ui-color-primary, #2563eb);
251
+ }
252
+
253
+ .menu[data-tone='neutral'] {
254
+ --ui-dropdown-ring: color-mix(in srgb, var(--ui-color-muted, #64748b) 60%, var(--ui-dropdown-color));
255
+ }
256
+
257
+ .menu[data-tone='danger'] {
258
+ --ui-dropdown-ring: var(--ui-color-danger, #dc2626);
259
+ --ui-dropdown-item-hover-bg: color-mix(in srgb, var(--ui-color-danger, #dc2626) 12%, transparent);
260
+ --ui-dropdown-item-active-bg: color-mix(in srgb, var(--ui-color-danger, #dc2626) 18%, transparent);
261
+ --ui-dropdown-item-checked-bg: color-mix(in srgb, var(--ui-color-danger, #dc2626) 16%, transparent);
262
+ }
263
+
264
+ .menu[data-tone='success'] {
265
+ --ui-dropdown-ring: var(--ui-color-success, #16a34a);
266
+ --ui-dropdown-item-hover-bg: color-mix(in srgb, var(--ui-color-success, #16a34a) 12%, transparent);
267
+ --ui-dropdown-item-active-bg: color-mix(in srgb, var(--ui-color-success, #16a34a) 18%, transparent);
268
+ --ui-dropdown-item-checked-bg: color-mix(in srgb, var(--ui-color-success, #16a34a) 16%, transparent);
269
+ }
270
+
271
+ .menu[data-tone='warning'] {
272
+ --ui-dropdown-ring: var(--ui-color-warning, #d97706);
273
+ --ui-dropdown-item-hover-bg: color-mix(in srgb, var(--ui-color-warning, #d97706) 15%, transparent);
274
+ --ui-dropdown-item-active-bg: color-mix(in srgb, var(--ui-color-warning, #d97706) 20%, transparent);
275
+ --ui-dropdown-item-checked-bg: color-mix(in srgb, var(--ui-color-warning, #d97706) 17%, transparent);
276
+ }
277
+
278
+ ${x({
279
+ scopes: [".menu"],
280
+ prefix: "--ui-dropdown",
281
+ shortcutSelectors: [".shortcut", ".meta"],
282
+ activeStateSelectors: [
283
+ '.item[data-active="true"]',
284
+ '[role="menuitem"][data-active="true"]',
285
+ '[role="menuitemcheckbox"][data-active="true"]',
286
+ '[role="menuitemradio"][data-active="true"]',
287
+ '[data-menu-item][data-active="true"]'
288
+ ]
289
+ })}
290
+
291
+ .menu [role='menuitem'],
292
+ .menu [role='menuitemcheckbox'],
293
+ .menu [role='menuitemradio'],
294
+ .menu .item,
295
+ .menu [data-menu-item] {
296
+ justify-content: space-between;
297
+ border: 1px solid transparent;
298
+ border-radius: var(--ui-dropdown-item-radius);
299
+ background: transparent;
300
+ box-shadow: none;
301
+ --ui-box-radius: var(--ui-dropdown-item-radius);
302
+ --ui-box-border: none;
303
+ --ui-box-border-color: transparent;
304
+ --ui-box-shadow: none;
305
+ --ui-box-bg: transparent;
306
+ --ui-box-color: inherit;
307
+ --ui-box-backdrop: none;
308
+ transition:
309
+ background-color 120ms ease,
310
+ border-color 120ms ease,
311
+ color 120ms ease;
312
+ }
313
+
314
+ .menu [role='menuitemcheckbox'],
315
+ .menu [role='menuitemradio'] {
316
+ justify-content: flex-start;
317
+ }
318
+
319
+ .menu [role='menuitemcheckbox'][aria-checked='true'],
320
+ .menu [role='menuitemradio'][aria-checked='true'],
321
+ .menu .item[aria-checked='true'],
322
+ .menu [data-menu-item][aria-checked='true'] {
323
+ background: linear-gradient(
324
+ 180deg,
325
+ color-mix(in srgb, var(--ui-dropdown-ring) 18%, transparent) 0%,
326
+ color-mix(in srgb, var(--ui-dropdown-ring) 12%, transparent) 100%
327
+ );
328
+ border-color: color-mix(in srgb, var(--ui-dropdown-ring) 30%, transparent);
329
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-dropdown-ring) 12%, transparent);
330
+ color: var(--ui-dropdown-item-active-color);
331
+ }
332
+
333
+ .menu [role='menuitemcheckbox'][aria-checked='true'] .label .caption,
334
+ .menu [role='menuitemradio'][aria-checked='true'] .label .caption,
335
+ .menu .item[aria-checked='true'] .label .caption,
336
+ .menu [data-menu-item][aria-checked='true'] .label .caption,
337
+ .menu [role='menuitemcheckbox'][aria-checked='true'] .shortcut,
338
+ .menu [role='menuitemradio'][aria-checked='true'] .shortcut,
339
+ .menu .item[aria-checked='true'] .shortcut,
340
+ .menu [data-menu-item][aria-checked='true'] .shortcut,
341
+ .menu [role='menuitemcheckbox'][aria-checked='true'] .meta,
342
+ .menu [role='menuitemradio'][aria-checked='true'] .meta,
343
+ .menu .item[aria-checked='true'] .meta,
344
+ .menu [data-menu-item][aria-checked='true'] .meta,
345
+ .menu [role='menuitemcheckbox'][aria-checked='true'] .icon,
346
+ .menu [role='menuitemradio'][aria-checked='true'] .icon,
347
+ .menu .item[aria-checked='true'] .icon,
348
+ .menu [data-menu-item][aria-checked='true'] .icon,
349
+ .menu [role='menuitemcheckbox'][aria-checked='true'] .submenu-arrow,
350
+ .menu [role='menuitemradio'][aria-checked='true'] .submenu-arrow,
351
+ .menu .item[aria-checked='true'] .submenu-arrow,
352
+ .menu [data-menu-item][aria-checked='true'] .submenu-arrow {
353
+ color: var(--ui-dropdown-item-secondary-active-color);
354
+ }
355
+
356
+ .menu [role='menuitem']:hover,
357
+ .menu [role='menuitemcheckbox']:hover,
358
+ .menu [role='menuitemradio']:hover,
359
+ .menu .item:hover,
360
+ .menu [data-menu-item]:hover,
361
+ .menu [role='menuitem'][data-active='true'],
362
+ .menu [role='menuitemcheckbox'][data-active='true'],
363
+ .menu [role='menuitemradio'][data-active='true'],
364
+ .menu .item[data-active='true'],
365
+ .menu [data-menu-item][data-active='true'] {
366
+ background: var(--ui-dropdown-item-hover-bg);
367
+ border-color: color-mix(in srgb, var(--ui-dropdown-ring) 24%, transparent);
368
+ }
369
+
370
+ .menu [role='menuitem'][data-active='true'],
371
+ .menu [role='menuitemcheckbox'][data-active='true'],
372
+ .menu [role='menuitemradio'][data-active='true'],
373
+ .menu .item[data-active='true'],
374
+ .menu [data-menu-item][data-active='true'] {
375
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-dropdown-ring) 12%, transparent);
376
+ }
377
+
378
+ .menu [role='menuitem']:hover .label .caption,
379
+ .menu [role='menuitemcheckbox']:hover .label .caption,
380
+ .menu [role='menuitemradio']:hover .label .caption,
381
+ .menu .item:hover .label .caption,
382
+ .menu [data-menu-item]:hover .label .caption,
383
+ .menu [role='menuitem'][data-active='true'] .label .caption,
384
+ .menu [role='menuitemcheckbox'][data-active='true'] .label .caption,
385
+ .menu [role='menuitemradio'][data-active='true'] .label .caption,
386
+ .menu .item[data-active='true'] .label .caption,
387
+ .menu [data-menu-item][data-active='true'] .label .caption,
388
+ .menu [role='menuitem']:hover .shortcut,
389
+ .menu [role='menuitemcheckbox']:hover .shortcut,
390
+ .menu [role='menuitemradio']:hover .shortcut,
391
+ .menu .item:hover .shortcut,
392
+ .menu [data-menu-item]:hover .shortcut,
393
+ .menu [role='menuitem'][data-active='true'] .shortcut,
394
+ .menu [role='menuitemcheckbox'][data-active='true'] .shortcut,
395
+ .menu [role='menuitemradio'][data-active='true'] .shortcut,
396
+ .menu .item[data-active='true'] .shortcut,
397
+ .menu [data-menu-item][data-active='true'] .shortcut,
398
+ .menu [role='menuitem']:hover .meta,
399
+ .menu [role='menuitemcheckbox']:hover .meta,
400
+ .menu [role='menuitemradio']:hover .meta,
401
+ .menu .item:hover .meta,
402
+ .menu [data-menu-item]:hover .meta,
403
+ .menu [role='menuitem'][data-active='true'] .meta,
404
+ .menu [role='menuitemcheckbox'][data-active='true'] .meta,
405
+ .menu [role='menuitemradio'][data-active='true'] .meta,
406
+ .menu .item[data-active='true'] .meta,
407
+ .menu [data-menu-item][data-active='true'] .meta,
408
+ .menu [role='menuitem']:hover .icon,
409
+ .menu [role='menuitemcheckbox']:hover .icon,
410
+ .menu [role='menuitemradio']:hover .icon,
411
+ .menu .item:hover .icon,
412
+ .menu [data-menu-item]:hover .icon,
413
+ .menu [role='menuitem'][data-active='true'] .icon,
414
+ .menu [role='menuitemcheckbox'][data-active='true'] .icon,
415
+ .menu [role='menuitemradio'][data-active='true'] .icon,
416
+ .menu .item[data-active='true'] .icon,
417
+ .menu [data-menu-item][data-active='true'] .icon,
418
+ .menu [role='menuitem']:hover .submenu-arrow,
419
+ .menu [role='menuitemcheckbox']:hover .submenu-arrow,
420
+ .menu [role='menuitemradio']:hover .submenu-arrow,
421
+ .menu .item:hover .submenu-arrow,
422
+ .menu [data-menu-item]:hover .submenu-arrow,
423
+ .menu [role='menuitem'][data-active='true'] .submenu-arrow,
424
+ .menu [role='menuitemcheckbox'][data-active='true'] .submenu-arrow,
425
+ .menu [role='menuitemradio'][data-active='true'] .submenu-arrow,
426
+ .menu .item[data-active='true'] .submenu-arrow,
427
+ .menu [data-menu-item][data-active='true'] .submenu-arrow {
428
+ color: var(--ui-dropdown-item-secondary-active-color);
429
+ }
430
+
431
+ .menu [role='menuitem']:focus-visible,
432
+ .menu [role='menuitemcheckbox']:focus-visible,
433
+ .menu [role='menuitemradio']:focus-visible,
434
+ .menu .item:focus-visible,
435
+ .menu [data-menu-item]:focus-visible {
436
+ border-color: color-mix(in srgb, var(--ui-dropdown-ring) 30%, transparent);
437
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-dropdown-ring) 18%, transparent);
438
+ }
439
+
440
+ .menu [role='menuitemcheckbox']:active,
441
+ .menu [role='menuitemradio']:active,
442
+ .menu [role='menuitem']:active,
443
+ .menu .item:active,
444
+ .menu [data-menu-item]:active {
445
+ background: var(--ui-dropdown-item-active-bg);
446
+ }
447
+
448
+ .menu .description {
449
+ margin-top: 2px;
450
+ color: var(--ui-dropdown-muted);
451
+ font-size: calc(var(--ui-dropdown-item-font-size) - 1px);
452
+ line-height: 1.35;
453
+ white-space: normal;
454
+ }
455
+
456
+ .menu [aria-disabled='true'],
457
+ .menu [disabled] {
458
+ opacity: 0.46;
459
+ pointer-events: none;
460
+ }
461
+
462
+ .menu .empty-state {
463
+ padding: 10px 12px;
464
+ font: 500 12px/1.45 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
465
+ letter-spacing: 0.01em;
466
+ color: var(--ui-dropdown-muted);
467
+ }
468
+
469
+ @media (prefers-contrast: more) {
470
+ .menu {
471
+ border-width: 2px;
472
+ box-shadow: none;
473
+ }
474
+ }
475
+
476
+ @media (forced-colors: active) {
477
+ .menu {
478
+ forced-color-adjust: none;
479
+ border-color: CanvasText;
480
+ background: Canvas;
481
+ color: CanvasText;
482
+ box-shadow: none;
483
+ }
484
+
485
+ .menu [role='menuitem'],
486
+ .menu [role='menuitemcheckbox'],
487
+ .menu [role='menuitemradio'],
488
+ .menu .item,
489
+ .menu [data-menu-item],
490
+ .menu .empty-state {
491
+ border: 1px solid transparent;
492
+ background: Canvas;
493
+ color: CanvasText;
494
+ }
495
+
496
+ .menu [role='menuitem']:hover,
497
+ .menu [role='menuitem']:focus-visible,
498
+ .menu [role='menuitemcheckbox']:hover,
499
+ .menu [role='menuitemcheckbox']:focus-visible,
500
+ .menu [role='menuitemradio']:hover,
501
+ .menu [role='menuitemradio']:focus-visible,
502
+ .menu .item:hover,
503
+ .menu .item:focus-visible,
504
+ .menu [data-menu-item]:hover,
505
+ .menu [data-menu-item]:focus-visible {
506
+ background: Highlight;
507
+ color: HighlightText;
508
+ }
509
+ }
510
+ `;
511
+ function k(i) {
512
+ return i === "top" || i === "left" || i === "right" ? i : "bottom";
513
+ }
514
+ function A(i) {
515
+ const e = (i || "").trim().toLowerCase();
516
+ return e === "sm" || e === "1" || e === "compact" ? "sm" : e === "lg" || e === "3" || e === "comfortable" ? "lg" : "md";
517
+ }
518
+ function S(i) {
519
+ const e = (i || "").trim().toLowerCase();
520
+ return !e || e === "default" ? null : e === "none" ? "0px" : e === "sm" ? "8px" : e === "md" ? "12px" : e === "lg" || e === "large" ? "16px" : e === "full" || e === "pill" ? "999px" : e === "square" ? "6px" : e === "soft" || e === "rounded" ? "14px" : /^\d+(\.\d+)?$/.test(e) ? `${e}px` : /^\d+(\.\d+)?(px|rem|em|%)$/.test(e) ? e : i;
521
+ }
522
+ function h(i, e) {
523
+ return i.getAttribute(e) || "";
524
+ }
525
+ function f(i, e) {
526
+ if (i == null)
527
+ return e;
528
+ const r = i.trim().toLowerCase();
529
+ return r !== "false" && r !== "0" && r !== "off";
530
+ }
531
+ function p() {
532
+ return typeof window < "u" && typeof document < "u";
533
+ }
534
+ function b(i) {
535
+ return i.hasAttribute("disabled") || i.getAttribute("aria-disabled") === "true" || i.disabled === !0;
536
+ }
537
+ function C(i) {
538
+ return (i.getAttribute("aria-label") || i.textContent || "").trim();
539
+ }
540
+ function g(i) {
541
+ if (i)
542
+ try {
543
+ i.focus({ preventScroll: !0 });
544
+ } catch {
545
+ i.focus();
546
+ }
547
+ }
548
+ function E(i, e) {
549
+ const r = i.offsetTop, t = r + i.offsetHeight, o = e.scrollTop, a = o + e.clientHeight;
550
+ if (r < o) {
551
+ e.scrollTop = r;
552
+ return;
553
+ }
554
+ t > a && (e.scrollTop = Math.max(0, t - e.clientHeight));
555
+ }
556
+ function I(i) {
557
+ return w(i);
558
+ }
559
+ function w(i) {
560
+ if (i.nodeType === Node.TEXT_NODE)
561
+ return document.createTextNode(i.textContent || "");
562
+ if (!(i instanceof HTMLElement))
563
+ return i.cloneNode(!1);
564
+ const e = i.tagName === "UI-BOX", r = document.createElement(e ? "div" : i.tagName.toLowerCase());
565
+ return Array.from(i.attributes).forEach((t) => {
566
+ t.name !== "slot" && r.setAttribute(t.name, t.value);
567
+ }), Array.from(i.childNodes).forEach((t) => {
568
+ r.appendChild(w(t));
569
+ }), r;
570
+ }
571
+ function T(i, e, r) {
572
+ for (let t = e + r; t >= 0 && t < i.length; t += r)
573
+ if (!b(i[t]))
574
+ return t;
575
+ return -1;
576
+ }
577
+ function M(i, e, r) {
578
+ if (!e)
579
+ return null;
580
+ const t = i.filter((a) => !b(a));
581
+ if (!t.length)
582
+ return null;
583
+ const o = r ? t.indexOf(r) : -1;
584
+ for (let a = 1; a <= t.length; a += 1) {
585
+ const n = t[(o + a + t.length) % t.length];
586
+ if (C(n).toLowerCase().startsWith(e))
587
+ return n;
588
+ }
589
+ return null;
590
+ }
591
+ const O = /* @__PURE__ */ new Set(["variant", "density", "shape", "elevation", "tone", "size", "radius"]), P = /* @__PURE__ */ new Set(["aria-label", "aria-labelledby", "aria-describedby"]), F = [
592
+ "--ui-dropdown-bg",
593
+ "--ui-dropdown-color",
594
+ "--ui-dropdown-muted",
595
+ "--ui-dropdown-border-color",
596
+ "--ui-dropdown-border",
597
+ "--ui-dropdown-shadow",
598
+ "--ui-dropdown-radius",
599
+ "--ui-dropdown-padding",
600
+ "--ui-dropdown-min-width",
601
+ "--ui-dropdown-gap",
602
+ "--ui-dropdown-ring",
603
+ "--ui-dropdown-backdrop",
604
+ "--ui-dropdown-item-radius",
605
+ "--ui-dropdown-item-font-weight",
606
+ "--ui-dropdown-item-hover-bg",
607
+ "--ui-dropdown-item-active-bg",
608
+ "--ui-dropdown-item-checked-bg",
609
+ "--ui-dropdown-item-active-color",
610
+ "--ui-dropdown-duration",
611
+ "--ui-dropdown-easing"
612
+ ];
613
+ class D extends _ {
614
+ constructor() {
615
+ super(), this._isOpen = !1, this._panelEl = null, this._portalEl = null, this._restoreFocusEl = null, this._typeaheadBuffer = "", this._typeaheadTimer = null, this._placement = "bottom", this._openListenersBound = !1, this._openFrame = 0, this._checkboxState = /* @__PURE__ */ new Map(), this._radioState = /* @__PURE__ */ new Map(), this._menuId = `ui-dropdown-menu-${Math.random().toString(36).slice(2, 10)}`, this._triggerId = `ui-dropdown-trigger-${Math.random().toString(36).slice(2, 10)}`, this._onHostClick = this._onHostClick.bind(this), this._onHostKeyDown = this._onHostKeyDown.bind(this), this._onDocumentPointerDown = this._onDocumentPointerDown.bind(this), this._onSlotChange = this._onSlotChange.bind(this);
616
+ }
617
+ static get observedAttributes() {
618
+ return [
619
+ "open",
620
+ "disabled",
621
+ "placement",
622
+ "variant",
623
+ "size",
624
+ "density",
625
+ "radius",
626
+ "shape",
627
+ "elevation",
628
+ "tone",
629
+ "close-on-select",
630
+ "close-on-scroll",
631
+ "typeahead",
632
+ "aria-label",
633
+ "aria-labelledby",
634
+ "aria-describedby"
635
+ ];
636
+ }
637
+ connectedCallback() {
638
+ super.connectedCallback(), this.addEventListener("click", this._onHostClick), this.addEventListener("keydown", this._onHostKeyDown), this.root.addEventListener("slotchange", this._onSlotChange), this._syncOpenState(), this._syncTriggerA11y();
639
+ }
640
+ disconnectedCallback() {
641
+ this.removeEventListener("click", this._onHostClick), this.removeEventListener("keydown", this._onHostKeyDown), this.root.removeEventListener("slotchange", this._onSlotChange), this._teardownOpenListeners(), this._openFrame && cancelAnimationFrame(this._openFrame), super.disconnectedCallback();
642
+ }
643
+ attributeChangedCallback(e, r, t) {
644
+ if (r !== t) {
645
+ if (e === "open") {
646
+ this._syncOpenState();
647
+ return;
648
+ }
649
+ if (!(e === "close-on-select" || e === "close-on-scroll" || e === "typeahead")) {
650
+ if (e === "disabled") {
651
+ this.hasAttribute("disabled") && this._isOpen && this.close("disabled"), this._syncTriggerA11y();
652
+ return;
653
+ }
654
+ if (this._isOpen && (e === "placement" || O.has(e))) {
655
+ this._syncMenuPresentation(), this._schedulePanelSync();
656
+ return;
657
+ }
658
+ this._isOpen && P.has(e) && this._syncMenuA11y();
659
+ }
660
+ }
661
+ }
662
+ open() {
663
+ this.hasAttribute("disabled") || this.hasAttribute("open") || this.setAttribute("open", "");
664
+ }
665
+ close(e = "programmatic") {
666
+ !this.hasAttribute("open") && !this._isOpen || this._close(e);
667
+ }
668
+ closeDropdown(e = "programmatic") {
669
+ if (!(!this.hasAttribute("open") && !this._isOpen)) {
670
+ if (e === "programmatic") {
671
+ this.close(e);
672
+ return;
673
+ }
674
+ this._requestClose(e);
675
+ }
676
+ }
677
+ toggle() {
678
+ if (this._isOpen) {
679
+ this._requestClose("trigger");
680
+ return;
681
+ }
682
+ this.open();
683
+ }
684
+ get closeOnSelect() {
685
+ return f(this.getAttribute("close-on-select"), !0);
686
+ }
687
+ set closeOnSelect(e) {
688
+ this.setAttribute("close-on-select", e ? "true" : "false");
689
+ }
690
+ get closeOnScroll() {
691
+ return f(this.getAttribute("close-on-scroll"), !0);
692
+ }
693
+ set closeOnScroll(e) {
694
+ this.setAttribute("close-on-scroll", e ? "true" : "false");
695
+ }
696
+ get typeahead() {
697
+ return f(this.getAttribute("typeahead"), !0);
698
+ }
699
+ set typeahead(e) {
700
+ this.setAttribute("typeahead", e ? "true" : "false");
701
+ }
702
+ _getTrigger() {
703
+ return this.querySelector('[slot="trigger"]');
704
+ }
705
+ _getContentSource() {
706
+ return this.querySelector('[slot="content"]');
707
+ }
708
+ _getMenu() {
709
+ return this._portalEl;
710
+ }
711
+ _isFocusable(e) {
712
+ if (!e || !e.isConnected || e.disabled || e.getAttribute("aria-hidden") === "true")
713
+ return !1;
714
+ if (!p())
715
+ return !0;
716
+ const r = window.getComputedStyle(e);
717
+ return r.display !== "none" && r.visibility !== "hidden";
718
+ }
719
+ _currentFocusedItem() {
720
+ const e = this.root.activeElement || document.activeElement;
721
+ return e instanceof HTMLElement ? e.closest(l) : null;
722
+ }
723
+ _queryItems(e = !0) {
724
+ const r = this._getMenu();
725
+ if (!r)
726
+ return [];
727
+ const t = Array.from(r.querySelectorAll(l));
728
+ return e ? t : t.filter((o) => !b(o));
729
+ }
730
+ _requestClose(e) {
731
+ if (!this._isOpen)
732
+ return;
733
+ const r = new CustomEvent("request-close", {
734
+ detail: { reason: e },
735
+ bubbles: !0,
736
+ composed: !0,
737
+ cancelable: !0
738
+ });
739
+ this.dispatchEvent(r);
740
+ const t = new CustomEvent("ui-request-close", {
741
+ detail: { reason: e },
742
+ bubbles: !0,
743
+ composed: !0,
744
+ cancelable: !0
745
+ });
746
+ this.dispatchEvent(t), !(r.defaultPrevented || t.defaultPrevented) && this.close(e);
747
+ }
748
+ _close(e, r = {}) {
749
+ if (this._openFrame && cancelAnimationFrame(this._openFrame), this._openFrame = 0, this._isOpen = !1, this._teardownOpenListeners(), this.hasAttribute("open") && this.removeAttribute("open"), this._syncControlState(), this._syncTriggerA11y(), this._clearActiveItem(), this._clearMenuContent(), this._resetTypeahead(), this.dispatchEvent(
750
+ new CustomEvent("change", {
751
+ bubbles: !0,
752
+ composed: !0,
753
+ detail: { open: !1, reason: e }
754
+ })
755
+ ), this.dispatchEvent(
756
+ new CustomEvent("close", {
757
+ bubbles: !0,
758
+ composed: !0,
759
+ detail: { reason: e }
760
+ })
761
+ ), r.restoreFocus !== !1) {
762
+ const t = this._getTrigger();
763
+ t && this._isFocusable(t) ? g(t) : this._restoreFocusEl && this._isFocusable(this._restoreFocusEl) && g(this._restoreFocusEl);
764
+ }
765
+ this._restoreFocusEl = null;
766
+ }
767
+ _syncOpenState() {
768
+ const e = this.hasAttribute("open") && !this.hasAttribute("disabled");
769
+ if (e === this._isOpen) {
770
+ this._syncControlState(), this._syncTriggerA11y(), e && (this._syncMenuPresentation(), this._syncMenuA11y(), this._schedulePanelSync());
771
+ return;
772
+ }
773
+ if (e) {
774
+ this._isOpen = !0, this._restoreFocusEl = document.activeElement, this._renderMenuContent(), this._syncMenuPresentation(), this._syncMenuA11y(), this._syncControlState(), this._syncTriggerA11y(), this._attachOpenListeners(), this.dispatchEvent(new CustomEvent("open", { bubbles: !0, composed: !0 })), this.dispatchEvent(
775
+ new CustomEvent("change", {
776
+ bubbles: !0,
777
+ composed: !0,
778
+ detail: { open: !0 }
779
+ })
780
+ ), this._schedulePanelSync("first");
781
+ return;
782
+ }
783
+ this._close("programmatic", { restoreFocus: !1 });
784
+ }
785
+ _attachOpenListeners() {
786
+ this._openListenersBound || (document.addEventListener("pointerdown", this._onDocumentPointerDown, !0), this._openListenersBound = !0);
787
+ }
788
+ _teardownOpenListeners() {
789
+ this._openListenersBound && (document.removeEventListener("pointerdown", this._onDocumentPointerDown, !0), this._openListenersBound = !1);
790
+ }
791
+ _syncTriggerA11y() {
792
+ const e = this._getTrigger();
793
+ if (e) {
794
+ if (e.id || (e.id = this._triggerId), e.setAttribute("aria-haspopup", "menu"), e.setAttribute("aria-expanded", this._isOpen ? "true" : "false"), this._isOpen ? e.setAttribute("aria-controls", this._menuId) : e.removeAttribute("aria-controls"), this.hasAttribute("disabled")) {
795
+ e.setAttribute("aria-disabled", "true"), e.setAttribute("tabindex", "-1");
796
+ return;
797
+ }
798
+ e.getAttribute("aria-disabled") === "true" && e.removeAttribute("aria-disabled"), e.getAttribute("tabindex") === "-1" && e.removeAttribute("tabindex");
799
+ }
800
+ }
801
+ _renderMenuContent() {
802
+ const e = this._getMenu();
803
+ if (!e)
804
+ return;
805
+ e.replaceChildren();
806
+ const r = this._getContentSource();
807
+ if (r && e.appendChild(I(r)), !e.querySelector(l)) {
808
+ const t = document.createElement("div");
809
+ t.className = "empty-state", t.textContent = "No items", e.appendChild(t);
810
+ }
811
+ this._syncMenuItemSemantics();
812
+ }
813
+ _syncMenuItemSemantics() {
814
+ this._queryItems(!0).forEach((e, r) => {
815
+ e.getAttribute("role") || e.setAttribute("role", "menuitem"), e.hasAttribute("tabindex") || e.setAttribute("tabindex", "-1"), e.dataset.sourceIndex = String(r), e.hasAttribute("disabled") && e.getAttribute("aria-disabled") !== "true" && e.setAttribute("aria-disabled", "true");
816
+ const t = e.getAttribute("role");
817
+ (t === "menuitemcheckbox" || t === "menuitemradio") && !e.hasAttribute("aria-checked") && e.setAttribute("aria-checked", "false"), this._applyStoredItemState(e, r);
818
+ });
819
+ }
820
+ _clearMenuContent() {
821
+ const e = this._getMenu();
822
+ e && e.replaceChildren();
823
+ }
824
+ _applyStoredItemState(e, r) {
825
+ const t = e.getAttribute("role");
826
+ if (t === "menuitemcheckbox") {
827
+ if (!this._checkboxState.has(r))
828
+ return;
829
+ const n = this._checkboxState.get(r) === !0;
830
+ e.setAttribute("aria-checked", n ? "true" : "false"), e.setAttribute("data-state", n ? "checked" : "unchecked");
831
+ return;
832
+ }
833
+ if (t !== "menuitemradio")
834
+ return;
835
+ const o = e.getAttribute("data-group") || e.getAttribute("name") || "__default__";
836
+ if (!this._radioState.has(o))
837
+ return;
838
+ const a = this._radioState.get(o) === r;
839
+ e.setAttribute("aria-checked", a ? "true" : "false"), e.setAttribute("data-state", a ? "checked" : "unchecked");
840
+ }
841
+ _syncMenuPresentation() {
842
+ const e = this._getMenu();
843
+ if (!e)
844
+ return;
845
+ const r = p() ? window.getComputedStyle(this) : null;
846
+ r && F.forEach((c) => {
847
+ const m = r.getPropertyValue(c).trim();
848
+ m ? e.style.setProperty(c, m) : e.style.removeProperty(c);
849
+ });
850
+ const t = h(this, "variant"), o = A(this.getAttribute("size") || this.getAttribute("density")), a = h(this, "density"), n = h(this, "shape"), u = h(this, "elevation"), s = h(this, "tone"), d = S(this.getAttribute("radius") || n || null);
851
+ if (t && t !== "default" ? e.setAttribute("data-variant", t) : e.removeAttribute("data-variant"), o !== "md" ? e.setAttribute("data-size", o) : e.removeAttribute("data-size"), a && a !== "default" ? e.setAttribute("data-density", a) : e.removeAttribute("data-density"), n && n !== "default" ? e.setAttribute("data-shape", n) : e.removeAttribute("data-shape"), u && u !== "default" ? e.setAttribute("data-elevation", u) : e.removeAttribute("data-elevation"), s && s !== "default" && s !== "brand" ? e.setAttribute("data-tone", s) : e.removeAttribute("data-tone"), d) {
852
+ e.style.setProperty("--ui-dropdown-radius", d), e.style.setProperty("--ui-dropdown-item-radius", d === "999px" ? "999px" : `max(0px, calc(${d} - 2px))`);
853
+ return;
854
+ }
855
+ e.style.removeProperty("--ui-dropdown-radius"), e.style.removeProperty("--ui-dropdown-item-radius");
856
+ }
857
+ _syncMenuA11y() {
858
+ const e = this._getMenu();
859
+ if (!e)
860
+ return;
861
+ const r = this._getTrigger(), t = this.getAttribute("aria-label") || "", o = this.getAttribute("aria-labelledby") || "", a = this.getAttribute("aria-describedby") || "", n = o || (!t && (r != null && r.id) ? r.id : "");
862
+ t ? e.setAttribute("aria-label", t) : e.removeAttribute("aria-label"), n ? e.setAttribute("aria-labelledby", n) : e.removeAttribute("aria-labelledby"), a ? e.setAttribute("aria-describedby", a) : e.removeAttribute("aria-describedby");
863
+ }
864
+ _syncControlState() {
865
+ const e = this._panelEl, r = this._getMenu();
866
+ !e || !r || (e.hidden = !this._isOpen, e.setAttribute("data-placement", this._placement));
867
+ }
868
+ _schedulePanelSync(e) {
869
+ this._openFrame && cancelAnimationFrame(this._openFrame), this._openFrame = requestAnimationFrame(() => {
870
+ this._openFrame = 0, this._syncPanelState(), e === "first" && this._focusFirstItem(), e === "last" && this._focusLastItem();
871
+ });
872
+ }
873
+ _syncPanelState() {
874
+ const e = this._panelEl;
875
+ !e || !this._isOpen || (this._placement = this._resolvePlacement(), e.setAttribute("data-placement", this._placement), this.style.setProperty("--ui-dropdown-available-width", `${Math.max(0, Math.floor(this._availableWidth(this._placement)))}px`), this.style.setProperty("--ui-dropdown-available-height", `${Math.max(0, Math.floor(this._availableHeight(this._placement)))}px`));
876
+ }
877
+ _availableWidth(e) {
878
+ const r = this._getTrigger();
879
+ if (!r || !p())
880
+ return 380;
881
+ const t = r.getBoundingClientRect(), o = window.innerWidth || document.documentElement.clientWidth || 0;
882
+ return e === "left" ? t.left - 12 : e === "right" ? o - t.right - 12 : o - t.left - 12;
883
+ }
884
+ _availableHeight(e) {
885
+ const r = this._getTrigger();
886
+ if (!r || !p())
887
+ return 440;
888
+ const t = r.getBoundingClientRect(), o = window.innerHeight || document.documentElement.clientHeight || 0;
889
+ return e === "top" ? t.top - 12 : o - t.bottom - 12;
890
+ }
891
+ _resolvePlacement() {
892
+ const e = k(this.getAttribute("placement")), r = this._getTrigger(), t = this._getMenu();
893
+ if (!r || !t || !p())
894
+ return e;
895
+ const o = r.getBoundingClientRect(), a = window.innerWidth || document.documentElement.clientWidth || 0, n = window.innerHeight || document.documentElement.clientHeight || 0, u = Math.max(0, n - o.bottom - 12), s = Math.max(0, o.top - 12), d = Math.max(0, a - o.right - 12), c = Math.max(0, o.left - 12), m = Math.min(Math.max(t.scrollHeight, t.offsetHeight) + 4, 320), v = Math.min(Math.max(t.scrollWidth, t.offsetWidth) + 4, 360);
896
+ return e === "top" ? s >= m || s > u ? "top" : "bottom" : e === "left" ? c >= v || c > d ? "left" : "right" : e === "right" ? d >= v || d >= c ? "right" : "left" : u >= m || u >= s ? "bottom" : "top";
897
+ }
898
+ _clearActiveItem() {
899
+ this._queryItems(!0).forEach((e) => e.removeAttribute("data-active"));
900
+ }
901
+ _setActiveItem(e, r = {}) {
902
+ if (this._clearActiveItem(), !!e && (e.setAttribute("data-active", "true"), r.focus && g(e), r.scroll)) {
903
+ const t = this._getMenu();
904
+ t && E(e, t);
905
+ }
906
+ }
907
+ _focusFirstItem() {
908
+ const e = this._queryItems(!1);
909
+ this._setActiveItem(e[0] || null, { focus: !0, scroll: !0 });
910
+ }
911
+ _focusLastItem() {
912
+ const e = this._queryItems(!1);
913
+ this._setActiveItem(e[e.length - 1] || null, { focus: !0, scroll: !0 });
914
+ }
915
+ _moveFocus(e) {
916
+ const r = this._queryItems(!0);
917
+ if (!r.length)
918
+ return;
919
+ const t = this._currentFocusedItem() || this._queryItems(!0).find((n) => n.getAttribute("data-active") === "true") || null, o = t ? r.indexOf(t) : e > 0 ? -1 : r.length, a = T(r, o, e);
920
+ if (a >= 0) {
921
+ this._setActiveItem(r[a], { focus: !0, scroll: !0 });
922
+ return;
923
+ }
924
+ e > 0 ? this._focusFirstItem() : this._focusLastItem();
925
+ }
926
+ _resetTypeahead() {
927
+ this._typeaheadBuffer = "", this._typeaheadTimer != null && (window.clearTimeout(this._typeaheadTimer), this._typeaheadTimer = null);
928
+ }
929
+ _isTypeaheadKey(e) {
930
+ return e.ctrlKey || e.metaKey || e.altKey ? !1 : e.key.length === 1 && /\S/.test(e.key);
931
+ }
932
+ _handleTypeahead(e) {
933
+ if (!this.typeahead || !this._isTypeaheadKey(e))
934
+ return !1;
935
+ const r = e.key.toLowerCase();
936
+ this._typeaheadBuffer = `${this._typeaheadBuffer}${r}`.slice(0, 24), this._typeaheadTimer != null && window.clearTimeout(this._typeaheadTimer), this._typeaheadTimer = window.setTimeout(() => this._resetTypeahead(), 460);
937
+ const t = M(this._queryItems(!0), this._typeaheadBuffer, this._currentFocusedItem());
938
+ return t ? (this._setActiveItem(t, { focus: !0, scroll: !0 }), e.preventDefault(), !0) : !1;
939
+ }
940
+ _querySourceItems() {
941
+ const e = this._getContentSource();
942
+ return e ? Array.from(e.querySelectorAll(l)) : [];
943
+ }
944
+ _applySelectionBehavior(e) {
945
+ const r = e.getAttribute("role"), t = Number(e.dataset.sourceIndex || "-1");
946
+ if (r === "menuitemcheckbox") {
947
+ const n = e.getAttribute("aria-checked") !== "true";
948
+ e.setAttribute("aria-checked", n ? "true" : "false"), e.setAttribute("data-state", n ? "checked" : "unchecked"), t >= 0 && this._checkboxState.set(t, n);
949
+ return;
950
+ }
951
+ if (r !== "menuitemradio")
952
+ return;
953
+ const a = e.getAttribute("data-group") || e.getAttribute("name") || "" || "__default__";
954
+ t >= 0 && this._radioState.set(a, t), this._queryItems(!0).filter((n) => n.getAttribute("role") === "menuitemradio").forEach((n) => {
955
+ const u = n.getAttribute("data-group") || n.getAttribute("name") || "";
956
+ if (a && (u || "__default__") !== a)
957
+ return;
958
+ const s = n === e;
959
+ n.setAttribute("aria-checked", s ? "true" : "false"), n.setAttribute("data-state", s ? "checked" : "unchecked");
960
+ });
961
+ }
962
+ _findMenuItemFromEvent(e) {
963
+ const r = typeof e.composedPath == "function" ? e.composedPath() : [];
964
+ for (const o of r)
965
+ if (o instanceof HTMLElement && o.matches(l))
966
+ return o;
967
+ const t = e.target;
968
+ return t instanceof HTMLElement ? t.closest(l) : null;
969
+ }
970
+ _isEventInsideTrigger(e) {
971
+ const r = this._getTrigger();
972
+ return r ? (typeof e.composedPath == "function" ? e.composedPath() : []).includes(r) : !1;
973
+ }
974
+ _emitSelect(e) {
975
+ var t;
976
+ const r = {
977
+ value: e.getAttribute("data-value") || e.getAttribute("value") || void 0,
978
+ label: e.getAttribute("aria-label") || ((t = e.textContent) == null ? void 0 : t.trim()) || void 0,
979
+ checked: e.getAttribute("aria-checked") === "true",
980
+ item: e
981
+ };
982
+ this.dispatchEvent(
983
+ new CustomEvent("select", {
984
+ bubbles: !0,
985
+ composed: !0,
986
+ detail: r
987
+ })
988
+ );
989
+ }
990
+ _onHostClick(e) {
991
+ var t;
992
+ if (this.hasAttribute("disabled"))
993
+ return;
994
+ const r = this._isOpen ? this._findMenuItemFromEvent(e) : null;
995
+ if (r && ((t = this._getMenu()) != null && t.contains(r)) && !b(r)) {
996
+ this._applySelectionBehavior(r), this._setActiveItem(r, { focus: !0, scroll: !0 }), this._emitSelect(r), this.closeOnSelect && this._requestClose("select");
997
+ return;
998
+ }
999
+ if (this._isEventInsideTrigger(e)) {
1000
+ if (e.preventDefault(), this._isOpen) {
1001
+ this._requestClose("trigger");
1002
+ return;
1003
+ }
1004
+ this.open();
1005
+ }
1006
+ }
1007
+ _onHostKeyDown(e) {
1008
+ var r;
1009
+ if (!this._isOpen) {
1010
+ if (!this._isEventInsideTrigger(e) || !["ArrowDown", "ArrowUp", "Enter", " "].includes(e.key))
1011
+ return;
1012
+ e.preventDefault(), this.open(), this._schedulePanelSync(e.key === "ArrowUp" ? "last" : "first");
1013
+ return;
1014
+ }
1015
+ if (!this._handleTypeahead(e)) {
1016
+ if (e.key === "Escape") {
1017
+ e.preventDefault(), this._requestClose("escape");
1018
+ return;
1019
+ }
1020
+ if (e.key === "ArrowDown") {
1021
+ e.preventDefault(), this._moveFocus(1);
1022
+ return;
1023
+ }
1024
+ if (e.key === "ArrowUp") {
1025
+ e.preventDefault(), this._moveFocus(-1);
1026
+ return;
1027
+ }
1028
+ if (e.key === "Home") {
1029
+ e.preventDefault(), this._focusFirstItem();
1030
+ return;
1031
+ }
1032
+ if (e.key === "End") {
1033
+ e.preventDefault(), this._focusLastItem();
1034
+ return;
1035
+ }
1036
+ if (e.key === "Tab") {
1037
+ this._requestClose("tab");
1038
+ return;
1039
+ }
1040
+ if (e.key === "Enter" || e.key === " ") {
1041
+ const t = this._currentFocusedItem();
1042
+ if (!t || !((r = this._getMenu()) != null && r.contains(t)) || b(t))
1043
+ return;
1044
+ e.preventDefault(), t.click();
1045
+ }
1046
+ }
1047
+ }
1048
+ _onDocumentPointerDown(e) {
1049
+ !this._isOpen || (typeof e.composedPath == "function" ? e.composedPath() : []).includes(this) || this._requestClose("outside");
1050
+ }
1051
+ _onSlotChange() {
1052
+ this._syncTriggerA11y(), this._isOpen && (this._renderMenuContent(), this._syncMenuPresentation(), this._syncMenuA11y(), this._schedulePanelSync());
1053
+ }
1054
+ render() {
1055
+ this.setContent(`
1056
+ <style>${y}</style>
1057
+ <div class="root" part="root">
1058
+ <div class="trigger" part="trigger">
1059
+ <slot name="trigger"></slot>
1060
+ </div>
1061
+ <div class="panel" part="panel" hidden data-placement="bottom">
1062
+ <div
1063
+ id="${this._menuId}"
1064
+ class="menu"
1065
+ role="menu"
1066
+ aria-orientation="vertical"
1067
+ tabindex="-1"
1068
+ ></div>
1069
+ </div>
1070
+ </div>
1071
+ <div class="content-slot" aria-hidden="true">
1072
+ <slot name="content"></slot>
1073
+ </div>
1074
+ <slot></slot>
1075
+ `), this._panelEl = this.root.querySelector(".panel"), this._portalEl = this.root.querySelector(".menu"), this._syncMenuPresentation(), this._syncMenuA11y(), this._syncTriggerA11y(), this._syncControlState(), this._isOpen ? (this._renderMenuContent(), this._schedulePanelSync()) : this._clearMenuContent();
1076
+ }
1077
+ shouldRenderOnAttributeChange() {
1078
+ return !1;
1079
+ }
1080
+ }
1081
+ typeof customElements < "u" && !customElements.get("ui-dropdown") && customElements.define("ui-dropdown", D);
1082
+ export {
1083
+ D as UIDropdown
1084
+ };