atomicuilibrary 0.0.1 → 0.1.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 (395) hide show
  1. package/dist/cjs/category-section.cjs.entry.js +1 -1
  2. package/dist/cjs/exploration-project-tailwind.cjs.js +1 -1
  3. package/dist/cjs/layout-manager.cjs.entry.js +1 -1
  4. package/dist/cjs/library-card.cjs.entry.js +1 -1
  5. package/dist/cjs/lm-container_2.cjs.entry.js +1 -1
  6. package/dist/cjs/lm-panel_3.cjs.entry.js +4 -4
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/my-step.cjs.entry.js +1 -1
  9. package/dist/cjs/nav-bar.cjs.entry.js +2 -2
  10. package/dist/cjs/{security-E1JcwxGc.js → security-CNaNip8F.js} +88 -154
  11. package/dist/cjs/smart-step.cjs.entry.js +2 -2
  12. package/dist/cjs/timeline-item.cjs.entry.js +1 -1
  13. package/dist/cjs/{ui-accordion_10.cjs.entry.js → ui-accordion_11.cjs.entry.js} +613 -26
  14. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +1 -1
  15. package/dist/cjs/ui-anchor.cjs.entry.js +1 -1
  16. package/dist/cjs/ui-aside-panel.cjs.entry.js +5 -5
  17. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +5 -5
  18. package/dist/cjs/ui-callout-banner.cjs.entry.js +1 -1
  19. package/dist/cjs/ui-card.cjs.entry.js +26 -4
  20. package/dist/cjs/ui-checkbox.cjs.entry.js +2 -2
  21. package/dist/cjs/ui-code-editor.cjs.entry.js +2 -2
  22. package/dist/cjs/ui-code-preview.cjs.entry.js +1 -1
  23. package/dist/cjs/ui-color-controller.cjs.entry.js +1 -1
  24. package/dist/cjs/ui-dialog-box.cjs.entry.js +1 -1
  25. package/dist/cjs/ui-dock-host.cjs.entry.js +3 -3
  26. package/dist/cjs/ui-drag-drop.cjs.entry.js +1 -1
  27. package/dist/cjs/ui-empty-state.cjs.entry.js +1 -1
  28. package/dist/cjs/ui-fab-item.cjs.entry.js +1 -1
  29. package/dist/cjs/ui-fab.cjs.entry.js +2 -2
  30. package/dist/cjs/ui-library.cjs.entry.js +1 -1
  31. package/dist/cjs/ui-list-group_2.cjs.entry.js +9 -5
  32. package/dist/cjs/ui-list.cjs.entry.js +4 -4
  33. package/dist/cjs/ui-navigation-item.cjs.entry.js +3 -3
  34. package/dist/cjs/ui-otp-input.cjs.entry.js +2 -2
  35. package/dist/cjs/{ui-pagination_3.cjs.entry.js → ui-pagination_4.cjs.entry.js} +202 -0
  36. package/dist/cjs/ui-pattern-input.cjs.entry.js +5 -5
  37. package/dist/cjs/ui-popover.cjs.entry.js +1 -1
  38. package/dist/cjs/ui-progress.cjs.entry.js +101 -17
  39. package/dist/cjs/ui-resizable-panel.cjs.entry.js +1 -1
  40. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +2 -2
  41. package/dist/cjs/ui-smart-stepper.cjs.entry.js +1 -1
  42. package/dist/cjs/ui-snackbar.cjs.entry.js +1 -1
  43. package/dist/cjs/ui-step.cjs.entry.js +1 -1
  44. package/dist/cjs/ui-stepper.cjs.entry.js +1 -1
  45. package/dist/cjs/ui-switch.cjs.entry.js +9 -9
  46. package/dist/cjs/ui-tabs.cjs.entry.js +1 -1
  47. package/dist/cjs/ui-timeline.cjs.entry.js +1 -1
  48. package/dist/cjs/ui-toolbar.cjs.entry.js +1 -1
  49. package/dist/cjs/ui-tooltip.cjs.entry.js +4 -4
  50. package/dist/cjs/ui-transfer-list.cjs.entry.js +1 -1
  51. package/dist/cjs/ui-workspace-manager.cjs.entry.js +1 -1
  52. package/dist/collection/assets/js/demo-loader.js +0 -1
  53. package/dist/collection/assets/js/demos/accordion-demo.js +189 -0
  54. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +213 -214
  55. package/dist/collection/assets/js/demos/aside-panel-demo.js +6 -6
  56. package/dist/collection/assets/js/demos/button-demo.js +60 -1
  57. package/dist/collection/assets/js/demos/callout-banner-demo.js +324 -34
  58. package/dist/collection/assets/js/demos/card-demo.js +108 -61
  59. package/dist/collection/assets/js/demos/context-menu-demo.js +433 -12
  60. package/dist/collection/assets/js/demos/dock-demo.js +80 -60
  61. package/dist/collection/assets/js/demos/documentation-demo.js +227 -22
  62. package/dist/collection/assets/js/demos/empty-state-demo.js +10 -10
  63. package/dist/collection/assets/js/demos/list-demo.js +41 -18
  64. package/dist/collection/assets/js/demos/masonry-demo.js +164 -0
  65. package/dist/collection/assets/js/demos/progress-demo.js +701 -8
  66. package/dist/collection/assets/js/demos/radio-demo.js +1 -1
  67. package/dist/collection/assets/js/demos/splitter-demo.js +137 -0
  68. package/dist/collection/assets/js/demos/tag-demo.js +48 -18
  69. package/dist/collection/assets/js/demos/timeline-demo.js +20 -7
  70. package/dist/collection/assets/js/demos/tooltip-demo.js +26 -26
  71. package/dist/collection/assets/js/demos/tree-demo.js +28 -10
  72. package/dist/collection/collection-manifest.json +1 -4
  73. package/dist/collection/components/accordion/accordion.css +301 -0
  74. package/dist/collection/components/accordion/accordion.js +40 -8
  75. package/dist/collection/components/advanced-data-table/advanced-data-table.css +19 -5
  76. package/dist/collection/components/anchor/anchor.css +0 -2
  77. package/dist/collection/components/aside-panel/aside-panel.css +1 -3
  78. package/dist/collection/components/aside-panel/aside-panel.js +5 -5
  79. package/dist/collection/components/avatar/avatar.js +1 -1
  80. package/dist/collection/components/badge/badge.css +1 -0
  81. package/dist/collection/components/badge/badge.js +1 -1
  82. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  83. package/dist/collection/components/button/button.css +131 -0
  84. package/dist/collection/components/button/button.js +128 -9
  85. package/dist/collection/components/card/card.css +83 -31
  86. package/dist/collection/components/card/card.js +46 -3
  87. package/dist/collection/components/checkbox/checkbox.css +8 -10
  88. package/dist/collection/components/checkbox/checkbox.js +2 -2
  89. package/dist/collection/components/code-editor/code-editor.js +1 -1
  90. package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
  91. package/dist/collection/components/color-controller/color-controller.js +1 -1
  92. package/dist/collection/components/context-menu/context-menu.css +3 -3
  93. package/dist/collection/components/dialog-box/dialog-box.js +1 -1
  94. package/dist/collection/components/dialog-header/dialog-header.js +1 -1
  95. package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
  96. package/dist/collection/components/drag-drop/drag-drop.js +1 -1
  97. package/dist/collection/components/empty-state/empty-state.js +1 -1
  98. package/dist/collection/components/fab/fab.js +2 -2
  99. package/dist/collection/components/fab-item/fab-item.js +1 -1
  100. package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
  101. package/dist/collection/components/icon/icon.js +1 -1
  102. package/dist/collection/components/input/input.js +4 -4
  103. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  104. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
  105. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
  106. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
  107. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
  108. package/dist/collection/components/library/category-section.js +1 -1
  109. package/dist/collection/components/library/library-card.js +1 -1
  110. package/dist/collection/components/library/library.js +1 -1
  111. package/dist/collection/components/list/list.js +4 -4
  112. package/dist/collection/components/list-item/list-item.css +24 -0
  113. package/dist/collection/components/list-item/list-item.js +35 -4
  114. package/dist/collection/components/loader/loader.css +1635 -0
  115. package/dist/collection/components/loader/loader.js +1120 -0
  116. package/dist/collection/components/my-step/my-step.js +1 -1
  117. package/dist/collection/components/nav-bar/nav-bar.js +6 -6
  118. package/dist/collection/components/otp-input/otp-input.js +2 -2
  119. package/dist/collection/components/pattern-input/pattern-input.js +5 -5
  120. package/dist/collection/components/progress/progress.css +150 -15
  121. package/dist/collection/components/progress/progress.js +180 -18
  122. package/dist/collection/components/radio/radio.css +3 -3
  123. package/dist/collection/components/radio/radio.js +1 -1
  124. package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
  125. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +2 -2
  126. package/dist/collection/components/smart-stepper/smart-step.js +2 -2
  127. package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
  128. package/dist/collection/components/snackbar/snackbar.js +1 -1
  129. package/dist/collection/components/speed-dial/speed-dial.js +1 -1
  130. package/dist/collection/components/stack/stack.js +2 -2
  131. package/dist/collection/components/step/step.js +1 -1
  132. package/dist/collection/components/switch/switch.js +10 -10
  133. package/dist/collection/components/tag-group/tag-group.js +2 -2
  134. package/dist/collection/components/timeline-item/timeline-item.js +1 -1
  135. package/dist/collection/components/toolbar/toolbar.js +1 -1
  136. package/dist/collection/components/tooltip/tooltip.js +3 -3
  137. package/dist/collection/components/top-bar/top-bar.js +2 -2
  138. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +19 -4
  139. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +6 -6
  140. package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
  141. package/dist/collection/components.js +1 -0
  142. package/dist/components/avatar-group.js +1 -1
  143. package/dist/components/avatar.js +1 -1
  144. package/dist/components/badge.js +1 -1
  145. package/dist/components/button-toggle.js +1 -1
  146. package/dist/components/category-section2.js +1 -1
  147. package/dist/components/checkbox.js +1 -1
  148. package/dist/components/context-menu.js +1 -1
  149. package/dist/components/dialog-header.js +1 -1
  150. package/dist/components/dropdown.js +1 -1
  151. package/dist/components/icon.js +2 -2
  152. package/dist/components/input.js +1 -1
  153. package/dist/components/layout-manager.js +1 -1
  154. package/dist/components/library-card2.js +1 -1
  155. package/dist/components/list-group.js +1 -1
  156. package/dist/components/list-item.js +1 -1
  157. package/dist/components/lm-container2.js +1 -1
  158. package/dist/components/lm-floating-window2.js +1 -1
  159. package/dist/components/lm-panel2.js +1 -1
  160. package/dist/components/lm-splitter2.js +1 -1
  161. package/dist/components/lm-tabs2.js +1 -1
  162. package/dist/components/loader.js +1 -0
  163. package/dist/components/my-step.js +1 -1
  164. package/dist/components/nav-bar.js +1 -1
  165. package/dist/components/pagination.js +1 -1
  166. package/dist/components/radio.js +1 -1
  167. package/dist/components/range-slider.js +1 -1
  168. package/dist/components/rating.js +1 -1
  169. package/dist/components/resizable-panel.js +1 -1
  170. package/dist/components/skeleton-loader.js +1 -1
  171. package/dist/components/smart-step.js +1 -1
  172. package/dist/components/stack.js +1 -1
  173. package/dist/components/switch.js +1 -1
  174. package/dist/components/tag-group.js +1 -1
  175. package/dist/components/tag.js +1 -1
  176. package/dist/components/timeline-item.js +1 -1
  177. package/dist/components/toggle-group.js +1 -1
  178. package/dist/components/tooltip.js +1 -1
  179. package/dist/components/ui-accordion.js +1 -1
  180. package/dist/components/ui-advanced-data-table.js +1 -1
  181. package/dist/components/ui-anchor.js +1 -1
  182. package/dist/components/ui-aside-panel.js +1 -1
  183. package/dist/components/ui-breadcrumb-item.js +1 -1
  184. package/dist/components/ui-breadcrumb.js +1 -1
  185. package/dist/components/ui-button-toggle-group.js +1 -1
  186. package/dist/components/ui-callout-banner.js +1 -1
  187. package/dist/components/ui-card.js +1 -1
  188. package/dist/components/ui-carousel.js +1 -1
  189. package/dist/components/ui-code-editor.js +1 -1
  190. package/dist/components/ui-code-preview.js +1 -1
  191. package/dist/components/ui-color-controller.js +1 -1
  192. package/dist/components/ui-color-picker.js +1 -1
  193. package/dist/components/ui-command-palette.js +1 -1
  194. package/dist/components/ui-dialog-box.js +1 -1
  195. package/dist/components/ui-divider.js +1 -1
  196. package/dist/components/ui-dock-host.js +1 -1
  197. package/dist/components/ui-dock.js +1 -1
  198. package/dist/components/ui-drag-drop.js +1 -1
  199. package/dist/components/ui-empty-state.js +1 -1
  200. package/dist/components/ui-fab-item.js +1 -1
  201. package/dist/components/ui-fab.js +1 -1
  202. package/dist/components/ui-file-upload.js +1 -1
  203. package/dist/components/ui-horizontal-nav.js +1 -1
  204. package/dist/components/ui-knob.js +1 -1
  205. package/dist/components/ui-library.js +1 -1
  206. package/dist/components/ui-list.js +1 -1
  207. package/dist/components/{ui-input-pair.d.ts → ui-loader.d.ts} +4 -4
  208. package/dist/components/ui-loader.js +1 -0
  209. package/dist/components/ui-masonry.js +1 -1
  210. package/dist/components/ui-meter-group.js +1 -1
  211. package/dist/components/ui-navigation-bar.js +1 -1
  212. package/dist/components/ui-navigation-item.js +1 -1
  213. package/dist/components/ui-number-input.js +1 -1
  214. package/dist/components/ui-otp-input.js +1 -1
  215. package/dist/components/ui-panel.js +1 -1
  216. package/dist/components/ui-pattern-input.js +1 -1
  217. package/dist/components/ui-popover.js +1 -1
  218. package/dist/components/ui-progress.js +1 -1
  219. package/dist/components/ui-scroll-top.js +1 -1
  220. package/dist/components/ui-smart-context-menu.js +1 -1
  221. package/dist/components/ui-smart-location-dropdown.js +1 -1
  222. package/dist/components/ui-smart-stepper.js +1 -1
  223. package/dist/components/ui-snackbar.js +1 -1
  224. package/dist/components/ui-speed-dial.js +1 -1
  225. package/dist/components/ui-splitter.js +1 -1
  226. package/dist/components/ui-step.js +1 -1
  227. package/dist/components/ui-stepper.js +1 -1
  228. package/dist/components/ui-tabs.js +1 -1
  229. package/dist/components/ui-timeline.js +1 -1
  230. package/dist/components/ui-timer.js +1 -1
  231. package/dist/components/ui-toolbar.js +1 -1
  232. package/dist/components/ui-top-bar.js +1 -1
  233. package/dist/components/ui-transfer-list.js +1 -1
  234. package/dist/components/ui-tree.js +1 -1
  235. package/dist/components/ui-workspace-manager.js +1 -1
  236. package/dist/esm/category-section.entry.js +1 -1
  237. package/dist/esm/exploration-project-tailwind.js +1 -1
  238. package/dist/esm/layout-manager.entry.js +1 -1
  239. package/dist/esm/library-card.entry.js +1 -1
  240. package/dist/esm/lm-container_2.entry.js +1 -1
  241. package/dist/esm/lm-panel_3.entry.js +4 -4
  242. package/dist/esm/loader.js +1 -1
  243. package/dist/esm/my-step.entry.js +1 -1
  244. package/dist/esm/nav-bar.entry.js +2 -2
  245. package/dist/esm/{security-D2WzX6vR.js → security-Dyu3Nplq.js} +88 -154
  246. package/dist/esm/smart-step.entry.js +2 -2
  247. package/dist/esm/timeline-item.entry.js +1 -1
  248. package/dist/esm/{ui-accordion_10.entry.js → ui-accordion_11.entry.js} +613 -27
  249. package/dist/esm/ui-advanced-data-table.entry.js +1 -1
  250. package/dist/esm/ui-anchor.entry.js +1 -1
  251. package/dist/esm/ui-aside-panel.entry.js +5 -5
  252. package/dist/esm/ui-avatar-group_3.entry.js +5 -5
  253. package/dist/esm/ui-callout-banner.entry.js +1 -1
  254. package/dist/esm/ui-card.entry.js +26 -4
  255. package/dist/esm/ui-checkbox.entry.js +2 -2
  256. package/dist/esm/ui-code-editor.entry.js +2 -2
  257. package/dist/esm/ui-code-preview.entry.js +1 -1
  258. package/dist/esm/ui-color-controller.entry.js +1 -1
  259. package/dist/esm/ui-dialog-box.entry.js +1 -1
  260. package/dist/esm/ui-dock-host.entry.js +3 -3
  261. package/dist/esm/ui-drag-drop.entry.js +1 -1
  262. package/dist/esm/ui-empty-state.entry.js +1 -1
  263. package/dist/esm/ui-fab-item.entry.js +1 -1
  264. package/dist/esm/ui-fab.entry.js +2 -2
  265. package/dist/esm/ui-library.entry.js +1 -1
  266. package/dist/esm/ui-list-group_2.entry.js +9 -5
  267. package/dist/esm/ui-list.entry.js +4 -4
  268. package/dist/esm/ui-navigation-item.entry.js +3 -3
  269. package/dist/esm/ui-otp-input.entry.js +2 -2
  270. package/dist/esm/{ui-pagination_3.entry.js → ui-pagination_4.entry.js} +202 -1
  271. package/dist/esm/ui-pattern-input.entry.js +5 -5
  272. package/dist/esm/ui-popover.entry.js +1 -1
  273. package/dist/esm/ui-progress.entry.js +101 -17
  274. package/dist/esm/ui-resizable-panel.entry.js +1 -1
  275. package/dist/esm/ui-smart-location-dropdown.entry.js +2 -2
  276. package/dist/esm/ui-smart-stepper.entry.js +1 -1
  277. package/dist/esm/ui-snackbar.entry.js +1 -1
  278. package/dist/esm/ui-step.entry.js +1 -1
  279. package/dist/esm/ui-stepper.entry.js +1 -1
  280. package/dist/esm/ui-switch.entry.js +9 -9
  281. package/dist/esm/ui-tabs.entry.js +1 -1
  282. package/dist/esm/ui-timeline.entry.js +1 -1
  283. package/dist/esm/ui-toolbar.entry.js +1 -1
  284. package/dist/esm/ui-tooltip.entry.js +4 -4
  285. package/dist/esm/ui-transfer-list.entry.js +1 -1
  286. package/dist/esm/ui-workspace-manager.entry.js +1 -1
  287. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
  288. package/dist/exploration-project-tailwind/{p-c7e87fbb.entry.js → p-036d2a44.entry.js} +1 -1
  289. package/dist/exploration-project-tailwind/{p-62352ef2.entry.js → p-05a436d3.entry.js} +1 -1
  290. package/dist/exploration-project-tailwind/{p-a4f52a76.entry.js → p-16bdd162.entry.js} +1 -1
  291. package/dist/exploration-project-tailwind/{p-85bf89fd.entry.js → p-20ecc116.entry.js} +1 -1
  292. package/dist/exploration-project-tailwind/p-2347d21b.entry.js +1 -0
  293. package/dist/exploration-project-tailwind/p-3d381f75.entry.js +1 -0
  294. package/dist/exploration-project-tailwind/{p-e5322e59.entry.js → p-4288c158.entry.js} +1 -1
  295. package/dist/exploration-project-tailwind/{p-2f1aebb3.entry.js → p-4417a9d8.entry.js} +1 -1
  296. package/dist/exploration-project-tailwind/{p-049744f9.entry.js → p-44742ddd.entry.js} +1 -1
  297. package/dist/exploration-project-tailwind/{p-73d29a4a.entry.js → p-4aaa8e40.entry.js} +1 -1
  298. package/dist/exploration-project-tailwind/{p-6fa9dc15.entry.js → p-4bef8bed.entry.js} +1 -1
  299. package/dist/exploration-project-tailwind/{p-64e3a484.entry.js → p-4efd63ce.entry.js} +1 -1
  300. package/dist/exploration-project-tailwind/{p-c5ddc817.entry.js → p-54965530.entry.js} +1 -1
  301. package/dist/exploration-project-tailwind/p-5c835d90.entry.js +1 -0
  302. package/dist/exploration-project-tailwind/{p-4de419d5.entry.js → p-6b838549.entry.js} +1 -1
  303. package/dist/exploration-project-tailwind/{p-c174a372.entry.js → p-6ddbee42.entry.js} +1 -1
  304. package/dist/exploration-project-tailwind/{p-7515b1e3.entry.js → p-70bacda8.entry.js} +1 -1
  305. package/dist/exploration-project-tailwind/{p-9fa70359.entry.js → p-71d95bb1.entry.js} +1 -1
  306. package/dist/exploration-project-tailwind/{p-2d273118.entry.js → p-7889bfc4.entry.js} +1 -1
  307. package/dist/exploration-project-tailwind/{p-0b004861.entry.js → p-790556f0.entry.js} +1 -1
  308. package/dist/exploration-project-tailwind/{p-f5719913.entry.js → p-7ba2258a.entry.js} +1 -1
  309. package/dist/exploration-project-tailwind/{p-81961fb1.entry.js → p-81ebba11.entry.js} +1 -1
  310. package/dist/exploration-project-tailwind/{p-5e3e80ae.entry.js → p-8578b616.entry.js} +1 -1
  311. package/dist/exploration-project-tailwind/{p-3d3d48fd.entry.js → p-8b57fe4e.entry.js} +1 -1
  312. package/dist/exploration-project-tailwind/{p-ffb1754a.entry.js → p-97af03cc.entry.js} +1 -1
  313. package/dist/exploration-project-tailwind/{p-f0830120.entry.js → p-98e91da5.entry.js} +1 -1
  314. package/dist/exploration-project-tailwind/{p-d2308a00.entry.js → p-9bd14f69.entry.js} +1 -1
  315. package/dist/exploration-project-tailwind/p-Dyu3Nplq.js +2 -0
  316. package/dist/exploration-project-tailwind/{p-ba21fed3.entry.js → p-a27f59d2.entry.js} +1 -1
  317. package/dist/exploration-project-tailwind/{p-70d82d79.entry.js → p-a7b07cf4.entry.js} +1 -1
  318. package/dist/exploration-project-tailwind/{p-5508874f.entry.js → p-bd89d060.entry.js} +1 -1
  319. package/dist/exploration-project-tailwind/{p-9d0c8760.entry.js → p-c02284ea.entry.js} +1 -1
  320. package/dist/exploration-project-tailwind/{p-d419eaf0.entry.js → p-c1c8ac28.entry.js} +1 -1
  321. package/dist/exploration-project-tailwind/p-c63c522e.entry.js +1 -0
  322. package/dist/exploration-project-tailwind/{p-c90722ec.entry.js → p-cbee2607.entry.js} +1 -1
  323. package/dist/exploration-project-tailwind/{p-287dbf09.entry.js → p-d114a347.entry.js} +1 -1
  324. package/dist/exploration-project-tailwind/{p-8d951aef.entry.js → p-d2e45c5e.entry.js} +1 -1
  325. package/dist/exploration-project-tailwind/{p-77cc333a.entry.js → p-d59da767.entry.js} +1 -1
  326. package/dist/exploration-project-tailwind/{p-46596a28.entry.js → p-d6ce9721.entry.js} +1 -1
  327. package/dist/exploration-project-tailwind/{p-875be805.entry.js → p-dc92a343.entry.js} +1 -1
  328. package/dist/exploration-project-tailwind/{p-4f6bba75.entry.js → p-e22317c1.entry.js} +1 -1
  329. package/dist/exploration-project-tailwind/{p-d16c9635.entry.js → p-e76318c7.entry.js} +1 -1
  330. package/dist/exploration-project-tailwind/p-e8c6d395.entry.js +1 -0
  331. package/dist/exploration-project-tailwind/{p-c2ca71ac.entry.js → p-eab5ad36.entry.js} +1 -1
  332. package/dist/exploration-project-tailwind/p-f0bc5d7e.entry.js +1 -0
  333. package/dist/exploration-project-tailwind/p-f1beee72.entry.js +1 -0
  334. package/dist/exploration-project-tailwind/p-f543392f.entry.js +1 -0
  335. package/dist/exploration-project-tailwind/{p-46efdea3.entry.js → p-f61cfb7c.entry.js} +1 -1
  336. package/dist/exploration-project-tailwind/{p-77124686.entry.js → p-fb4aca69.entry.js} +1 -1
  337. package/dist/types/components/accordion/accordion.d.ts +10 -2
  338. package/dist/types/components/button/button.d.ts +9 -0
  339. package/dist/types/components/card/card.d.ts +4 -0
  340. package/dist/types/components/list-item/list-item.d.ts +1 -0
  341. package/dist/types/components/loader/loader.d.ts +145 -0
  342. package/dist/types/components/progress/progress.d.ts +34 -2
  343. package/dist/types/components.d.ts +509 -993
  344. package/dist/types/types/common.d.ts +1 -1
  345. package/dist/types/types/common.type.d.ts +1 -1
  346. package/package.json +8 -7
  347. package/dist/cjs/ui-checkbox-group.cjs.entry.js +0 -330
  348. package/dist/cjs/ui-image-button.cjs.entry.js +0 -67
  349. package/dist/cjs/ui-input-pair.cjs.entry.js +0 -44
  350. package/dist/cjs/ui-radio-group.cjs.entry.js +0 -205
  351. package/dist/cjs/ui-radio.cjs.entry.js +0 -206
  352. package/dist/collection/components/checkbox-group/checkbox-group.css +0 -223
  353. package/dist/collection/components/checkbox-group/checkbox-group.js +0 -1001
  354. package/dist/collection/components/checkbox-group/types.js +0 -1
  355. package/dist/collection/components/image-button/image-button.css +0 -154
  356. package/dist/collection/components/image-button/image-button.js +0 -310
  357. package/dist/collection/components/image-button/types.js +0 -1
  358. package/dist/collection/components/input-pair/input-pair.css +0 -72
  359. package/dist/collection/components/input-pair/input-pair.js +0 -309
  360. package/dist/collection/components/radio-group/radio-group.css +0 -202
  361. package/dist/collection/components/radio-group/radio-group.js +0 -903
  362. package/dist/collection/components/radio-group/types.js +0 -1
  363. package/dist/components/ui-checkbox-group.d.ts +0 -11
  364. package/dist/components/ui-checkbox-group.js +0 -1
  365. package/dist/components/ui-image-button.d.ts +0 -11
  366. package/dist/components/ui-image-button.js +0 -1
  367. package/dist/components/ui-input-pair.js +0 -1
  368. package/dist/components/ui-radio-group.d.ts +0 -11
  369. package/dist/components/ui-radio-group.js +0 -1
  370. package/dist/esm/ui-checkbox-group.entry.js +0 -328
  371. package/dist/esm/ui-image-button.entry.js +0 -65
  372. package/dist/esm/ui-input-pair.entry.js +0 -42
  373. package/dist/esm/ui-radio-group.entry.js +0 -203
  374. package/dist/esm/ui-radio.entry.js +0 -204
  375. package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +0 -1
  376. package/dist/exploration-project-tailwind/p-5ce0dbd8.entry.js +0 -1
  377. package/dist/exploration-project-tailwind/p-6ab80ead.entry.js +0 -1
  378. package/dist/exploration-project-tailwind/p-6e9694f2.entry.js +0 -1
  379. package/dist/exploration-project-tailwind/p-7376ac95.entry.js +0 -1
  380. package/dist/exploration-project-tailwind/p-77a21491.entry.js +0 -1
  381. package/dist/exploration-project-tailwind/p-7f91d949.entry.js +0 -1
  382. package/dist/exploration-project-tailwind/p-807c6555.entry.js +0 -1
  383. package/dist/exploration-project-tailwind/p-D2WzX6vR.js +0 -2
  384. package/dist/exploration-project-tailwind/p-ab752761.entry.js +0 -1
  385. package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +0 -1
  386. package/dist/exploration-project-tailwind/p-e90d5307.entry.js +0 -1
  387. package/dist/exploration-project-tailwind/p-ecda1cc3.entry.js +0 -1
  388. package/dist/exploration-project-tailwind/p-f11e5cae.entry.js +0 -1
  389. package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -87
  390. package/dist/types/components/checkbox-group/types.d.ts +0 -8
  391. package/dist/types/components/image-button/image-button.d.ts +0 -31
  392. package/dist/types/components/image-button/types.d.ts +0 -1
  393. package/dist/types/components/input-pair/input-pair.d.ts +0 -28
  394. package/dist/types/components/radio-group/radio-group.d.ts +0 -74
  395. package/dist/types/components/radio-group/types.d.ts +0 -2
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as s,Host as r,transformTag as o}from"@stencil/core/internal/client";import{s as a,d as n}from"./icon.js";const c=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.itemSelect=i(this,"itemSelect",7),this.menuItemClick=i(this,"menuItemClick",7),this.longPress=i(this,"longPress",7),this.menuToggle=i(this,"menuToggle",7)}get hostEl(){return this}items=[];internalItems=[];hasItemTemplate=!1;onItemsChange(){this.internalItems=this.parseItems(),this.resetVirtualScroll()}onLoadItemsChange(){this.resetVirtualScroll()}onVisibleCountChange(){this.resetVirtualScroll()}onPersistStateChange(){this.persistState||this.persistedState.clear()}componentWillLoad(){this.internalItems=this.parseItems(),this.detectItemTemplate()}openOn="contextmenu";placement="bottom";target;onTargetChange(){this.attachTarget()}closeOnSelect=!0;viewportPadding=16;submenuOpenDelay=120;hoverCloseDelay=50;targetOnly=!1;theme="light";reserveIconSpace=!0;persistState=!1;longPressDuration=500;visibleCount=0;itemHeight=48;loadItems;selectedId;iconLibrary="default";itemSelect;menuItemClick;longPress;menuToggle;beforeOpen;beforeClose;open=!1;pos={x:0,y:0};activePath=[];hoverPath=[];typeahead="";submenuSide=[];virtualStart=0;loadingVirtual=!1;rootMenuEl;openTimeout;closeTimeout;lastKeyTime=0;keyBuffer="";slottedTarget;lastAnchorEls=[];targetElement;longPressTimer;virtualScrollEl;persistedState=new Map;virtualHasMore=!0;templateObserver;componentDidLoad(){this.attachTarget(),this.detectItemTemplate(),this.setupTemplateObserver(),this.scheduleInitialLoad(),document.addEventListener("click",this.onGlobalClick,{capture:!0}),document.addEventListener("contextmenu",this.onGlobalContextMenu,{capture:!0}),window.addEventListener("resize",this.onWindowResize),window.addEventListener("scroll",this.onWindowResize,!0),window.addEventListener("uiContextMenuOpen",this.handleOtherMenuOpen)}disconnectedCallback(){this.disconnectTemplateObserver(),document.removeEventListener("click",this.onGlobalClick,{capture:!0}),document.removeEventListener("contextmenu",this.onGlobalContextMenu,{capture:!0}),window.removeEventListener("resize",this.onWindowResize),window.removeEventListener("scroll",this.onWindowResize,!0),window.removeEventListener("uiContextMenuOpen",this.handleOtherMenuOpen)}handleOtherMenuOpen=t=>{t.detail&&t.detail.source!==this.hostEl&&this.close()};detectItemTemplate(){this.hasItemTemplate=!!this.hostEl.querySelector('template[slot="item"]')}setupTemplateObserver(){this.templateObserver||void 0!==globalThis.MutationObserver&&(this.templateObserver=new MutationObserver((()=>{this.detectItemTemplate()})),this.templateObserver.observe(this.hostEl,{childList:!0,subtree:!0}))}disconnectTemplateObserver(){this.templateObserver?.disconnect(),this.templateObserver=void 0}scheduleInitialLoad(){this.loadItems&&this.loadMoreItems()}ensureVirtualItems(){this.loadItems&&this.virtualHasMore&&!this.loadingVirtual&&this.loadMoreItems()}resetVirtualScroll(){this.virtualStart=0,this.virtualHasMore=!0,this.loadingVirtual=!1,this.virtualScrollEl&&(this.virtualScrollEl.scrollTop=0),this.ensureVirtualItems()}async loadMoreItems(t){if(!this.loadItems||this.loadingVirtual||!this.virtualHasMore)return;this.loadingVirtual=!0;const e=this.internalItems.length,i=t??Math.max(this.visibleCount||1,8);try{const t=this.loadItems(e,i),s=await t;if(s&&s.length){const t=this.normalizeItems(s);this.internalItems=[...this.internalItems,...t],s.length<i&&(this.virtualHasMore=!1)}else this.virtualHasMore=!1}catch{this.virtualHasMore=!1}finally{this.loadingVirtual=!1}}handleVirtualScroll=t=>{const e=t.currentTarget;if(!e)return;const i=Math.floor(e.scrollTop/Math.max(1,this.itemHeight));i!==this.virtualStart&&(this.virtualStart=i),this.maybeLoadMoreFromScroll(e)};maybeLoadMoreFromScroll(t){this.loadItems&&!this.loadingVirtual&&this.virtualHasMore&&t.scrollTop+t.clientHeight>=t.scrollHeight-2*this.itemHeight&&this.loadMoreItems()}get virtualizationActive(){return this.visibleCount>0&&this.itemHeight>0}getVirtualWindow(t){const e=Math.min(Math.max(this.visibleCount,1),t||1),i=Math.max(0,t-e),s=Math.min(this.virtualStart,i);s!==this.virtualStart&&(this.virtualStart=s);const r=Math.min(t,s+e+2);return{start:s,end:r,visible:e,topPadding:s*this.itemHeight,bottomPadding:Math.max(0,(t-r)*this.itemHeight),containerHeight:e*this.itemHeight}}async evaluateHook(t){if(!t)return!0;try{const e=t();return e&&"function"==typeof e.then?!1!==await e:!1!==e}catch{return!1}}attachTarget(){if(this.target)try{let t=this.hostEl.getRootNode().querySelector(this.target);t||(t=document.querySelector(this.target)),t&&(this.targetElement=t,this.bindEvents(t))}catch{}if(!this.targetElement){const t=this.hostEl.shadowRoot?.querySelector("slot");if(t){const e=t.assignedElements();e.length>0&&(this.slottedTarget=e[0],this.targetElement=this.slottedTarget,this.bindEvents(this.slottedTarget))}}}bindEvents(t){"hover"===this.openOn?(t.addEventListener("mouseenter",this.onTargetMouseEnter),t.addEventListener("mouseleave",this.onTargetMouseLeave),t.addEventListener("click",this.onTargetClick)):t.addEventListener("click"===this.openOn?"click":"contextmenu",this.onTargetTrigger),t.addEventListener("touchstart",this.onTouchStart,{passive:!0}),t.addEventListener("touchend",this.onTouchEnd,{passive:!0}),t.addEventListener("touchmove",this.onTouchMove,{passive:!0})}normalizeItems(t){return(t||[]).map((t=>{const e={...t};return!0===e.separator&&(e.divider=!0),e.children&&e.children.length&&(e.children=this.normalizeItems(e.children)),this.applyPersistedState(e),e}))}applyPersistedState(t){if(this.persistState&&t.id){const e=this.persistedState.get(String(t.id));e&&void 0!==e.checked&&(t.checked=e.checked)}t.children&&t.children.forEach((t=>this.applyPersistedState(t)))}parseItems(){let t=[];if("string"==typeof this.items)try{t=JSON.parse(this.items)}catch{t=[]}else t=this.items||[];return this.normalizeItems(t)}onTargetTrigger=t=>{"contextmenu"===this.openOn&&t.preventDefault(),this.openAt({x:t.clientX,y:t.clientY})};onTargetMouseEnter=t=>{this.closeTimeout&&clearTimeout(this.closeTimeout);const e=t.currentTarget.getBoundingClientRect();this.openAt("top"===this.placement?{x:e.left,y:e.top}:"right"===this.placement?{x:e.right,y:e.top}:"left"===this.placement?{x:e.left,y:e.top}:{x:e.left,y:e.bottom})};onTargetMouseLeave=()=>{this.closeTimeout=window.setTimeout((()=>{this.close()}),this.hoverCloseDelay)};onTargetClick=()=>{};onTouchStart=t=>{"contextmenu"===this.openOn&&(this.longPressTimer=setTimeout((()=>{const e=t.touches[0],i={x:e.clientX,y:e.clientY};this.openAt(i),this.longPress.emit(i)}),this.longPressDuration))};onTouchEnd=()=>{this.longPressTimer&&clearTimeout(this.longPressTimer)};onTouchMove=()=>{this.longPressTimer&&clearTimeout(this.longPressTimer)};onMenuMouseEnter=()=>{this.closeTimeout&&clearTimeout(this.closeTimeout)};onMenuMouseLeave=()=>{this.onTargetMouseLeave()};onGlobalContextMenu=t=>{this.targetOnly||"contextmenu"===this.openOn&&(this.targetElement&&!this.targetElement.contains(t.target)||this.hostEl.contains(t.target)||(t.preventDefault(),this.openAt({x:t.clientX,y:t.clientY})))};onGlobalClick=t=>{if(!this.open)return;const e=t.target,i="function"==typeof t.composedPath?t.composedPath():[],s=i.includes(this.hostEl),r=!!this.targetElement&&i.includes(this.targetElement),o=!!this.hostEl.shadowRoot?.contains(e),a=!!this.rootMenuEl?.contains(e);s||r||o||a||this.hostEl.contains(e)||this.targetElement&&this.targetElement.contains(e)||this.close()};onWindowResize=()=>{this.open&&requestAnimationFrame((()=>this.clampRootPosition()))};async openAt(t){await this.evaluateHook(this.beforeOpen)&&(this.open=!0,this.pos={...t},this.activePath=[],this.hoverPath=[],this.submenuSide=[],this.hostEl.isConnected&&(this.menuToggle.emit(!0),window.dispatchEvent(new CustomEvent("uiContextMenuOpen",{detail:{source:this.hostEl}}))),requestAnimationFrame((()=>{this.rootMenuEl=this.hostEl.shadowRoot?.querySelector(".ctx-menu"),this.clampRootPosition(),this.rootMenuEl?.querySelector('[role="menu"]')?.focus()})))}async close(){this.open&&await this.evaluateHook(this.beforeClose)&&(this.open=!1,this.hostEl.isConnected&&this.menuToggle.emit(!1),this.activePath=[],this.hoverPath=[],this.submenuSide=[])}clampRectToViewport(t,e){const i=window.innerWidth,s=window.innerHeight;return{dx:Math.min(0,i-e-t.right)+Math.max(0,e-t.left),dy:Math.min(0,s-e-t.bottom)+Math.max(0,e-t.top)}}clampRootPosition(){if(!this.rootMenuEl)return;const t=this.rootMenuEl,e=this.viewportPadding,i=window.innerHeight,s=t.getBoundingClientRect(),{dx:r,dy:o}=this.clampRectToViewport(s,e);let a=Math.round(this.pos.x+r),n=Math.round(this.pos.y+o);a<e&&(a=e),n<e&&(n=e),this.pos={x:a,y:n};const c=i-e-n;this.virtualizationActive?(t.style.maxHeight="",t.style.overflowY=""):s.height>c?(t.style.maxHeight=`${c}px`,t.style.overflowY="auto"):(t.style.maxHeight="",t.style.overflowY="");const h=o<0?"100%":o>0?"0%":"50%";t.style.setProperty("--ctx-origin-x",r<0?"100%":r>0?"0%":"50%"),t.style.setProperty("--ctx-origin-y",h)}openSubmenu(t,e,i){const s=i.getBoundingClientRect(),r=window.innerWidth-s.right,o=r>=240||r>=s.left?"right":"left";this.submenuSide=[...this.submenuSide.slice(0,t),o],this.activePath=[...this.activePath.slice(0,t),e],this.lastAnchorEls[t]=i,this.scheduleSubmenuPosition(t)}handleMouseEnterItem(t,e,i){window.clearTimeout(this.openTimeout),this.openTimeout=window.setTimeout((()=>{this.openSubmenu(t,e,i),this.hoverPath=[...this.activePath]}),this.submenuOpenDelay)}handleClickItem(t,e,i){if(!t.disabled&&!t.divider)if(t.children&&t.children.length>0){const t=e.length-1;this.openSubmenu(t,e[t],i.currentTarget)}else"checkbox"===t.type?(t.checked=!t.checked,this.internalItems=[...this.internalItems]):"radio"===t.type&&((e.length>1?this.getItemsAtPath(e.slice(0,-1)):this.internalItems).forEach((t=>{"radio"===t.type&&(t.checked=!1)})),t.checked=!0,this.internalItems=[...this.internalItems]),this.itemSelect.emit({item:t,path:e}),this.menuItemClick.emit({item:t,path:e}),"checkbox"!==t.type&&"radio"!==t.type&&this.closeOnSelect&&this.close()}getItemsAtPath(t){let e=this.internalItems;for(const i of t){const t=e[i];if(!t||!t.children)return[];e=t.children}return e}navMove(t,e){const i=this.getItemsAtPath(this.activePath.slice(0,t+1));let s=(this.activePath[t]??-1)+e;const r=t=>Math.max(0,Math.min(t,i.length-1)),o=t=>{const e=i[t];return e&&!e.divider&&!e.disabled};for(s=r(s);!o(s)&&(e>0?s<i.length-1:s>0);)s=r(s+e);this.activePath=[...this.activePath.slice(0,t),s],this.getAnchorElForLevel(t)&&this.scheduleSubmenuPosition(t)}keydown=t=>{if(!this.open)return;const e=this.activePath.length?this.activePath.length-1:0,i=this.getItemsAtPath(this.activePath.slice(0,e+1))[this.activePath[e]??0];switch(t.key){case"ArrowDown":t.preventDefault(),this.navMove(e,1);break;case"ArrowUp":t.preventDefault(),this.navMove(e,-1);break;case"ArrowRight":t.preventDefault(),i?.children?.length&&(this.activePath=[...this.activePath,0],this.submenuSide=[...this.submenuSide,"right"],this.getAnchorElForLevel(e)&&this.scheduleSubmenuPosition(e));break;case"ArrowLeft":t.preventDefault(),this.activePath.length>0?(this.activePath=this.activePath.slice(0,-1),this.submenuSide=this.submenuSide.slice(0,-1)):this.close();break;case"Enter":t.preventDefault(),i&&this.itemSelect.emit({item:i,path:[...this.activePath]}),this.closeOnSelect&&this.close();break;case"Escape":this.close();break;default:if(1===t.key.length){const i=Date.now();i-this.lastKeyTime>800&&(this.keyBuffer=""),this.lastKeyTime=i,this.keyBuffer+=t.key.toLowerCase();const s=this.getItemsAtPath(this.activePath.slice(0,e+1)).findIndex((t=>!t.divider&&!t.disabled&&t.label&&t.label.toLowerCase().startsWith(this.keyBuffer)));s>=0&&(this.activePath=[...this.activePath.slice(0,e),s])}}};getAnchorElForLevel(t){try{const e=this.hostEl.shadowRoot?.querySelector(".ctx-menu > .ctx-list");if(!e)return;let i=e;for(let e=0;e<=t;e++){const s=this.activePath[e];if(null==s)return;const r=i.querySelectorAll(":scope > .ctx-item")[s];if(!r)return;if(e===t)return r;const o=r.querySelector(":scope > .ctx-submenu > .ctx-list");if(!o)return;i=o}}catch{}}scheduleSubmenuPosition(t){requestAnimationFrame((()=>this.positionSubmenu(t)))}positionSubmenu(t){const e=this.lastAnchorEls[t]||this.getAnchorElForLevel(t);if(!e)return;const i=e.querySelector(":scope > .ctx-submenu");if(!i)return;const s=this.viewportPadding,r=window.innerWidth,o=window.innerHeight,a=i.getBoundingClientRect(),n=e.getBoundingClientRect(),c=this.submenuSide[t]||"right";if("right"===c&&a.right>r-s||"left"===c&&a.left<s){const e=n.left>r-n.right?"left":"right";if(e!==c)return this.submenuSide=[...this.submenuSide.slice(0,t),e],void requestAnimationFrame((()=>this.positionSubmenu(t)))}let h=0;const l=i.getBoundingClientRect();l.bottom>o-s&&(h-=Math.ceil(l.bottom-(o-s)));let d=l.top+h;d<s&&(h+=Math.ceil(s-d),d=s),i.style.top=0!==h?`${h}px`:"0px";const u=o-s-d;l.height>u?(i.style.maxHeight=`${u}px`,i.style.overflowY="auto"):(i.style.maxHeight="",i.style.overflowY="")}renderItems(t,e,i=0){const r=this.activePath[e]??-1,o=this.submenuSide[e]||"right",n=t.some((t=>!!t.icon||void 0!==t.checked||"checkbox"===t.type||"radio"===t.type||t.id&&t.id===this.selectedId||!!t.iconTemplate)),c=this.reserveIconSpace&&n,h=this.activePath.slice(0,e);return s("ul",{class:{"ctx-list":!0,"ctx-list-no-icons":!c},role:"menu",tabindex:0,onKeyDown:this.keydown},t.map(((t,n)=>{if(t.divider||"separator"===t.type)return s("li",{class:"ctx-divider",role:"separator"});if("header"===t.type)return s("li",{class:"ctx-header",role:"presentation"},t.label);const l=i+n,d=l===r,u=!!t.children?.length,x="danger"===t.variant,m=!(!t.id||t.id!==this.selectedId),p=[...h,l],b={name:"item",item:t,index:l,level:e,path:p,checked:!(!t.checked&&!m),active:d,hasChildren:u,disabled:!!t.disabled,variant:t.variant},g=s(!t.href||t.disabled||u?"div":"a",{class:"ctx-item-content",...!t.href||t.disabled||u?{}:{href:t.href}},(c||t.icon||void 0!==t.checked||m||t.iconTemplate)&&s("span",{class:"ctx-icon-area"},t.iconTemplate?s("span",{class:"ctx-icon-slot",innerHTML:a(t.iconTemplate)}):t.icon?s("ui-icon",{name:t.icon,library:t.iconLibrary||this.iconLibrary,size:"1.2em"}):t.checked||m?s("ui-icon",{name:"check",library:"lucide",size:"1.2em"}):""),s("div",{class:"ctx-text-content"},s("div",{class:"ctx-label-row"},s("span",{class:"ctx-label"},t.label),t.shortcut&&s("span",{class:"ctx-shortcut"},t.shortcut)),t.description&&s("span",{class:"ctx-description"},t.description)),u&&s("span",{class:"ctx-sub-arrow"},s("ui-icon",{name:"chevron-right",library:"lucide",size:"12px"})));return s("li",{class:{"ctx-item":!0,"ctx-item-active":d,"ctx-item-selected":m,"ctx-item-disabled":!!t.disabled,"ctx-item-danger":x,"ctx-item-has-children":u},role:"checkbox"===t.type?"menuitemcheckbox":"radio"===t.type?"menuitemradio":"menuitem","aria-checked":t.checked||m?"true":"false","aria-haspopup":u?"menu":null,"aria-disabled":t.disabled?"true":null,onMouseEnter:t=>this.handleMouseEnterItem(e,l,t.currentTarget),onClick:e=>this.handleClickItem(t,p,e)},s("slot",{...b},g),u&&d&&s("div",{class:{"ctx-submenu":!0,[`ctx-sub-${o}`]:!0}},this.renderItems(t.children,e+1)))})))}render(){const t=this.internalItems;let e="";"top"===this.placement?e="translateY(-100%)":"left"===this.placement&&(e="translateX(-100%)");const i=this.virtualizationActive&&(this.loadItems||t.length>this.visibleCount)&&t.length>0?this.getVirtualWindow(t.length):null;return s(r,{key:"c2181afce5b7b4ef2d7df5a2d991bb70d41f27cb"},s("slot",{key:"4142323103c62c98771ce563dfb0618ab88de56d"}),this.open&&s("div",{key:"9326f1949e3f13b96d4641ebea1cf8496014ae15",class:"ctx-menu",style:{position:"fixed",zIndex:"11000",left:`${this.pos.x}px`,top:`${this.pos.y}px`,transform:e},onMouseEnter:this.onMenuMouseEnter,onMouseLeave:this.onMenuMouseLeave},i?s("div",{class:"ctx-virtual-scroll",ref:t=>this.virtualScrollEl=t||void 0,style:{height:`${i.containerHeight}px`,overflowY:"auto"},onScroll:this.handleVirtualScroll},s("div",{class:"ctx-virtual-spacer",style:{height:t.length*this.itemHeight+"px"}},s("div",{class:"ctx-virtual-offset",style:{transform:`translateY(${i.topPadding}px)`}},this.renderItems(t.slice(i.start,i.end),0,i.start),this.loadingVirtual&&s("div",{class:"ctx-virtual-loader",style:{height:`${this.itemHeight}px`}},s("ui-loader",{type:"dots",size:"xs"}))))):this.renderItems(t,0)))}static get watchers(){return{items:[{onItemsChange:0}],loadItems:[{onLoadItemsChange:0}],visibleCount:[{onVisibleCountChange:0}],persistState:[{onPersistStateChange:0}],target:[{onTargetChange:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.ctx-menu{position:fixed;z-index:20000;min-width:220px;max-width:min(320px, 100vw - 16px);--ctx-bg:var(--bg-primary, #ffffff);--ctx-fg:var(--text-primary, #000000);--ctx-border:var(--border-default, #d9d9d9);--ctx-hover:var(--bg-secondary, #e6e6e6);--ctx-active:rgba(0, 138, 22, 0.08);--ctx-active-fg:var(--color-success, #008a16);--ctx-active-icon:var(--color-success, #008a16);background-color:var(--ctx-bg, #ffffff) !important;background-image:none !important;color:var(--ctx-fg);border:1px solid var(--ctx-border);border-radius:10px;box-shadow:0 12px 28px rgba(0, 0, 0, 0.22), 0 8px 10px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.05);padding:6px;animation:ctx-enter 120ms ease-out;transform-origin:var(--ctx-origin-x, 0%) var(--ctx-origin-y, 0%);scrollbar-width:thin;scrollbar-color:rgba(0, 0, 0, 0.2) transparent}.ctx-menu::-webkit-scrollbar{width:8px}.ctx-menu::-webkit-scrollbar-track{background:transparent}.ctx-menu::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.2);border-radius:4px}.ctx-menu::-webkit-scrollbar-thumb:hover{background:rgba(0, 0, 0, 0.3)}.ctx-virtual-scroll{width:100%;position:relative}.ctx-virtual-spacer{position:relative;width:100%}.ctx-virtual-offset{position:absolute;inset:0;width:100%}:host([theme=dark]) .ctx-menu::-webkit-scrollbar-thumb,:host-context([data-theme=dark]) .ctx-menu::-webkit-scrollbar-thumb,:host-context(.dark) .ctx-menu::-webkit-scrollbar-thumb,html[data-theme=dark] :host .ctx-menu::-webkit-scrollbar-thumb{background:rgba(255, 255, 255, 0.2)}:host([theme=dark]) .ctx-menu,:host-context([data-theme=dark]) .ctx-menu,:host-context(.dark) .ctx-menu,html[data-theme=dark] :host .ctx-menu{--ctx-bg:var(--bg-primary, #1e293b);--ctx-fg:var(--bg-primary, #e2e8f0);--ctx-border:var(--color-primary, #334155);--ctx-hover:var(--color-primary, #334155);--ctx-active:rgba(0, 138, 22, 0.15);--ctx-active-fg:var(--color-success, #008a16);--ctx-active-icon:var(--color-success, #008a16);box-shadow:0 12px 28px rgba(0, 0, 0, 0.4), 0 8px 10px rgba(0, 0, 0, 0.2)}@keyframes ctx-enter{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}.ctx-list{list-style:none;margin:0;padding:4px;overflow:visible;scrollbar-width:thin;scrollbar-color:rgba(0, 0, 0, 0.2) transparent}.ctx-list::-webkit-scrollbar{width:8px}.ctx-list::-webkit-scrollbar-track{background:transparent}.ctx-list::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.2);border-radius:4px}.ctx-list::-webkit-scrollbar-thumb:hover{background:rgba(0, 0, 0, 0.3)}:host([theme=dark]) .ctx-list::-webkit-scrollbar-thumb,:host-context([data-theme=dark]) .ctx-list::-webkit-scrollbar-thumb,:host-context(.dark) .ctx-list::-webkit-scrollbar-thumb,html[data-theme=dark] :host .ctx-list::-webkit-scrollbar-thumb{background:rgba(255, 255, 255, 0.2)}:host([theme=dark]) .ctx-list::-webkit-scrollbar-thumb:hover,:host-context([data-theme=dark]) .ctx-list::-webkit-scrollbar-thumb:hover,:host-context(.dark) .ctx-list::-webkit-scrollbar-thumb:hover,html[data-theme=dark] :host .ctx-list::-webkit-scrollbar-thumb:hover{background:rgba(255, 255, 255, 0.3)}.ctx-item{position:relative;display:block;border-radius:8px;cursor:pointer;user-select:none}.ctx-item:hover,.ctx-item-active{background:var(--ctx-hover, var(--bg-secondary, #f3f4f6))}.ctx-item-selected{background:var(--ctx-active, #e0f2fe);color:var(--ctx-active-fg, #0284c7);font-weight:600;position:relative}.ctx-item-selected::before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:4px;height:24px;background-color:var(--color-success, #008a16);border-radius:4px}.ctx-item-selected .ctx-icon-area{color:var(--ctx-active-icon, inherit)}.ctx-item-disabled{opacity:0.55;cursor:not-allowed}.ctx-icon-area{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--ctx-icon, var(--text-muted, #6b7280));font-size:14px;flex-shrink:0}.ctx-sub-arrow{color:var(--ctx-muted, var(--text-muted, #9ca3af));font-weight:600;justify-self:end}.ctx-divider{height:1px;margin:6px 8px;background:var(--ctx-divider, #e5e7eb)}.ctx-header{padding:8px 12px;font-size:11px;text-transform:uppercase;color:var(--ctx-muted, var(--text-muted, #9ca3af));font-weight:600;letter-spacing:0.5px;pointer-events:none}.ctx-item-danger{color:var(--color-danger, #ef4444);}.ctx-item-danger:hover{background:var(--bg-primary, #fee2e2);color:var(--color-danger, #b91c1c);}.ctx-item-danger .ctx-icon-area{color:currentColor}.ctx-description{display:block;font-size:11px;color:var(--ctx-muted, var(--text-muted, #6b7280));margin-top:2px;line-height:1.3}.ctx-text-content{display:flex;flex-direction:column;flex:1;min-width:0}.ctx-label-row{display:flex;align-items:center;justify-content:space-between;width:100%}.ctx-item-content{display:flex;align-items:center;gap:8px;padding:6px 10px;text-decoration:none;color:inherit;width:100%;box-sizing:border-box}.ctx-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-shortcut{margin-left:8px}.ctx-submenu{position:absolute;top:0;left:calc(100% + 4px);min-width:220px;max-width:min(320px, 100vw - 16px);background:var(--ctx-bg, var(--bg-primary, #ffffff));backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(20px) saturate(200%);border:1px solid var(--ctx-border, var(--border-default, #e5e7eb));border-radius:10px;box-shadow:0 12px 28px rgba(0, 0, 0, 0.25), 0 8px 10px rgba(0, 0, 0, 0.15);padding:6px;z-index:1000}.ctx-sub-left{left:auto;right:calc(100% + 4px)}@media (prefers-color-scheme: dark){.ctx-menu,.ctx-submenu{background:var(--ctx-bg, var(--bg-secondary, #111827));color:var(--ctx-fg, #f3f4f6);border-color:var(--ctx-border, var(--border-default, #374151));box-shadow:0 12px 28px rgba(0, 0, 0, 0.48), 0 8px 10px rgba(0, 0, 0, 0.35)}.ctx-item:hover,.ctx-item-active{background:var(--ctx-hover, var(--bg-primary, #1f2937))}.ctx-divider{background:var(--ctx-divider, #374151)}.ctx-muted,.ctx-shortcut,.ctx-sub-arrow{color:var(--text-muted, #9ca3af)}}:host([theme=green]) .ctx-menu,:host-context([data-theme=green]) .ctx-menu,:host-context(.green) .ctx-menu,html[data-theme=green] :host .ctx-menu,:host([theme=green]) .ctx-submenu,:host-context([data-theme=green]) .ctx-submenu,:host-context(.green) .ctx-submenu,html[data-theme=green] :host .ctx-submenu{--ctx-bg:var(--color-success, #3dcd58);--ctx-fg:var(--bg-primary, #ffffff);--ctx-border:rgba(255, 255, 255, 0.2);--ctx-hover:rgba(255, 255, 255, 0.1);--ctx-active:rgba(255, 255, 255, 0.2);--ctx-active-fg:var(--bg-primary, #ffffff);--ctx-active-icon:var(--bg-primary, #ffffff);--ctx-divider:rgba(255, 255, 255, 0.2);--ctx-muted:rgba(255, 255, 255, 0.7);box-shadow:0 12px 28px rgba(0, 0, 0, 0.2), 0 8px 10px rgba(0, 0, 0, 0.1)}:host([theme=green]) .ctx-shortcut,:host([theme=green]) .ctx-sub-arrow,:host-context([data-theme=green]) .ctx-shortcut,:host-context([data-theme=green]) .ctx-sub-arrow,:host-context(.green) .ctx-shortcut,:host-context(.green) .ctx-sub-arrow{color:rgba(255, 255, 255, 0.7)}@media (prefers-reduced-motion: reduce){.ctx-menu{animation:none}}'}},[769,"ui-context-menu",{items:[1],openOn:[1,"open-on"],placement:[1],target:[1],closeOnSelect:[4,"close-on-select"],viewportPadding:[2,"viewport-padding"],submenuOpenDelay:[2,"submenu-open-delay"],hoverCloseDelay:[2,"hover-close-delay"],targetOnly:[4,"target-only"],theme:[513],reserveIconSpace:[4,"reserve-icon-space"],persistState:[4,"persist-state"],longPressDuration:[2,"long-press-duration"],visibleCount:[2,"visible-count"],itemHeight:[2,"item-height"],loadItems:[16],selectedId:[1,"selected-id"],iconLibrary:[1,"icon-library"],beforeOpen:[16],beforeClose:[16],internalItems:[32],hasItemTemplate:[32],open:[32],pos:[32],activePath:[32],hoverPath:[32],typeahead:[32],submenuSide:[32],virtualStart:[32],loadingVirtual:[32],openAt:[64],close:[64]},void 0,{items:[{onItemsChange:0}],loadItems:[{onLoadItemsChange:0}],visibleCount:[{onVisibleCountChange:0}],persistState:[{onPersistStateChange:0}],target:[{onTargetChange:0}]}]);function h(){"undefined"!=typeof customElements&&["ui-context-menu","ui-icon"].forEach((t=>{switch(t){case"ui-context-menu":customElements.get(o(t))||customElements.define(o(t),c);break;case"ui-icon":customElements.get(o(t))||n()}}))}export{c as U,h as d}
1
+ import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as s,Host as r,transformTag as o}from"@stencil/core/internal/client";import{s as a,d as n}from"./icon.js";import{d as c}from"./loader.js";const h=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.itemSelect=i(this,"itemSelect",7),this.menuItemClick=i(this,"menuItemClick",7),this.longPress=i(this,"longPress",7),this.menuToggle=i(this,"menuToggle",7)}get hostEl(){return this}items=[];internalItems=[];hasItemTemplate=!1;onItemsChange(){this.internalItems=this.parseItems(),this.resetVirtualScroll()}onLoadItemsChange(){this.resetVirtualScroll()}onVisibleCountChange(){this.resetVirtualScroll()}onPersistStateChange(){this.persistState||this.persistedState.clear()}componentWillLoad(){this.internalItems=this.parseItems(),this.detectItemTemplate()}openOn="contextmenu";placement="bottom";target;onTargetChange(){this.attachTarget()}closeOnSelect=!0;viewportPadding=16;submenuOpenDelay=120;hoverCloseDelay=50;targetOnly=!1;theme="light";reserveIconSpace=!0;persistState=!1;longPressDuration=500;visibleCount=0;itemHeight=48;loadItems;selectedId;iconLibrary="default";itemSelect;menuItemClick;longPress;menuToggle;beforeOpen;beforeClose;open=!1;pos={x:0,y:0};activePath=[];hoverPath=[];typeahead="";submenuSide=[];virtualStart=0;loadingVirtual=!1;rootMenuEl;openTimeout;closeTimeout;lastKeyTime=0;keyBuffer="";slottedTarget;lastAnchorEls=[];targetElement;longPressTimer;virtualScrollEl;persistedState=new Map;virtualHasMore=!0;templateObserver;componentDidLoad(){this.attachTarget(),this.detectItemTemplate(),this.setupTemplateObserver(),this.scheduleInitialLoad(),document.addEventListener("click",this.onGlobalClick,{capture:!0}),document.addEventListener("contextmenu",this.onGlobalContextMenu,{capture:!0}),window.addEventListener("resize",this.onWindowResize),window.addEventListener("scroll",this.onWindowResize,!0),window.addEventListener("uiContextMenuOpen",this.handleOtherMenuOpen)}disconnectedCallback(){this.disconnectTemplateObserver(),document.removeEventListener("click",this.onGlobalClick,{capture:!0}),document.removeEventListener("contextmenu",this.onGlobalContextMenu,{capture:!0}),window.removeEventListener("resize",this.onWindowResize),window.removeEventListener("scroll",this.onWindowResize,!0),window.removeEventListener("uiContextMenuOpen",this.handleOtherMenuOpen)}handleOtherMenuOpen=t=>{t.detail&&t.detail.source!==this.hostEl&&this.close()};detectItemTemplate(){this.hasItemTemplate=!!this.hostEl.querySelector('template[slot="item"]')}setupTemplateObserver(){this.templateObserver||void 0!==globalThis.MutationObserver&&(this.templateObserver=new MutationObserver((()=>{this.detectItemTemplate()})),this.templateObserver.observe(this.hostEl,{childList:!0,subtree:!0}))}disconnectTemplateObserver(){this.templateObserver?.disconnect(),this.templateObserver=void 0}scheduleInitialLoad(){this.loadItems&&this.loadMoreItems()}ensureVirtualItems(){this.loadItems&&this.virtualHasMore&&!this.loadingVirtual&&this.loadMoreItems()}resetVirtualScroll(){this.virtualStart=0,this.virtualHasMore=!0,this.loadingVirtual=!1,this.virtualScrollEl&&(this.virtualScrollEl.scrollTop=0),this.ensureVirtualItems()}async loadMoreItems(t){if(!this.loadItems||this.loadingVirtual||!this.virtualHasMore)return;this.loadingVirtual=!0;const e=this.internalItems.length,i=t??Math.max(this.visibleCount||1,8);try{const t=this.loadItems(e,i),s=await t;if(s&&s.length){const t=this.normalizeItems(s);this.internalItems=[...this.internalItems,...t],s.length<i&&(this.virtualHasMore=!1)}else this.virtualHasMore=!1}catch{this.virtualHasMore=!1}finally{this.loadingVirtual=!1}}handleVirtualScroll=t=>{const e=t.currentTarget;if(!e)return;const i=Math.floor(e.scrollTop/Math.max(1,this.itemHeight));i!==this.virtualStart&&(this.virtualStart=i),this.maybeLoadMoreFromScroll(e)};maybeLoadMoreFromScroll(t){this.loadItems&&!this.loadingVirtual&&this.virtualHasMore&&t.scrollTop+t.clientHeight>=t.scrollHeight-2*this.itemHeight&&this.loadMoreItems()}get virtualizationActive(){return this.visibleCount>0&&this.itemHeight>0}getVirtualWindow(t){const e=Math.min(Math.max(this.visibleCount,1),t||1),i=Math.max(0,t-e),s=Math.min(this.virtualStart,i);s!==this.virtualStart&&(this.virtualStart=s);const r=Math.min(t,s+e+2);return{start:s,end:r,visible:e,topPadding:s*this.itemHeight,bottomPadding:Math.max(0,(t-r)*this.itemHeight),containerHeight:e*this.itemHeight}}async evaluateHook(t){if(!t)return!0;try{const e=t();return e&&"function"==typeof e.then?!1!==await e:!1!==e}catch{return!1}}attachTarget(){if(this.target)try{let t=this.hostEl.getRootNode().querySelector(this.target);t||(t=document.querySelector(this.target)),t&&(this.targetElement=t,this.bindEvents(t))}catch{}if(!this.targetElement){const t=this.hostEl.shadowRoot?.querySelector("slot");if(t){const e=t.assignedElements();e.length>0&&(this.slottedTarget=e[0],this.targetElement=this.slottedTarget,this.bindEvents(this.slottedTarget))}}}bindEvents(t){"hover"===this.openOn?(t.addEventListener("mouseenter",this.onTargetMouseEnter),t.addEventListener("mouseleave",this.onTargetMouseLeave),t.addEventListener("click",this.onTargetClick)):t.addEventListener("click"===this.openOn?"click":"contextmenu",this.onTargetTrigger),t.addEventListener("touchstart",this.onTouchStart,{passive:!0}),t.addEventListener("touchend",this.onTouchEnd,{passive:!0}),t.addEventListener("touchmove",this.onTouchMove,{passive:!0})}normalizeItems(t){return(t||[]).map((t=>{const e={...t};return!0===e.separator&&(e.divider=!0),e.children&&e.children.length&&(e.children=this.normalizeItems(e.children)),this.applyPersistedState(e),e}))}applyPersistedState(t){if(this.persistState&&t.id){const e=this.persistedState.get(String(t.id));e&&void 0!==e.checked&&(t.checked=e.checked)}t.children&&t.children.forEach((t=>this.applyPersistedState(t)))}parseItems(){let t=[];if("string"==typeof this.items)try{t=JSON.parse(this.items)}catch{t=[]}else t=this.items||[];return this.normalizeItems(t)}onTargetTrigger=t=>{"contextmenu"===this.openOn&&t.preventDefault(),this.openAt({x:t.clientX,y:t.clientY})};onTargetMouseEnter=t=>{this.closeTimeout&&clearTimeout(this.closeTimeout);const e=t.currentTarget.getBoundingClientRect();this.openAt("top"===this.placement?{x:e.left,y:e.top}:"right"===this.placement?{x:e.right,y:e.top}:"left"===this.placement?{x:e.left,y:e.top}:{x:e.left,y:e.bottom})};onTargetMouseLeave=()=>{this.closeTimeout=window.setTimeout((()=>{this.close()}),this.hoverCloseDelay)};onTargetClick=()=>{};onTouchStart=t=>{"contextmenu"===this.openOn&&(this.longPressTimer=setTimeout((()=>{const e=t.touches[0],i={x:e.clientX,y:e.clientY};this.openAt(i),this.longPress.emit(i)}),this.longPressDuration))};onTouchEnd=()=>{this.longPressTimer&&clearTimeout(this.longPressTimer)};onTouchMove=()=>{this.longPressTimer&&clearTimeout(this.longPressTimer)};onMenuMouseEnter=()=>{this.closeTimeout&&clearTimeout(this.closeTimeout)};onMenuMouseLeave=()=>{this.onTargetMouseLeave()};onGlobalContextMenu=t=>{this.targetOnly||"contextmenu"===this.openOn&&(this.targetElement&&!this.targetElement.contains(t.target)||this.hostEl.contains(t.target)||(t.preventDefault(),this.openAt({x:t.clientX,y:t.clientY})))};onGlobalClick=t=>{if(!this.open)return;const e=t.target,i="function"==typeof t.composedPath?t.composedPath():[],s=i.includes(this.hostEl),r=!!this.targetElement&&i.includes(this.targetElement),o=!!this.hostEl.shadowRoot?.contains(e),a=!!this.rootMenuEl?.contains(e);s||r||o||a||this.hostEl.contains(e)||this.targetElement&&this.targetElement.contains(e)||this.close()};onWindowResize=()=>{this.open&&requestAnimationFrame((()=>this.clampRootPosition()))};async openAt(t){await this.evaluateHook(this.beforeOpen)&&(this.open=!0,this.pos={...t},this.activePath=[],this.hoverPath=[],this.submenuSide=[],this.hostEl.isConnected&&(this.menuToggle.emit(!0),window.dispatchEvent(new CustomEvent("uiContextMenuOpen",{detail:{source:this.hostEl}}))),requestAnimationFrame((()=>{this.rootMenuEl=this.hostEl.shadowRoot?.querySelector(".ctx-menu"),this.clampRootPosition(),this.rootMenuEl?.querySelector('[role="menu"]')?.focus()})))}async close(){this.open&&await this.evaluateHook(this.beforeClose)&&(this.open=!1,this.hostEl.isConnected&&this.menuToggle.emit(!1),this.activePath=[],this.hoverPath=[],this.submenuSide=[])}clampRectToViewport(t,e){const i=window.innerWidth,s=window.innerHeight;return{dx:Math.min(0,i-e-t.right)+Math.max(0,e-t.left),dy:Math.min(0,s-e-t.bottom)+Math.max(0,e-t.top)}}clampRootPosition(){if(!this.rootMenuEl)return;const t=this.rootMenuEl,e=this.viewportPadding,i=window.innerHeight,s=t.getBoundingClientRect(),{dx:r,dy:o}=this.clampRectToViewport(s,e);let a=Math.round(this.pos.x+r),n=Math.round(this.pos.y+o);a<e&&(a=e),n<e&&(n=e),this.pos={x:a,y:n};const c=i-e-n;this.virtualizationActive?(t.style.maxHeight="",t.style.overflowY=""):s.height>c?(t.style.maxHeight=`${c}px`,t.style.overflowY="auto"):(t.style.maxHeight="",t.style.overflowY="");const h=o<0?"100%":o>0?"0%":"50%";t.style.setProperty("--ctx-origin-x",r<0?"100%":r>0?"0%":"50%"),t.style.setProperty("--ctx-origin-y",h)}openSubmenu(t,e,i){const s=i.getBoundingClientRect(),r=window.innerWidth-s.right,o=r>=240||r>=s.left?"right":"left";this.submenuSide=[...this.submenuSide.slice(0,t),o],this.activePath=[...this.activePath.slice(0,t),e],this.lastAnchorEls[t]=i,this.scheduleSubmenuPosition(t)}handleMouseEnterItem(t,e,i){window.clearTimeout(this.openTimeout),this.openTimeout=window.setTimeout((()=>{this.openSubmenu(t,e,i),this.hoverPath=[...this.activePath]}),this.submenuOpenDelay)}handleClickItem(t,e,i){if(!t.disabled&&!t.divider)if(t.children&&t.children.length>0){const t=e.length-1;this.openSubmenu(t,e[t],i.currentTarget)}else"checkbox"===t.type?(t.checked=!t.checked,this.internalItems=[...this.internalItems]):"radio"===t.type&&((e.length>1?this.getItemsAtPath(e.slice(0,-1)):this.internalItems).forEach((t=>{"radio"===t.type&&(t.checked=!1)})),t.checked=!0,this.internalItems=[...this.internalItems]),this.itemSelect.emit({item:t,path:e}),this.menuItemClick.emit({item:t,path:e}),"checkbox"!==t.type&&"radio"!==t.type&&this.closeOnSelect&&this.close()}getItemsAtPath(t){let e=this.internalItems;for(const i of t){const t=e[i];if(!t||!t.children)return[];e=t.children}return e}navMove(t,e){const i=this.getItemsAtPath(this.activePath.slice(0,t+1));let s=(this.activePath[t]??-1)+e;const r=t=>Math.max(0,Math.min(t,i.length-1)),o=t=>{const e=i[t];return e&&!e.divider&&!e.disabled};for(s=r(s);!o(s)&&(e>0?s<i.length-1:s>0);)s=r(s+e);this.activePath=[...this.activePath.slice(0,t),s],this.getAnchorElForLevel(t)&&this.scheduleSubmenuPosition(t)}keydown=t=>{if(!this.open)return;const e=this.activePath.length?this.activePath.length-1:0,i=this.getItemsAtPath(this.activePath.slice(0,e+1))[this.activePath[e]??0];switch(t.key){case"ArrowDown":t.preventDefault(),this.navMove(e,1);break;case"ArrowUp":t.preventDefault(),this.navMove(e,-1);break;case"ArrowRight":t.preventDefault(),i?.children?.length&&(this.activePath=[...this.activePath,0],this.submenuSide=[...this.submenuSide,"right"],this.getAnchorElForLevel(e)&&this.scheduleSubmenuPosition(e));break;case"ArrowLeft":t.preventDefault(),this.activePath.length>0?(this.activePath=this.activePath.slice(0,-1),this.submenuSide=this.submenuSide.slice(0,-1)):this.close();break;case"Enter":t.preventDefault(),i&&this.itemSelect.emit({item:i,path:[...this.activePath]}),this.closeOnSelect&&this.close();break;case"Escape":this.close();break;default:if(1===t.key.length){const i=Date.now();i-this.lastKeyTime>800&&(this.keyBuffer=""),this.lastKeyTime=i,this.keyBuffer+=t.key.toLowerCase();const s=this.getItemsAtPath(this.activePath.slice(0,e+1)).findIndex((t=>!t.divider&&!t.disabled&&t.label&&t.label.toLowerCase().startsWith(this.keyBuffer)));s>=0&&(this.activePath=[...this.activePath.slice(0,e),s])}}};getAnchorElForLevel(t){try{const e=this.hostEl.shadowRoot?.querySelector(".ctx-menu > .ctx-list");if(!e)return;let i=e;for(let e=0;e<=t;e++){const s=this.activePath[e];if(null==s)return;const r=i.querySelectorAll(":scope > .ctx-item")[s];if(!r)return;if(e===t)return r;const o=r.querySelector(":scope > .ctx-submenu > .ctx-list");if(!o)return;i=o}}catch{}}scheduleSubmenuPosition(t){requestAnimationFrame((()=>this.positionSubmenu(t)))}positionSubmenu(t){const e=this.lastAnchorEls[t]||this.getAnchorElForLevel(t);if(!e)return;const i=e.querySelector(":scope > .ctx-submenu");if(!i)return;const s=this.viewportPadding,r=window.innerWidth,o=window.innerHeight,a=i.getBoundingClientRect(),n=e.getBoundingClientRect(),c=this.submenuSide[t]||"right";if("right"===c&&a.right>r-s||"left"===c&&a.left<s){const e=n.left>r-n.right?"left":"right";if(e!==c)return this.submenuSide=[...this.submenuSide.slice(0,t),e],void requestAnimationFrame((()=>this.positionSubmenu(t)))}let h=0;const l=i.getBoundingClientRect();l.bottom>o-s&&(h-=Math.ceil(l.bottom-(o-s)));let d=l.top+h;d<s&&(h+=Math.ceil(s-d),d=s),i.style.top=0!==h?`${h}px`:"0px";const u=o-s-d;l.height>u?(i.style.maxHeight=`${u}px`,i.style.overflowY="auto"):(i.style.maxHeight="",i.style.overflowY="")}renderItems(t,e,i=0){const r=this.activePath[e]??-1,o=this.submenuSide[e]||"right",n=t.some((t=>!!t.icon||void 0!==t.checked||"checkbox"===t.type||"radio"===t.type||t.id&&t.id===this.selectedId||!!t.iconTemplate)),c=this.reserveIconSpace&&n,h=this.activePath.slice(0,e);return s("ul",{class:{"ctx-list":!0,"ctx-list-no-icons":!c},role:"menu",tabindex:0,onKeyDown:this.keydown},t.map(((t,n)=>{if(t.divider||"separator"===t.type)return s("li",{class:"ctx-divider",role:"separator"});if("header"===t.type)return s("li",{class:"ctx-header",role:"presentation"},t.label);const l=i+n,d=l===r,u=!!t.children?.length,x="danger"===t.variant,m=!(!t.id||t.id!==this.selectedId),p=[...h,l],b={name:"item",item:t,index:l,level:e,path:p,checked:!(!t.checked&&!m),active:d,hasChildren:u,disabled:!!t.disabled,variant:t.variant},g=s(!t.href||t.disabled||u?"div":"a",{class:"ctx-item-content",...!t.href||t.disabled||u?{}:{href:t.href}},(c||t.icon||void 0!==t.checked||m||t.iconTemplate)&&s("span",{class:"ctx-icon-area"},t.iconTemplate?s("span",{class:"ctx-icon-slot",innerHTML:a(t.iconTemplate)}):t.icon?s("ui-icon",{name:t.icon,library:t.iconLibrary||this.iconLibrary,size:"1.2em"}):t.checked||m?s("ui-icon",{name:"check",library:"lucide",size:"1.2em"}):""),s("div",{class:"ctx-text-content"},s("div",{class:"ctx-label-row"},s("span",{class:"ctx-label"},t.label),t.shortcut&&s("span",{class:"ctx-shortcut"},t.shortcut)),t.description&&s("span",{class:"ctx-description"},t.description)),u&&s("span",{class:"ctx-sub-arrow"},s("ui-icon",{name:"chevron-right",library:"lucide",size:"12px"})));return s("li",{class:{"ctx-item":!0,"ctx-item-active":d,"ctx-item-selected":m,"ctx-item-disabled":!!t.disabled,"ctx-item-danger":x,"ctx-item-has-children":u},role:"checkbox"===t.type?"menuitemcheckbox":"radio"===t.type?"menuitemradio":"menuitem","aria-checked":t.checked||m?"true":"false","aria-haspopup":u?"menu":null,"aria-disabled":t.disabled?"true":null,onMouseEnter:t=>this.handleMouseEnterItem(e,l,t.currentTarget),onClick:e=>this.handleClickItem(t,p,e)},s("slot",{...b},g),u&&d&&s("div",{class:{"ctx-submenu":!0,[`ctx-sub-${o}`]:!0}},this.renderItems(t.children,e+1)))})))}render(){const t=this.internalItems;let e="";"top"===this.placement?e="translateY(-100%)":"left"===this.placement&&(e="translateX(-100%)");const i=this.virtualizationActive&&(this.loadItems||t.length>this.visibleCount)&&t.length>0?this.getVirtualWindow(t.length):null;return s(r,{key:"c2181afce5b7b4ef2d7df5a2d991bb70d41f27cb"},s("slot",{key:"4142323103c62c98771ce563dfb0618ab88de56d"}),this.open&&s("div",{key:"9326f1949e3f13b96d4641ebea1cf8496014ae15",class:"ctx-menu",style:{position:"fixed",zIndex:"11000",left:`${this.pos.x}px`,top:`${this.pos.y}px`,transform:e},onMouseEnter:this.onMenuMouseEnter,onMouseLeave:this.onMenuMouseLeave},i?s("div",{class:"ctx-virtual-scroll",ref:t=>this.virtualScrollEl=t||void 0,style:{height:`${i.containerHeight}px`,overflowY:"auto"},onScroll:this.handleVirtualScroll},s("div",{class:"ctx-virtual-spacer",style:{height:t.length*this.itemHeight+"px"}},s("div",{class:"ctx-virtual-offset",style:{transform:`translateY(${i.topPadding}px)`}},this.renderItems(t.slice(i.start,i.end),0,i.start),this.loadingVirtual&&s("div",{class:"ctx-virtual-loader",style:{height:`${this.itemHeight}px`}},s("ui-loader",{type:"dots",size:"xs"}))))):this.renderItems(t,0)))}static get watchers(){return{items:[{onItemsChange:0}],loadItems:[{onLoadItemsChange:0}],visibleCount:[{onVisibleCountChange:0}],persistState:[{onPersistStateChange:0}],target:[{onTargetChange:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.ctx-menu{position:fixed;z-index:20000;min-width:220px;max-width:min(320px, 100vw - 16px);--ctx-bg:var(--bg-primary, #ffffff);--ctx-fg:var(--text-primary, #000000);--ctx-border:var(--border-default, #d9d9d9);--ctx-hover:var(--bg-secondary, #e6e6e6);--ctx-active:rgba(0, 138, 22, 0.08);--ctx-active-fg:var(--color-success, #008a16);--ctx-active-icon:var(--color-success, #008a16);background-color:var(--ctx-bg, #ffffff) !important;background-image:none !important;color:var(--ctx-fg);border:1px solid var(--ctx-border);border-radius:10px;box-shadow:0 12px 28px rgba(0, 0, 0, 0.22), 0 8px 10px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.05);padding:6px;animation:ctx-enter 120ms ease-out;transform-origin:var(--ctx-origin-x, 0%) var(--ctx-origin-y, 0%);scrollbar-width:thin;scrollbar-color:rgba(0, 0, 0, 0.2) transparent}.ctx-menu::-webkit-scrollbar{width:8px}.ctx-menu::-webkit-scrollbar-track{background:transparent}.ctx-menu::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.2);border-radius:4px}.ctx-menu::-webkit-scrollbar-thumb:hover{background:rgba(0, 0, 0, 0.3)}.ctx-virtual-scroll{width:100%;position:relative}.ctx-virtual-spacer{position:relative;width:100%}.ctx-virtual-offset{position:absolute;inset:0;width:100%}:host([theme=dark]) .ctx-menu::-webkit-scrollbar-thumb,:host-context([data-theme=dark]) .ctx-menu::-webkit-scrollbar-thumb,:host-context(.dark) .ctx-menu::-webkit-scrollbar-thumb,html[data-theme=dark] :host .ctx-menu::-webkit-scrollbar-thumb{background:rgba(255, 255, 255, 0.2)}:host([theme=dark]) .ctx-menu,:host-context([data-theme=dark]) .ctx-menu,:host-context(.dark) .ctx-menu,html[data-theme=dark] :host .ctx-menu{--ctx-bg:var(--bg-primary, #1e293b);--ctx-fg:var(--text-primary, #e2e8f0);--ctx-border:var(--border-color, #334155);--ctx-hover:var(--bg-secondary, #334155);--ctx-active:rgba(0, 138, 22, 0.15);--ctx-active-fg:var(--color-success, #008a16);--ctx-active-icon:var(--color-success, #008a16);box-shadow:0 12px 28px rgba(0, 0, 0, 0.4), 0 8px 10px rgba(0, 0, 0, 0.2)}@keyframes ctx-enter{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}.ctx-list{list-style:none;margin:0;padding:4px;overflow:visible;scrollbar-width:thin;scrollbar-color:rgba(0, 0, 0, 0.2) transparent}.ctx-list::-webkit-scrollbar{width:8px}.ctx-list::-webkit-scrollbar-track{background:transparent}.ctx-list::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.2);border-radius:4px}.ctx-list::-webkit-scrollbar-thumb:hover{background:rgba(0, 0, 0, 0.3)}:host([theme=dark]) .ctx-list::-webkit-scrollbar-thumb,:host-context([data-theme=dark]) .ctx-list::-webkit-scrollbar-thumb,:host-context(.dark) .ctx-list::-webkit-scrollbar-thumb,html[data-theme=dark] :host .ctx-list::-webkit-scrollbar-thumb{background:rgba(255, 255, 255, 0.2)}:host([theme=dark]) .ctx-list::-webkit-scrollbar-thumb:hover,:host-context([data-theme=dark]) .ctx-list::-webkit-scrollbar-thumb:hover,:host-context(.dark) .ctx-list::-webkit-scrollbar-thumb:hover,html[data-theme=dark] :host .ctx-list::-webkit-scrollbar-thumb:hover{background:rgba(255, 255, 255, 0.3)}.ctx-item{position:relative;display:block;border-radius:8px;cursor:pointer;user-select:none}.ctx-item:hover,.ctx-item-active{background:var(--ctx-hover, var(--bg-secondary, #f3f4f6))}.ctx-item-selected{background:var(--ctx-active, #e0f2fe);color:var(--ctx-active-fg, #0284c7);font-weight:600;position:relative}.ctx-item-selected::before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:4px;height:24px;background-color:var(--color-success, #008a16);border-radius:4px}.ctx-item-selected .ctx-icon-area{color:var(--ctx-active-icon, inherit)}.ctx-item-disabled{opacity:0.55;cursor:not-allowed}.ctx-icon-area{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--ctx-icon, var(--text-muted, #6b7280));font-size:14px;flex-shrink:0}.ctx-sub-arrow{color:var(--ctx-muted, var(--text-muted, #9ca3af));font-weight:600;justify-self:end}.ctx-divider{height:1px;margin:6px 8px;background:var(--ctx-divider, #e5e7eb)}.ctx-header{padding:8px 12px;font-size:11px;text-transform:uppercase;color:var(--ctx-muted, var(--text-muted, #9ca3af));font-weight:600;letter-spacing:0.5px;pointer-events:none}.ctx-item-danger{color:var(--color-danger, #ef4444);}.ctx-item-danger:hover{background:var(--bg-primary, #fee2e2);color:var(--color-danger, #b91c1c);}.ctx-item-danger .ctx-icon-area{color:currentColor}.ctx-description{display:block;font-size:11px;color:var(--ctx-muted, var(--text-muted, #6b7280));margin-top:2px;line-height:1.3}.ctx-text-content{display:flex;flex-direction:column;flex:1;min-width:0}.ctx-label-row{display:flex;align-items:center;justify-content:space-between;width:100%}.ctx-item-content{display:flex;align-items:center;gap:8px;padding:6px 10px;text-decoration:none;color:inherit;width:100%;box-sizing:border-box}.ctx-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-shortcut{margin-left:8px}.ctx-submenu{position:absolute;top:0;left:calc(100% + 4px);min-width:220px;max-width:min(320px, 100vw - 16px);background:var(--ctx-bg, var(--bg-primary, #ffffff));backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(20px) saturate(200%);border:1px solid var(--ctx-border, var(--border-default, #e5e7eb));border-radius:10px;box-shadow:0 12px 28px rgba(0, 0, 0, 0.25), 0 8px 10px rgba(0, 0, 0, 0.15);padding:6px;z-index:1000}.ctx-sub-left{left:auto;right:calc(100% + 4px)}@media (prefers-color-scheme: dark){.ctx-menu,.ctx-submenu{background:var(--ctx-bg, var(--bg-secondary, #111827));color:var(--ctx-fg, #f3f4f6);border-color:var(--ctx-border, var(--border-default, #374151));box-shadow:0 12px 28px rgba(0, 0, 0, 0.48), 0 8px 10px rgba(0, 0, 0, 0.35)}.ctx-item:hover,.ctx-item-active{background:var(--ctx-hover, var(--bg-primary, #1f2937))}.ctx-divider{background:var(--ctx-divider, #374151)}.ctx-muted,.ctx-shortcut,.ctx-sub-arrow{color:var(--text-muted, #9ca3af)}}:host([theme=green]) .ctx-menu,:host-context([data-theme=green]) .ctx-menu,:host-context(.green) .ctx-menu,html[data-theme=green] :host .ctx-menu,:host([theme=green]) .ctx-submenu,:host-context([data-theme=green]) .ctx-submenu,:host-context(.green) .ctx-submenu,html[data-theme=green] :host .ctx-submenu{--ctx-bg:var(--color-success, #3dcd58);--ctx-fg:var(--bg-primary, #ffffff);--ctx-border:rgba(255, 255, 255, 0.2);--ctx-hover:rgba(255, 255, 255, 0.1);--ctx-active:rgba(255, 255, 255, 0.2);--ctx-active-fg:var(--bg-primary, #ffffff);--ctx-active-icon:var(--bg-primary, #ffffff);--ctx-divider:rgba(255, 255, 255, 0.2);--ctx-muted:rgba(255, 255, 255, 0.7);box-shadow:0 12px 28px rgba(0, 0, 0, 0.2), 0 8px 10px rgba(0, 0, 0, 0.1)}:host([theme=green]) .ctx-shortcut,:host([theme=green]) .ctx-sub-arrow,:host-context([data-theme=green]) .ctx-shortcut,:host-context([data-theme=green]) .ctx-sub-arrow,:host-context(.green) .ctx-shortcut,:host-context(.green) .ctx-sub-arrow{color:rgba(255, 255, 255, 0.7)}@media (prefers-reduced-motion: reduce){.ctx-menu{animation:none}}'}},[769,"ui-context-menu",{items:[1],openOn:[1,"open-on"],placement:[1],target:[1],closeOnSelect:[4,"close-on-select"],viewportPadding:[2,"viewport-padding"],submenuOpenDelay:[2,"submenu-open-delay"],hoverCloseDelay:[2,"hover-close-delay"],targetOnly:[4,"target-only"],theme:[513],reserveIconSpace:[4,"reserve-icon-space"],persistState:[4,"persist-state"],longPressDuration:[2,"long-press-duration"],visibleCount:[2,"visible-count"],itemHeight:[2,"item-height"],loadItems:[16],selectedId:[1,"selected-id"],iconLibrary:[1,"icon-library"],beforeOpen:[16],beforeClose:[16],internalItems:[32],hasItemTemplate:[32],open:[32],pos:[32],activePath:[32],hoverPath:[32],typeahead:[32],submenuSide:[32],virtualStart:[32],loadingVirtual:[32],openAt:[64],close:[64]},void 0,{items:[{onItemsChange:0}],loadItems:[{onLoadItemsChange:0}],visibleCount:[{onVisibleCountChange:0}],persistState:[{onPersistStateChange:0}],target:[{onTargetChange:0}]}]);function l(){"undefined"!=typeof customElements&&["ui-context-menu","ui-icon","ui-loader"].forEach((t=>{switch(t){case"ui-context-menu":customElements.get(o(t))||customElements.define(o(t),h);break;case"ui-icon":customElements.get(o(t))||n();break;case"ui-loader":customElements.get(o(t))||c()}}))}export{h as U,l as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as i,HTMLElement as t,createEvent as e,h as o,transformTag as s}from"@stencil/core/internal/client";import{d as a,a as n}from"./badge.js";import{d as l}from"./icon.js";const r=i(class extends t{constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow(),this.minimize=e(this,"minimize",7),this.maximize=e(this,"maximize",7),this.close=e(this,"close",7),this.menu=e(this,"menu",7)}dialogTitle="";subtitle="";showMinimize=!0;showMaximize=!0;showClose=!0;showMenu=!1;menuIcon="more-horizontal";menuItems=[];menuTitle="Menu";variant="outlined";status="default";type="modal";icon="";avatar="";iconLibrary="default";titleTag="h3";iconPosition="left";get el(){return this}hasTitleTooltip=!1;hasSubtitleTooltip=!1;titleEl;subtitleEl;minimize;maximize;close;menu;handleMinimize=()=>{this.minimize.emit()};handleMaximize=()=>{this.maximize.emit()};handleClose=()=>{this.close.emit()};handleMenu=i=>{this.menu.emit({originalEvent:i,trigger:i.currentTarget})};componentDidLoad(){this.checkTruncation()}componentDidUpdate(){this.checkTruncation()}handleResize(){this.checkTruncation()}checkTruncation(){if(this.titleEl){const i=this.titleEl.scrollWidth>this.titleEl.clientWidth;this.hasTitleTooltip!==i&&(this.hasTitleTooltip=i)}if(this.subtitleEl){const i=this.subtitleEl.scrollWidth>this.subtitleEl.clientWidth;this.hasSubtitleTooltip!==i&&(this.hasSubtitleTooltip=i)}}render(){const i={info:"info",success:"check-circle",warning:"alert-triangle",error:"alert-circle"},t=this.titleTag,e=()=>this.avatar?o("div",{class:"header-avatar"},o("img",{src:this.avatar,alt:"Avatar"})):"default"!==this.status?o("span",{class:"status-icon",title:this.status.toUpperCase()},o("ui-icon",{name:i[this.status],library:this.iconLibrary,size:"1.2em"})):this.icon&&"default"===this.status?o("span",{class:"header-icon"},o("ui-icon",{name:this.icon,library:this.iconLibrary,size:"1.2em"})):null;return o("div",{class:{"dialog-header-section":!0,[`status-${this.status}`]:"default"!==this.status,[`type-${this.type}`]:!0}},o("div",{class:"dialog-title-section"},o("slot",null,(this.dialogTitle||this.subtitle)&&o("div",{class:{"title-label-wrapper":!0,"one-liner":"messagebox"===this.type}},o("div",{class:"title-row"},"left"===this.iconPosition&&o("slot",{name:"icon"},e()),this.dialogTitle&&o(t,{ref:i=>this.titleEl=i,title:this.hasTitleTooltip?this.dialogTitle:void 0},this.dialogTitle),"right"===this.iconPosition&&o("slot",{name:"icon"},e())),this.subtitle&&o("p",{class:"dialog-subtitle",ref:i=>this.subtitleEl=i,title:this.hasSubtitleTooltip?this.subtitle:void 0},this.subtitle)))),o("div",{class:"dialog-controls"},o("slot",{name:"header-actions"}),o("slot",{name:"actions"}),(Array.isArray(this.menuItems)?this.menuItems.length>0:!!this.menuItems)&&o("div",{class:"dialog-menu-wrapper"},o("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:this.menuIcon,iconLibrary:this.iconLibrary,onButtonClick:this.handleMenu,title:this.menuTitle}),o("div",{class:"dialog-menu-popup",style:{display:"none"}},o("slot",{name:"menu-list"}))),this.showMinimize&&o("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:"minus",onClick:()=>this.handleMinimize(),title:"Minimize"}),this.showMaximize&&o("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:"maximize-2",onClick:()=>this.handleMaximize(),title:"Maximize"}),this.showClose&&o("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:"x",onClick:()=>this.handleClose(),title:"Close",part:"close-btn"})))}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.dialog-header-section{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background-color:transparent;border-bottom:none;cursor:move;user-select:none;gap:12px}.dialog-title-section{flex:1;margin:0;display:flex;align-items:center;gap:12px}.dialog-title-section h1,.dialog-title-section h2,.dialog-title-section h3,.dialog-title-section h4,.dialog-title-section h5,.dialog-title-section h6{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #111827);line-height:1.2;display:inline-block;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:450px;min-width:0}.title-label-wrapper{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.title-label-wrapper .title-row{display:flex;flex-direction:row !important;align-items:center;gap:8px;flex-shrink:0;min-width:0;max-width:100%}.title-label-wrapper .dialog-subtitle{margin:0;font-size:14px;color:var(--text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:550px;opacity:0.8}.title-label-wrapper.one-liner{flex-direction:column !important;align-items:flex-start !important;gap:2px !important}.title-label-wrapper.one-liner h3{font-size:16px !important;max-width:400px}.title-label-wrapper.one-liner .dialog-subtitle{font-size:13px !important;max-width:400px}.status-icon{font-size:20px;line-height:1}.dialog-controls{display:flex;gap:8px;align-items:center}.dialog-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:4px;background-color:var(--ui-bg-muted, rgba(0, 0, 0, 0.03));color:var(--text-muted, #6b7280);cursor:pointer;transition:all 0.2s ease}.dialog-btn:hover{background-color:var(--bg-primary, #e5e7eb) !important;color:var(--text-secondary, #374151) !important}.dialog-btn svg{width:16px;height:16px}.dialog-menu-wrapper{position:relative;display:flex;align-items:center}.dialog-menu-popup{display:none !important;position:absolute;top:100%;right:0;width:200px}.header-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;border:4px solid rgba(255, 255, 255, 0.2);flex-shrink:0}.header-avatar img{width:100%;height:100%;object-fit:cover}.header-icon{width:36px;height:36px;background:rgba(0, 0, 0, 0.05);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #64748b);flex-shrink:0}.status-success .status-icon{color:var(--color-success, #10b981)}.status-error .status-icon{color:var(--color-danger, #ef4444)}.status-warning .status-icon{color:var(--color-warning, #f59e0b)}.status-info .status-icon{color:var(--color-primary, #10b981)}.status-icon{display:flex;align-items:center;font-size:1.25rem}"}},[769,"ui-dialog-header",{dialogTitle:[1,"dialog-title"],subtitle:[1],showMinimize:[4,"show-minimize"],showMaximize:[4,"show-maximize"],showClose:[4,"show-close"],showMenu:[4,"show-menu"],menuIcon:[1,"menu-icon"],menuItems:[1,"menu-items"],menuTitle:[1,"menu-title"],variant:[1],status:[1],type:[1],icon:[1],avatar:[1],iconLibrary:[1,"icon-library"],titleTag:[1,"title-tag"],iconPosition:[1,"icon-position"],hasTitleTooltip:[32],hasSubtitleTooltip:[32]},[[9,"resize","handleResize"]]]);function h(){"undefined"!=typeof customElements&&["ui-dialog-header","ui-badge","ui-button","ui-icon"].forEach((i=>{switch(i){case"ui-dialog-header":customElements.get(s(i))||customElements.define(s(i),r);break;case"ui-badge":customElements.get(s(i))||n();break;case"ui-button":customElements.get(s(i))||a();break;case"ui-icon":customElements.get(s(i))||l()}}))}export{r as D,h as d}
1
+ import{proxyCustomElement as i,HTMLElement as t,createEvent as e,h as o,transformTag as s}from"@stencil/core/internal/client";import{d as a,a as n}from"./badge.js";import{d as l}from"./icon.js";import{d as r}from"./loader.js";const h=i(class extends t{constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow(),this.minimize=e(this,"minimize",7),this.maximize=e(this,"maximize",7),this.close=e(this,"close",7),this.menu=e(this,"menu",7)}dialogTitle="";subtitle="";showMinimize=!0;showMaximize=!0;showClose=!0;showMenu=!1;menuIcon="more-horizontal";menuItems=[];menuTitle="Menu";variant="outlined";status="default";type="modal";icon="";avatar="";iconLibrary="default";titleTag="h3";iconPosition="left";get el(){return this}hasTitleTooltip=!1;hasSubtitleTooltip=!1;titleEl;subtitleEl;minimize;maximize;close;menu;handleMinimize=()=>{this.minimize.emit()};handleMaximize=()=>{this.maximize.emit()};handleClose=()=>{this.close.emit()};handleMenu=i=>{this.menu.emit({originalEvent:i,trigger:i.currentTarget})};componentDidLoad(){this.checkTruncation()}componentDidUpdate(){this.checkTruncation()}handleResize(){this.checkTruncation()}checkTruncation(){if(this.titleEl){const i=this.titleEl.scrollWidth>this.titleEl.clientWidth;this.hasTitleTooltip!==i&&(this.hasTitleTooltip=i)}if(this.subtitleEl){const i=this.subtitleEl.scrollWidth>this.subtitleEl.clientWidth;this.hasSubtitleTooltip!==i&&(this.hasSubtitleTooltip=i)}}render(){const i={info:"info",success:"check-circle",warning:"alert-triangle",error:"alert-circle"},t=this.titleTag,e=()=>this.avatar?o("div",{class:"header-avatar"},o("img",{src:this.avatar,alt:"Avatar"})):"default"!==this.status?o("span",{class:"status-icon",title:this.status.toUpperCase()},o("ui-icon",{name:i[this.status],library:this.iconLibrary,size:"1.2em"})):this.icon&&"default"===this.status?o("span",{class:"header-icon"},o("ui-icon",{name:this.icon,library:this.iconLibrary,size:"1.2em"})):null;return o("div",{class:{"dialog-header-section":!0,[`status-${this.status}`]:"default"!==this.status,[`type-${this.type}`]:!0}},o("div",{class:"dialog-title-section"},o("slot",null,(this.dialogTitle||this.subtitle)&&o("div",{class:{"title-label-wrapper":!0,"one-liner":"messagebox"===this.type}},o("div",{class:"title-row"},"left"===this.iconPosition&&o("slot",{name:"icon"},e()),this.dialogTitle&&o(t,{ref:i=>this.titleEl=i,title:this.hasTitleTooltip?this.dialogTitle:void 0},this.dialogTitle),"right"===this.iconPosition&&o("slot",{name:"icon"},e())),this.subtitle&&o("p",{class:"dialog-subtitle",ref:i=>this.subtitleEl=i,title:this.hasSubtitleTooltip?this.subtitle:void 0},this.subtitle)))),o("div",{class:"dialog-controls"},o("slot",{name:"header-actions"}),o("slot",{name:"actions"}),(Array.isArray(this.menuItems)?this.menuItems.length>0:!!this.menuItems)&&o("div",{class:"dialog-menu-wrapper"},o("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:this.menuIcon,iconLibrary:this.iconLibrary,onButtonClick:this.handleMenu,title:this.menuTitle}),o("div",{class:"dialog-menu-popup",style:{display:"none"}},o("slot",{name:"menu-list"}))),this.showMinimize&&o("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:"minus",onClick:()=>this.handleMinimize(),title:"Minimize"}),this.showMaximize&&o("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:"maximize-2",onClick:()=>this.handleMaximize(),title:"Maximize"}),this.showClose&&o("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:"x",onClick:()=>this.handleClose(),title:"Close",part:"close-btn"})))}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.dialog-header-section{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background-color:transparent;border-bottom:none;cursor:move;user-select:none;gap:12px}.dialog-title-section{flex:1;margin:0;display:flex;align-items:center;gap:12px}.dialog-title-section h1,.dialog-title-section h2,.dialog-title-section h3,.dialog-title-section h4,.dialog-title-section h5,.dialog-title-section h6{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #111827);line-height:1.2;display:inline-block;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:450px;min-width:0}.title-label-wrapper{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.title-label-wrapper .title-row{display:flex;flex-direction:row !important;align-items:center;gap:8px;flex-shrink:0;min-width:0;max-width:100%}.title-label-wrapper .dialog-subtitle{margin:0;font-size:14px;color:var(--text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:550px;opacity:0.8}.title-label-wrapper.one-liner{flex-direction:column !important;align-items:flex-start !important;gap:2px !important}.title-label-wrapper.one-liner h3{font-size:16px !important;max-width:400px}.title-label-wrapper.one-liner .dialog-subtitle{font-size:13px !important;max-width:400px}.status-icon{font-size:20px;line-height:1}.dialog-controls{display:flex;gap:8px;align-items:center}.dialog-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:4px;background-color:var(--ui-bg-muted, rgba(0, 0, 0, 0.03));color:var(--text-muted, #6b7280);cursor:pointer;transition:all 0.2s ease}.dialog-btn:hover{background-color:var(--bg-primary, #e5e7eb) !important;color:var(--text-secondary, #374151) !important}.dialog-btn svg{width:16px;height:16px}.dialog-menu-wrapper{position:relative;display:flex;align-items:center}.dialog-menu-popup{display:none !important;position:absolute;top:100%;right:0;width:200px}.header-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;border:4px solid rgba(255, 255, 255, 0.2);flex-shrink:0}.header-avatar img{width:100%;height:100%;object-fit:cover}.header-icon{width:36px;height:36px;background:rgba(0, 0, 0, 0.05);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #64748b);flex-shrink:0}.status-success .status-icon{color:var(--color-success, #10b981)}.status-error .status-icon{color:var(--color-danger, #ef4444)}.status-warning .status-icon{color:var(--color-warning, #f59e0b)}.status-info .status-icon{color:var(--color-primary, #10b981)}.status-icon{display:flex;align-items:center;font-size:1.25rem}"}},[769,"ui-dialog-header",{dialogTitle:[1,"dialog-title"],subtitle:[1],showMinimize:[4,"show-minimize"],showMaximize:[4,"show-maximize"],showClose:[4,"show-close"],showMenu:[4,"show-menu"],menuIcon:[1,"menu-icon"],menuItems:[1,"menu-items"],menuTitle:[1,"menu-title"],variant:[1],status:[1],type:[1],icon:[1],avatar:[1],iconLibrary:[1,"icon-library"],titleTag:[1,"title-tag"],iconPosition:[1,"icon-position"],hasTitleTooltip:[32],hasSubtitleTooltip:[32]},[[9,"resize","handleResize"]]]);function c(){"undefined"!=typeof customElements&&["ui-dialog-header","ui-badge","ui-button","ui-icon","ui-loader"].forEach((i=>{switch(i){case"ui-dialog-header":customElements.get(s(i))||customElements.define(s(i),h);break;case"ui-badge":customElements.get(s(i))||n();break;case"ui-button":customElements.get(s(i))||a();break;case"ui-icon":customElements.get(s(i))||l();break;case"ui-loader":customElements.get(s(i))||r()}}))}export{h as D,c as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as o,HTMLElement as r,createEvent as t,h as e,transformTag as i}from"@stencil/core/internal/client";import{c as d}from"./dom.js";import{d as n,a}from"./badge.js";import{d as s}from"./icon.js";import{d as p}from"./tag.js";const l=new class{container;politeRegion;assertiveRegion;constructor(){this.init()}init(){const o=document.getElementById("aria-live-regions");if(o)return this.container=o,this.politeRegion=document.getElementById("aria-live-polite"),void(this.assertiveRegion=document.getElementById("aria-live-assertive"));this.container=document.createElement("div"),this.container.id="aria-live-regions",this.container.style.position="absolute",this.container.style.width="1px",this.container.style.height="1px",this.container.style.padding="0",this.container.style.margin="-1px",this.container.style.overflow="hidden",this.container.style.clip="rect(0, 0, 0, 0)",this.container.style.whiteSpace="nowrap",this.container.style.border="0",this.politeRegion=this.createRegion("polite"),this.assertiveRegion=this.createRegion("assertive"),this.container.appendChild(this.politeRegion),this.container.appendChild(this.assertiveRegion),document.body.appendChild(this.container)}createRegion(o){const r=document.createElement("div");return r.id=`aria-live-${o}`,r.setAttribute("aria-live",o),r.setAttribute("aria-atomic","true"),r}announce(o,r="polite"){this.container||this.init();const t="assertive"===r?this.assertiveRegion:this.politeRegion;t.textContent="",setTimeout((()=>{t.textContent=o}),50)}},c=o(class extends r{constructor(o){super(),!1!==o&&this.__registerHost(),this.valueChange=t(this,"valueChange",7),this.dropdownOpen=t(this,"dropdownOpen",7),this.dropdownClose=t(this,"dropdownClose",7)}get hostElement(){return this}options=[];placeholder="Select an option";multiSelect=!1;cascading=!1;value="";disabled=!1;searchable=!1;maxHeight=300;size="md";appearance="dropdown";variant="default";chipView=!1;showArrow;ignoreParentPosition=!0;clearable;fullWidth=!1;fitContent=!1;menuWidth;loading=!1;invalid=!1;helperText;errorMessage;searchPlaceholder="Search...";iconLibrary="ionicons";showPath=!1;highFidelity=!0;rtl=!1;shape="default";showSelectedMarker=!0;selectedMarkerIcon="check";selectedMarkerLibrary="lucide";selectedMarkerLabel="";selectedMarkerColor="";isOpen=!1;parsedOptions=[];selectedValues=new Set;searchQuery="";expandedNodes=new Set;dropdownPosition="bottom";menuLeft=0;menuTop=0;computedMenuWidth=0;menuMaxHeight=0;highlightedIndex=-1;nestedPath=[];optionsRef=[];searchInputRef;searchDebounce;menuElement;rafId=null;isPortaled=!1;handleDocumentClick=o=>{if(!this.isOpen)return;const r=o.composedPath(),t=r.some((o=>o===this.hostElement)),e=this.menuElement&&r.some((o=>o===this.menuElement||o instanceof Node&&this.menuElement.contains(o)));t||e||this.closeDropdown()};expandAll=!1;skeleton=!1;showSelectAll=!1;selectAllLabel="Select All";textColor="";virtualScroll=!1;caseSensitive=!1;label="";valueChange;dropdownOpen;dropdownClose;handleOptionsChange(o){this.parseOptions(o),this.syncNestedPath()}handleValueChange(o){this.updateSelectedValues(o),this.syncNestedPath()}handleSearchQueryChange(){clearTimeout(this.searchDebounce),this.searchDebounce=setTimeout((()=>{const o=this.getVisibleOptionCount();l.announce(`${o} option${1!==o?"s":""} found`)}),300)}componentWillLoad(){this.parseOptions(this.options),this.updateSelectedValues(this.value),this.syncNestedPath(),this.expandAll&&this.cascading&&this.expandAllNodes(this.parsedOptions)}expandAllNodes(o){o.forEach((o=>{o.children&&(this.expandedNodes.add(o.value.toString()),this.expandAllNodes(o.children))})),this.expandedNodes=new Set(this.expandedNodes)}async open(){this.isOpen||this.toggleDropdown()}componentDidUpdate(){this.isOpen&&this.menuElement&&this.calculateDropdownPosition()}connectedCallback(){this.handleViewportChange=this.handleViewportChange.bind(this),window.addEventListener("scroll",this.handleViewportChange,!0),window.addEventListener("resize",this.handleViewportChange),document.addEventListener("click",this.handleDocumentClick,!0),window.addEventListener("popstate",this.closeDropdown),window.addEventListener("hashchange",this.closeDropdown)}disconnectedCallback(){window.removeEventListener("scroll",this.handleViewportChange,!0),window.removeEventListener("resize",this.handleViewportChange),document.removeEventListener("click",this.handleDocumentClick,!0),window.removeEventListener("popstate",this.closeDropdown),window.removeEventListener("hashchange",this.closeDropdown),this.cleanupPortal()}getOptionId(o){return`dropdown-option-${o}`}handleKeyDown=o=>{if(!this.disabled)if(this.searchable||1!==o.key.length||!this.isOpen)switch(o.key){case"Enter":case" ":if(this.isOpen){if(this.highlightedIndex>=0){o.preventDefault();const r=this.getVisibleOptions();r[this.highlightedIndex]&&this.handleOptionClick(r[this.highlightedIndex],o)}}else o.preventDefault(),this.toggleDropdown();break;case"ArrowDown":if(o.preventDefault(),this.isOpen){const o=this.getVisibleOptionCount();this.highlightedIndex=Math.min(this.highlightedIndex+1,o-1),this.scrollToHighlighted()}else this.toggleDropdown();break;case"ArrowUp":o.preventDefault(),this.isOpen&&(this.highlightedIndex=Math.max(this.highlightedIndex-1,0),this.scrollToHighlighted());break;case"Escape":this.isOpen&&(o.preventDefault(),this.closeDropdown(),this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")?.focus());break;case"Tab":this.isOpen&&this.closeDropdown()}else{const r=o.key.toLowerCase(),t=this.getVisibleOptions(),e=this.highlightedIndex+1,i=[...t.slice(e),...t.slice(0,e)].findIndex((o=>(o.label??"").toLowerCase().startsWith(r)));if(-1!==i){let o=e+i;o>=t.length&&(o-=t.length),this.highlightedIndex=o,this.scrollToHighlighted(),l.announce(t[o].label??"")}}};getVisibleOptions(){if(this.isNestedMenuVariant())return this.getNestedMenuLevels(this.filterOptions(this.parsedOptions)).flat();const o=[],r=t=>{t.forEach((t=>{o.push(t),t.children&&(this.expandedNodes.has(t.value?.toString()??"")||this.searchQuery)&&r(t.children)}))};return this.cascading?r(this.filterOptions(this.parsedOptions)):this.filterOptions(this.parsedOptions).forEach((r=>o.push(r))),o}getVisibleOptionCount(){return this.getVisibleOptions().length}scrollToHighlighted(){const o=this.optionsRef[this.highlightedIndex];o&&o.scrollIntoView({block:"nearest"})}isNestedMenuVariant(){return"nested-menu"===this.variant&&this.cascading&&!this.searchQuery}findOptionPathByValue(o,r,t=[]){for(const e of o){const o=e.value?.toString()??"",i=o?[...t,o]:[...t];if(o===r)return i;if(e.children){const o=this.findOptionPathByValue(e.children,r,i);if(o)return o}}return null}syncNestedPath(){if("nested-menu"!==this.variant||!this.cascading)return void(this.nestedPath=[]);const o=Array.from(this.selectedValues)[0];this.nestedPath=o?this.findOptionPathByValue(this.parsedOptions,o)??[]:[]}setNestedPath(o,r){const t=this.nestedPath.slice(0,o);t[o]=r,this.nestedPath=t}getNestedMenuLevels(o){const r=[];let t=o;t.length>0&&r.push(t);for(let o=0;o<this.nestedPath.length;o++){const e=this.nestedPath[o],i=t.find((o=>(o.value?.toString()??"")===e));if(!i?.children?.length)break;t=i.children,r.push(t)}return r}getNestedMenuEstimatedWidth(){return("sm"===this.size?190:"lg"===this.size?260:220)*Math.max(1,this.getNestedMenuLevels(this.filterOptions(this.parsedOptions)).length)}parseOptions(o){let r=[];if("string"==typeof o&&o.length>0)try{r=JSON.parse(o)}catch(o){console.error("Invalid JSON for dropdown options:",o),r=[]}else if(Array.isArray(o)&&o.length>0)r=o;else{const o=Array.from(this.hostElement.querySelectorAll("option"));r=o.length>0?o.map((o=>({label:o.textContent||"",value:o.value||o.textContent||"",disabled:o.disabled,...o.dataset.icon?{icon:o.dataset.icon}:{},...o.dataset.subtitle?{subtitle:o.dataset.subtitle}:{},...o.dataset.description?{description:o.dataset.description}:{},...o.dataset.group?{group:o.dataset.group}:{}}))):[]}const t=[];r.forEach((o=>{o.options&&Array.isArray(o.options)?o.options.forEach((r=>{t.push({...r,group:o.label})})):t.push(o)})),this.parsedOptions=t}updateSelectedValues(o){this.selectedValues=o?this.multiSelect?new Set(o.split(",").filter((o=>o))):new Set([o]):new Set}toggleDropdown=()=>{if(this.disabled)return;const o=this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")||this.hostElement.querySelector(".dropdown-trigger");if(!o)return;const r=o.getBoundingClientRect();if(0!==r.width||0!==r.height)if(this.isOpen=!this.isOpen,this.isOpen){if(this.dropdownOpen.emit(),this.highlightedIndex=-1,"nested-menu"===this.variant&&this.cascading&&this.syncNestedPath(),this.schedulePositionUpdate(),!this.multiSelect&&this.selectedValues.size>0){const o=this.getVisibleOptions().findIndex((o=>this.selectedValues.has(o.value?.toString()??"")));-1!==o&&(this.highlightedIndex=o)}setTimeout((()=>{this.calculateDropdownPosition(),this.searchable&&this.searchInputRef&&this.searchInputRef.focus()}),50)}else this.closeDropdown()};schedulePositionUpdate(){null!==this.rafId&&cancelAnimationFrame(this.rafId);const o=performance.now(),r=t=>{this.isOpen?(this.calculateDropdownPosition(),this.rafId=t-o<250?requestAnimationFrame(r):null):this.rafId=null};this.rafId=requestAnimationFrame(r)}cleanupPortal(){null!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.isPortaled&&this.menuElement&&this.menuElement.parentElement===document.body&&(this.hostElement.appendChild(this.menuElement),this.isPortaled=!1)}handleViewportChange(){this.isOpen&&this.calculateDropdownPosition()}parseConfiguredMenuWidth(){if(null==this.menuWidth)return{};if("number"==typeof this.menuWidth&&Number.isFinite(this.menuWidth))return{cssWidth:`${this.menuWidth}px`,pixelWidth:this.menuWidth};const o=String(this.menuWidth).trim();if(!o)return{};if(/^\d+(?:\.\d+)?$/.test(o)){const r=Number(o);return{cssWidth:`${r}px`,pixelWidth:r}}return/^\d+(?:\.\d+)?px$/i.test(o)?{cssWidth:o,pixelWidth:parseFloat(o)}:{cssWidth:o}}getMenuStyle(o){const r=this.parseConfiguredMenuWidth(),t=this.computedMenuWidth>0?`${this.computedMenuWidth}px`:void 0,e={left:`${this.menuLeft}px`,maxWidth:"calc(100vw - 16px)",maxHeight:`${this.menuMaxHeight>0?this.menuMaxHeight:this.maxHeight||300}px`,visibility:o?"visible":0===this.menuLeft&&0===this.menuTop?"hidden":"visible",top:`${this.menuTop}px`};return r.cssWidth?{...e,width:r.cssWidth}:this.fullWidth?{...e,width:t,minWidth:t}:{...e,width:"max-content",minWidth:t}}shouldPortalMenu(){return!0}calculateDropdownPosition(){if(!this.hostElement||!this.isOpen||!this.menuElement)return;const o=this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")||this.hostElement.querySelector(".dropdown-trigger");if(!o)return;const r=o.getBoundingClientRect();if(0===r.width&&0===r.height)return this.menuLeft=0,this.menuTop=0,this.computedMenuWidth=0,void(this.dropdownPosition="bottom");const t=this.parseConfiguredMenuWidth(),e=o.offsetWidth||r.width,i=!this.fitContent&&t.pixelWidth?t.pixelWidth:this.isNestedMenuVariant()?Math.max(e,this.getNestedMenuEstimatedWidth()):e,n=this.shouldPortalMenu();n&&this.menuElement.parentElement!==document.body?(document.body.appendChild(this.menuElement),this.isPortaled=!0):!n&&this.isPortaled&&this.cleanupPortal();const{left:a,top:s,placement:p,availableHeight:l}=d(o,{menuWidth:i,menuHeight:this.maxHeight||300,gap:4,placement:"auto",useTransformedAncestorOffset:!n||!this.ignoreParentPosition}),c=Math.max(80,Math.min(this.maxHeight||300,l));let h=a,w=s;n||(h=a,w=s),this.menuLeft===h&&this.menuTop===w&&this.computedMenuWidth===e&&this.dropdownPosition===p&&this.menuMaxHeight===c||(this.menuLeft=h,this.menuTop=w,this.computedMenuWidth=e,this.dropdownPosition=p,this.menuMaxHeight=c)}closeDropdown=()=>{this.isOpen&&(this.isOpen=!1,this.dropdownClose.emit(),this.searchQuery="",this.cleanupPortal())};handleOptionClick=(o,r)=>{if(r.stopPropagation(),!o.disabled)if(this.cascading&&o.children&&o.children.length>0){if(this.isNestedMenuVariant()){const r=this.getNestedMenuLevels(this.filterOptions(this.parsedOptions)).findIndex((r=>r.some((r=>(r.value?.toString()??"")===(o.value?.toString()??"")))));return void this.setNestedPath(-1===r?0:r,o.value?.toString()??"")}this.toggleNode(o.value?.toString()??"")}else{if(this.multiSelect){const r=new Set(this.selectedValues),t=o.value?.toString()??"";r.has(t)?(r.delete(t),l.announce(`Deselected ${o.label}`)):(r.add(t),l.announce(`Selected ${o.label}`)),this.selectedValues=r,this.value=Array.from(r).join(",")}else{const r=o.value?.toString()??"";this.selectedValues=new Set([r]),this.value=r,this.closeDropdown(),this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")?.focus(),l.announce(`Selected ${o.label}`)}this.emitChangeEvent()}};toggleNode=o=>{const r=new Set(this.expandedNodes);r.has(o)?r.delete(o):r.add(o),this.expandedNodes=r};handleClear=o=>{o.stopPropagation(),this.selectedValues=new Set,this.value="",this.emitChangeEvent(),this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")?.focus()};handleSearchInput=o=>{this.searchQuery=o.target.value.toLowerCase()};emitChangeEvent(){const o=this.getSelectedOptions();this.valueChange.emit({value:this.value,selectedOptions:o})}getSelectedOptions(){const o=[],r=t=>{t.forEach((t=>{this.selectedValues.has(t.value?.toString()??"")&&o.push(t),t.children&&r(t.children)}))};return r(this.parsedOptions),o}getSelectedDescendantCount(o){if(!o.children)return 0;let r=0;const t=o=>{o.forEach((o=>{this.selectedValues.has(o.value?.toString()??"")&&r++,o.children&&t(o.children)}))};return t(o.children),r}filterOptions(o){return this.searchQuery?o.filter((o=>{const r=this.caseSensitive?this.searchQuery:this.searchQuery.toLowerCase(),t=this.caseSensitive?o.label??"":(o.label??"").toLowerCase(),e=this.caseSensitive?o.subtitle||"":(o.subtitle||"").toLowerCase(),i=this.caseSensitive?o.description||"":(o.description||"").toLowerCase(),d=this.caseSensitive?o.group||"":(o.group||"").toLowerCase(),n=t.includes(r),a=e.includes(r),s=i.includes(r),p=d.includes(r),l=o.children&&this.filterOptions(o.children).length>0;return n||a||s||p||l})).map((o=>({...o,children:o.children?this.filterOptions(o.children):void 0}))):o}getIconSize(o){let r="md";return"sm"!==this.size&&"md"!==this.size&&"lg"!==this.size||(r=this.size),{sm:{main:"14px",sub:"12px",marker:"16px"},md:{main:"16px",sub:"14px",marker:"18px"},lg:{main:"18px",sub:"16px",marker:"20px"}}[r][o]}highlightMatches(o){if(!this.searchQuery||!o)return o;const r=this.searchQuery.toLowerCase(),t=o.toLowerCase().indexOf(r);return-1===t?o:e("span",null,o.substring(0,t),e("span",{class:"dropdown-search-highlight"},o.substring(t,t+r.length)),o.substring(t+r.length))}renderOption(o,r=0,t={current:0}){if(o.isSeparator)return e("div",{class:"dropdown-separator"});const i=this.selectedValues.has(o.value?.toString()??""),d=!!(this.cascading&&o.children&&o.children.length>0),n=t.current;t.current++;const a=n===this.highlightedIndex,s=this.getOptionId(n);return e("div",{class:"dropdown-option-wrapper",key:o.value?.toString()??"",role:"option",id:s,"aria-selected":i?"true":"false"},e("div",{class:{"ui-dropdown-option":!0,dropdowndata:!0,"ui-dropdown-option-selected":i,"dropdown-option-highlighted":a,"dropdown-option-disabled":!!o.disabled,"dropdown-option-parent":d},style:{paddingLeft:"16px",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:"12px",boxSizing:"border-box",width:"100%",whiteSpace:"nowrap",...i?{backgroundColor:"var(--dd-selected-bg)",color:"var(--dd-selected-text)",borderRadius:"12px"}:{}},onClick:r=>this.handleOptionClick(o,r),ref:o=>{o&&(this.optionsRef[n]=o)}},(this.multiSelect&&!d||o.icon)&&e("div",{class:"dropdown-option-left"},this.multiSelect&&!d&&e("div",{class:{"dropdown-checkbox":!0,checked:i,"dropdown-checkbox-selected":i}},i&&e("ui-icon",{name:"check",library:"lucide",size:this.getIconSize("sub"),color:"white"})),o.icon&&e("span",{class:"dropdown-option-icon"},"string"==typeof o.icon?e("ui-icon",{name:o.icon,library:o.iconLibrary,size:this.getIconSize("main")}):o.icon)),e("div",{class:"dropdown-option-text"},e("div",{class:{"dropdown-option-content":!0,"dropdown-content-parent":d}},e("div",{class:"dropdown-option-label"},this.highlightMatches(o.label??"")),(o.subtitle||o.description)&&e("div",{class:"dropdown-option-subtitle"},this.highlightMatches(o.subtitle??o.description??"")))),e("div",{class:"dropdown-option-right"},o.rightTag&&e("ui-tag",{label:o.rightTag,color:o.rightTagColor||"default",size:"sm",variant:"light",class:"dropdown-option-tag"}),o.rightIcon&&e("span",{class:"dropdown-option-right-icon"},e("ui-icon",{name:o.rightIcon,library:o.rightIconLibrary,size:this.getIconSize("sub")})),d&&e("div",{class:"dropdown-expand-group"},this.multiSelect&&(()=>{const r=this.getSelectedDescendantCount(o);return r>0?e("span",{class:"dropdown-badge"},r):null})(),e("ui-icon",{name:"chevron-right",library:"lucide",size:this.getIconSize("sub"),class:{"dropdown-expand-icon":!0,expanded:this.expandedNodes.has(o.value?.toString()??"")}})),!this.multiSelect&&!d&&this.showSelectedMarker&&e("span",{class:"ui-dropdown-selected-marker-wrap",style:i?{}:{visibility:"hidden"}},e("ui-icon",{name:this.selectedMarkerIcon,library:this.selectedMarkerLibrary,size:this.getIconSize("marker"),class:"ui-dropdown-selected-marker",color:this.selectedMarkerColor||"var(--dd-selected-icon)"}),this.selectedMarkerLabel&&e("span",{class:"ui-dropdown-selected-marker-label"},this.selectedMarkerLabel)))),d&&this.expandedNodes.has(o.value?.toString()??"")&&e("div",{class:"dropdown-children"},o.children?.map((o=>this.renderOption(o,r+1,t)))))}renderChips(){const o=this.getSelectedOptions();return 0===o.length?this.placeholder:e("div",{class:"dropdown-chips"},o.map((o=>e("ui-tag",{label:o.label??"",size:"sm",color:"primary",variant:"light",removable:!0,animation:"slide",onTagRemove:r=>{r.stopPropagation(),this.handleOptionClick(o,r)}}))))}getDisplayText(){if(0===this.selectedValues.size)return this.placeholder;if(this.multiSelect){if(this.chipView)return this.renderChips();const o=this.getSelectedOptions();return 1===o.length?o[0].label:`${o.length} items selected`}{const o=this.getSelectedOptions();if(o.length>0){const r=o[0];return"detailed"===this.variant&&r.icon?e("div",{class:"dropdown-trigger-content"},e("ui-icon",{name:r.icon,library:r.iconLibrary||this.iconLibrary,size:"18px",class:"dropdown-trigger-icon"}),e("span",{class:"dropdown-trigger-label"},r.label)):r.label}return this.placeholder}}renderValidationSubstrate(){return this.invalid&&this.errorMessage?e("div",{class:"dropdown-helper-text dropdown-error-text"},e("ui-icon",{name:"alert-circle",library:"lucide",size:"12px"}),e("span",null,this.errorMessage)):this.helperText?e("div",{class:"dropdown-helper-text"},this.helperText):null}render(){if(this.skeleton)return e("div",{class:{"dropdown-container":!0,"dropdown-skeleton":!0,[`dropdown-${this.size}`]:!0,"dropdown-full-width":this.fullWidth,"dropdown-fit-content":this.fitContent,[`variant-${this.variant}`]:!0}},e("div",{class:"dropdown-trigger"},e("div",{class:"dropdown-skeleton-text"}),e("div",{class:"dropdown-skeleton-icon"})));const o=this.filterOptions(this.parsedOptions),r=this.selectedValues.size>0,t=void 0!==this.showArrow?this.showArrow:"button"!==this.appearance,i=void 0!==this.clearable?this.clearable:this.multiSelect&&!this.chipView,d=this.isOpen&&this.highlightedIndex>=0?this.getOptionId(this.highlightedIndex):void 0,n=!this.shouldPortalMenu();let a={};return a.color=this.textColor&&r?this.textColor:"var(--dd-text, var(--color-on-surface, #10213a))",e("div",{class:{"dropdown-container":!0,[`dropdown-${this.size}`]:!0,[`variant-${this.variant}`]:!0,"dropdown-disabled":this.disabled,"dropdown-open":this.isOpen,"dropdown-invalid":this.invalid,"dropdown-appearance-button":"button"===this.appearance,"dropdown-full-width":this.fullWidth,"dropdown-fit-content":this.fitContent,"dropdown-has-chips":this.chipView&&this.multiSelect&&r,"dropdown-rtl":this.rtl,[`dropdown-shape-${this.shape}`]:"default"!==this.shape},dir:this.rtl?"rtl":"ltr"},this.label&&e("label",{class:"dropdown-label"},this.label),e("div",{class:"dropdown-trigger",onClick:this.toggleDropdown,onKeyDown:this.handleKeyDown,tabIndex:this.disabled?-1:0,role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-controls":"dropdown-list","aria-label":this.placeholder,"aria-activedescendant":d},e("slot",{name:"prefix"}),e("div",{class:{"dropdown-display":!0,"dropdown-placeholder":!r},style:a},this.getDisplayText()),e("div",{class:"dropdown-icons"},this.loading&&e("span",{class:"dropdown-spinner"},e("ui-icon",{name:"loader-2",library:"lucide",spin:!0,size:"16px"})),r&&i&&!this.disabled&&e("span",{class:"dropdown-clear",onClick:this.handleClear,tabIndex:0,role:"button","aria-label":"Clear selection",onKeyDown:o=>{"Enter"!==o.key&&" "!==o.key||(o.stopPropagation(),this.handleClear(o))}},e("ui-icon",{name:"x",library:"lucide",size:this.getIconSize("sub")})),t&&e("ui-icon",{name:"chevron-down",library:"lucide",size:this.getIconSize("sub"),class:{"dropdown-arrow":!0,open:this.isOpen}}))),this.renderValidationSubstrate(),this.isOpen&&e("div",{class:{"ui-dropdown-menu":!0,"ui-dropdown-menu--local":n,"dropdown-menu-top":"top"===this.dropdownPosition,[`dropdown-menu-${this.size}`]:!0,[`dropdown-menu-variant-${this.variant}`]:!0,"dropdown-menu-searchable":this.searchable,"dropdown-menu-cascading":this.cascading},id:"dropdown-list",role:"listbox","aria-multiselectable":this.multiSelect?"true":"false",ref:o=>{o&&(this.menuElement=o)},style:this.getMenuStyle(n)},this.searchable&&e("div",{class:"dropdown-search"},e("div",{class:"dropdown-search-container"},e("ui-icon",{name:"search",library:"lucide",size:"16px",class:"dropdown-search-icon"}),e("input",{type:"text",class:"dropdown-search-input",placeholder:this.searchPlaceholder,value:this.searchQuery,onInput:this.handleSearchInput,ref:o=>{o&&(this.searchInputRef=o)},onKeyDown:this.handleKeyDown,"aria-activedescendant":d}))),e("div",{class:"dropdown-options"},this.renderBulkActions(o),o.length>0?this.renderMenuContents(o,{current:0}):e("div",{class:"dropdown-empty"},e("slot",{name:"empty-state"},"No options found")))))}isAllSelected(o){const r=o=>{let t=[];return o.forEach((o=>{t.push(o.value?.toString()??""),o.children&&(t=[...t,...r(o.children)])})),t},t=r(o);return 0!==t.length&&t.every((o=>this.selectedValues.has(o)))}toggleSelectAll(o){const r=o=>{let t=[];return o.forEach((o=>{t.push(o.value?.toString()??""),o.children&&(t=[...t,...r(o.children)])})),t},t=r(o),e=this.isAllSelected(o);t.forEach(e?o=>this.selectedValues.delete(o):o=>this.selectedValues.add(o)),this.selectedValues=new Set(this.selectedValues),this.value=Array.from(this.selectedValues).join(","),this.emitChangeEvent()}clearAllSelections(){this.selectedValues=new Set,this.value="",this.emitChangeEvent()}renderBulkActions(o){if(!this.multiSelect||this.searchQuery)return null;const r=this.isAllSelected(o),t=this.selectedValues.size>0,i=this.showSelectAll&&o.length>0;return i||t?e("div",{class:"dropdown-bulk-actions"},i&&e("div",{class:{"dropdown-select-all":!0,"dropdown-select-all-with-clear":t},onClick:r=>{r.stopPropagation(),this.toggleSelectAll(o)}},e("div",{class:{"dropdown-checkbox":!0,"dropdown-checkbox-selected":r}},r&&e("ui-icon",{name:"check",library:"lucide",size:"12px"})),e("span",null,this.selectAllLabel)),t&&e("div",{class:"dropdown-clear-all",onClick:o=>{o.stopPropagation(),this.clearAllSelections()}},e("ui-icon",{name:"trash-2",library:"lucide",size:"14px"}),e("span",null,"Clear All"))):null}renderNestedMenuContents(o,r){const t=this.getNestedMenuLevels(o);return e("div",{class:"dropdown-nested-columns"},t.map(((o,t)=>e("div",{class:"dropdown-nested-panel",key:`nested-level-${t}`},o.map((o=>{const i=!!o.children?.length,d=o.value?.toString()??"",n=this.selectedValues.has(d),a=this.nestedPath[t]===d,s=r.current;r.current++;const p=s===this.highlightedIndex,l=this.getOptionId(s);return e("div",{class:"dropdown-option-wrapper",key:`${d}-${t}`,role:"option",id:l,"aria-selected":n?"true":"false"},e("div",{class:{"ui-dropdown-option":!0,dropdowndata:!0,"dropdown-nested-option":!0,"ui-dropdown-option-selected":n,"dropdown-option-highlighted":p,"dropdown-option-disabled":!!o.disabled,"dropdown-option-parent":i,"dropdown-nested-option-active":a},onMouseEnter:()=>{i&&this.setNestedPath(t,d)},onClick:r=>this.handleOptionClick(o,r),ref:o=>{o&&(this.optionsRef[s]=o)}},(this.multiSelect&&!i||o.icon)&&e("div",{class:"dropdown-option-left"},this.multiSelect&&!i&&e("div",{class:{"dropdown-checkbox":!0,checked:n,"dropdown-checkbox-selected":n}},n&&e("ui-icon",{name:"check",library:"lucide",size:this.getIconSize("sub"),color:"white"})),o.icon&&e("span",{class:"dropdown-option-icon"},"string"==typeof o.icon?e("ui-icon",{name:o.icon,library:o.iconLibrary,size:this.getIconSize("main")}):o.icon)),e("div",{class:"dropdown-option-text"},e("div",{class:"dropdown-option-content"},e("div",{class:"dropdown-option-label"},this.highlightMatches(o.label??"")),(o.subtitle||o.description)&&e("div",{class:"dropdown-option-subtitle"},this.highlightMatches(o.subtitle??o.description??"")))),e("div",{class:"dropdown-option-right"},o.rightTag&&e("ui-tag",{label:o.rightTag,color:o.rightTagColor||"default",size:"sm",variant:"light",class:"dropdown-option-tag"}),i&&e("ui-icon",{name:"chevron-right",library:"lucide",size:this.getIconSize("sub"),class:{"dropdown-expand-icon":!0,expanded:a}}),!this.multiSelect&&!i&&this.showSelectedMarker&&e("span",{class:"ui-dropdown-selected-marker-wrap",style:n?{}:{visibility:"hidden"}},e("ui-icon",{name:this.selectedMarkerIcon,library:this.selectedMarkerLibrary,size:this.getIconSize("marker"),class:"ui-dropdown-selected-marker",color:this.selectedMarkerColor||"var(--dd-selected-icon)"}),this.selectedMarkerLabel&&e("span",{class:"ui-dropdown-selected-marker-label"},this.selectedMarkerLabel)))))}))))))}renderMenuContents(o,r){if(this.isNestedMenuVariant())return this.renderNestedMenuContents(o,r);const t=[];let i=null;return(this.virtualScroll?o.slice(0,50):o).forEach((o=>{o.group&&o.group!==i&&(t.push(e("div",{class:"dropdown-group-header"},o.group)),i=o.group),t.push(this.renderOption(o,0,r))})),this.virtualScroll&&o.length>50&&t.push(e("div",{class:"dropdown-more-info"},"Showing 50 of ",o.length," items. Use search to find more.")),t}static get watchers(){return{options:[{handleOptionsChange:0}],value:[{handleValueChange:0}],searchQuery:[{handleSearchQueryChange:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:root{--dd-primary:var(--color-primary, #2563eb);--dd-border:var(--border-default, #cfd8e3);--dd-border-strong:var(--border-strong, #b4c1d1);--dd-focus:var(--color-primary-hover, #2563eb);--dd-text:var(--label-color, var(--text-primary, var(--color-on-surface, #10213a)));--dd-muted:var(--label-subtitle-color, var(--text-secondary, var(--color-on-surface-muted, #62748a)));--dd-bg:var(--bg-primary, #ffffff);--dd-panel:rgba(255, 255, 255, 0.98);--dd-panel-solid:var(--bg-primary, #ffffff);--dd-hover:var(--bg-primary, #f3f8ff);--dd-selected:var(--dropdown-selected-bg, var(--color-success-light, #ecfdf5));--dd-selected-bg:var(--dropdown-selected-bg, var(--color-success-light, #ecfdf5));--dd-selected-text:var(--dropdown-selected-text, var(--color-success, var(--color-on-primary, #059669)));--dd-selected-icon:var(--dropdown-selected-icon, var(--color-success, var(--color-on-primary, #059669)));--dd-selected-border:var(--dropdown-selected-border, var(--color-success-border, var(--color-on-primary-border, #a7f3d0)));--dd-transition:all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);--dd-error:var(--color-danger, #ef4444);--dd-radius-sm:8px;--dd-radius-md:10px}.dropdown-label{display:block;font-size:11px;font-weight:700;color:var(--dd-text);margin-bottom:8px;letter-spacing:0.08em;text-transform:uppercase;opacity:0.65;cursor:default}.dropdown-container{position:relative;display:inline-flex;flex-direction:column;width:max-content;min-width:50px;vertical-align:middle}.dropdown-full-width{width:100%;display:block;}.dropdown-fit-content{width:max-content;min-width:unset}.dropdown-fit-content .ui-dropdown-menu{width:max-content;min-width:100%;white-space:nowrap}.dropdown-fit-content .dropdown-trigger{width:max-content}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--bg-primary, #ffffff);border:1px solid var(--dd-border);border-radius:var(--dd-radius-md);cursor:pointer;transition:var(--dd-transition);-webkit-user-select:none;user-select:none;gap:12px;padding:0 16px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);color:var(--dd-text);font-weight:500;line-height:normal;box-sizing:border-box}.dropdown-trigger:hover{border-color:var(--dd-border-strong);box-shadow:0 10px 22px rgba(var(--color-primary-rgb, 37, 99, 235), 0.08)}.dropdown-open .dropdown-trigger{border-color:var(--dd-focus);background:var(--dd-bg);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.dropdown-disabled .dropdown-trigger{background:var(--bg-secondary, #f1f5f9);cursor:not-allowed;opacity:0.7;border-color:var(--dd-border);box-shadow:none}.dropdown-disabled .dropdown-trigger:hover{background:var(--bg-secondary, #f1f5f9)}.dropdown-sm .dropdown-trigger{padding:0 12px;font-size:13px;min-height:32px;height:32px;border-radius:var(--dd-radius-sm)}.dropdown-md .dropdown-trigger{padding:0 16px;font-size:14px;min-height:40px;height:40px;border-radius:var(--dd-radius-md)}.dropdown-lg .dropdown-trigger{padding:0 20px;font-size:15px;min-height:44px;height:44px;border-radius:var(--dd-radius-md)}.dropdown-shape-square .dropdown-trigger,.dropdown-shape-square .dropdown-menu{border-radius:0 !important}.dropdown-shape-rounded .dropdown-trigger,.dropdown-shape-rounded .dropdown-menu{border-radius:20px !important}.dropdown-shape-pill .dropdown-trigger{border-radius:999px !important}.dropdown-shape-pill .dropdown-menu{border-radius:28px !important}.dropdown-appearance-button .dropdown-trigger{background:var(--dd-primary);border-color:var(--dd-primary);color:var(--color-primary-text, var(--dd-text, #ffffff));box-shadow:0 4px 14px 0 rgba(var(--color-primary-rgb, 37, 99, 235), 0.39)}.dropdown-appearance-button .dropdown-trigger:hover{background:var(--color-primary, #1d4ed8);border-color:var(--color-primary, #1d4ed8);transform:translateY(-1px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb, 37, 99, 235), 0.23)}.dropdown-appearance-button .dropdown-trigger:active{transform:translateY(0)}.variant-glass .dropdown-trigger{background:rgba(255, 255, 255, 0.08);backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255, 255, 255, 0.12);color:var(--text-standard, #ffffff);box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.07)}.variant-glass .dropdown-trigger:hover{background:rgba(255, 255, 255, 0.12);border-color:rgba(255, 255, 255, 0.2)}.variant-glass .dropdown-display,.variant-glass .dropdown-placeholder{color:var(--text-standard, #ffffff)}.variant-glass.dropdown-open .dropdown-trigger{background:rgba(255, 255, 255, 0.15);border-color:var(--dd-focus)}.variant-toggle{min-width:unset !important}.variant-toggle .dropdown-trigger{background:transparent;border-color:transparent;padding:0 !important;min-height:unset !important;height:auto !important;box-shadow:none;gap:4px}.variant-toggle .dropdown-trigger:hover{background:var(--dd-hover);border-color:var(--dd-border)}.variant-toggle.dropdown-open .dropdown-trigger{background:var(--dd-hover);border-color:var(--dd-focus);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.variant-toggle .dropdown-display{padding:2px}.dropdown-appearance-button .dropdown-display{color:var(--color-primary-text, var(--dd-text, #ffffff))}.dropdown-appearance-button .dropdown-clear,.dropdown-appearance-button .dropdown-arrow{color:var(--color-primary-text, var(--dd-text, #ffffff))}.dropdown-display{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.dropdown-has-chips .dropdown-trigger{height:auto;min-height:48px;padding:6px 16px}.dropdown-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0;width:100%}.dropdown-placeholder{color:var(--label-subtitle-color, #91a0b4);font-weight:400}.dropdown-icons{display:flex;align-items:center;gap:8px;flex-shrink:0}.dropdown-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--bg-primary, #eef4fb);color:var(--dd-muted);transition:var(--dd-transition)}.dropdown-clear:hover{background:var(--bg-primary, #e2ecf8);color:var(--dd-text)}.dropdown-arrow{display:flex;align-items:center;color:var(--dd-muted);transition:transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1)}.dropdown-arrow.open{transform:rotate(180deg);color:var(--dd-focus)}.ui-dropdown-menu{position:fixed;display:flex !important;flex-direction:column !important;gap:0;background:var(--bg-primary, #ffffff) !important;border:1px solid rgba(0, 0, 0, 0.08);border-radius:16px;box-shadow:0 20px 50px rgba(0, 0, 0, 0.2), 0 10px 20px rgba(0, 0, 0, 0.1);z-index:10001;overflow:hidden;animation:dropdownPop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);width:auto;min-width:0}.ui-dropdown-menu--local{position:absolute}@keyframes dropdownPop{from{opacity:0;transform:translateY(12px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-menu-top{top:auto;bottom:calc(100% + 8px);animation:dropdownPopTop 0.2s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes dropdownPopTop{from{opacity:0;transform:translateY(-4px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-search{padding:12px;border-bottom:1px solid var(--border-subtle, #edf2f7);background:var(--dd-panel)}.dropdown-search-container{position:relative;display:flex;align-items:center}.dropdown-search-icon{position:absolute;left:12px;color:var(--dd-muted);pointer-events:none}.dropdown-search-input{width:100%;padding:11px 13px 11px 36px;background:var(--bg-primary, #f9fbfe);border:1px solid var(--border-default, #d4deea);border-radius:12px;font-size:14px;color:var(--dd-text);outline:none;transition:var(--dd-transition)}.dropdown-search-input::placeholder{color:var(--dd-muted);opacity:0.8}.dropdown-search-input:focus{background:var(--bg-primary, #ffffff);border-color:var(--dd-focus);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.dropdown-options{flex:1;min-height:0;overflow-y:auto;padding:8px;background:var(--dd-panel-solid)}.dropdown-menu-sm{border-radius:12px;--dd-option-min-height:28px;--dd-option-padding-y:8px;--dd-option-padding-x:12px;--dd-option-gap:10px;--dd-option-spacing-y:2px}.dropdown-menu-sm .dropdown-search{padding:8px}.dropdown-menu-sm .dropdown-search-input{min-height:34px;font-size:13px;padding:8px 12px 8px 34px}.dropdown-menu-sm .dropdown-options{padding:6px}.dropdown-menu-sm .dropdown-option-label{font-size:13px}.dropdown-menu-sm .dropdown-option-subtitle,.dropdown-menu-sm .dropdown-empty,.dropdown-menu-sm .dropdown-group-header,.dropdown-menu-sm .dropdown-bulk-actions,.dropdown-menu-sm .dropdown-select-all,.dropdown-menu-sm .dropdown-clear-all{font-size:12px}.dropdown-menu-md{border-radius:16px;--dd-option-min-height:30px;--dd-option-padding-y:10px;--dd-option-padding-x:16px;--dd-option-gap:12px;--dd-option-spacing-y:4px}.dropdown-menu-lg{border-radius:18px;--dd-option-min-height:32px;--dd-option-padding-y:12px;--dd-option-padding-x:18px;--dd-option-gap:14px;--dd-option-spacing-y:6px}.dropdown-menu-lg .dropdown-search{padding:14px}.dropdown-menu-lg .dropdown-search-input{min-height:46px;font-size:15px;padding:12px 14px 12px 40px}.dropdown-menu-lg .dropdown-options{padding:10px}.dropdown-menu-lg .dropdown-option-label{font-size:15px}.dropdown-menu-lg .dropdown-option-subtitle,.dropdown-menu-lg .dropdown-empty,.dropdown-menu-lg .dropdown-group-header,.dropdown-menu-lg .dropdown-bulk-actions,.dropdown-menu-lg .dropdown-select-all,.dropdown-menu-lg .dropdown-clear-all{font-size:14px}.dropdown-options::-webkit-scrollbar{width:5px}.dropdown-options::-webkit-scrollbar-track{background:transparent}.dropdown-options::-webkit-scrollbar-thumb{background:var(--color-primary, #cbd5e1);border-radius:10px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #94a3b8)}.dropdown-option-wrapper{position:relative}.ui-dropdown-option,.dropdowndata{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center;gap:var(--dd-option-gap, 12px);background-color:transparent;transition:var(--dd-transition);border-radius:12px;margin:var(--dd-option-spacing-y, 4px) 0;padding:var(--dd-option-padding-y, 10px) var(--dd-option-padding-x, 16px);min-height:var(--dd-option-min-height, 48px);width:100%;box-sizing:border-box}.dropdown-menu-sm .ui-dropdown-option,.dropdown-menu-sm .dropdowndata{border-radius:10px}.dropdown-menu-lg .ui-dropdown-option,.dropdown-menu-lg .dropdowndata{border-radius:14px}.ui-dropdown-option:hover,.dropdowndata:hover,.dropdown-option-highlighted{background:var(--dd-hover);border-color:var(--color-primary, #d7e7ff);box-shadow:0 10px 24px rgba(var(--color-primary-rgb, 37, 99, 235), 0.08);transform:translateY(-1px)}.ui-dropdown-option-selected{background:var(--dd-selected-bg) !important;color:var(--dd-selected-text) !important;font-weight:600;border-radius:12px;margin:4px 0;box-shadow:none !important}.ui-dropdown-option-selected .dropdown-option-label{color:var(--dd-selected-text) !important;font-weight:600 !important}.dropdown-option-disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.dropdown-option-parent{font-weight:600;letter-spacing:-0.01em}.dropdown-option-left{display:flex;align-items:center;justify-content:center;flex-shrink:0}.dropdown-option-icon{display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--dd-muted);line-height:1}.dropdown-option-text{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;overflow:hidden;line-height:normal;padding:4px 0}.dropdown-option-text .dropdown-option-content{width:100%;min-width:0;overflow:hidden}.dropdown-option-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-size:14px;font-weight:500;color:var(--dd-text, var(--color-on-surface, #10213a))}.dropdown-option-subtitle{font-size:12px;color:var(--dd-muted, var(--color-on-surface-muted, #62748a));font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.dropdown-option-description{font-size:12px;color:var(--dd-muted, var(--color-on-surface-muted, #62748a));font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.dropdown-option-right{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center;justify-content:flex-end;flex-shrink:0;margin-left:auto;gap:8px}.dropdown-option-right:empty{display:none}.dropdown-option-tag{flex-shrink:0}.dropdown-option-right-icon{display:flex;align-items:center;justify-content:center;color:var(--dd-muted);opacity:0.8}.ui-dropdown-selected-marker{display:inline-flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important;animation:checkPop 0.2s cubic-bezier(0.34, 1.56, 0.64, 1)}.ui-dropdown-selected-marker-wrap{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.ui-dropdown-selected-marker-label{font-size:11px;font-weight:500;color:var(--dd-selected-text);white-space:nowrap;animation:checkPop 0.2s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes checkPop{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}.dropdown-checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid var(--color-primary, #cbd5e1);border-radius:5px;flex-shrink:0;transition:var(--dd-transition);background:var(--bg-primary, #ffffff);line-height:1}.dropdown-checkbox ui-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-standard, #ffffff)}.dropdown-option-selected .dropdown-checkbox,.dropdown-checkbox.checked,.dropdown-checkbox.dropdown-checkbox-selected{background:var(--dd-primary);border-color:var(--dd-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 37, 99, 235), 0.2)}.dropdown-expand-icon{transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);color:var(--dd-muted);opacity:0.6}.dropdown-expand-icon.expanded{transform:rotate(90deg);color:var(--dd-primary);opacity:1}.dropdown-children{margin-left:20px;padding-left:12px;border-left:1px solid var(--dd-border);margin-top:-1px;margin-bottom:4px}.dropdown-empty{padding:32px 16px;font-size:14px}.dropdown-helper-text{margin-top:6px;font-size:12px;color:var(--dd-muted);display:flex;align-items:center;gap:6px;padding:0 4px}.dropdown-error-text{color:var(--dd-error);font-weight:500;animation:dropdownShake 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both}.dropdown-invalid .dropdown-trigger{border-color:var(--dd-error)}.dropdown-invalid .dropdown-trigger:hover{box-shadow:0 0 0 4px rgba(var(--color-danger-rgb, 239, 68, 68), 0.1)}@keyframes dropdownShake{10%,90%{transform:translate3d(-1px, 0, 0)}20%,80%{transform:translate3d(2px, 0, 0)}30%,50%,70%{transform:translate3d(-4px, 0, 0)}40%,60%{transform:translate3d(4px, 0, 0)}}.dropdown-spinner{display:flex;animation:dropdownSpin 1s linear infinite;color:var(--dd-primary)}@keyframes dropdownSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.dropdown-group-header{padding:12px 14px 6px;font-size:11px;font-weight:700;color:var(--dd-muted);text-transform:uppercase;letter-spacing:0.05em;background:var(--dd-panel-solid)}.dropdown-select-all{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;font-weight:600;font-size:14px;color:var(--dd-primary);background:transparent;transition:var(--dd-transition);border-bottom:none;border-radius:10px;min-height:36px;flex:1;justify-content:flex-start}.dropdown-select-all.dropdown-select-all-with-clear{border-bottom:1px solid var(--dd-border)}.dropdown-select-all:hover{background:rgba(var(--color-primary-rgb, 37, 99, 235), 0.08)}.dropdown-select-all .dropdown-checkbox{width:18px;height:18px;border:1px solid var(--dd-border-strong);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:var(--dd-transition)}.dropdown-select-all .dropdown-checkbox.checked{background-color:var(--dd-primary);border-color:var(--dd-primary)}.dropdown-skeleton{pointer-events:none}.dropdown-skeleton .dropdown-trigger{background:var(--bg-secondary, #f1f5f9);border-color:var(--border-subtle, #e2e8f0);box-shadow:none}.dropdown-skeleton .dropdown-skeleton-text{width:60%;height:14px;background:linear-gradient(90deg, var(--bg-primary, #e2e8f0) 25%, var(--bg-primary, #f8fafc) 50%, var(--bg-primary, #e2e8f0) 75%);background-size:200% 100%;animation:dropdownShimmer 1.5s infinite;border-radius:4px}.dropdown-skeleton .dropdown-skeleton-icon{width:16px;height:16px;background:var(--bg-primary, #e2e8f0);border-radius:4px}@keyframes dropdownShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.dropdown-separator{height:1px;background-color:var(--dd-border);margin:6px 10px;pointer-events:none}.dropdown-search-highlight{background-color:var(--bg-primary, #fef08a);color:var(--color-danger, #854d0e);border-radius:2px;padding:0 1px;font-weight:600}.dropdown-bulk-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--dd-border);background:linear-gradient(180deg, var(--bg-primary, #fbfdff) 0%, var(--bg-primary, #f8fafc) 100%);font-size:13px;gap:12px}.dropdown-clear-all{display:flex;align-items:center;gap:8px;color:var(--color-danger, #ef4444);cursor:pointer;padding:8px 10px;border-radius:10px;transition:all 0.2s;font-weight:500;min-height:36px;justify-content:center;white-space:nowrap}.dropdown-clear-all:hover{background-color:var(--bg-primary, #fef2f2);color:var(--color-danger-hover, #dc2626)}.dropdown-menu-variant-nested-menu{overflow:visible}.dropdown-menu-variant-nested-menu .dropdown-options{overflow:visible;padding:6px}.dropdown-nested-columns{display:flex;align-items:stretch;min-width:max-content}.dropdown-nested-panel{min-width:210px;max-width:280px;padding:2px}.dropdown-nested-panel+.dropdown-nested-panel{border-left:1px solid var(--dd-border);margin-left:4px;padding-left:10px}.dropdown-menu-sm .dropdown-nested-panel{min-width:180px}.dropdown-menu-lg .dropdown-nested-panel{min-width:240px}.dropdown-nested-option{margin:2px 0}.dropdown-nested-option-active{background:var(--dd-hover);border-color:var(--dd-border-strong)}.variant-detailed .dropdown-trigger{border-color:var(--dd-border);border-radius:14px;min-height:48px;background:linear-gradient(180deg, var(--bg-primary, #ffffff) 0%, var(--bg-primary, #f8fbff) 100%);box-shadow:0 2px 8px rgba(15, 23, 42, 0.04);font-weight:500}.variant-detailed .dropdown-trigger:hover{border-color:var(--dd-border-strong);box-shadow:0 10px 22px rgba(var(--color-primary-rgb, 37, 99, 235), 0.08)}.variant-detailed.dropdown-open .dropdown-trigger{border-color:var(--dd-focus);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb, 37, 99, 235), 0.14), 0 16px 32px rgba(var(--color-primary-rgb, 37, 99, 235), 0.14)}.variant-detailed .dropdown-menu{border-radius:20px !important;padding:6px !important;background:rgba(255, 255, 255, 0.98) !important;backdrop-filter:blur(20px) !important;box-shadow:0 20px 50px rgba(15, 23, 42, 0.22) !important}.variant-detailed .dropdown-options{padding:4px !important}.variant-detailed .ui-dropdown-option,.variant-detailed .dropdowndata{padding:12px 14px !important;border-radius:16px !important;margin:4px 0 !important;gap:14px !important;border:1px solid transparent !important;transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important}.variant-detailed .ui-dropdown-option:hover,.variant-detailed .ui-dropdown-option.dropdown-option-highlighted,.variant-detailed .dropdowndata:hover,.variant-detailed .dropdowndata.dropdown-option-highlighted{background:var(--bg-primary, #f0f7ff) !important;border-color:var(--border-subtle, #dbeafe) !important;transform:translateY(-1.5px) !important;box-shadow:0 8px 16px rgba(var(--color-primary-rgb, 37, 99, 235), 0.08) !important}.variant-detailed .ui-dropdown-option.ui-dropdown-option-selected,.variant-detailed .dropdowndata.ui-dropdown-option-selected{background:var(--dd-selected-bg) !important;border-color:var(--dd-selected-border) !important;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.5) !important}.variant-detailed .ui-dropdown-option.ui-dropdown-option-selected .dropdown-option-label,.variant-detailed .dropdowndata.ui-dropdown-option-selected .dropdown-option-label{color:var(--dd-selected-text) !important;font-weight:700 !important}.variant-detailed .dropdown-option-label{font-size:14px !important;font-weight:600 !important;color:var(--text-primary, #1e293b) !important;margin-bottom:2px !important}.variant-detailed .dropdown-option-subtitle{font-size:11px !important;color:var(--text-muted, #64748b) !important;font-weight:500 !important;text-transform:uppercase !important;letter-spacing:0.02em !important}.variant-detailed .dropdown-option-tag{font-size:10px !important;font-weight:700 !important;letter-spacing:0.05em !important;padding:4px 10px !important;border-radius:999px !important;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05) !important}.variant-detailed .dropdown-option-icon,.variant-detailed .dropdown-option-right-icon{font-size:20px !important;display:flex !important;align-items:center !important;justify-content:center !important}.variant-detailed .dropdown-option-right-icon{color:var(--color-primary, #cbd5e1) !important;transition:all 0.2s !important}.variant-detailed .dropdown-option-right-icon:hover{color:var(--color-warning, #f59e0b) !important;transform:scale(1.1) !important}.variant-detailed .ui-dropdown-selected-marker{display:inline-flex !important;align-items:center !important;justify-content:center !important;color:var(--dd-primary) !important;background:var(--bg-primary, #dbeafe) !important;padding:4px !important;border-radius:50% !important;flex-shrink:0 !important}.variant-detailed .dropdown-trigger-content{display:flex !important;align-items:center !important;gap:10px !important}.variant-detailed .dropdown-trigger-icon{color:var(--dd-primary, var(--color-primary, #10b981)) !important;font-size:18px !important;flex-shrink:0 !important}.variant-detailed .dropdown-trigger-label{overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}.variant-detailed .dropdown-expand-group{display:flex !important;align-items:center !important;gap:8px !important}.variant-detailed .dropdown-badge{background:var(--dd-primary, var(--color-primary, #10b981)) !important;color:var(--text-standard, #ffffff) !important;font-size:10px !important;font-weight:800 !important;height:18px !important;min-width:18px !important;padding:0 5px !important;border-radius:9px !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:0 4px 10px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3) !important;animation:badgePop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important}@keyframes badgePop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.dropdown-option:active{transform:scale(0.98);transition:transform 0.1s ease}.dropdown-option-selected.dropdowndata{position:relative;overflow:hidden}.dropdown-option-selected.dropdowndata::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle, rgba(var(--color-primary-rgb, 59, 130, 246), 0.1) 0%, transparent 70%);pointer-events:none}'}},[772,"ui-dropdown",{options:[1],placeholder:[1],multiSelect:[4,"multi-select"],cascading:[4],value:[1025],disabled:[4],searchable:[4],maxHeight:[2,"max-height"],size:[1],appearance:[1],variant:[1],chipView:[4,"chip-view"],showArrow:[4,"show-arrow"],ignoreParentPosition:[4,"ignore-parent-position"],clearable:[4],fullWidth:[4,"full-width"],fitContent:[4,"fit-content"],menuWidth:[8,"menu-width"],loading:[4],invalid:[4],helperText:[1,"helper-text"],errorMessage:[1,"error-message"],searchPlaceholder:[1,"search-placeholder"],iconLibrary:[1,"icon-library"],showPath:[4,"show-path"],highFidelity:[4,"high-fidelity"],rtl:[4],shape:[1],showSelectedMarker:[4,"show-selected-marker"],selectedMarkerIcon:[1,"selected-marker-icon"],selectedMarkerLibrary:[1,"selected-marker-library"],selectedMarkerLabel:[1,"selected-marker-label"],selectedMarkerColor:[1,"selected-marker-color"],expandAll:[4,"expand-all"],skeleton:[4],showSelectAll:[4,"show-select-all"],selectAllLabel:[1,"select-all-label"],textColor:[1,"text-color"],virtualScroll:[4,"virtual-scroll"],caseSensitive:[4,"case-sensitive"],label:[1],isOpen:[32],parsedOptions:[32],selectedValues:[32],searchQuery:[32],expandedNodes:[32],dropdownPosition:[32],menuLeft:[32],menuTop:[32],computedMenuWidth:[32],menuMaxHeight:[32],highlightedIndex:[32],nestedPath:[32],open:[64]},void 0,{options:[{handleOptionsChange:0}],value:[{handleValueChange:0}],searchQuery:[{handleSearchQueryChange:0}]}]);function h(){"undefined"!=typeof customElements&&["ui-dropdown","ui-badge","ui-button","ui-icon","ui-tag"].forEach((o=>{switch(o){case"ui-dropdown":customElements.get(i(o))||customElements.define(i(o),c);break;case"ui-badge":customElements.get(i(o))||a();break;case"ui-button":customElements.get(i(o))||n();break;case"ui-icon":customElements.get(i(o))||s();break;case"ui-tag":customElements.get(i(o))||p()}}))}export{c as D,h as d}
1
+ import{proxyCustomElement as o,HTMLElement as r,createEvent as t,h as e,transformTag as i}from"@stencil/core/internal/client";import{c as d}from"./dom.js";import{d as n,a}from"./badge.js";import{d as s}from"./icon.js";import{d as p}from"./loader.js";import{d as l}from"./tag.js";const c=new class{container;politeRegion;assertiveRegion;constructor(){this.init()}init(){const o=document.getElementById("aria-live-regions");if(o)return this.container=o,this.politeRegion=document.getElementById("aria-live-polite"),void(this.assertiveRegion=document.getElementById("aria-live-assertive"));this.container=document.createElement("div"),this.container.id="aria-live-regions",this.container.style.position="absolute",this.container.style.width="1px",this.container.style.height="1px",this.container.style.padding="0",this.container.style.margin="-1px",this.container.style.overflow="hidden",this.container.style.clip="rect(0, 0, 0, 0)",this.container.style.whiteSpace="nowrap",this.container.style.border="0",this.politeRegion=this.createRegion("polite"),this.assertiveRegion=this.createRegion("assertive"),this.container.appendChild(this.politeRegion),this.container.appendChild(this.assertiveRegion),document.body.appendChild(this.container)}createRegion(o){const r=document.createElement("div");return r.id=`aria-live-${o}`,r.setAttribute("aria-live",o),r.setAttribute("aria-atomic","true"),r}announce(o,r="polite"){this.container||this.init();const t="assertive"===r?this.assertiveRegion:this.politeRegion;t.textContent="",setTimeout((()=>{t.textContent=o}),50)}},h=o(class extends r{constructor(o){super(),!1!==o&&this.__registerHost(),this.valueChange=t(this,"valueChange",7),this.dropdownOpen=t(this,"dropdownOpen",7),this.dropdownClose=t(this,"dropdownClose",7)}get hostElement(){return this}options=[];placeholder="Select an option";multiSelect=!1;cascading=!1;value="";disabled=!1;searchable=!1;maxHeight=300;size="md";appearance="dropdown";variant="default";chipView=!1;showArrow;ignoreParentPosition=!0;clearable;fullWidth=!1;fitContent=!1;menuWidth;loading=!1;invalid=!1;helperText;errorMessage;searchPlaceholder="Search...";iconLibrary="ionicons";showPath=!1;highFidelity=!0;rtl=!1;shape="default";showSelectedMarker=!0;selectedMarkerIcon="check";selectedMarkerLibrary="lucide";selectedMarkerLabel="";selectedMarkerColor="";isOpen=!1;parsedOptions=[];selectedValues=new Set;searchQuery="";expandedNodes=new Set;dropdownPosition="bottom";menuLeft=0;menuTop=0;computedMenuWidth=0;menuMaxHeight=0;highlightedIndex=-1;nestedPath=[];optionsRef=[];searchInputRef;searchDebounce;menuElement;rafId=null;isPortaled=!1;handleDocumentClick=o=>{if(!this.isOpen)return;const r=o.composedPath(),t=r.some((o=>o===this.hostElement)),e=this.menuElement&&r.some((o=>o===this.menuElement||o instanceof Node&&this.menuElement.contains(o)));t||e||this.closeDropdown()};expandAll=!1;skeleton=!1;showSelectAll=!1;selectAllLabel="Select All";textColor="";virtualScroll=!1;caseSensitive=!1;label="";valueChange;dropdownOpen;dropdownClose;handleOptionsChange(o){this.parseOptions(o),this.syncNestedPath()}handleValueChange(o){this.updateSelectedValues(o),this.syncNestedPath()}handleSearchQueryChange(){clearTimeout(this.searchDebounce),this.searchDebounce=setTimeout((()=>{const o=this.getVisibleOptionCount();c.announce(`${o} option${1!==o?"s":""} found`)}),300)}componentWillLoad(){this.parseOptions(this.options),this.updateSelectedValues(this.value),this.syncNestedPath(),this.expandAll&&this.cascading&&this.expandAllNodes(this.parsedOptions)}expandAllNodes(o){o.forEach((o=>{o.children&&(this.expandedNodes.add(o.value.toString()),this.expandAllNodes(o.children))})),this.expandedNodes=new Set(this.expandedNodes)}async open(){this.isOpen||this.toggleDropdown()}componentDidUpdate(){this.isOpen&&this.menuElement&&this.calculateDropdownPosition()}connectedCallback(){this.handleViewportChange=this.handleViewportChange.bind(this),window.addEventListener("scroll",this.handleViewportChange,!0),window.addEventListener("resize",this.handleViewportChange),document.addEventListener("click",this.handleDocumentClick,!0),window.addEventListener("popstate",this.closeDropdown),window.addEventListener("hashchange",this.closeDropdown)}disconnectedCallback(){window.removeEventListener("scroll",this.handleViewportChange,!0),window.removeEventListener("resize",this.handleViewportChange),document.removeEventListener("click",this.handleDocumentClick,!0),window.removeEventListener("popstate",this.closeDropdown),window.removeEventListener("hashchange",this.closeDropdown),this.cleanupPortal()}getOptionId(o){return`dropdown-option-${o}`}handleKeyDown=o=>{if(!this.disabled)if(this.searchable||1!==o.key.length||!this.isOpen)switch(o.key){case"Enter":case" ":if(this.isOpen){if(this.highlightedIndex>=0){o.preventDefault();const r=this.getVisibleOptions();r[this.highlightedIndex]&&this.handleOptionClick(r[this.highlightedIndex],o)}}else o.preventDefault(),this.toggleDropdown();break;case"ArrowDown":if(o.preventDefault(),this.isOpen){const o=this.getVisibleOptionCount();this.highlightedIndex=Math.min(this.highlightedIndex+1,o-1),this.scrollToHighlighted()}else this.toggleDropdown();break;case"ArrowUp":o.preventDefault(),this.isOpen&&(this.highlightedIndex=Math.max(this.highlightedIndex-1,0),this.scrollToHighlighted());break;case"Escape":this.isOpen&&(o.preventDefault(),this.closeDropdown(),this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")?.focus());break;case"Tab":this.isOpen&&this.closeDropdown()}else{const r=o.key.toLowerCase(),t=this.getVisibleOptions(),e=this.highlightedIndex+1,i=[...t.slice(e),...t.slice(0,e)].findIndex((o=>(o.label??"").toLowerCase().startsWith(r)));if(-1!==i){let o=e+i;o>=t.length&&(o-=t.length),this.highlightedIndex=o,this.scrollToHighlighted(),c.announce(t[o].label??"")}}};getVisibleOptions(){if(this.isNestedMenuVariant())return this.getNestedMenuLevels(this.filterOptions(this.parsedOptions)).flat();const o=[],r=t=>{t.forEach((t=>{o.push(t),t.children&&(this.expandedNodes.has(t.value?.toString()??"")||this.searchQuery)&&r(t.children)}))};return this.cascading?r(this.filterOptions(this.parsedOptions)):this.filterOptions(this.parsedOptions).forEach((r=>o.push(r))),o}getVisibleOptionCount(){return this.getVisibleOptions().length}scrollToHighlighted(){const o=this.optionsRef[this.highlightedIndex];o&&o.scrollIntoView({block:"nearest"})}isNestedMenuVariant(){return"nested-menu"===this.variant&&this.cascading&&!this.searchQuery}findOptionPathByValue(o,r,t=[]){for(const e of o){const o=e.value?.toString()??"",i=o?[...t,o]:[...t];if(o===r)return i;if(e.children){const o=this.findOptionPathByValue(e.children,r,i);if(o)return o}}return null}syncNestedPath(){if("nested-menu"!==this.variant||!this.cascading)return void(this.nestedPath=[]);const o=Array.from(this.selectedValues)[0];this.nestedPath=o?this.findOptionPathByValue(this.parsedOptions,o)??[]:[]}setNestedPath(o,r){const t=this.nestedPath.slice(0,o);t[o]=r,this.nestedPath=t}getNestedMenuLevels(o){const r=[];let t=o;t.length>0&&r.push(t);for(let o=0;o<this.nestedPath.length;o++){const e=this.nestedPath[o],i=t.find((o=>(o.value?.toString()??"")===e));if(!i?.children?.length)break;t=i.children,r.push(t)}return r}getNestedMenuEstimatedWidth(){return("sm"===this.size?190:"lg"===this.size?260:220)*Math.max(1,this.getNestedMenuLevels(this.filterOptions(this.parsedOptions)).length)}parseOptions(o){let r=[];if("string"==typeof o&&o.length>0)try{r=JSON.parse(o)}catch(o){console.error("Invalid JSON for dropdown options:",o),r=[]}else if(Array.isArray(o)&&o.length>0)r=o;else{const o=Array.from(this.hostElement.querySelectorAll("option"));r=o.length>0?o.map((o=>({label:o.textContent||"",value:o.value||o.textContent||"",disabled:o.disabled,...o.dataset.icon?{icon:o.dataset.icon}:{},...o.dataset.subtitle?{subtitle:o.dataset.subtitle}:{},...o.dataset.description?{description:o.dataset.description}:{},...o.dataset.group?{group:o.dataset.group}:{}}))):[]}const t=[];r.forEach((o=>{o.options&&Array.isArray(o.options)?o.options.forEach((r=>{t.push({...r,group:o.label})})):t.push(o)})),this.parsedOptions=t}updateSelectedValues(o){this.selectedValues=o?this.multiSelect?new Set(o.split(",").filter((o=>o))):new Set([o]):new Set}toggleDropdown=()=>{if(this.disabled)return;const o=this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")||this.hostElement.querySelector(".dropdown-trigger");if(!o)return;const r=o.getBoundingClientRect();if(0!==r.width||0!==r.height)if(this.isOpen=!this.isOpen,this.isOpen){if(this.dropdownOpen.emit(),this.highlightedIndex=-1,"nested-menu"===this.variant&&this.cascading&&this.syncNestedPath(),this.schedulePositionUpdate(),!this.multiSelect&&this.selectedValues.size>0){const o=this.getVisibleOptions().findIndex((o=>this.selectedValues.has(o.value?.toString()??"")));-1!==o&&(this.highlightedIndex=o)}setTimeout((()=>{this.calculateDropdownPosition(),this.searchable&&this.searchInputRef&&this.searchInputRef.focus()}),50)}else this.closeDropdown()};schedulePositionUpdate(){null!==this.rafId&&cancelAnimationFrame(this.rafId);const o=performance.now(),r=t=>{this.isOpen?(this.calculateDropdownPosition(),this.rafId=t-o<250?requestAnimationFrame(r):null):this.rafId=null};this.rafId=requestAnimationFrame(r)}cleanupPortal(){null!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.isPortaled&&this.menuElement&&this.menuElement.parentElement===document.body&&(this.hostElement.appendChild(this.menuElement),this.isPortaled=!1)}handleViewportChange(){this.isOpen&&this.calculateDropdownPosition()}parseConfiguredMenuWidth(){if(null==this.menuWidth)return{};if("number"==typeof this.menuWidth&&Number.isFinite(this.menuWidth))return{cssWidth:`${this.menuWidth}px`,pixelWidth:this.menuWidth};const o=String(this.menuWidth).trim();if(!o)return{};if(/^\d+(?:\.\d+)?$/.test(o)){const r=Number(o);return{cssWidth:`${r}px`,pixelWidth:r}}return/^\d+(?:\.\d+)?px$/i.test(o)?{cssWidth:o,pixelWidth:parseFloat(o)}:{cssWidth:o}}getMenuStyle(o){const r=this.parseConfiguredMenuWidth(),t=this.computedMenuWidth>0?`${this.computedMenuWidth}px`:void 0,e={left:`${this.menuLeft}px`,maxWidth:"calc(100vw - 16px)",maxHeight:`${this.menuMaxHeight>0?this.menuMaxHeight:this.maxHeight||300}px`,visibility:o?"visible":0===this.menuLeft&&0===this.menuTop?"hidden":"visible",top:`${this.menuTop}px`};return r.cssWidth?{...e,width:r.cssWidth}:this.fullWidth?{...e,width:t,minWidth:t}:{...e,width:"max-content",minWidth:t}}shouldPortalMenu(){return!0}calculateDropdownPosition(){if(!this.hostElement||!this.isOpen||!this.menuElement)return;const o=this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")||this.hostElement.querySelector(".dropdown-trigger");if(!o)return;const r=o.getBoundingClientRect();if(0===r.width&&0===r.height)return this.menuLeft=0,this.menuTop=0,this.computedMenuWidth=0,void(this.dropdownPosition="bottom");const t=this.parseConfiguredMenuWidth(),e=o.offsetWidth||r.width,i=!this.fitContent&&t.pixelWidth?t.pixelWidth:this.isNestedMenuVariant()?Math.max(e,this.getNestedMenuEstimatedWidth()):e,n=this.shouldPortalMenu();n&&this.menuElement.parentElement!==document.body?(document.body.appendChild(this.menuElement),this.isPortaled=!0):!n&&this.isPortaled&&this.cleanupPortal();const{left:a,top:s,placement:p,availableHeight:l}=d(o,{menuWidth:i,menuHeight:this.maxHeight||300,gap:4,placement:"auto",useTransformedAncestorOffset:!n||!this.ignoreParentPosition}),c=Math.max(80,Math.min(this.maxHeight||300,l));let h=a,w=s;n||(h=a,w=s),this.menuLeft===h&&this.menuTop===w&&this.computedMenuWidth===e&&this.dropdownPosition===p&&this.menuMaxHeight===c||(this.menuLeft=h,this.menuTop=w,this.computedMenuWidth=e,this.dropdownPosition=p,this.menuMaxHeight=c)}closeDropdown=()=>{this.isOpen&&(this.isOpen=!1,this.dropdownClose.emit(),this.searchQuery="",this.cleanupPortal())};handleOptionClick=(o,r)=>{if(r.stopPropagation(),!o.disabled)if(this.cascading&&o.children&&o.children.length>0){if(this.isNestedMenuVariant()){const r=this.getNestedMenuLevels(this.filterOptions(this.parsedOptions)).findIndex((r=>r.some((r=>(r.value?.toString()??"")===(o.value?.toString()??"")))));return void this.setNestedPath(-1===r?0:r,o.value?.toString()??"")}this.toggleNode(o.value?.toString()??"")}else{if(this.multiSelect){const r=new Set(this.selectedValues),t=o.value?.toString()??"";r.has(t)?(r.delete(t),c.announce(`Deselected ${o.label}`)):(r.add(t),c.announce(`Selected ${o.label}`)),this.selectedValues=r,this.value=Array.from(r).join(",")}else{const r=o.value?.toString()??"";this.selectedValues=new Set([r]),this.value=r,this.closeDropdown(),this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")?.focus(),c.announce(`Selected ${o.label}`)}this.emitChangeEvent()}};toggleNode=o=>{const r=new Set(this.expandedNodes);r.has(o)?r.delete(o):r.add(o),this.expandedNodes=r};handleClear=o=>{o.stopPropagation(),this.selectedValues=new Set,this.value="",this.emitChangeEvent(),this.hostElement.shadowRoot?.querySelector(".dropdown-trigger")?.focus()};handleSearchInput=o=>{this.searchQuery=o.target.value.toLowerCase()};emitChangeEvent(){const o=this.getSelectedOptions();this.valueChange.emit({value:this.value,selectedOptions:o})}getSelectedOptions(){const o=[],r=t=>{t.forEach((t=>{this.selectedValues.has(t.value?.toString()??"")&&o.push(t),t.children&&r(t.children)}))};return r(this.parsedOptions),o}getSelectedDescendantCount(o){if(!o.children)return 0;let r=0;const t=o=>{o.forEach((o=>{this.selectedValues.has(o.value?.toString()??"")&&r++,o.children&&t(o.children)}))};return t(o.children),r}filterOptions(o){return this.searchQuery?o.filter((o=>{const r=this.caseSensitive?this.searchQuery:this.searchQuery.toLowerCase(),t=this.caseSensitive?o.label??"":(o.label??"").toLowerCase(),e=this.caseSensitive?o.subtitle||"":(o.subtitle||"").toLowerCase(),i=this.caseSensitive?o.description||"":(o.description||"").toLowerCase(),d=this.caseSensitive?o.group||"":(o.group||"").toLowerCase(),n=t.includes(r),a=e.includes(r),s=i.includes(r),p=d.includes(r),l=o.children&&this.filterOptions(o.children).length>0;return n||a||s||p||l})).map((o=>({...o,children:o.children?this.filterOptions(o.children):void 0}))):o}getIconSize(o){let r="md";return"sm"!==this.size&&"md"!==this.size&&"lg"!==this.size||(r=this.size),{sm:{main:"14px",sub:"12px",marker:"16px"},md:{main:"16px",sub:"14px",marker:"18px"},lg:{main:"18px",sub:"16px",marker:"20px"}}[r][o]}highlightMatches(o){if(!this.searchQuery||!o)return o;const r=this.searchQuery.toLowerCase(),t=o.toLowerCase().indexOf(r);return-1===t?o:e("span",null,o.substring(0,t),e("span",{class:"dropdown-search-highlight"},o.substring(t,t+r.length)),o.substring(t+r.length))}renderOption(o,r=0,t={current:0}){if(o.isSeparator)return e("div",{class:"dropdown-separator"});const i=this.selectedValues.has(o.value?.toString()??""),d=!!(this.cascading&&o.children&&o.children.length>0),n=t.current;t.current++;const a=n===this.highlightedIndex,s=this.getOptionId(n);return e("div",{class:"dropdown-option-wrapper",key:o.value?.toString()??"",role:"option",id:s,"aria-selected":i?"true":"false"},e("div",{class:{"ui-dropdown-option":!0,dropdowndata:!0,"ui-dropdown-option-selected":i,"dropdown-option-highlighted":a,"dropdown-option-disabled":!!o.disabled,"dropdown-option-parent":d},style:{paddingLeft:"16px",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:"12px",boxSizing:"border-box",width:"100%",whiteSpace:"nowrap",...i?{backgroundColor:"var(--dd-selected-bg)",color:"var(--dd-selected-text)",borderRadius:"12px"}:{}},onClick:r=>this.handleOptionClick(o,r),ref:o=>{o&&(this.optionsRef[n]=o)}},(this.multiSelect&&!d||o.icon)&&e("div",{class:"dropdown-option-left"},this.multiSelect&&!d&&e("div",{class:{"dropdown-checkbox":!0,checked:i,"dropdown-checkbox-selected":i}},i&&e("ui-icon",{name:"check",library:"lucide",size:this.getIconSize("sub"),color:"white"})),o.icon&&e("span",{class:"dropdown-option-icon"},"string"==typeof o.icon?e("ui-icon",{name:o.icon,library:o.iconLibrary,size:this.getIconSize("main")}):o.icon)),e("div",{class:"dropdown-option-text"},e("div",{class:{"dropdown-option-content":!0,"dropdown-content-parent":d}},e("div",{class:"dropdown-option-label"},this.highlightMatches(o.label??"")),(o.subtitle||o.description)&&e("div",{class:"dropdown-option-subtitle"},this.highlightMatches(o.subtitle??o.description??"")))),e("div",{class:"dropdown-option-right"},o.rightTag&&e("ui-tag",{label:o.rightTag,color:o.rightTagColor||"default",size:"sm",variant:"light",class:"dropdown-option-tag"}),o.rightIcon&&e("span",{class:"dropdown-option-right-icon"},e("ui-icon",{name:o.rightIcon,library:o.rightIconLibrary,size:this.getIconSize("sub")})),d&&e("div",{class:"dropdown-expand-group"},this.multiSelect&&(()=>{const r=this.getSelectedDescendantCount(o);return r>0?e("span",{class:"dropdown-badge"},r):null})(),e("ui-icon",{name:"chevron-right",library:"lucide",size:this.getIconSize("sub"),class:{"dropdown-expand-icon":!0,expanded:this.expandedNodes.has(o.value?.toString()??"")}})),!this.multiSelect&&!d&&this.showSelectedMarker&&e("span",{class:"ui-dropdown-selected-marker-wrap",style:i?{}:{visibility:"hidden"}},e("ui-icon",{name:this.selectedMarkerIcon,library:this.selectedMarkerLibrary,size:this.getIconSize("marker"),class:"ui-dropdown-selected-marker",color:this.selectedMarkerColor||"var(--dd-selected-icon)"}),this.selectedMarkerLabel&&e("span",{class:"ui-dropdown-selected-marker-label"},this.selectedMarkerLabel)))),d&&this.expandedNodes.has(o.value?.toString()??"")&&e("div",{class:"dropdown-children"},o.children?.map((o=>this.renderOption(o,r+1,t)))))}renderChips(){const o=this.getSelectedOptions();return 0===o.length?this.placeholder:e("div",{class:"dropdown-chips"},o.map((o=>e("ui-tag",{label:o.label??"",size:"sm",color:"primary",variant:"light",removable:!0,animation:"slide",onTagRemove:r=>{r.stopPropagation(),this.handleOptionClick(o,r)}}))))}getDisplayText(){if(0===this.selectedValues.size)return this.placeholder;if(this.multiSelect){if(this.chipView)return this.renderChips();const o=this.getSelectedOptions();return 1===o.length?o[0].label:`${o.length} items selected`}{const o=this.getSelectedOptions();if(o.length>0){const r=o[0];return"detailed"===this.variant&&r.icon?e("div",{class:"dropdown-trigger-content"},e("ui-icon",{name:r.icon,library:r.iconLibrary||this.iconLibrary,size:"18px",class:"dropdown-trigger-icon"}),e("span",{class:"dropdown-trigger-label"},r.label)):r.label}return this.placeholder}}renderValidationSubstrate(){return this.invalid&&this.errorMessage?e("div",{class:"dropdown-helper-text dropdown-error-text"},e("ui-icon",{name:"alert-circle",library:"lucide",size:"12px"}),e("span",null,this.errorMessage)):this.helperText?e("div",{class:"dropdown-helper-text"},this.helperText):null}render(){if(this.skeleton)return e("div",{class:{"dropdown-container":!0,"dropdown-skeleton":!0,[`dropdown-${this.size}`]:!0,"dropdown-full-width":this.fullWidth,"dropdown-fit-content":this.fitContent,[`variant-${this.variant}`]:!0}},e("div",{class:"dropdown-trigger"},e("div",{class:"dropdown-skeleton-text"}),e("div",{class:"dropdown-skeleton-icon"})));const o=this.filterOptions(this.parsedOptions),r=this.selectedValues.size>0,t=void 0!==this.showArrow?this.showArrow:"button"!==this.appearance,i=void 0!==this.clearable?this.clearable:this.multiSelect&&!this.chipView,d=this.isOpen&&this.highlightedIndex>=0?this.getOptionId(this.highlightedIndex):void 0,n=!this.shouldPortalMenu();let a={};return a.color=this.textColor&&r?this.textColor:"var(--dd-text, var(--color-on-surface, #10213a))",e("div",{class:{"dropdown-container":!0,[`dropdown-${this.size}`]:!0,[`variant-${this.variant}`]:!0,"dropdown-disabled":this.disabled,"dropdown-open":this.isOpen,"dropdown-invalid":this.invalid,"dropdown-appearance-button":"button"===this.appearance,"dropdown-full-width":this.fullWidth,"dropdown-fit-content":this.fitContent,"dropdown-has-chips":this.chipView&&this.multiSelect&&r,"dropdown-rtl":this.rtl,[`dropdown-shape-${this.shape}`]:"default"!==this.shape},dir:this.rtl?"rtl":"ltr"},this.label&&e("label",{class:"dropdown-label"},this.label),e("div",{class:"dropdown-trigger",onClick:this.toggleDropdown,onKeyDown:this.handleKeyDown,tabIndex:this.disabled?-1:0,role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-controls":"dropdown-list","aria-label":this.placeholder,"aria-activedescendant":d},e("slot",{name:"prefix"}),e("div",{class:{"dropdown-display":!0,"dropdown-placeholder":!r},style:a},this.getDisplayText()),e("div",{class:"dropdown-icons"},this.loading&&e("span",{class:"dropdown-spinner"},e("ui-icon",{name:"loader-2",library:"lucide",spin:!0,size:"16px"})),r&&i&&!this.disabled&&e("span",{class:"dropdown-clear",onClick:this.handleClear,tabIndex:0,role:"button","aria-label":"Clear selection",onKeyDown:o=>{"Enter"!==o.key&&" "!==o.key||(o.stopPropagation(),this.handleClear(o))}},e("ui-icon",{name:"x",library:"lucide",size:this.getIconSize("sub")})),t&&e("ui-icon",{name:"chevron-down",library:"lucide",size:this.getIconSize("sub"),class:{"dropdown-arrow":!0,open:this.isOpen}}))),this.renderValidationSubstrate(),this.isOpen&&e("div",{class:{"ui-dropdown-menu":!0,"ui-dropdown-menu--local":n,"dropdown-menu-top":"top"===this.dropdownPosition,[`dropdown-menu-${this.size}`]:!0,[`dropdown-menu-variant-${this.variant}`]:!0,"dropdown-menu-searchable":this.searchable,"dropdown-menu-cascading":this.cascading},id:"dropdown-list",role:"listbox","aria-multiselectable":this.multiSelect?"true":"false",ref:o=>{o&&(this.menuElement=o)},style:this.getMenuStyle(n)},this.searchable&&e("div",{class:"dropdown-search"},e("div",{class:"dropdown-search-container"},e("ui-icon",{name:"search",library:"lucide",size:"16px",class:"dropdown-search-icon"}),e("input",{type:"text",class:"dropdown-search-input",placeholder:this.searchPlaceholder,value:this.searchQuery,onInput:this.handleSearchInput,ref:o=>{o&&(this.searchInputRef=o)},onKeyDown:this.handleKeyDown,"aria-activedescendant":d}))),e("div",{class:"dropdown-options"},this.renderBulkActions(o),o.length>0?this.renderMenuContents(o,{current:0}):e("div",{class:"dropdown-empty"},e("slot",{name:"empty-state"},"No options found")))))}isAllSelected(o){const r=o=>{let t=[];return o.forEach((o=>{t.push(o.value?.toString()??""),o.children&&(t=[...t,...r(o.children)])})),t},t=r(o);return 0!==t.length&&t.every((o=>this.selectedValues.has(o)))}toggleSelectAll(o){const r=o=>{let t=[];return o.forEach((o=>{t.push(o.value?.toString()??""),o.children&&(t=[...t,...r(o.children)])})),t},t=r(o),e=this.isAllSelected(o);t.forEach(e?o=>this.selectedValues.delete(o):o=>this.selectedValues.add(o)),this.selectedValues=new Set(this.selectedValues),this.value=Array.from(this.selectedValues).join(","),this.emitChangeEvent()}clearAllSelections(){this.selectedValues=new Set,this.value="",this.emitChangeEvent()}renderBulkActions(o){if(!this.multiSelect||this.searchQuery)return null;const r=this.isAllSelected(o),t=this.selectedValues.size>0,i=this.showSelectAll&&o.length>0;return i||t?e("div",{class:"dropdown-bulk-actions"},i&&e("div",{class:{"dropdown-select-all":!0,"dropdown-select-all-with-clear":t},onClick:r=>{r.stopPropagation(),this.toggleSelectAll(o)}},e("div",{class:{"dropdown-checkbox":!0,"dropdown-checkbox-selected":r}},r&&e("ui-icon",{name:"check",library:"lucide",size:"12px"})),e("span",null,this.selectAllLabel)),t&&e("div",{class:"dropdown-clear-all",onClick:o=>{o.stopPropagation(),this.clearAllSelections()}},e("ui-icon",{name:"trash-2",library:"lucide",size:"14px"}),e("span",null,"Clear All"))):null}renderNestedMenuContents(o,r){const t=this.getNestedMenuLevels(o);return e("div",{class:"dropdown-nested-columns"},t.map(((o,t)=>e("div",{class:"dropdown-nested-panel",key:`nested-level-${t}`},o.map((o=>{const i=!!o.children?.length,d=o.value?.toString()??"",n=this.selectedValues.has(d),a=this.nestedPath[t]===d,s=r.current;r.current++;const p=s===this.highlightedIndex,l=this.getOptionId(s);return e("div",{class:"dropdown-option-wrapper",key:`${d}-${t}`,role:"option",id:l,"aria-selected":n?"true":"false"},e("div",{class:{"ui-dropdown-option":!0,dropdowndata:!0,"dropdown-nested-option":!0,"ui-dropdown-option-selected":n,"dropdown-option-highlighted":p,"dropdown-option-disabled":!!o.disabled,"dropdown-option-parent":i,"dropdown-nested-option-active":a},onMouseEnter:()=>{i&&this.setNestedPath(t,d)},onClick:r=>this.handleOptionClick(o,r),ref:o=>{o&&(this.optionsRef[s]=o)}},(this.multiSelect&&!i||o.icon)&&e("div",{class:"dropdown-option-left"},this.multiSelect&&!i&&e("div",{class:{"dropdown-checkbox":!0,checked:n,"dropdown-checkbox-selected":n}},n&&e("ui-icon",{name:"check",library:"lucide",size:this.getIconSize("sub"),color:"white"})),o.icon&&e("span",{class:"dropdown-option-icon"},"string"==typeof o.icon?e("ui-icon",{name:o.icon,library:o.iconLibrary,size:this.getIconSize("main")}):o.icon)),e("div",{class:"dropdown-option-text"},e("div",{class:"dropdown-option-content"},e("div",{class:"dropdown-option-label"},this.highlightMatches(o.label??"")),(o.subtitle||o.description)&&e("div",{class:"dropdown-option-subtitle"},this.highlightMatches(o.subtitle??o.description??"")))),e("div",{class:"dropdown-option-right"},o.rightTag&&e("ui-tag",{label:o.rightTag,color:o.rightTagColor||"default",size:"sm",variant:"light",class:"dropdown-option-tag"}),i&&e("ui-icon",{name:"chevron-right",library:"lucide",size:this.getIconSize("sub"),class:{"dropdown-expand-icon":!0,expanded:a}}),!this.multiSelect&&!i&&this.showSelectedMarker&&e("span",{class:"ui-dropdown-selected-marker-wrap",style:n?{}:{visibility:"hidden"}},e("ui-icon",{name:this.selectedMarkerIcon,library:this.selectedMarkerLibrary,size:this.getIconSize("marker"),class:"ui-dropdown-selected-marker",color:this.selectedMarkerColor||"var(--dd-selected-icon)"}),this.selectedMarkerLabel&&e("span",{class:"ui-dropdown-selected-marker-label"},this.selectedMarkerLabel)))))}))))))}renderMenuContents(o,r){if(this.isNestedMenuVariant())return this.renderNestedMenuContents(o,r);const t=[];let i=null;return(this.virtualScroll?o.slice(0,50):o).forEach((o=>{o.group&&o.group!==i&&(t.push(e("div",{class:"dropdown-group-header"},o.group)),i=o.group),t.push(this.renderOption(o,0,r))})),this.virtualScroll&&o.length>50&&t.push(e("div",{class:"dropdown-more-info"},"Showing 50 of ",o.length," items. Use search to find more.")),t}static get watchers(){return{options:[{handleOptionsChange:0}],value:[{handleValueChange:0}],searchQuery:[{handleSearchQueryChange:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:root{--dd-primary:var(--color-primary, #2563eb);--dd-border:var(--border-default, #cfd8e3);--dd-border-strong:var(--border-strong, #b4c1d1);--dd-focus:var(--color-primary-hover, #2563eb);--dd-text:var(--label-color, var(--text-primary, var(--color-on-surface, #10213a)));--dd-muted:var(--label-subtitle-color, var(--text-secondary, var(--color-on-surface-muted, #62748a)));--dd-bg:var(--bg-primary, #ffffff);--dd-panel:rgba(255, 255, 255, 0.98);--dd-panel-solid:var(--bg-primary, #ffffff);--dd-hover:var(--bg-primary, #f3f8ff);--dd-selected:var(--dropdown-selected-bg, var(--color-success-light, #ecfdf5));--dd-selected-bg:var(--dropdown-selected-bg, var(--color-success-light, #ecfdf5));--dd-selected-text:var(--dropdown-selected-text, var(--color-success, var(--color-on-primary, #059669)));--dd-selected-icon:var(--dropdown-selected-icon, var(--color-success, var(--color-on-primary, #059669)));--dd-selected-border:var(--dropdown-selected-border, var(--color-success-border, var(--color-on-primary-border, #a7f3d0)));--dd-transition:all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);--dd-error:var(--color-danger, #ef4444);--dd-radius-sm:8px;--dd-radius-md:10px}.dropdown-label{display:block;font-size:11px;font-weight:700;color:var(--dd-text);margin-bottom:8px;letter-spacing:0.08em;text-transform:uppercase;opacity:0.65;cursor:default}.dropdown-container{position:relative;display:inline-flex;flex-direction:column;width:max-content;min-width:50px;vertical-align:middle}.dropdown-full-width{width:100%;display:block;}.dropdown-fit-content{width:max-content;min-width:unset}.dropdown-fit-content .ui-dropdown-menu{width:max-content;min-width:100%;white-space:nowrap}.dropdown-fit-content .dropdown-trigger{width:max-content}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--bg-primary, #ffffff);border:1px solid var(--dd-border);border-radius:var(--dd-radius-md);cursor:pointer;transition:var(--dd-transition);-webkit-user-select:none;user-select:none;gap:12px;padding:0 16px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);color:var(--dd-text);font-weight:500;line-height:normal;box-sizing:border-box}.dropdown-trigger:hover{border-color:var(--dd-border-strong);box-shadow:0 10px 22px rgba(var(--color-primary-rgb, 37, 99, 235), 0.08)}.dropdown-open .dropdown-trigger{border-color:var(--dd-focus);background:var(--dd-bg);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.dropdown-disabled .dropdown-trigger{background:var(--bg-secondary, #f1f5f9);cursor:not-allowed;opacity:0.7;border-color:var(--dd-border);box-shadow:none}.dropdown-disabled .dropdown-trigger:hover{background:var(--bg-secondary, #f1f5f9)}.dropdown-sm .dropdown-trigger{padding:0 12px;font-size:13px;min-height:32px;height:32px;border-radius:var(--dd-radius-sm)}.dropdown-md .dropdown-trigger{padding:0 16px;font-size:14px;min-height:40px;height:40px;border-radius:var(--dd-radius-md)}.dropdown-lg .dropdown-trigger{padding:0 20px;font-size:15px;min-height:44px;height:44px;border-radius:var(--dd-radius-md)}.dropdown-shape-square .dropdown-trigger,.dropdown-shape-square .dropdown-menu{border-radius:0 !important}.dropdown-shape-rounded .dropdown-trigger,.dropdown-shape-rounded .dropdown-menu{border-radius:20px !important}.dropdown-shape-pill .dropdown-trigger{border-radius:999px !important}.dropdown-shape-pill .dropdown-menu{border-radius:28px !important}.dropdown-appearance-button .dropdown-trigger{background:var(--dd-primary);border-color:var(--dd-primary);color:var(--color-primary-text, var(--dd-text, #ffffff));box-shadow:0 4px 14px 0 rgba(var(--color-primary-rgb, 37, 99, 235), 0.39)}.dropdown-appearance-button .dropdown-trigger:hover{background:var(--color-primary, #1d4ed8);border-color:var(--color-primary, #1d4ed8);transform:translateY(-1px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb, 37, 99, 235), 0.23)}.dropdown-appearance-button .dropdown-trigger:active{transform:translateY(0)}.variant-glass .dropdown-trigger{background:rgba(255, 255, 255, 0.08);backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255, 255, 255, 0.12);color:var(--text-standard, #ffffff);box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.07)}.variant-glass .dropdown-trigger:hover{background:rgba(255, 255, 255, 0.12);border-color:rgba(255, 255, 255, 0.2)}.variant-glass .dropdown-display,.variant-glass .dropdown-placeholder{color:var(--text-standard, #ffffff)}.variant-glass.dropdown-open .dropdown-trigger{background:rgba(255, 255, 255, 0.15);border-color:var(--dd-focus)}.variant-toggle{min-width:unset !important}.variant-toggle .dropdown-trigger{background:transparent;border-color:transparent;padding:0 !important;min-height:unset !important;height:auto !important;box-shadow:none;gap:4px}.variant-toggle .dropdown-trigger:hover{background:var(--dd-hover);border-color:var(--dd-border)}.variant-toggle.dropdown-open .dropdown-trigger{background:var(--dd-hover);border-color:var(--dd-focus);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.variant-toggle .dropdown-display{padding:2px}.dropdown-appearance-button .dropdown-display{color:var(--color-primary-text, var(--dd-text, #ffffff))}.dropdown-appearance-button .dropdown-clear,.dropdown-appearance-button .dropdown-arrow{color:var(--color-primary-text, var(--dd-text, #ffffff))}.dropdown-display{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.dropdown-has-chips .dropdown-trigger{height:auto;min-height:48px;padding:6px 16px}.dropdown-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0;width:100%}.dropdown-placeholder{color:var(--label-subtitle-color, #91a0b4);font-weight:400}.dropdown-icons{display:flex;align-items:center;gap:8px;flex-shrink:0}.dropdown-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--bg-primary, #eef4fb);color:var(--dd-muted);transition:var(--dd-transition)}.dropdown-clear:hover{background:var(--bg-primary, #e2ecf8);color:var(--dd-text)}.dropdown-arrow{display:flex;align-items:center;color:var(--dd-muted);transition:transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1)}.dropdown-arrow.open{transform:rotate(180deg);color:var(--dd-focus)}.ui-dropdown-menu{position:fixed;display:flex !important;flex-direction:column !important;gap:0;background:var(--bg-primary, #ffffff) !important;border:1px solid rgba(0, 0, 0, 0.08);border-radius:16px;box-shadow:0 20px 50px rgba(0, 0, 0, 0.2), 0 10px 20px rgba(0, 0, 0, 0.1);z-index:10001;overflow:hidden;animation:dropdownPop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);width:auto;min-width:0}.ui-dropdown-menu--local{position:absolute}@keyframes dropdownPop{from{opacity:0;transform:translateY(12px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-menu-top{top:auto;bottom:calc(100% + 8px);animation:dropdownPopTop 0.2s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes dropdownPopTop{from{opacity:0;transform:translateY(-4px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-search{padding:12px;border-bottom:1px solid var(--border-subtle, #edf2f7);background:var(--dd-panel)}.dropdown-search-container{position:relative;display:flex;align-items:center}.dropdown-search-icon{position:absolute;left:12px;color:var(--dd-muted);pointer-events:none}.dropdown-search-input{width:100%;padding:11px 13px 11px 36px;background:var(--bg-primary, #f9fbfe);border:1px solid var(--border-default, #d4deea);border-radius:12px;font-size:14px;color:var(--dd-text);outline:none;transition:var(--dd-transition)}.dropdown-search-input::placeholder{color:var(--dd-muted);opacity:0.8}.dropdown-search-input:focus{background:var(--bg-primary, #ffffff);border-color:var(--dd-focus);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.dropdown-options{flex:1;min-height:0;overflow-y:auto;padding:8px;background:var(--dd-panel-solid)}.dropdown-menu-sm{border-radius:12px;--dd-option-min-height:28px;--dd-option-padding-y:8px;--dd-option-padding-x:12px;--dd-option-gap:10px;--dd-option-spacing-y:2px}.dropdown-menu-sm .dropdown-search{padding:8px}.dropdown-menu-sm .dropdown-search-input{min-height:34px;font-size:13px;padding:8px 12px 8px 34px}.dropdown-menu-sm .dropdown-options{padding:6px}.dropdown-menu-sm .dropdown-option-label{font-size:13px}.dropdown-menu-sm .dropdown-option-subtitle,.dropdown-menu-sm .dropdown-empty,.dropdown-menu-sm .dropdown-group-header,.dropdown-menu-sm .dropdown-bulk-actions,.dropdown-menu-sm .dropdown-select-all,.dropdown-menu-sm .dropdown-clear-all{font-size:12px}.dropdown-menu-md{border-radius:16px;--dd-option-min-height:30px;--dd-option-padding-y:10px;--dd-option-padding-x:16px;--dd-option-gap:12px;--dd-option-spacing-y:4px}.dropdown-menu-lg{border-radius:18px;--dd-option-min-height:32px;--dd-option-padding-y:12px;--dd-option-padding-x:18px;--dd-option-gap:14px;--dd-option-spacing-y:6px}.dropdown-menu-lg .dropdown-search{padding:14px}.dropdown-menu-lg .dropdown-search-input{min-height:46px;font-size:15px;padding:12px 14px 12px 40px}.dropdown-menu-lg .dropdown-options{padding:10px}.dropdown-menu-lg .dropdown-option-label{font-size:15px}.dropdown-menu-lg .dropdown-option-subtitle,.dropdown-menu-lg .dropdown-empty,.dropdown-menu-lg .dropdown-group-header,.dropdown-menu-lg .dropdown-bulk-actions,.dropdown-menu-lg .dropdown-select-all,.dropdown-menu-lg .dropdown-clear-all{font-size:14px}.dropdown-options::-webkit-scrollbar{width:5px}.dropdown-options::-webkit-scrollbar-track{background:transparent}.dropdown-options::-webkit-scrollbar-thumb{background:var(--color-primary, #cbd5e1);border-radius:10px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #94a3b8)}.dropdown-option-wrapper{position:relative}.ui-dropdown-option,.dropdowndata{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center;gap:var(--dd-option-gap, 12px);background-color:transparent;transition:var(--dd-transition);border-radius:12px;margin:var(--dd-option-spacing-y, 4px) 0;padding:var(--dd-option-padding-y, 10px) var(--dd-option-padding-x, 16px);min-height:var(--dd-option-min-height, 48px);width:100%;box-sizing:border-box}.dropdown-menu-sm .ui-dropdown-option,.dropdown-menu-sm .dropdowndata{border-radius:10px}.dropdown-menu-lg .ui-dropdown-option,.dropdown-menu-lg .dropdowndata{border-radius:14px}.ui-dropdown-option:hover,.dropdowndata:hover,.dropdown-option-highlighted{background:var(--dd-hover);border-color:var(--color-primary, #d7e7ff);box-shadow:0 10px 24px rgba(var(--color-primary-rgb, 37, 99, 235), 0.08);transform:translateY(-1px)}.ui-dropdown-option-selected{background:var(--dd-selected-bg) !important;color:var(--dd-selected-text) !important;font-weight:600;border-radius:12px;margin:4px 0;box-shadow:none !important}.ui-dropdown-option-selected .dropdown-option-label{color:var(--dd-selected-text) !important;font-weight:600 !important}.dropdown-option-disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.dropdown-option-parent{font-weight:600;letter-spacing:-0.01em}.dropdown-option-left{display:flex;align-items:center;justify-content:center;flex-shrink:0}.dropdown-option-icon{display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--dd-muted);line-height:1}.dropdown-option-text{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;overflow:hidden;line-height:normal;padding:4px 0}.dropdown-option-text .dropdown-option-content{width:100%;min-width:0;overflow:hidden}.dropdown-option-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-size:14px;font-weight:500;color:var(--dd-text, var(--color-on-surface, #10213a))}.dropdown-option-subtitle{font-size:12px;color:var(--dd-muted, var(--color-on-surface-muted, #62748a));font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.dropdown-option-description{font-size:12px;color:var(--dd-muted, var(--color-on-surface-muted, #62748a));font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.dropdown-option-right{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center;justify-content:flex-end;flex-shrink:0;margin-left:auto;gap:8px}.dropdown-option-right:empty{display:none}.dropdown-option-tag{flex-shrink:0}.dropdown-option-right-icon{display:flex;align-items:center;justify-content:center;color:var(--dd-muted);opacity:0.8}.ui-dropdown-selected-marker{display:inline-flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important;animation:checkPop 0.2s cubic-bezier(0.34, 1.56, 0.64, 1)}.ui-dropdown-selected-marker-wrap{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.ui-dropdown-selected-marker-label{font-size:11px;font-weight:500;color:var(--dd-selected-text);white-space:nowrap;animation:checkPop 0.2s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes checkPop{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}.dropdown-checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid var(--color-primary, #cbd5e1);border-radius:5px;flex-shrink:0;transition:var(--dd-transition);background:var(--bg-primary, #ffffff);line-height:1}.dropdown-checkbox ui-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-standard, #ffffff)}.dropdown-option-selected .dropdown-checkbox,.dropdown-checkbox.checked,.dropdown-checkbox.dropdown-checkbox-selected{background:var(--dd-primary);border-color:var(--dd-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 37, 99, 235), 0.2)}.dropdown-expand-icon{transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);color:var(--dd-muted);opacity:0.6}.dropdown-expand-icon.expanded{transform:rotate(90deg);color:var(--dd-primary);opacity:1}.dropdown-children{margin-left:20px;padding-left:12px;border-left:1px solid var(--dd-border);margin-top:-1px;margin-bottom:4px}.dropdown-empty{padding:32px 16px;font-size:14px}.dropdown-helper-text{margin-top:6px;font-size:12px;color:var(--dd-muted);display:flex;align-items:center;gap:6px;padding:0 4px}.dropdown-error-text{color:var(--dd-error);font-weight:500;animation:dropdownShake 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both}.dropdown-invalid .dropdown-trigger{border-color:var(--dd-error)}.dropdown-invalid .dropdown-trigger:hover{box-shadow:0 0 0 4px rgba(var(--color-danger-rgb, 239, 68, 68), 0.1)}@keyframes dropdownShake{10%,90%{transform:translate3d(-1px, 0, 0)}20%,80%{transform:translate3d(2px, 0, 0)}30%,50%,70%{transform:translate3d(-4px, 0, 0)}40%,60%{transform:translate3d(4px, 0, 0)}}.dropdown-spinner{display:flex;animation:dropdownSpin 1s linear infinite;color:var(--dd-primary)}@keyframes dropdownSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.dropdown-group-header{padding:12px 14px 6px;font-size:11px;font-weight:700;color:var(--dd-muted);text-transform:uppercase;letter-spacing:0.05em;background:var(--dd-panel-solid)}.dropdown-select-all{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;font-weight:600;font-size:14px;color:var(--dd-primary);background:transparent;transition:var(--dd-transition);border-bottom:none;border-radius:10px;min-height:36px;flex:1;justify-content:flex-start}.dropdown-select-all.dropdown-select-all-with-clear{border-bottom:1px solid var(--dd-border)}.dropdown-select-all:hover{background:rgba(var(--color-primary-rgb, 37, 99, 235), 0.08)}.dropdown-select-all .dropdown-checkbox{width:18px;height:18px;border:1px solid var(--dd-border-strong);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:var(--dd-transition)}.dropdown-select-all .dropdown-checkbox.checked{background-color:var(--dd-primary);border-color:var(--dd-primary)}.dropdown-skeleton{pointer-events:none}.dropdown-skeleton .dropdown-trigger{background:var(--bg-secondary, #f1f5f9);border-color:var(--border-subtle, #e2e8f0);box-shadow:none}.dropdown-skeleton .dropdown-skeleton-text{width:60%;height:14px;background:linear-gradient(90deg, var(--bg-primary, #e2e8f0) 25%, var(--bg-primary, #f8fafc) 50%, var(--bg-primary, #e2e8f0) 75%);background-size:200% 100%;animation:dropdownShimmer 1.5s infinite;border-radius:4px}.dropdown-skeleton .dropdown-skeleton-icon{width:16px;height:16px;background:var(--bg-primary, #e2e8f0);border-radius:4px}@keyframes dropdownShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.dropdown-separator{height:1px;background-color:var(--dd-border);margin:6px 10px;pointer-events:none}.dropdown-search-highlight{background-color:var(--bg-primary, #fef08a);color:var(--color-danger, #854d0e);border-radius:2px;padding:0 1px;font-weight:600}.dropdown-bulk-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--dd-border);background:linear-gradient(180deg, var(--bg-primary, #fbfdff) 0%, var(--bg-primary, #f8fafc) 100%);font-size:13px;gap:12px}.dropdown-clear-all{display:flex;align-items:center;gap:8px;color:var(--color-danger, #ef4444);cursor:pointer;padding:8px 10px;border-radius:10px;transition:all 0.2s;font-weight:500;min-height:36px;justify-content:center;white-space:nowrap}.dropdown-clear-all:hover{background-color:var(--bg-primary, #fef2f2);color:var(--color-danger-hover, #dc2626)}.dropdown-menu-variant-nested-menu{overflow:visible}.dropdown-menu-variant-nested-menu .dropdown-options{overflow:visible;padding:6px}.dropdown-nested-columns{display:flex;align-items:stretch;min-width:max-content}.dropdown-nested-panel{min-width:210px;max-width:280px;padding:2px}.dropdown-nested-panel+.dropdown-nested-panel{border-left:1px solid var(--dd-border);margin-left:4px;padding-left:10px}.dropdown-menu-sm .dropdown-nested-panel{min-width:180px}.dropdown-menu-lg .dropdown-nested-panel{min-width:240px}.dropdown-nested-option{margin:2px 0}.dropdown-nested-option-active{background:var(--dd-hover);border-color:var(--dd-border-strong)}.variant-detailed .dropdown-trigger{border-color:var(--dd-border);border-radius:14px;min-height:48px;background:linear-gradient(180deg, var(--bg-primary, #ffffff) 0%, var(--bg-primary, #f8fbff) 100%);box-shadow:0 2px 8px rgba(15, 23, 42, 0.04);font-weight:500}.variant-detailed .dropdown-trigger:hover{border-color:var(--dd-border-strong);box-shadow:0 10px 22px rgba(var(--color-primary-rgb, 37, 99, 235), 0.08)}.variant-detailed.dropdown-open .dropdown-trigger{border-color:var(--dd-focus);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb, 37, 99, 235), 0.14), 0 16px 32px rgba(var(--color-primary-rgb, 37, 99, 235), 0.14)}.variant-detailed .dropdown-menu{border-radius:20px !important;padding:6px !important;background:rgba(255, 255, 255, 0.98) !important;backdrop-filter:blur(20px) !important;box-shadow:0 20px 50px rgba(15, 23, 42, 0.22) !important}.variant-detailed .dropdown-options{padding:4px !important}.variant-detailed .ui-dropdown-option,.variant-detailed .dropdowndata{padding:12px 14px !important;border-radius:16px !important;margin:4px 0 !important;gap:14px !important;border:1px solid transparent !important;transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important}.variant-detailed .ui-dropdown-option:hover,.variant-detailed .ui-dropdown-option.dropdown-option-highlighted,.variant-detailed .dropdowndata:hover,.variant-detailed .dropdowndata.dropdown-option-highlighted{background:var(--bg-primary, #f0f7ff) !important;border-color:var(--border-subtle, #dbeafe) !important;transform:translateY(-1.5px) !important;box-shadow:0 8px 16px rgba(var(--color-primary-rgb, 37, 99, 235), 0.08) !important}.variant-detailed .ui-dropdown-option.ui-dropdown-option-selected,.variant-detailed .dropdowndata.ui-dropdown-option-selected{background:var(--dd-selected-bg) !important;border-color:var(--dd-selected-border) !important;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.5) !important}.variant-detailed .ui-dropdown-option.ui-dropdown-option-selected .dropdown-option-label,.variant-detailed .dropdowndata.ui-dropdown-option-selected .dropdown-option-label{color:var(--dd-selected-text) !important;font-weight:700 !important}.variant-detailed .dropdown-option-label{font-size:14px !important;font-weight:600 !important;color:var(--text-primary, #1e293b) !important;margin-bottom:2px !important}.variant-detailed .dropdown-option-subtitle{font-size:11px !important;color:var(--text-muted, #64748b) !important;font-weight:500 !important;text-transform:uppercase !important;letter-spacing:0.02em !important}.variant-detailed .dropdown-option-tag{font-size:10px !important;font-weight:700 !important;letter-spacing:0.05em !important;padding:4px 10px !important;border-radius:999px !important;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05) !important}.variant-detailed .dropdown-option-icon,.variant-detailed .dropdown-option-right-icon{font-size:20px !important;display:flex !important;align-items:center !important;justify-content:center !important}.variant-detailed .dropdown-option-right-icon{color:var(--color-primary, #cbd5e1) !important;transition:all 0.2s !important}.variant-detailed .dropdown-option-right-icon:hover{color:var(--color-warning, #f59e0b) !important;transform:scale(1.1) !important}.variant-detailed .ui-dropdown-selected-marker{display:inline-flex !important;align-items:center !important;justify-content:center !important;color:var(--dd-primary) !important;background:var(--bg-primary, #dbeafe) !important;padding:4px !important;border-radius:50% !important;flex-shrink:0 !important}.variant-detailed .dropdown-trigger-content{display:flex !important;align-items:center !important;gap:10px !important}.variant-detailed .dropdown-trigger-icon{color:var(--dd-primary, var(--color-primary, #10b981)) !important;font-size:18px !important;flex-shrink:0 !important}.variant-detailed .dropdown-trigger-label{overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}.variant-detailed .dropdown-expand-group{display:flex !important;align-items:center !important;gap:8px !important}.variant-detailed .dropdown-badge{background:var(--dd-primary, var(--color-primary, #10b981)) !important;color:var(--text-standard, #ffffff) !important;font-size:10px !important;font-weight:800 !important;height:18px !important;min-width:18px !important;padding:0 5px !important;border-radius:9px !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:0 4px 10px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3) !important;animation:badgePop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important}@keyframes badgePop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.dropdown-option:active{transform:scale(0.98);transition:transform 0.1s ease}.dropdown-option-selected.dropdowndata{position:relative;overflow:hidden}.dropdown-option-selected.dropdowndata::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle, rgba(var(--color-primary-rgb, 59, 130, 246), 0.1) 0%, transparent 70%);pointer-events:none}'}},[772,"ui-dropdown",{options:[1],placeholder:[1],multiSelect:[4,"multi-select"],cascading:[4],value:[1025],disabled:[4],searchable:[4],maxHeight:[2,"max-height"],size:[1],appearance:[1],variant:[1],chipView:[4,"chip-view"],showArrow:[4,"show-arrow"],ignoreParentPosition:[4,"ignore-parent-position"],clearable:[4],fullWidth:[4,"full-width"],fitContent:[4,"fit-content"],menuWidth:[8,"menu-width"],loading:[4],invalid:[4],helperText:[1,"helper-text"],errorMessage:[1,"error-message"],searchPlaceholder:[1,"search-placeholder"],iconLibrary:[1,"icon-library"],showPath:[4,"show-path"],highFidelity:[4,"high-fidelity"],rtl:[4],shape:[1],showSelectedMarker:[4,"show-selected-marker"],selectedMarkerIcon:[1,"selected-marker-icon"],selectedMarkerLibrary:[1,"selected-marker-library"],selectedMarkerLabel:[1,"selected-marker-label"],selectedMarkerColor:[1,"selected-marker-color"],expandAll:[4,"expand-all"],skeleton:[4],showSelectAll:[4,"show-select-all"],selectAllLabel:[1,"select-all-label"],textColor:[1,"text-color"],virtualScroll:[4,"virtual-scroll"],caseSensitive:[4,"case-sensitive"],label:[1],isOpen:[32],parsedOptions:[32],selectedValues:[32],searchQuery:[32],expandedNodes:[32],dropdownPosition:[32],menuLeft:[32],menuTop:[32],computedMenuWidth:[32],menuMaxHeight:[32],highlightedIndex:[32],nestedPath:[32],open:[64]},void 0,{options:[{handleOptionsChange:0}],value:[{handleValueChange:0}],searchQuery:[{handleSearchQueryChange:0}]}]);function w(){"undefined"!=typeof customElements&&["ui-dropdown","ui-badge","ui-button","ui-icon","ui-loader","ui-tag"].forEach((o=>{switch(o){case"ui-dropdown":customElements.get(i(o))||customElements.define(i(o),h);break;case"ui-badge":customElements.get(i(o))||a();break;case"ui-button":customElements.get(i(o))||n();break;case"ui-icon":customElements.get(i(o))||s();break;case"ui-loader":customElements.get(i(o))||p();break;case"ui-tag":customElements.get(i(o))||l()}}))}export{h as D,w as d}